반응형
🔹 Anti-VM(Virtual Machine) 이란?
Anti-VM 기술은 악성 코드가 가상화 환경에서 실행되고 있는지 여부를 감지하거나 회피하는 기술입니다.
이 기술은 계속해서 변화하고 진화하기 때문에 이를 100% 탐지하거나 방어하는 것은 어렵습니다.
🔹 Anti-VM(Virtual Machine) 우회 방지 환경만들기
◾ Anti-VM 악성코드에서 사용하는 일반적인 기술
- 하드웨어 탐지:
- VM에서 실행되는 것을 탐지하기 위해 하드웨어를 분석하는 방법이 있습니다. 예를 들어, 가상화 환경에서는 특정 하드웨어 레지스터나 장치에 대한 값이 다를 수 있습니다.
- 가상 머신 환경에서는 특정 CPUID 값이 다를 수 있습니다. 예를 들어, VMWare나 VirtualBox와 같은 가상화 소프트웨어를 사용하는 경우 CPUID 값을 확인하여 가상 머신 환경을 탐지할 수 있습니다.
- 타이밍 분석:
- VM과 호스트 시스템 간의 타이밍 차이를 분석하여 VM 환경을 감지할 수 있습니다. 가상 머신은 실제 하드웨어보다 실행 속도가 더 빠르거나 느릴 수 있습니다.
- 악성 코드는 실제 하드웨어에서 실행되는 것과 가상 머신에서 실행되는 것 간의 실행 시간 차이를 측정하여 가상 머신 환경을 탐지할 수 있습니다.
- 레지스트리 및 파일 시스템 검사:
- VM 환경에서는 특정한 레지스트리 항목이나 파일이 보이지 않거나 값이 다를 수 있습니다. 이를 감지하려는 시도로서 악성 코드가 해당 정보를 활용할 수 있습니다.
- 가상 머신 환경에서는 특정 레지스트리 항목이나 파일이 보이지 않거나 값이 다를 수 있습니다. 예를 들어, "HKLM\SYSTEM\ControlSet001\Services\VBoxService"와 같은 가상화 도구와 관련된 레지스트리 항목을 확인할 수 있습니다.
- 하드웨어 및 소프트웨어 정보 검색:
- 시스템 정보를 검색하여 VM 환경을 탐지하는 방법입니다. VM 환경에서는 특정한 하드웨어 정보나 소프트웨어 정보가 다를 수 있습니다.
- 시스템 정보를 검색하여 가상 머신 환경에서는 호스트 시스템과는 다른 CPU 정보나 메모리 용량 등을 가질 수 있는지 확인할 수 있습니다.
- 네트워크 패턴 분석:
- 가상 머신은 네트워크 패턴에서 특정한 특징을 보일 수 있습니다. 이를 감지하기 위해 네트워크 패턴을 분석하는 방법이 있습니다.
- 가상 머신은 네트워크 패턴에서 특정한 특징을 보일 수 있습니다. 이를 감지하기 위해 네트워크 패턴을 분석하는 방법이 있습니다.
- 하드웨어 가상화 확장 확인:
- CPU 기능을 확인하여 하드웨어 가상화 기술을 지원하는지 여부를 판단할 수 있습니다.
- CPU 기능을 확인하여 하드웨어 가상화 기술을 지원하는지 여부를 판단할 수 있습니다.
- API 호출 및 환경 변수 확인:
- 가상 머신 환경에서는 특정 API 호출이나 환경 변수가 다를 수 있습니다. 이를 통해 가상 머신을 탐지하려는 시도가 있을 수 있습니다. 예를 들어, "VMware"나 "VBox"와 같은 특정 환경 변수를 확인할 수 있습니다.
- 가상 머신 환경에서는 특정 API 호출이나 환경 변수가 다를 수 있습니다. 이를 통해 가상 머신을 탐지하려는 시도가 있을 수 있습니다. 예를 들어, "VMware"나 "VBox"와 같은 특정 환경 변수를 확인할 수 있습니다.
- 디버깅 및 가상 머신 감지 도구 탐지:
- 악성 코드는 디버깅 도구나 가상 머신 감지 도구가 설치되어 있는지 여부를 확인하여 가상 머신 환경을 탐지할 수 있습니다.
- 악성 코드는 디버깅 도구나 가상 머신 감지 도구가 설치되어 있는지 여부를 확인하여 가상 머신 환경을 탐지할 수 있습니다.
- 무작위 동작 검사:
- 가상 머신 환경에서 특정 작업을 수행하거나 명령을 실행하여 가상 머신인지 여부를 판단하려는 시도가 있을 수 있습니다. 이를 위해 무작위로 특정한 키를 누르거나 파일을 실행할 수 있습니다.
🔹 Anti-VM(Virtual Machine) 예시
◾ 하드웨어 온도 확인
하드웨어 온도 확인 시 VM은 에러 발생
2018년 식별된 GravityRAT 악성코드에서 발견된 탐지 기술입니다.
파이오링크 Anti-VM 분석보고서
◾ 레지스트리, 시스템 파일 등 확인
아래는 항목별로 몇가지 예시만 작성하였습니다.
- 레지스트리
[시스템 등록 정보]
- 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
- 관련 파일
[드라이버]
- 경로 : C:WindowsSystem32drivers
- 서비스
[VMWare 관련]
- 프로세스
[VMWare 관련]
- 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에서 분석 진행합니다.
- 분리된 네트워크에서 분석 진행
- 백업 및 빠른 복구 필요
반응형
'IT 보안' 카테고리의 다른 글
자주 탐지되는 소프트웨어 취약점 공격 URL URI (2) | 2024.09.22 |
---|---|
서비스 거부/분산 서비스 거부 공격 (DoS/DDoS 공격) (3) | 2024.09.22 |
exploit DB - GHDB 카테고리 (0) | 2024.08.29 |
워터링홀 DNS 싱크홀 설명 (0) | 2024.08.29 |
Apache Log4j 취약점 (CVE-2021-44228)_User Agent 이용 (0) | 2024.08.29 |