728x90
반응형
악성코드를 분석할 때 증상위주로 파악하기 위해서 자동분석을 많이 사용합니다.
이때 문제가 발생하는건 크게 다음과 같습니다.
1. 자동분석 탐지 (가상환경, 모니터링 도구 등의 유무) 2. 인자 값 필요 3. 특정 환경 필요 (설치된 다른 프로그램 등) 4. 기타 (더 있을텐데 생각이 안나서..) |
2,3번의 경우도 많은데 자동분석 시스템에서는 지극히 평범하고 정상적인 프로그램처럼 나옵니다.
하지만, 코드를 분석하면 원인을 알 수 있습니다.
Ollydbg로 열어보면 실제 코드가 0x00401000 에서 시작하는 전형적인 비주얼 C 로 작성된 코드임을 알 수 있습니다.
0x00401000에 브레이크포인트(F9)를 걸고 달립니다.
0x00401045 에서 레지스트리를 읽어서 특정 값인지 비교합니다.
악성코드가 필요로하는 특징적인 프로그램이 없어 0x00401086에서 0x00401094 로 빠져버립니다.
이러면 제대로(?) 악성코드가 실행되지 않고 종료됩니다.
강제로 IP 를 0x0040108A로 변경합니다. (Alt + *)
F8 로 CALL 문 3개를 실행하고 프로그램을 종료되고 난 후 시스템 비교 프로그램으로 검사하면 19개의 신규 파일이 생성되었음을 알 수 있습니다.
떨어진 파일들을 차곡차곡 모아 추가 분석하면 됩니다.
별다른 조건없이 악의적인 일을 수행하는 착한(?) 악성코드는 자동분석으로 처리되고 이렇게 특정 조건을 필요로하는 악성코드는 자동분석 시스템에서 원하는 환경을 만들어주거나 사람이 봐야 할 겁니다.
자동분석 시스템의 기능도 계속 향상시켜야겠지만 결국 분석은 사람이 합니다.
- 자동분석 시스템에 위협을 느끼는 1인 ㅋ 그래도 자동분석 시스템이 참 편합니다.
728x90
반응형
'보안위협 (악성코드) > 악성코드 분석' 카테고리의 다른 글
악성코드에서 사용하는 방화벽 해제 (4) | 2009.11.16 |
---|---|
수상한 파일 찾기 (0) | 2009.10.08 |
정상파일 위장 악성코드 분석 (3) | 2009.08.28 |
네이버, 옥션, 청와대 공격 악성코드 분석 (13) | 2009.07.08 |
중국산으로 추정되는 웜에서 사용되는 비밀번호들 (0) | 2007.03.26 |