가상머신 탐지 및 회피 기법에 관한 조사
- 최초 등록일
- 2012.10.16
- 최종 저작일
- 2012.10
- 13페이지/ 한컴오피스
- 가격 4,500원
소개글
컴퓨터에서 현재 가상머신들이 실행되는지 판별 여부를 기술들에 관한 조사
목차
없음
본문내용
1. 악성코드 분석을 위하여 KVM (Qemu-kvm) 설정 및 수정
MSM foo는 Qemu-kvm를 침투 테스트 그리고 악성코드의 검색을 조금 더 어렵게 만드는 방법이다. 그예로는 fool Metasploit checkvm이 있다. MSM foo는 Libvirt 그리고 virsh를 수정을 통해 게스트 OS의 설정을 변경하며, 게스트내의 추가적인 설치 없이 사용이 가능하다.
1. MAC 어드레스 변경
<interface type=`network`>
<mac address=`xx:xx:xx:xx:xx:xx`/>
<source network=`default`/>
<model type=`rtl8139`/>
<address type=`pci` domain=`0x0000` bus=`0x00` slot=`0x03` function=`0x0`/>
</interface>
<중 략>
그림 3의 코드에 관한 설명은 다음과 같다.
1. 예외 처리기를 설치 한다.
2. 입력 레지스터인 "eax", "ebx"를 준비한다.
3. 0x0F, 0x3F, 0x07, 0x0B등의 유효하지 않은 명령어가 발견되면, Virtual PC에게 알려준다.
4. 예외 처리기는 내부적으로 VPC`s의 부재를 표시한다(EBX의 -1로 표시)
5. 예외를 리턴하며, 실행을 대기한다.
6. 레지스터를 따라 검사 하며, 검사한값을 리턴한다.
VMware 탐지 하는 방법
VMware는 Intel x86기반의 두 개의 명령어를 "IN", "OUT"으로 I/O를 수행한다. 두 개의 명령어는 특권 권한을 가진 명령어이며, 일반 유저 모드는 사용할수 없다. 권한이 없이 사용할 경우 "EXCEPTION_PRIV_INSTRUCTION" 의 예외를 발생 시킨다. “IN"의 명령어의 경우 특별한 포트를 통해 읽는다. 이 포트는 효율적으로 존재 하지 않는다 그러나 VMWare가 현재 가상머신과 VMWare사이에서 인터페이스를 제공한다. "IN"의 코드는 그림4 와 같다.
참고 자료
[1] Vmware, http://www.vmware.com/
[2] F. Bellard, “Qemu”
[3] P. Ferrie, “Attacks on virtual machine emulators. Symantec Advanced Threat Research”
[4] D. Quist and V. Smith, “Detecting the presence of virtual machines using the local data table”
[5] J. Rutkowska, “how to detect VMMusing (almost) one CPU instruction”
[6] E. Skoudis and T. Liston, “On the cutting edge: Thwarting virtual machine detection”
[7] Prowling - NSM foo, http://blog.prowling.nu/2012/09/modifying-kvm-qemu-kvm-settings-for.html
[8] Detecting Virtual Machine, http://www.codeproject.com/Articles/9823/Detect-if-your-program-is-running-inside-a-Virtual
[9] Detection of VM-Aware Malware, David Yu Zhu and Erika Chin, University of California - Berkeley