매크로 바이러스 분석법
매크로 바이러스는 1994년 최초로 발견되었으며 이후 꾸준히 바이러스가 개발되고 있는 유형 중 하나이다. 매크로 바이러스는 감염된 문서 자체에 매크로 바이러스 소스가 포함되어 있기 때문에 이를 이용해서 바이러스 소스 코드를 추출하면 된다. 매크로 바이러스가 포함된 문서를 열 경우 다음과 같은 메시지가 출력된다.
여기에서 ‘매크로 포함하지 않음’을 선택한 후, [도구] → [매크로] → [Visual Basic Editor]를 선택하면 매크로 바이러스의 소스 코드를 얻어낼 수 있다. 흔히 얻지 못하는 경우에는 HMVS 백신 프로그램을 사용하여 소스 코드를 구할 수 있다.
| C:\> HMVS 바이러스감염파일.doc /source |
- HMVS 백신 프로그램 다운로드
- http://ftp.elf.stuba.sk/packages/pub/pc/avir/hmvs311e.zip
매크로 바이러스는 VBS와는 달리 위에서 아래로 실행되는 함수 진행형 실행순서가 아니라, 이벤트 실행 순서를 가진다. 즉, 소스를 위에서 아래로 해석하는 것이 아니라 어떤 이벤트가 발생했을 때 해당 이벤트 영역의 소스만이 수행된다. 따라서 실제 바이러스를 분석할 때에는 이벤트 각각의 영역을 해석하고 이를 적절히 배치시켜 분석정보를 적게 된다. 또한 매크로 바이러스는 분석 시 디버거가 따로 존재하는 것이 아니며 오피스 제품군에 포함되어 있는 Visual Basic Editor를 사용한다.

도스 바이러스 분석법
도스 바이러스는 컴퓨터 바이러스의 초창기 모델이며, 이제는 거의 발견되지 않는 유형 중 하나이다. 하지만, 부트 바이러스라든지 간간히 VBS, 매크로 바이러스들이 도스 바이러스를 생성시켜 실행시키는 유형들이 존재하기 때문에 분석에 빠져서는 안되는 중요한 것이기도 하다. 이 바이러스들은 대부분 도스 명령어인 debug.exe 프로그램을 사용하여 분석을 하며, 분석할 때에는 인터럽트 책을 준비하고 있어야 한다. 그렇지 않을 경우 분석이 만만치 않다. 보통 백신 제작자들은 도스 바이러스를 분석할 때 HelpPC 프로그램을 사용한다. 이는 인터럽트 리스트와 메모리의 구조 등이 찾아보기 쉽도록 구성되어 있기 때문이다.
- HelpPC 프로그램 다운로드
- http://www.cs.nyu.edu/~yap/classes/machineOrg/helppc/
도스 바이러스 분석에 있어서 Debug.EXE의 사용법을 익히는 것은 필수적이다. 자유자재로 다룰 수 있어야지만 도스 바이러스를 실행시키지 않고 바이러스를 분석해 낼 수가 있다. 자칫 실수라도 하는 경우에는 시스템이 바이러스에 감염되었다고 봐야 하므로 사용에 세심한 주의가 필요하다.
| C:\> debug - ? assemble A [address] compare C range address dump D [range] enter E address [list] fill F range list go G [=address] [addresses] hex H value1 value2 input I port load L [address] [drive] [firstsector] [number] move M range address name N [pathname] [arglist] output O port byte proceed P [=address] [number] quit Q register R [register] search S range list trace T [=address] [value] unassemble U [range] write W [address] [drive] [firstsector] [number] allocate expanded memory XA [#pages] deallocate expanded memory XD [handle] map expanded memory pages XM [Lpage] [Ppage] [handle] display expanded memory status XS |


