59
virse program messge Dos to Win virse program messge Dos to Win 차민석 책임 연구원 안철수연구소 시큐리티대응센터 분석1ASEC (AhnLab Security Emergency response Center) Anti-Virus Researcher 2011.7.2 차민석 책임 연구원 안철수연구소 시큐리티대응센터 분석1ASEC (AhnLab Security Emergency response Center) Anti-Virus Researcher 2011.7.2 www.CodeEngn.com CodeEngn ReverseEngineering Conference

[2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Embed Size (px)

DESCRIPTION

2011 CodeEngn Conference 05 1989년 국산 부트 바이러스인 LBC 바이러스에 감염되어 하드디스크 부팅이 안되는 문제가 전국에서 발생했다. 이렇게 부팅 문제가 발생할 수 있는 부트 바이러스는 윈도우 95가 본격 보급되기 시작한 1990년 대 중반까지 쉽게 볼 수 있었다. 이후 윈도우 시대가 본격 열리고 플로피 디스크 사용이 줄어들면서 사실상사라진다. 하지만, 최근 기억속에 잊혀진 부트 바이러스가 윈도우 시대에 맞게 변화해 부활의 조짐이 있다. 대표적 디스크입출력 악성코드를 정리해보고 이를 가능하게 한 도스와 윈도우 부팅과정 및 윈도우 프로그램에서 디스크 입출력 방법을 알아보자. http://codeengn.com/conference/05

Citation preview

Page 1: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

virse program messge Dos to Winvirse program messge Dos to Win

차민석 책임 연구원

안철수연구소 시큐리티대응센터 분석1팀

ASEC (AhnLab Security Emergency response Center)

Anti-Virus Researcher

2011.7.2

차민석 책임 연구원

안철수연구소 시큐리티대응센터 분석1팀

ASEC (AhnLab Security Emergency response Center)

Anti-Virus Researcher

2011.7.2

www.CodeEngn.comCodeEngn ReverseEngineering Conference

Page 2: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

시작하기 전에…

• 소개• 3가지 특징– 반응 없음– 째려봄– 질문 없음

• 오탈자, 실수, 틀린 내용은 조용히 찾아오거나 메일로 …• virse program messge Dos to Win는 오타 아님– LBC 바이러스에서 가져온 문자열 (이후 설명)

• 목적– 디스크 입출력 악성코드 소개

• 감사– 안철수연구소 시큐리티대응센터 분석1팀 팀원

2

Page 3: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

목 차목 차

1. 디스크 입출력 이용 악성코드1. 디스크 입출력 이용 악성코드

2. 윈도우에서 디스크 입출력2. 윈도우에서 디스크 입출력

4. 윈도우 부트레코드 감염4. 윈도우 부트레코드 감염

5. 주요 악성코드5. 주요 악성코드

6. 분석방법6. 분석방법

3. 추억의 8090 부트 바이러스3. 추억의 8090 부트 바이러스

7. 전망과 과제7. 전망과 과제

Page 4: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

1. 디스크 입출력 이용 악성코드1. 디스크 입출력 이용 악성코드

Page 5: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

디스크 입출력 악성코드

• 디스크 입출력 악성코드 ?– 디스크 입출력으로 디스크 내용을 직접 변조하는 악성코드– 주로 주부트레코드, 파일 시스템, 특정 파일에 접근

• 악성코드 제작자 입장에서 이점– 기술적으로 어렵지 않음– 행동감시 프로그램 우회 가능성 높음– 자기 보호(백신 등) 프로그램 우회 변조 가능– MBR 변조 할 경우 MAOS (Malware OS)

• 현황– 폭발적인 증가세는 아직 없지만 조금씩 증가하고 있음– MBR 감염 형태의 악성코드도 지속 등장

5

Page 6: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

디스크 입출력 이용 악성코드• 디스크 입출력 악성코드 주요 사건

– 2005년 : 블랙햇에서 eEye의 Bootroot 프로젝트 발표 (윈도우 2000/XP 전용)

– 2007년 : NV labs의 Vbootkit (윈도우 비스타 동작)– 2007년 9월 : 윈도우 비스타 탑재 판매 시스템에서 Angelina 바이러스 발견

– 2007년 11월 : MBR 루트킷 Mebroot(Sinowal) 확산 확인– 2008년 7월 : TDL1 발견– 2008년 10월: 디버깅 중이면 MBR 데이터 손상시키는 Win-

Trojan/Killmbr.14848 발견– 2010년 2월 : TDL3와 MS10-015 충돌 (3.25 버전 이상에서 해결)– 2010년 5월 : MBR 변조 Win-Trojan/Torr (Yonsole)– 2010년 6월 : 부트 레코드를 변경하고 애드웨어 설치하는 Win-

Trojan/Trup– 2010년 7월 : x64 윈도우 감염 징조 보이는 TDL3 3.27.3 버전 발견– 2010년 8월 : MBR 변조 및 userinit.exe 변조 Win-Trojan/Smitnyl

6

Page 7: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

디스크 입출력 이용 악성코드

• 디스크 입출력 악성코드 주요 사건– 2010년 8월 : x64 윈도우 감염 TDL3 발견– 2010년 10월 : MBR 변조를 통해 돈을 요구하는 Win-

Trojan/Saftad– 2010년 11월 : 64비트 윈도우 7 감염 TDL4

7

Page 8: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

디스크 내용 변경 및 파괴

• 디스크 입출력으로 데이터 직접 변경 및 파괴– 주로 마스터 부트 레코드 내용 변경 해 부팅 불가

• 종류– Win-Trojan/Killmbr.14848 (2008년 10월 발견)– Win-Trojan/Torr.111104 (2010년 5월 발견)– Win-Trojan/Fakeav.103176 (2010년 6월)– 7.7 & 3.4 DDoS 공격 (2009년 7월 & 2011년 3월)

• 결과– 분석방해 -> 가상 환경이 아니라면 윈도우 재설치 !– 손쉬운 시스템 부팅 불가– 확실한 데이트 파괴

8

Page 9: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

특정 파일 접근 혹은 변조• FAT, NTFS 등 파일 시스템 구조를 해석해 디스크 입출력으로 대상 파일 접근– 드라이버 파일을 포함한 시스템 파일– 백신을 포함한 보안 프로그램– 일반 프로그램

• 결과– 레지스트리 변경 없이 자동 실행 가능

• 주요 시스템 파일 변조– 보안 프로그램 방해

• 패치 된 백신 프로그램은 검사 하는 듯 해도 실제 악성코드 진단 못함• 방화벽 우회

9

Page 10: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

부트 레코드 변조(감염)

• 부트 레코드 변조 + 파일 변조– 도스 부트 바이러스와 유사한 형태– 다른 디스크로 직접 전파되지 않음 (바이러스는 아님)– Win-Trojan/Trup : 부트 레코드 감염 및 ntoskrnl.exe 변조– 부트 레코드와 파일 혹은 시스템을 감염 시키는 부트/파일 바이러스 재등장 가능성 존재

• 부트킷 (Bootkit)– 부트킷 = 부트 레코드 감염 + (루트킷)– OS 시작 전에 악성코드가 먼저 실행– MAOS (Malware Operationg System) = Malware Platform– Mebroot, TDL(Alureon, TDSS, Tidserv) 등

10

Page 11: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

2. 윈도우에서 디스크 입출력2. 윈도우에서 디스크 입출력

Page 12: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

디스크 입출력

• CreateFile – 간단한 디스크 입출력– 파일이름 : \\.\PHYSICALDRIVE0, \\.\C:– http://support.microsoft.com/kb/q100027

12

Page 13: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

디스크 입출력

• Win-Trojan/Saftad.49664 물리 디스크 입출력

13

Page 14: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

디스크 입출력

• Win-Trojan/Saftad.49664 물리 디스크 입출력

14

Page 15: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

윈도우 Vista & 7

• 윈도우 Vista 와 7 에서는 관리자 권한으로 실행 권장

15

Page 16: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

3. 추억의 8090 부트 바이러스3. 추억의 8090 부트 바이러스

Page 17: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

1988년

• 사회– 88 서울 올림픽– 필자는 컴퓨터 학원에서 애플 2 복제 컴퓨터 접함

• 브레인 바이러스 국내 유입– 안철수 박사 백신(Vaccine) 발표

17

Page 18: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

1989년

• 사회– 아시아나 항공 취항, 5공 청문회– 동유럽 혁명 일어나고 냉전이 끝남– 베를린 장벽 무너짐– 중국 텐안먼(천안문) 사건 발생

• 안철수 박사 LBC 바이러스로 백신 II와 예루살렘 바이러스로 백신 II 플러스 발표– LBC 바이러스 등장 및 하드디스크 부팅 불가로 피해 속출– 새로운 컴퓨터 바이러스가 속속 국내 유입

• 필자는 Brain 바이러스와 LBC 바이러스에 감염된 디스크를사용 못하는 줄 알고 컴퓨터 학원 친구에게 줌 -.-;;– 당시 5.25 인치 플로피 디스크 약 2,000원– 당시 초등학생 버스비 60원 -> 버스 33회 !

18

Page 19: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

도스 부트 바이러스 : Brain 바이러스

• 1986년 파키스탄 Amjad Farooq Alvi, Basit Farooq Alvi형제가 제작

• 360 KB 플로피 디스크만 감염• 감염된 디스크의 볼륨 이름 (c) Brain으로 변경• 원형– 제작자 이름과 주소 포함

19

Page 20: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

도스 부트 바이러스 : Brain 바이러스

• 국내 유입 브레인 바이러스

20

Page 21: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

도스 부트 바이러스 : Brain 바이러스• 브레인 바이러스 제작자와 F-Secure 연구원 만남 (2011년 2월)– http://campaigns.f-secure.com/brain/index.html

21

Page 22: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

도스 부트 바이러스 : Stoned 바이러스

• 1987년 뉴질랜드 고등학생이 제작 (미국 아님)• 원래 플로피 디스크만 감염 시킬 수 있으나 누군가 하드디스크도 감염 시키도록 변형

• 대마초 합법화 주장 메시지 포함– Stoned는 돌이 아닌 대마초에 몽롱한 상태를 의미하는 속어

• 전 세계적으로 가장 널리 퍼지고 변형이 많은 부트 바이러스 중 하나– 미켈란젤로 바이러스도 Stoned 바이러스 변형

22

Page 23: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

도스 부트 바이러스 : LBC 바이러스

• 1989년 제작된 국산 두 번째 컴퓨터 바이러스– Honey 바이러스가 최초

• 감염되면 하드디스크로 부팅되지 않고 인식되지 않아 포맷으로 인한 자료 손실로 많은 피해 일으킴(제작자 실수)

• 발표문서 제목은 virse program messge Njh to Lbc에서가져옴

23

Page 24: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

PC 부팅 과정

• MS-DOS, Windows를 포함한 PC 부팅 과정– 자기 검사 (Power-On Self-Test : POST)– 디스크 가장 처음에 위치한 코드(부트 레코드)를 0000:7C00에 로드 및 실행

• 운영체제와 상관없는 PC 계열의 기본 설정– 기본적으로 1981년 IBM PC 발표 당시 방식– 16비트 리얼모드로 시작 -> 보호모드로 진입

24

Page 25: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

주부트 레코드

• 주부트레코드 (Master Boot Record)– 실행 명령(부트 코드)과 디스크상에 주파티션 위치를 지정하는 4개의 항목을 가진 파티션 테이블이 있는 고정된 공간

25

Page 26: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

주부트 레코드

• 파티션 테이블 정보– 1BEh 부터 시작 (80h는 부팅 가능한 영역)– 4개의 주파티션 포함 될 수 있음– 마지막 (1FE와 1FF)은 55h AAh로 종료– 파티션 정보가 없거나 잘못될 경우 디스크 부팅이 되지 않거나 인식이 되지 않음

26

Page 27: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

MS-DOS 메모리 구조

• MS-DOS 메모리 구조– 기본 메모리는 최대 640 킬로바이트 (KB)– 당시 640 KB 이하 메모리 용량도 많아 000:0413h에 메모리 용량정보 보관

– 0000:0413h-0000:0414h memory size: normally accessed via interrupt 12h

• 참조– http://www.osdata.com/system/physical/lowmem.htm

27

Page 28: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

부트 바이러스 원리• 보통 최상위 영역의 메모리에 자기 복사하고 기억장소 줄임– 기본메모리 용량을 보관하는 0000:0413h 번지 값 줄임– 도스가 사용하지 않아 바이러스 코드 보호

• 인터럽트 벡터 주소 가로챔– 보통 디스크 입출력 담당하는 인터럽트 13h 가로챔– 인터럽트 13h 주소는 000:004Ch 에 존재

• 보관한 정상 부트 레코드나 자체 기능으로 재 부팅– 다른 부트 바이러스에 감염된 경우 2가지 부트 바이러스가 동시 활동

• 사용되는 플로피 디스크 혹은 하드 디스크 감염– 보통 정상 부트 레코드로 재 부팅 전 하드디스크 감염– DIR 등 명령 때 다수의 인터럽트 13h 수행 -> 디크스 입출력 속도 저하

• 기타 의도된 증상– 디스크 볼륨 이름 변경, 메시지 출력, 디스크 데이터 파괴 등

28

Page 29: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

윈도우 95 등장과 부트 바이러스• 32비트 디스크 입출력으로 인터럽트 13h가 더 이상 이용하지 않음– 인터럽트 13h를 가로채는 부트 바이러스는 다른 디스크를 감염 시킬 수 없음

– 루마니아 RP가 제작한 Dodgy 바이러스는 system\iosubsys\hsflop.pdr 파일 삭제하는우회 기법 이용

• 다수의 부트 바이러스는 윈도우 95 이상 시스템에서 오동작 일으킴• 플로피 디스크 사용이 급격히 줄어둠

– 더 이상 부트 바이러스 확산이 어려움

• 윈도우 NT 기반의 윈도우 2000과 윈도우 XP 이후 부트 바이러스는 거의 멸종됨

• 2011년 현재도 부트 바이러스는 종종 보고 !– V3에서 부트 바이러스 치료 기능 제외– 치료 요청 올 경우 전용 백신 제공 -> 종종 접수

29

Page 30: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

4. 윈도우 부트레코드 감염4. 윈도우 부트레코드 감염

Page 31: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

윈도우 부팅 과정

• 윈도우 부팅 과정– 초반부는 MS-DOS와 동일– 부팅 과정

31

마스터부트레코드(MBR)

부트 섹터(Boot

Sector)

바이오스(BIOS)

Bootmgr / Ntldr

Winload.exe

Ntoskrnl.exe 등

리얼모드로 실행하는 동안 존재

Page 32: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

보호모드로 전환시키는 Bootmgr

• Windows 7 bootmgr과 Windows XP ntldr

32

Page 33: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

도스 부트 바이러스 원리 응용

• 디스크 입출력 인터럽트 (Int 13h) 후킹 후 윈도우 부팅 과정에서 코드 변조

33

Page 34: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

5 주요 악성코드5 주요 악성코드

Page 35: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Killmbr.14848• World of Warcraft 게임 사용자 계정과 암호 유출 악성코드– 2008년 10월 발견– 디버깅 중이면 MBR 내용을 변경해 부팅 되지 않게 함

35

Page 36: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Torr (Yonsole)

• 2010년 5월 발견– http://blogs.technet.com/b/mmpc/archive/2010/06/18/your-

pc-has-been-stoned-again.aspx

• 원격 명령 중 MBR 변조해 부팅 불가 기능 존재

• MBR 변경

36

Page 37: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Torr (Yonsole)

• 변경되는 코드는 메시지 출력 후 중지(무한 루프)

37

Page 38: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Saftad.49664

• 변조된 부트 레코드

38

Page 39: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Trup

• 부트 레코드 변형 및 애드웨어 다운로드– 2010년 6월 발견– Ntoskrnl.exe 의 IoGetCurrentProcess() 함수 패치– 개념도 (by 안철수연구소 시큐리티대응센터 분석1팀 이도한 연구원)

39

Page 40: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Smitnyl

• MBR 감염 및 userinit.exe 변조– 2010년 8월 발견– 원본 MBR은 섹터 5에 백업– 파일 시스템 확인 해 FAT과 NTFS에 따라 파일 위치 계산해

userinit.exe 변조

• Smitnyl 개념도 (by ASEC 분석1팀)

40

Page 41: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Saftad.49664

• 마스터 부트 레코드 변조 후 돈 요구– 2010년 10월 발견된 랜섬웨어– 하드디스크 데이터가 암호화 되었다고 알림 (실제로는 MBR만 변조)– www.safe-data.ru로 접속 유도 -> 50 유로 요구– aaaaadabia를 입력하면 정상 부팅 됨 (자체 치료)

41

Page 42: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Saftad.49664

• 우크라이나 소재 홈페이지– 50 유로 요구

42

Page 43: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

Win-Trojan/Saftad.49664

• 변조된 MBR 내용– 악성코드 뒷부분 읽기– 메시지 출력 및 키 값 입력– 옳은 키이면 정상 MBR 복구 -> 정상 부팅

43

Page 44: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.44

Page 45: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

6. 분석 방법6. 분석 방법

Page 46: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

디스크 섹터 뷰어/편집기

• HxD– http://mh-nexus.de/en/hxd/– 다운로드 : http://mh-

nexus.de/en/downloads.php?product=HxD

46

Page 47: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

부트 레코드 디버깅

• 디버깅 방법– Debug, 소프트아이스 2.8, Windbg (?)– Bochs

• Bochs– http://bochs.sourceforge.net/– bochsdbg.exe로 디버깅 가능

47

Page 48: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.48

Page 49: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

7. 전망 및 과제7. 전망 및 과제

Page 50: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

간단한 디스크 입출력

• 간단한 방식이라 쉽게 악성코드에 적용 가능

• 윈도우 버전별 차이– 윈도우 XP까지는 큰 어려움 없음– 윈도우 비스타 및 7 이상에서 우회 방안 필요

• 보안프로그램에서 디스크 입출력 차단 기능– 윈도우 7 서비스팩1, 단편화 제거 프로그램 등의 정상 프로그램에서도 디스크 입출력 이용

– 윈도우 7에서 파티션 변경 지원– 해결 방안• 화이트리스트 ? • 사용자 선택 ?

50

Page 51: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

안철수연구소의 디스크 입출력 차단 기능

• V3 Lite 디스크 입출력 차단 기능– 조각 모음 등에서도 뜰 수 있음– 출처 : 네이버 바이러스제로 카페

(http://cafe.naver.com/malzero/72209)

51

Page 52: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

새로운 부팅 방식

• EFI, UEFI (EFI 2.0)– http://www.uefi.org/home/– 현재 BIOS 시스템이 사용하는 레거시 16비트 코드를 대체하는 최신 표준안• 사전 부트 프로그램(preboot program) 로딩과 운영체제 로딩과정을 지원하는 드라이버 허용• 부팅 시간 10-20초 내외

– EFI는 OS 환경과 비슷– 맥 등에서 사용

52

Page 53: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

새로운 부팅 방식

• EFI– 스크립트 (NSH)– EFI shell로 부팅 가능– EFI shell starup video• http://www.youtube.com/watch?v=wrybDw9UL5E

– EFI shell startup video and HEXEDIT.EFI demo• http://www.youtube.com/watch?v=kiRsaaS1mbM

• 가능한 시나리오– EFI 내에 악성코드 보관– 다른 이미지로 부팅– 악성코드가 제어권을 가진 후 부팅• 진정한 MAOS !

53

Page 54: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

향후 과제• 부트 루트킷(부트킷) 분석과 진단/치료– Mebroot, TDL– 64비트 TDL 분석

• 새로운 부팅 방식을 이용한 악성코드 등장 가능성 연구– EFI, UEFI 백신 필요 ?!

54

Page 55: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

퀴즈• 발표자료 제목인 virse program messge Dos to Win는 LBC 바이러스에서 가져왔다. 이 바이러스의 원래 메시지는?

• 0번 헤드, 0번 트랙, 1번 섹터에서 0번 헤드, 0번 트랙, 7번 섹터의 내용을 파일로 저장하려면 몇 바이트가 필요한가?

• LBC 바이러스에 감염된 하드디스크로는 부팅되지 않고 인식도되지 않는다. 그 이유는 각각 무엇인가 ?

55

Page 56: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

퀴즈 정답• 발표자료 제목인 virse program messge Dos to Win는 LBC 바이러스에서 가져왔다. 이 바이러스의 원래 메시지는?– virse program messge Njh to Lbc

• 0번 헤드, 0번 트랙, 1번 섹터에서 0번 헤드, 0번 트랙, 7번 섹터의 내용을 파일로 저장하려면 몇 바이트가 필요한가?– 3,584 바이트– 7개 섹터 * 512 = 3,584 바이트

• LBC 바이러스에 감염된 하드디스크로는 부팅되지 않고 인식도되지 않는다. 그 이유는 각각 무엇인가 ?– 부팅시 A 드라이브라고 가정해서 하드 디스크 부팅되지 않음

– 감염된 부트레코드에는 파티션 정보가 존재하지 않음

56

Page 57: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

질문

• 메일주소 : [email protected]

57

Page 58: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

참고자료• Windows Internals 제 5 판• Ralf Brown’s Interrupt list

(http://www.cs.cmu.edu/~ralf/files.html)• Your computer is now stoned (… again) (F-Secure)• ASEC Report Vol. 16 중 MBR infection : Smitnyl 분석 정보 (안철수연구소)

• TDL3 : The Rootkit of All Evil? (Eset)• The Case of Trojan Downloader “TDL3” (F-Secure)• 안철수연구소 ASEC 분석1팀 내부 분석 자료

58

Page 59: [2011 CodeEngn Conference 05] 쿨캣 - virse program messge DOS to Win

Copyright (C) AhnLab, Inc. 1988-2011. All rights reserved.

감사합니다세상에서 가장 안전한 이름

Copyright (c) AhnLab, Inc. 1998-2011 All rights reserved. http://www.ahnlab.com | http://blog.ahnlab.com | http://twitter.com/ahnlab_man

ASEC Threat Research

http://blog.ahnlab.com/asec/http://core.ahnlab.com

ASEC Threat Research

http://blog.ahnlab.com/asec/http://core.ahnlab.com

www.CodeEngn.comCodeEngn ReverseEngineering Conference