วิธีการซ่อนจากโปรแกรมที่ทำงานบนเครื่องเสมือน?


13

ซอฟต์แวร์บางตัวมีการทดสอบเพื่อดูว่ากำลังทำงานอยู่บนเครื่องเสมือนหรือไม่

เป็นเรื่องที่ไม่พึงประสงค์เป็นอย่างมากที่เห็นข้อความแจ้งเตือนเช่น "ขออภัยแอปพลิเคชันนี้ไม่สามารถทำงานภายใต้เครื่องเสมือน" และหยุดซอฟต์แวร์ของคุณ!

มีเหตุผลทางกฎหมายมากมายที่จะแทนที่การทดสอบดังกล่าว นอกจากนี้ข้อ จำกัด ดังกล่าว (ส่วนใหญ่) ไม่ได้เขียนไว้ในข้อตกลงสิทธิ์การใช้งานผู้ใช้

ดังนั้น ... ฉันจะซ่อนความจริงที่ว่า Virtual Machine กำลังเรียกใช้โปรแกรมได้อย่างไร ฉันไม่ต้องการให้โปรแกรมที่ทำการสแกนนี้ตรวจจับ VM ที่กำลังทำงานได้สำเร็จ

ฉันกำลังใช้เซิร์ฟเวอร์ส่วนตัวเสมือน (VPS) กับ Hyper-V ... ฉันเป็นผู้ดูแลระบบปฏิบัติการ (Windows 2003) ที่ติดตั้งบน VPS นี้ไม่ใช่ผู้ดูแลระบบของ Hyper-V


1
คุณช่วยอธิบายสิ่งที่คุณหมายถึงโดย "ซ่อนโปรแกรม" หรือไม่? นอกจากนี้คุณพยายามใช้ซอฟต์แวร์ใดโดยเฉพาะ
Anderson Green

@AndersonGreen พวกเขาหมายความว่าพวกเขาต้องการป้องกันไม่ให้โปรแกรมตรวจพบว่ากำลังทำงานอยู่ใน VM
Synetech

ดังนั้นให้ฉันได้รับตรงนี้ซอฟต์แวร์ที่ทำงานของคุณภายใน VM และคุณไม่ต้องการซอฟต์แวร์บนโฮสต์เพื่อตรวจสอบว่ามีซอฟต์แวร์บางอย่างที่ทำงานอยู่ใน VM ถูกต้องหรือไม่
user88311

1
คุณควรระวัง หากโปรแกรมที่จงใจตรวจสอบไม่ว่าจะเป็นการทำงานภายใต้สภาพแวดล้อมที่ดีบั๊ก / เสมือนมันอาจจะเป็นไปได้มากมันพยายามที่จะบังคับใช้คำสั่งบางอย่างที่ระบุไว้ในข้อตกลงใบอนุญาตของ การดัดแปลงด้วย VM อาจเป็นการละเมิด EULA โดยตรง
bytebuster

1
@bytebuster ฉันพูดในคำถามของฉัน "นอกจากนี้ข้อ จำกัด ดังกล่าว (ส่วนใหญ่) ไม่ได้เขียนไว้ในข้อตกลงสิทธิ์การใช้งานผู้ใช้" ... ดังนั้นฉันรู้ว่าบางครั้งมันถูกห้ามไม่ให้ทำ ... และบางครั้งก็อนุญาต ... ฉัน อย่าขอคำแนะนำทางกฎหมาย แต่เป็นคำแนะนำทางเทคนิค!
Femto Trader

คำตอบ:


1

ในระยะสั้นฉันคิดว่าคุณไม่สามารถ เป็นการสนทนาเกี่ยวกับมัลแวร์ที่พยายามตรวจหาว่ามันกำลังทำงานอยู่ใน VM เพื่อหลีกเลี่ยงการถูกตรวจพบโดยระบบที่ใช้ VM เพื่อเรียกใช้รหัสเพื่อตรวจสอบมัลแวร์

