그냥저냥

[Anti VM] I/O Port (Backdoor I/O Port) 본문

Reversing/Anti Debugging & Anti VM

[Anti VM] I/O Port (Backdoor I/O Port)

ex3llo 2016. 7. 31. 09:41

- I/O 포트는 Host OS와 Guest OS간 데이터를 주고 받을 수 있는 일종의 통신 채널

- I/O 를 위한 명령어로는 IN / OUT 명령이 존재함 

- I/O 명령은 EFLAGS 레지스터를 이용하여 실행 --> EFLAGS 레지스터는 커널 레벨에서만 동작 (사용자 레벨에서 사용시 익셉션 발생) 

- Guest OS 에서는 IN 명령어 사용시 익셉션이 발생되지않음 + EBX 레지스터에 "VMXh" 라는 고유한 값이 저장됨 

  (VMXh = 가상 환경에서 IN 명령어의 특별한 기능으로 인해 생성되는 Guest/Host 간의 고유한 통신채널) 

- eax = VMXh , ecx = Command , dx = VX 설정 후 in eax, dx 명령 실행 시 EBX 로 "VMXh" 저장됨



'Reversing > Anti Debugging & Anti VM' 카테고리의 다른 글

[Anti VM] Artifact 기반 탐지  (0) 2016.07.31
[Anti VM] RDTSC (CPU 사이클 차이 탐지)  (0) 2016.07.31
[Anti VM] Single Step Flag  (0) 2016.07.31
[Anti VM] CPUID 기반 탐지  (0) 2016.07.31
[Anti VM] IDT 기반 탐지  (0) 2016.07.31
Comments