소개하고자 하는 자료는 외국의 사이트에서 발췌한 것으로 안티바이러스 제품의 자기 보호 기능을 무력화 하는 방법론적인 기술 자료이며 2007년도에 발표되어 현재와는 약간 환경이 다를 수 있습니다.
먼저 실제의 컴퓨터에서 테스트하기에는 너무나 부담이 많으므로, VMWare와 같이 가상화 환경을 준비합니다.
1. 시스템 수준의 자기 보호 테스트 - 훅 갱신, 파일 권한 변경, 레지스트 키 권한 변경
2. 안티바이러스 제품 자체 파일에 대한 보호 테스트 - 안티바이러스 모듈의 파일 수정/삭제, 데이터베이스 파일 삭제
3. 안티바이러스 제품에 등록된 레지스트리에 대한 보호 테스트 - 시작 키, 서비스 키, 환경 설정 키 등 프로그램에서 사용하는 레지스트리 키 수정/삭제
4. 안티바이러스 프로세스 보호 테스트
- 프로세스 삭제 보호 테스트
1) 작업 관리자에서 삭제 테스트
2) 사용자 수준의 API(TerminiateProcess, TerminiateThread, EndTask, EndJob, DebugActive Process, EIP, WinStationTerminateProcess, "bruteforce" message posting, delete after reboot)
3) 메시지 도움말(WM_CLOSE, WM_QUIT, WM_SYSCOMMAND/SC_CLOSE)
4) 커널 수준의 API(ZwTerminateProcess, ZwTerminateThread)
- 프로세스/시스템 코드 수정(CreateRemoteThread-코드 삽입, DLL 삽입, VirtualProcessEx-메모리 보호 속성 변경, 프로세스 메모리 쓰기)
- 드라이버 롤백
출처: http://whensecuritymatters.com/index.php/Comparative-tests/Antivirus-Self-Protection-Test.html
알림: 본 테스트를 진행하기 위해서는 윈도우 자체에 대한 이해 뿐만 아니라 커널 모드의 프로그래밍의 지식까지 필요로 합니다. 그리고, Process Explorer, HijackThis, HijackFree와 같은 프로그램을 이용하여 일부 기능을 대체할 수도 있습니다.
감사합니다.
