본문 바로가기
IT 보안

Anti-VM 악성코드 분석 방법

by 떠도리c 2024. 9. 22.
반응형

🔹 Anti-VM(Virtual Machine) 이란?

Anti-VM 기술은 악성 코드가 가상화 환경에서 실행되고 있는지 여부를 감지하거나 회피하는 기술입니다.

이 기술은 계속해서 변화하고 진화하기 때문에 이를 100% 탐지하거나 방어하는 것은 어렵습니다.

 

 

🔹 Anti-VM(Virtual Machine) 우회 방지 환경만들기

◾ Anti-VM 악성코드에서 사용하는 일반적인 기술

  1. 하드웨어 탐지:
    • VM에서 실행되는 것을 탐지하기 위해 하드웨어를 분석하는 방법이 있습니다. 예를 들어, 가상화 환경에서는 특정 하드웨어 레지스터나 장치에 대한 값이 다를 수 있습니다.
    • 가상 머신 환경에서는 특정 CPUID 값이 다를 수 있습니다. 예를 들어, VMWare나 VirtualBox와 같은 가상화 소프트웨어를 사용하는 경우 CPUID 값을 확인하여 가상 머신 환경을 탐지할 수 있습니다.

  2. 타이밍 분석:
    • VM과 호스트 시스템 간의 타이밍 차이를 분석하여 VM 환경을 감지할 수 있습니다. 가상 머신은 실제 하드웨어보다 실행 속도가 더 빠르거나 느릴 수 있습니다.
    • 악성 코드는 실제 하드웨어에서 실행되는 것과 가상 머신에서 실행되는 것 간의 실행 시간 차이를 측정하여 가상 머신 환경을 탐지할 수 있습니다.

  3. 레지스트리 및 파일 시스템 검사:
    • VM 환경에서는 특정한 레지스트리 항목이나 파일이 보이지 않거나 값이 다를 수 있습니다. 이를 감지하려는 시도로서 악성 코드가 해당 정보를 활용할 수 있습니다.
    • 가상 머신 환경에서는 특정 레지스트리 항목이나 파일이 보이지 않거나 값이 다를 수 있습니다. 예를 들어, "HKLM\SYSTEM\ControlSet001\Services\VBoxService"와 같은 가상화 도구와 관련된 레지스트리 항목을 확인할 수 있습니다.

  4. 하드웨어 및 소프트웨어 정보 검색:
    • 시스템 정보를 검색하여 VM 환경을 탐지하는 방법입니다. VM 환경에서는 특정한 하드웨어 정보나 소프트웨어 정보가 다를 수 있습니다.
    • 시스템 정보를 검색하여 가상 머신 환경에서는 호스트 시스템과는 다른 CPU 정보나 메모리 용량 등을 가질 수 있는지 확인할 수 있습니다.

  5. 네트워크 패턴 분석:
    • 가상 머신은 네트워크 패턴에서 특정한 특징을 보일 수 있습니다. 이를 감지하기 위해 네트워크 패턴을 분석하는 방법이 있습니다.

  6. 하드웨어 가상화 확장 확인:
    • CPU 기능을 확인하여 하드웨어 가상화 기술을 지원하는지 여부를 판단할 수 있습니다.

  7. API 호출 및 환경 변수 확인:
    • 가상 머신 환경에서는 특정 API 호출이나 환경 변수가 다를 수 있습니다. 이를 통해 가상 머신을 탐지하려는 시도가 있을 수 있습니다. 예를 들어, "VMware"나 "VBox"와 같은 특정 환경 변수를 확인할 수 있습니다.

  8. 디버깅 및 가상 머신 감지 도구 탐지:
    • 악성 코드는 디버깅 도구나 가상 머신 감지 도구가 설치되어 있는지 여부를 확인하여 가상 머신 환경을 탐지할 수 있습니다.

  9. 무작위 동작 검사:
    • 가상 머신 환경에서 특정 작업을 수행하거나 명령을 실행하여 가상 머신인지 여부를 판단하려는 시도가 있을 수 있습니다. 이를 위해 무작위로 특정한 키를 누르거나 파일을 실행할 수 있습니다.

 

 

🔹 Anti-VM(Virtual Machine) 예시

◾ 하드웨어 온도 확인

하드웨어 온도 확인 시 VM은 에러 발생

2018년 식별된 GravityRAT 악성코드에서 발견된 탐지 기술입니다.

파이오링크 Anti-VM 분석보고서


◾ 레지스트리, 시스템 파일 등 확인

아래는 항목별로 몇가지 예시만 작성하였습니다.

  1. 레지스트리

[시스템 등록 정보]

  • HKEY_LOCAL_MACHINESYSTEM
  • 하위키 : ControlSet001, ControlSet001

[VirtualBox 관련]

  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumIDE

[VMWare 관련]

  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetEnumSCSI
  • HKEY_LOCAL_MACHINESYSTEMCurrentControlSetdiskEnum
  • HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPScsiScsi Port XScsi Bus 0Target Id 0Logical Unit Id 0 -> Identifier

 

 

  1. 관련 파일

[드라이버]

  • 경로 : C:WindowsSystem32drivers

 

 

  1. 서비스

[VMWare 관련]

 

 

 

  1. 프로세스

[VMWare 관련]

 

 

 

  1. MAC 주소
OUI Vendor
00:05:69 VMware, Inc.
00:0C:29 VMware, Inc.
00:1C:14 VMware, Inc.
00:50:56 VMware, Inc.
00:05:69 VMware, Inc.
00:0C:29 VMware, Inc.
00:1C:14 VMware, Inc.
00:50:56 VMware, Inc.

 

 

 

🔹 Anti-VM 악성코드 분석 방안

◾ 샌드박스(Sand Box) 활용

Anti-VM 악성코드는 마우스를 클릭하거나 키보드 입력을 체크 하는 것과 같은 샌드박스 우회 기술도 많이 적용되어 있지만 샌드박스를 제공하는 보안 기업에서도 이런 회피 기술을 대응하기 위해 지속적으로 발전하고 있습니다.

샌드박스를 잘 활용하는 것 또한 Anti-VM에 대응하는 방안으로 추천합니다.

 

 

 

VM 환경 구성

레지스트리, 파일명, 프로세스명 변경 ,서비스 등 VM환경 관련 설정값 수정이 가능한 부분을 최대한 수정/적용하여 악성코드 분석환경으로 활용합니다.

  • Disk 60GB ~ 100 GB이상으로 설정
  • Mem 4GB 이상으로 설정
  • pafish (VM 환경 분석 도구) 도구를 활용하여 VM 관련 항목 수정
  • al-khaser v0.81 (VM 환경 분석 도구) 도구를 활용하여 VM 관련 항목 수정

pafish



◾ 리버싱

악성코드 파일 분석을 진행 시 VM 확인하는 부분은 우회해 가며 분석합니다.

  • 분석가의 능력이 요구됨

 

 

◾ 실제 환경에서 분석

실환경 PC에서 분석 진행합니다.

  • 분리된 네트워크에서 분석 진행
  • 백업 및 빠른 복구 필요

 

반응형