การอ้างอิงแบบย่อบางอย่างคือ: VRT: มัลแวร์รู้ถึงความแตกต่างระหว่างโลกเสมือนจริงและโลกจริงอย่างไร และตายแจกของ VM-Aware มัลแวร์


1
ไม่เห็นด้วยอย่างยิ่งคุณมีข้อโต้แย้งในทางที่ผิด การตรวจจับว่าเป็นสภาพแวดล้อมแบบเสมือนจริงทำให้มัลแวร์ทำงานได้ง่ายขึ้นมาก นอกจากนี้ยังพิจารณาว่ามีห้องปฏิบัติการต่อต้านมัลแวร์และต่อต้านไวรัสที่จำเป็นต้องเรียกใช้ VM เพื่อแยกงานวิจัยของพวกเขาและสร้างโรงงานมัลแวร์ใน VM เหล่านั้นและต้องซ่อนความจริงที่ว่าอินสแตนซ์นั้นเป็นอินสแตนซ์เสมือนจริง นั่นคือเหตุผลที่แม่นยำ ESXi / VSphere ช่วยให้การตั้งค่าสถานะเพื่อซ่อนความจริงที่ว่า VM เป็น VM
Matthias Wolf

ฉันไม่เห็นด้วยอย่างยิ่งวิธีการเกี่ยวกับ NVidia GPU passthrough กับการ์ดระดับผู้บริโภค NVidia Drivers ทำการตรวจสอบ "VM" และล้มเหลวในการติดตั้งด้วยรหัสข้อผิดพลาด 43 แต่ google ฉบับย่อพบวิธีแก้ปัญหา มันเป็นเกมที่คงที่ของแมวและเมาส์เมื่อพูดถึงเรื่องแบบนี้
FreeSoftwareServers

ฉันคิดว่าคำตอบนี้ถูกต้องหรือค่อนข้างจะถ้ามันระบุว่าสิ่งใดที่พบว่าทำงานได้ 'ตอนนี้' น่าจะไม่ทำงานหลังจากผ่านไประยะหนึ่งเพราะนี่คือการแข่งขันทางอาวุธในหลายวิธี ) และวิธีการตรวจจับ vs หมายถึงการตรวจจับที่ขัดขวางนั้นมีการเปลี่ยนแปลงและก้าวหน้าอยู่ตลอดเวลา
Chuck van der Linden

0

เท่าที่ฉันรู้มันขึ้นอยู่กับประเภทของ virtualization ที่คุณใช้

เริ่มกันเลยว่าคุณสามารถลดบางสิ่งได้อย่างแน่นอน (เช่นเปลี่ยนที่อยู่ MAC, ถอนการติดตั้งส่วนเพิ่มเติมของผู้เยี่ยมชม)

ที่กล่าวว่าหากคุณใช้ virtualization แบบเต็ม hypervisor จะจำลองฮาร์ดแวร์สำหรับแขก ซีพียูที่จำลองจะมีนาฬิกา (ซอฟต์แวร์) ของตัวเองซึ่งจะแสดงความเร็วที่แตกต่างกันในไม่ช้าไม่ช้าก็เร็วก็ไม่ควร

นี่เป็นหนึ่งในสิ่งที่คุณไม่สามารถซ่อมแซมได้ แต่อย่างใดและโปรแกรม (ส่วนใหญ่มัลแวร์) จะรู้ว่ามันกำลังทำงานอยู่ใน VM

คุณสามารถทำให้มันตรงโดยใช้ Paravirtualization ที่ประกอบด้วยในการใช้ฮาร์ดแวร์จริงของคุณในสภาพแวดล้อมที่ปิด


ฉันจะบอกว่ามันขึ้นอยู่กับว่าคุณใช้ไฮเปอร์ visor เท่าไรในการตรวจสอบว่าซอฟต์แวร์กำลังทำอะไรเพื่อดูว่าอยู่ใน VM หรือไม่
FreeSoftwareServers
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.