* 세계 최초 컴퓨터 바이러스 중 하나

세계최초 컴퓨터 바이러스 얘기 중에 빠지지 않는 바이러스가 Richard Screnta 의 Elk Cloner 바이러스입니다. 1981년 8비트 애플2 컴퓨터용으로 제작되어 1982년 퍼집니다. 1986년 제작된 브레인 바이러스보다 5년 정도 빠릅니다. 하지만, 애플2는 8 비트 컴퓨터로 현재 흔히 PC라 불리는 IBM PC와는 다릅니다. 따라서, 기준에 따라 최초의 컴퓨터 바이러스는 Elk Cloner 혹은 브레인 바이러스가 되기도 합니다.

1990년 제작자가 직접 글을 남기기도 했습니다.

http://www.skrenta.com/cloner/clone-post.html


* 감염 디스크와 소스코드

제작자는 자신의 홈페이지에 감염 디스크와 소스코드를 올려두었습니다.

* 소스코드 : http://www.skrenta.com/cloner/clone-src.txt

설명하나 없는 어셈블리 코드를 보면 사실 막막합니다. 인텔 어셈블리는 알지만 6502 어셈블리는 모르니 명령어를 보고 이게 어떤 의미일까 대충 예상만 했죠. 

감염 디스크 이미지도 올라와 있어 애플 에뮬레이터에서 실행해 봤지만 다른 디스크로 감염이 안되더군요. 그렇게 지난 몇년 동안 디스크 이미지를 가지고만 있었습니다.


Elk Cloner 소스코드Elk Cloner Source Code



* 분석

어느날...
이 애플2 컴퓨터 바이러스가 생각났고 주말에 시간이 좀 나서 한번 볼까 합니다.
그렇게 토요일 오후와 일요일 동안 소스코드를 하나하나 따라가며 주석도 달기 시작합니다.
덕분에 기본적인 6502 어셈블리, 애플 2 메모리 구조, CALL-151 명령, DOS 3.3 구조도 조금씩 알게되었습니다.

Elk Cloner virus analysis Elk Cloner virus analysis




* 변조된 DOS 3.3 = 바이러스 코드

많은 자료에 이 바이러스는 부트 바이러스라고 합니다. 그래서 MS-DOS에서 부트 바이러스와 비슷한 구조가 아닐까 생각했는데 다르더군요. 제 생각에 부트 바이러스 보다 MS-DOS의 시절 도스 커널을 감염 시키는 바이러스나 요즘의 부트킷(Bootkit)의 선조격이라고 해야하지 않을까 합니다.

애플 DOS 3.3에서 INIT 명령으로 디스크를 포맷할 때 DOS 3.3도 같이 설치됩니다. MS-DOS 시절 포맷 명령에 /S를 해서 부팅 디스크를 만드는 것과 동일하다고 생각하면 됩니다.

감염 전과 감염 후 디스크 이미지를 비교하면 부트 레코드는 변한게 없습니다. 다만 DOS 3.3 코드 일부분이 패치되어 있습니다. (4C 00 9B는 JMP 9B00입니다.)



실제 바이러스 메인 코드는 DOS 3.3에서 사용하지 않는 디스크 영역에 보관된다고 합니다.

감염 전과 감염 후를 비교하면 빈영역에 바이러스 코드가 존재하는걸 알 수 있습니다.



부팅한 DOS 3.3 자체가 바이러스이기 때문에 별도의 메모리 상주를 할 필요는 없습니다.

바이러스 감염 여부는 CALL-151로 모드를 변경하고 9000L로 9000 주소를 디스어셈블해보면 됩니다.

깨끗한 DOS 3.3으로 부팅하면 9000 번지에 별다른 내용이 없습니다.
- 시스템에 따라 다를 수 있습니다.

정상 DOS 3.3


하지만, 감염된 디스크로 부팅하면 02 (바이러스 버전)과 [004C]주소에 0xFF 값을 넣는 바이러스 초반부 코드를 볼 수 있습니다.

바이러스 감염 디스크로 부팅



* DOS 3.3 메모리 변조

바이러스는 베이직 코드를 실행하는 RUN 코드를 패치하고 베이직 로드 (LOAD), 기계어 로드(BLOAD), 파일 목록보기(CATALOG)를 후킹합니다.

이외 사용자 정의 코드도 가집니다. 사용자 정의 코드를 어떻게 실행하는지는 아직 잘 모르겠네요.

CATALOG 후킹 방식을 살펴보겠습니다

우선 DOS 3.30에서 CATALOG 명령 입력 하면 0xA56E 주소 코드가 실행된다고 합니다. 바이러스는 해당 주소에 바이러스로 점프하는 코드를 넣습니다.

메모리 변조 코드를 보면 0xA56E 부터 0xA570에 0x4C, 0xB6, 0x90 코드를 넣는걸 볼 수 있습니다.


정상적인 DOS 3.3의 0xA56E 코드는 아래와 같습니다.


하지만, 감염된 시스템은 CATALOG 명령을 입력하면 0x90B6으로 점프 합니다.


0x90B6으로 가면 원래 감염 여부 확인을 하고(JSR $9074) 원래 CATALOG 명령 (LDA #$06, JSR $A2AA ...)을 그대로 수행합니다.


후킹이라고 생각한 부분에서 원본 코드 백업을 안해서 의아했는데 원래 DOS 3.3 의 코드를 아예 가지고 있더군요.
당시에는 DOS 3.3을 대부분 사용했으니 큰 무리가 없었겠죠.
 
MS-DOS 시절 특정 버전에서만 동작하는 Tenbytes 바이러스와 유사하다고 볼 수 있겠죠. 따라서, 이 바이러스는 DOS 3.3 에서만 활동하고 다른 버전이나 변형된 DOS 3.3에서는 오동작 할 수 있을 겁니다.


* 감염

소스코드를 보면 CATALOG 명령 등으로 디스크를 읽을 때 바이러스가 감염되어야 합니다. 하지만, 어떤 이유에서인지 제대로 감염되지 않네요.

아직 제가 애플 디버깅에 익숙하지 않아서 원인을 파악하지 못했습니다.

강제로 감염 시키려면 CALL-151 후 감염 시킬 디스크를 넣고 90DAG 하면 감염 루틴이 실행되고 디스크는 바이러스에 감염됩니다.

이부분을 성공했을 때 정말 눈물(?) 나더군요.
감염 디스크를 만들기 위해 몇년을 기다렸던가 !!!!!!!

* 증상

많은 분석 내용을 보면 50 번 부팅 때 마다 메시지를 출력한다고 되어 있습니다.
하지만, 분석해보면 감염된 디스크로 부팅 횟수에 따라 다른 증상이 존재합니다.

  10 회 (0x0A) : [03F2.03F3] = 0x69FF  저장
  15 회 (0x0F) : [0032] = 3F - INVERSE Mode
  20 회 (0x14) : LDA $C030 3회 - beep 음
  25 회 (0x19) : [0032] = 7F - 반짝 반짝 모드
  30 회 (0x1E) : CATALOG 명령 수행 할 때 파일 종류 (I, T, B, A) 순서 변경해 타입이 이상하게 나옴
  35 회 (0x23) : [AAB2] = 0x85
  40 회 (0x28) : AUTOSTART ROM RESET routine address 내용 변경
  45 회 (0x2D) : [00D6] = 0x80
  50 회 (0x32) : 메시지 출력
  55 회 (0x37) : [BD03] = FF RWTS main entry
  60 회 (0x3C) : [BD03] = 0x20
  65 회 (0x41) : [A180.A182] = 4C 69 FF (JMP FF69)
  70 회 (0x46) : [BD03] = 0x10
  75 회 (0x4B) : JMP $C600 (재부팅 됨)
  76 회 (0x4C) : JMP $C600 (재부팅 됨)
  77 회 (0x4D)  : JMP $C600 (재부팅 됨)
  78 회 (0x4E)  : JMP $C600 (재부팅 됨)
  79 회 (0x4F) : [B3BF] = 00 ... [B3BF]는 부팅 횟수로 이 값이 초기화됨

헉... 정말 많습니다.

주소에 데이터 넣는건 애플 레퍼런스를 참조하면 될텐데 아직 정확한 의미는 못 찾았습니다.
- 귀찮기도 하고...

15번 째 부팅하면 INVERSE MODE가 됩니다.



79번째 부팅하면 부팅 횟수 카운터가 0 이되기 때문에 80 번째 부팅하면 감염 초기와 같습니다. 따라서 95 회 때 INVERSE Mode, 대략 130 번째 부팅 때 메시지가 출력 됩니다. 50 번 부팅 할 때 마다 메시지 출력은 잘못된 분석입니다.

그런데 감염 디스크로 이런 저런 증상을 확인했는데 50번째 부팅 했을 때 메시지는 안나타나더군요.
- 어떤 행위가 있을 때 증상이 나타난다고 하는데 다음에 시간되면 한번 분석해 봐야겠습니다.
결국 CALL-151로 들어가서 92FFG로 강제 실행해서 그렇게 보고 싶었던 메시지를 봅니다.

ELK CLONERELK CLONER message



* 미해결 사항

언제 시간이 될 때 다음 사항을 확인해 보고 싶습니다.


 1. 변경되는 나머지 주소의 목적
 2. 자세한 디스크 감염 알고리즘
 3. CATALOG 명령 등으로는 감염 안되는 원인 
 4. 50 번 째 부팅 때 메시지가 출력 안되는 원인
 5. 바이러스가 만든 유저 명령 수행

- 혹시 아시는 분은 연락주셔도 됩니다 ^^


* 맺음말

1980년대 초 제작된 바이러스를 분석해 봤습니다.
오랫만에 정말 재미있게 분석해 봤네요. 역시 90년대 이전 샘플 분석이 재미있습니다.

바이러스 분석 덕분에 간단하지만 6502 어셈블리와 애플2 컴퓨터 내부도 공부했습니다.
(추가 : 최초 글 쓰고 5년 지난 2017년 현재... 명령 거의 잊어버렸네요 TT)

컴퓨터 바이러스라는 개념이 존재하기도 전에 이런 코드가 만들어 졌다니 신기하면서도 현재 악성코드에서 사용되는 기법이 이때도 사용되고 있다는걸 알 수 있었습니다.


신고
Posted by mstoned7

댓글을 달아 주세요

  1. 영상 2012.03.26 08:06 신고  댓글주소  수정/삭제  댓글쓰기

    애플2 빌려주리????ㅋ

    본체만 남아있음..ㅋ

    • mstoned7 2012.03.26 08:50 신고  댓글주소  수정/삭제

      와... 보물을 가지고 있다니 ! 몇몇 사람들은 추억으로 옛날 컴퓨터를 사기도 하더만... 난 그냥 에뮬레이터로 만족 ㅎㅎ

  2. crattack 2012.03.26 10:20 신고  댓글주소  수정/삭제  댓글쓰기

    고생 하셨을꺼 같네요.
    엄청난 내용이네요.

    감사히 잘보고 가겠습니다. ( _ _)

  3. 영상 2015.11.04 06:46 신고  댓글주소  수정/삭제  댓글쓰기

    애플6 빌려줄리????ㅋ


    본체만 남아있음..ㅋ

  4. crattack 2015.11.04 06:47 신고  댓글주소  수정/삭제  댓글쓰기

    고생 하셨을꺼 같네요.
    엄청난 내용이네요.


    감사히 잘보고 가겠습니다. ( _ _)

  5. 쿨캣 2015.11.05 06:39 신고  댓글주소  수정/삭제  댓글쓰기

    와... 보물을 가지고 있다니 ! 몇몇 사람들은 추억으로 옛날 컴퓨터를 사기도 하더만... 난 그냥 에뮬
    레이터로 만족 ㅎㅎ

  6. 쿨캣 2015.11.05 06:40 신고  댓글주소  수정/삭제  댓글쓰기

    엄청난 내용까지는 아니고.. 흥미로운 내용이긴 합니다 ㅎㅎ

페북 모님으로 부터 패킷을 받았습니다.

(다시 한번 감사합니다.)


fiddler에서 사용하는 saz 이군요.

(실제 파일은 zip 파일입니다.)


1. fiddler 설치


fiddler은 .Net 을 필요로 합니다.

윈도우 7에서는 닷넷 4.x가 포함되어 있으니(저는 별도 설치한 기억이 없으니) fiddler v4 버전을 설치합니다.


http://www.telerik.com/download/fiddler 에서 다운로드 합니다.


회사에서는 대체로 자동화된 시스템에서 샘플이 수집 되어서 패킷을 보는 경우는 많지 않은데 요즘은 fiddler 를 많이 사용하더군요.


몇 번 사용 안 해봐서 아직 익숙하지는 않습니다.



2. saz 열기


[File] -> [Load Archive]로 saz 파일을 엽니다.

그럼 주고 받은 패킷이 화면에 나옵니다.



3. 경유지 찾기


어떤 tistory.com 에 접속했을 때 패킷 기록임을 알 수 있습니다.


흐름을 보니 갑자기 이상한 사이트(www.happy*.co.kr/css/index.html)가 눈에 들어옵니다.




코드도 좀 이상합니다.




이 페이지를 어디서 로드하는지 역으로 하나하나 패킷 내용을 확인합니다.

광고 플러그인 페이지에서 iframe으로 www.happy*.co.kr/css/index.html을 로드하는걸 볼 수 있습니다.






오케이...

티스토리 접속 -> 광고 플러그인 로드 -> 광고 플러그인은 iframe으로 www.happy*.co.kr/css/index.html 로드 라는걸 알 수 있습니다.


4. 배포처 찾기


좀 더 내려가보면 www.car*.net/data/file/b.exe에서 파일을 다운로드 되는걸 확인 할 수 있습니다.


파일도 MZ와 PE 를 포함하고 있으니 PE 파일임을 알 수 있습니다.



배포 된 주소해 파일을 다운로드 하려니 '공격 사이트 보고!'가 가로 막아 버리네요.

(현재는 해당 파일이 삭제되어서 파일이 다운로드 되지 않습니다.)




5. b.exe 뽑아 내기


웹브라우저에서 접근 할 수 없으니 (다른 웹브라우저를 이용하거나 wget으로 다운로드 하면 됩니다만...)

Fiddler에서 파일 다운로드 해보겠습니다.


일단 www.car*.net/data/file/b.exe 요청 부분으로 옮겨갑니다.


파일 저장은 [File] -> [Save] -> [Response] -> [Response Body]로 할 수 있습니다.


http://www.car*.net/data/file/b.exe 를 요청해서 응답하는(Response Body)만 받으면 악성코드 본체만 다운로드 할 수 있습니다.





b.exe 다운로드 창이 뜹니다.




이제 저장하고 (안전을 위해 확장자를 exe_와 같이 바꿔주는 센스!)




*** 결론


패킷이나 이런 부분은 시큐리티 파트 분들이 잘하다보니 저의 툴 사용 방법을 보고 뭘 저렇게 해 ?! 하는 분들도 있을 듯 합니다.

오래된 파일 분석가의 한계... TT

요즘 어린(?) 분석가들은 이런 툴 잘 사용하겠죠 ?!





신고
Posted by mstoned7

댓글을 달아 주세요

  1. 벌새 2014.03.16 21:28 신고  댓글주소  수정/삭제  댓글쓰기

    Fiddler로 파일 추출하는 것은 저 방법이 정석일 것 같습니다.^^

  2. Auditor Lee 2014.03.17 00:55 신고  댓글주소  수정/삭제  댓글쓰기

    이미 패킷 캡처된 거라서 우측 창의 소스를 에디터에 복사&붙여넣기 하고 다른 이름으로 저장하면 됩니다.

    • mstoned7 2014.03.17 09:13 신고  댓글주소  수정/삭제

      패킷과 사용법 다시 한번 감사합니다. safari에서도 제 블로그 지금 차단 중이네요 TT 광고 플러그인도 뺐는데.. 구글에서 아직 제외 안했나 보네요 ㅎㅎ

  3. 애뽀 2016.05.29 00:14 신고  댓글주소  수정/삭제  댓글쓰기

    쿨캣님 fidder이 설치는 되지만 켜지지가 않을땐 어찌해야하나요...


* 2014년 3월 15일  tistory가 차단 당했는데요. 이에 대한 분석 내용입니다. 

  일반분은 이번 내용만 보면 되고 분석가 혹은 분석에 관심 있는 분들은 그 다음 글도 읽으시면 됩니다.

 

2014년 3월 15일 블로그에 글 올리려고 들어왔더니 파이어폭스(Firefox)가 차단해 버립니다.



'오진인가.. 아니면 티스토리나 포함된 플러그인으로 악성코드가 배포되나'하는 생각이 들더군요.




아무래도 이렇게 라이브한건(?) 처음보다 보니 신기해서 [차단 이유 상세 정보]를 클릭해 봅니다.

하지만, 이쪽 일을 하는 저도 헷갈리는 문구 뿐이네요. (...)






제 블로그가 악성코드를 배포한적은 없고 실제 악성코드는 다른 곳(happy*.co.kr, car*.net)에서 배포 -> 1개 도메인(allb*.net)이 그 악성코드 중계 역할


즉, 제 블로그에 연동된 광고(allb* 사이트)를 통해서 악성코드가 배포되었다는 얘기입니다.


tistory 와 그와 연동된 광고에서 악성코드가 배포되고 있으니 사용자 입장에서는 딱히 할 일이 없습니다. (블로그를 폐쇄 ?!)

광고를 내릴까하다가 확인 당시에는 이미 문제가 해결되었더군요.


페이스북에도 관련 내용이 올라 옵니다.

(아.. 페북을 보는게 아니었어)


벌새님께서 글 남기셨네요.



댓글 좀 남기다가 결국 패킷 구해서 분석에 들어갑니다.

(이래서 회사에서 그냥 확인하려했는데 그 놈의 분석 본능 때문에....)


지금은 악성코드 배포 주소가 삭제되었습니다만 이건 어디까지나 임시 방편이고

보안문제를 근본적으로 해결하지 않으면 공격자는 다시 웹사이트를 해킹해서 악성코드를 배포할 겁니다.


일단은 상황해제..



2부에서는 fiddler로 분석하는 내용입니다.

일반분은 여기까지만 보면 되고 이후 내용은 악성코드 분석에 관심 있는 분들만 보시면 됩니다.





신고
Posted by mstoned7

댓글을 달아 주세요

해킹 사건이 있었습니다.




관련 악성코드가 알려졌습니다.


- md5 : fb0cafbd79778b50ae884af1164b9c2b

- filesize : 2,048


달랑 2 KB !


그래서 처음에는 다운로더가 아닐까 생각했습니다. 

(하지만 이런 예상은 빗나가곤 합니다.)


난이도가 낮고 일반적으로 쉽게 접하기는 어려운 형태의 샘플입니다.

그래서, 앞으로 신입 사원 교육 때 이 샘플을 사용할까 합니다. 


분석 결과가 인터넷에 있네라고 할 수 있지만 분석가에게는 단순 분석 능력 뿐 아니라 어디에 필요한 정보가 있는지 찾을 수 있는 능력도 필요합니다.



1. 외형 확인


2014년 2월 6일 12시 23분 43초에 빌드 되었습니다.

(참고로 시간은 충분히 조작 가능합니다.)


최근에 만들었나봅니다.



딱봐도 0x401160 부분에 IP 주소도 보이고 크기도 0x16F (367) 바이트 정도 밖에 안됩니다.


어셈블리로 제작했다는걸 알 수 있습니다.



쉽게 다운로더라고 예상하고 분석 들어갑니다.

(하지만... 결과적으로 예상은 틀렸습니다.)



2. IDA 그리고 Ollydbg


모니터가 2대인데 왼쪽 화면에는 IDA 그리고 오른쪽에는 Ollydbg를 띄웁니다.


Ollydbg로 따라가는 걸 IDA에 설명을 달기 시작합니다.


3. 디버깅 시작


Ollydbg로 디버깅을 시작합니다.

시작점은 0x00401000 입니다.


CLD 다음에 바로 CALL 명령입니다. [F7]로 차근차근 따라갑니다.

(F8로 따라가면 call 명령이 그냥 수행됩니다.)




0x0040108F으로 진입했는데 PUSH 로 이것저것 넣더니 CALL EBP 로 어딘가로 들어갑니다.

값만 봐서는 뭔지 모르겠습니다 @.@...


사실 이런 코드는 단순히 눈으로 따라가서는 주소를 알 수 없어 분석이 무척 어렵습니다.

그래서 Ollydbg로 따라가면서 얻은 내용을 IDA에 주석을 달아줘야 합니다.



디버거로 따라가보면 CALL EBP에서 EBP 값이 0x00401006 인걸 알 수 있습니다.

일단 0x004010A2에 BP 걸어 둡니다.




4. API 호출에 BP 걸기


0x00401006은 악성코드 앞부분에 존재합니다.

뭐하는 코드일까요 ?



이쯤 오면 경험 좀 있는 분석가라면 API 호출 코드라는걸 예상할 수 있습니다.


많은 어셈블리로 만들어진 바이러스나 Shellcode는 Win32 API 기능을 사용하기 위해 직접 주소를 호출하는 방식을 이용합니다.

(이부분은 그냥 생략합니다. 인터넷에 검색하면 다양한 자료 있습니다.)


이 백도어에서 API를 호출하는 코드는 0x00401086에서 JMP EAX로 진입합니다.

(EAX 값에 호출하려는 API 주소가 들어갑니다.)

따라서 여기에 [F2]로 BP 걸어두면 앞으로 사용되는 API 를 하나씩 볼 수 있습니다.



이렇게 [F9]로 달릴 때 마다 어떤 API를 호출하는지 알 수 있습니다.

첫번째 API는 kernel32.LoadLibraryA 이군요. 



한번 더 [F9]로 달리면 아까 BP 걸었던 곳에 도착합니다.


이렇게 코드를 하나하나 따라가다 보면 외부와 통신 하는 걸 알 수 있습니다.


5. 통신 


기본적으로 악성코드는 인터넷이 단절된 곳에서 이뤄집니다.

(인터넷 연결해두고 하는 사람들도 있지만요.)


그러다보니 통신 실패가 뜨면서 이런 백도어류는 더이상 디버거로 따라가기가 힘든 경우가 많습니다.

그 이후에는 코드상으로만 분석해야하는데 쉽지 않습니다.

(많은 경우 GG 칩니다.)


이제 외부와 통신하는 부분입니다.



그런데... 여기서 그냥 계속 따라가면 악성코드가 종료됩니다.

통신 다음에 TEST EAX, EAX 뭘까요 ?

바로 오류인지 검사하는 부분입니다.


코드를 유심히 보면 DEC EBX해서 0 이 되면 점프하는 부분도 있습니다. 이건 에러 횟수 검사인데 0x10 이니 대략 16번 정도 통신 시도하고 포기하겠죠. 예상할 수 있습니다.



Registers를 보면 EAX 값이 현재 0 입니다. 즉, 에러이죠.




EAX 값을 더블클릭해 다른 값으로 변경합니다. (여기서는 1)



(그냥 강제로 EIP를 바꿔도 됩니다.)


통신이 이뤄줬다는 가정하에 다음 코드 계속 진행됩니다.

(이 악성코드는 어셈블리로 만들어져서 간단히 우회 할 수 있지만 다른 악성코드는 실패하는 경우가 대부분입니다.)


6. 실제 백도어는 인터넷으로 전송


이제 코드가 얼마 안 남았습니다.

또... 뭔가 API를 호출합니다.



하지만, 우리는 이미 BP 걸어놨으니 ~

kernel32.VirtualAlloc 이군요.



0x00AE0000 에 priv 타입으로 읽기/쓰기/실행 가능한 RWE 로 메모리가 할당 되었습니다.



더 따라가 봅니다.

이번에는 wininet.InternetReadFile 입니다.

즉, 인터넷에서 어떤 데이터를 읽어 옵니다.



그리고, RETN 으로 0x0AE0000 으로 점프합니다.



물론 인터넷에 연결되지 않았고 받아온 데이터가 없으니 NULL 로 채워져 있습니다.

만약 접속해 받아오는 서버가 살아있었다면 여기에는 새로운 코드가 존재했을 겁니다.



따라서...

더 이상 분석은 불가능 합니다...


끝 !



7. 본체는 인터넷에...


결과적으로 이 악성코드의 본체는 인터넷에 숨겨져있습니다.

(아마 백도어 기능이겠지요.)


파일은 단순히 로더 혹은 다운로더라고도 할 수 있겠죠.

본체는 인터넷에 숨겨두는 악성코드라 ...

어셈블리로 작성된 녀석도 오랫만인데 이런 형태는 흔하지 않습니다.


사실 이 악성코드가 처음 사용한 기법은 아닙니다.

악명 높은 PoisonIvy도 실제 악성코드 본체는 인터넷 상에 있고 패킷으로 받아와 메모리 상에만 존재합니다





신고
Posted by mstoned7

댓글을 달아 주세요

  1. 2014.02.25 02:14  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. jyj850714 2014.02.25 12:11 신고  댓글주소  수정/삭제  댓글쓰기

    재밌게 잘 봤습니다. ㅎㅎㅎ

  3. binish 2014.02.25 14:50 신고  댓글주소  수정/삭제  댓글쓰기

    글 재미나게 잘 쓰시네요 ^.^)b

  4. 니파 2014.02.25 21:30 신고  댓글주소  수정/삭제  댓글쓰기

    페북에서 재밌다는 글이 있기에 링크따라 왔더니 쿨캣님이셨군요 ㅇㅅㅇ! 어셈블은 접해본적도 없는 초보 개발자(라지만 아직 학생 ㅜㅜ) 는 설명 없으면 뭐가 뭔지는 모르겠습니다..;;

  5. Sone 2014.02.26 10:15 신고  댓글주소  수정/삭제  댓글쓰기

    ROR D 를 보니 해쉬를 이용한 API주소 직접 호출이군요
    ROR D 를 두번 수행하는 녀석도 있더라구요

  6. 2014.05.18 21:06  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

2014년 1월 30일 네이버로 메일 한통 왔습니다


'Your Invoice xxxx@naver.com' 그리고 report.450205.zip 파일이 첨부되어 있습니다.

바로 악성코드라는 느낌이 왔습니다.



메일 헤더는 다음과 같습니다.





1월 31일(금) 설날 오후 60일 지난 아기 때문에 고향에 못 내려가고 집에서 뒹구르르하다가 어제 받은 악성코드나 한번 봐야지 생각했죠.

zip 파일을 풀면 report.exe 가 있습니다.


md5는 3b292522fd8e51eda5bca943db90a4c6


https://www.virustotal.com/ko/file/c6bd553a6b3714de53dd7f889b6468bb3d371945506ec247489dfad13326a1b7/analysis/


아차... 어제 출근 했을 때 집어 넣었어야 했는데...TT

회사 출근하는 분들에게 맡기고 집에서 한번 분석해 보기로 했습니다.


집에는 분석자동 시스템이 없으니 불편하지만...

디스어셈블러와 디버거로 할 수 있는 간단한 악성코드 분석 방법을 진행해 보겠습니다.


* 표본(육안) 검사


PE 파일이로 헥사 에디터로 보면 딱히 패킹 되었다는 느낌은 안 듭니다.


코드 영역인 0x00401000이 데이터 처럼 보입니다.




뭔가 압축되었거나 암호화 된 것으로 보이는 부분이 0x00413000에 보입니다.






* 실행 테스트


네트워크를 끊고 실행하면 방화벽 해제 요청이 뜹니다.

(제작자는 윈도우 방화벽도 신경 쓰지 않았다니.. 다소 놀랍네요.)


눈에 띄는 별다른 증상은 없네요.


이 부분은 추후 업데이트...


* 디스어셈블


IDA로 디스어셈블 해봅니다.


비교적 간단한 몇 개 함수만 보입니다.

(IDA에서 흰색은 제작자가 만든 함수이고 다른 색깔은 컴파일러가 만들거나 라이브러리 부분이라 색깔 있는 부분은 자세히 볼 필요 없습니다.)




WinMain으로 가봅니다.

(Hex-Rays가 설치되어 있으면 F5로 C로 변환 가능합니다.)


패킹이 되어 있지 않아 금방 악의적인 기능을 파악 할 수 있을거라 생각했지만....


흠.. 일반적 형태가 아니네요.





호출되는 함수를 이래저래 따라가 봅니다.


앗.. 메모리 할당(VirtualAlloc)이 보입니다.




여기까지 보면 뭔가 느낌이 옵니다.

이거.. 얘는 껍데기이고 실제는 메모리 할당 받은 곳에서 실행되겠구나

(실제 ollydbg로 따라가 보면 0x009A0000과 0x009C0000에서 필요한 코드 풀어 실행됩니다.)


좀 더 내려가면 (__stdcall *)가 보입니다.



메모리 할당을 받고 그쪽으로 점프 한다고 예상 할 수 있습니다.


사실 이제 더 이상 WinMain을 볼 필요가 없습니다.


실제 기능은 메모리 상에서 시작되기 때문에 결국 디버깅 해야 합니다.




* 디버깅


Ollydbg로 디버깅을 해봅니다.


패킹이나 난독화 되어 있지 않아 쉽게 따라 갈 수 있습니다.


문제는 제가 디버깅 하다가 분석 과정을 글로 남겨봐야지 해서....

초반부 화면 캡쳐를 못했네요.


실제 디버깅 과정은 다시 하면서 작성 해야 겠습니다. (이건 2부에서...)


2부 예고를 간단히 하자면...

패킹 된 영역을 0x009A0000에 풀고 0x00408205까지 오면 0x009A0000를 호출 합니다.



Ollydbg에서 Ctrl+M(Alt+M인가 ?)으로 Memory map을 보면 0x009A0000의 Type은 Priv이고 Access가 RWE 입니다.

RWE는 읽기/쓰기/실행으로 코드가 실행 될 수 있습니다.




0x009A0000은 로더 역할을 하는 4 KB 정도입니다.

실행되면 0x009C0000에 실제 악성코드가 로드 됩니다.





이런 유형의 악성코드는 분석가가 껍데기를 열심히 봐도 메모리 상에서 수행되는 코드를 보지 못하면 분석 할 수 없습니다.


2부에 계속....




신고
Posted by mstoned7

댓글을 달아 주세요

  1. 이규형 2014.01.31 22:05 신고  댓글주소  수정/삭제  댓글쓰기

    와.. 2부가 기대되네요. !
    분석보고서 잘보았습니다 스승님.!

    즐거운 명절되세요 .^^

  2. RCE_Mania 2014.02.07 17:08 신고  댓글주소  수정/삭제  댓글쓰기

    악성코드의 최초동작이 작년 말부터 메일첨부파일로 배포되고있는 'GameOver Zeus'와 행동이 비슷한것 같군요!
    '.enc' 파일을 다운로드 받고 32bit XOR와 rtldecompress 함수를 사용한다면 'GameOver Zeus'일 확률이 높을것 같네요!


어느 순간부터 새해라고 계획을 세운다거나 하지는 않게되었습니다.
많은 사람들이 새해 첫 해를 보기 위해서

저에게는 맨날 뜨는 해인데 뭐하러 그 추운데 고생하나 싶은데 말이죠.
- 해를 보는 사람들에게는 제가 이상하겠지만요.

그래도 인간이기에 올해는 무엇을 읽어볼까 고민했습니다.

매년 계획을 세우는 기초를 튼튼히하자 입니다.
그리고...
드라이버 샘플만 들어오면 많이 고전하는데...

그래서... 올해 읽어야 겠다는(단순히 읽어서는 안되겠죠.) 생각을 한건 바로...

Windows Internals 제 5 판 !


너무나 유명한 책이지만..
사실 4판도 아직 다 못 읽었죠.

구매일을 보니 2010년 8월 6일이네요 ㅋ

올해는 이 책을 읽어야 겠습니다.

악성코드 분석을 위해서 이 책을 읽어두면 좋겠죠.
특히 1장, 2장, 5장, 6장, 7장, 9장, 11장, 12장, 13장 (거의 다이군요.)가 중요해 보입니다.

번역한 분들이 회사분들이 더더욱..
그리고 저도 얼른 책 빨리 써야겠습니다.
몇달째 손 놓고 있다는... TT

[구매]

- 예스24
http://www.yes24.com/24/goods/4009506?scode=032&OzSrank=1


신고
Posted by mstoned7

댓글을 달아 주세요

  1. 처리  2011.01.05 02:28 신고  댓글주소  수정/삭제  댓글쓰기

    드라이버 오면 전 거의 GG입니다 ㅠ_ㅠ

    • mstoned7 2011.01.05 10:14 신고  댓글주소  수정/삭제

      ㅎㅎ 네.. 하지만, 현재 나온 루트킷 중 간단한 형태는 더 쉬울 수 있더군요. 문제는 관련된 지식을 익히는게 쉽지 않더라구요.

  2. 철이 2011.01.05 14:58 신고  댓글주소  수정/삭제  댓글쓰기

    보기만해도 머리가 지끈거리는군요..@.@;

  3. 2011.01.10 14:59  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

    • mstoned7 2011.01.11 09:42 신고  댓글주소  수정/삭제

      ㅎㅎ 뉴스보면.. 단순히 음성 플레이 기능이라고 하네요.

    • 초록별 2011.01.12 16:34 신고  댓글주소  수정/삭제

      제 친구도...제가 v3lite깔아줬더니...
      컴퓨터 느려진다고...삭제해 놓았더군요...(p4/756mb)
      ...
      ps>저는 p3/256mb에서도 쓰는데...(실시간감시on/off왔다갔다하면서)

      ---
      정보 보안은...존립을 좌우한다...김홍선 대표...
      (...
      올해 들어 잇따라 발생한 정보 유출 사고는,
      해킹을 통해서거나,
      고객 정보에 접근할 수 있는 내부자에 의해,
      수많은 사용자의 개인 정보가 유출될 수 있다는 것을 보여주었다.
      ...
      일련의 사건은 개별적인 것처럼 보이지만,
      이면에는,
      금전적 이익을 노리는 조직적 범죄와 연결돼 있다.
      ...
      갖가지 지능적인 방법으로 대량의 개인 정보를 수집한 이들은,
      각종 스팸 발송 업체,
      중국 보이스피싱 업자,
      대규모 온라인 게임 작업장 등에 판매한다.
      ...
      필자가 정보보안 산업에 뛰어든 10년 전의 정보기술(IT) 상황과 지금은 다르다.
      정보에 대한 호기심에서 시작된 인터넷이,
      금융 거래, 정부 민원, 통신, 상거래 등,
      전 분야에서 우리생활의 필수 도구가 되었다.
      ...
      재발 방지를 위해 정부 차원의 대책이 필요하다.
      정보보안의 핵심은 정보보안 정책의 설정과 규정 준수이다.
      ...
      우리 나라는 글로벌 스탠더드에 맞는 규제나 가이드라인이 매우 부족하기 때문에,
      그쪽이 급선무이다.
      미국의 경우 올해 정부의 IT 투자 예산 중 10% 정도를 정보보안에 투자한다.
      이는 기업에서도 비슷한 수준의 투자를 하도록 가이드라인이 된다.
      ...반면에 우리나라는 절반 수준에도 미치지 못한다...안타깝게도 여기에 대응하는 체제가ㅡ
      비전문적이고 일관성이 없는 경우를 종종 보게 된다.
      ...
      IT 강국이 유해 정보와 불법 거래만 득실거리는 세상으로 전락하지 않도록,
      전문적이고 체계적인 접근이 절실히 필요하다.
      ...)


      철벽 보안도...보안 불감증에는...무용지물...
      (...
      보안 업계에서는 뜻밖에 간단한 보안 수칙을 지키지 못함으로써,
      보안 체계가 무너지는 경우가 많다고 지적했다.
      ...
      가장 철저한 보안체계를 구축했다는,
      금융 거래 절차가 허무하게 뚫려 버린 이번 사건에서 드러나듯,
      결국 보안 체계에는 한계가 있을 수밖에 없으며,
      사용자의 보안 의식 제고가 무엇보다 시급하다는 것.
      ...
      경찰 조사 결과 S씨는,
      중국에 등록된 불량 IP(인터넷주소)에서,
      1월4일 밤 자신의 은행계좌에 접속했다는 경고를,
      다음날 오전 국민은행 측으로부터 받고,
      공인인증서를 재발급 받은 지 3시간여 만에 피해를 봤다.
      ...
      경찰은 범인이 S씨의 컴퓨터를 해킹해,
      공인인증서를 손에 넣고,
      사용자가 입력하는 키 입력값을 실시간으로 관찰해,
      인터넷뱅킹 암호를 알아낸 것으로 보고 있다.
      ...
      경찰은 S씨가 공인인증서를 재발급 받은뒤,
      이전의 인증서로 로그인을 시도한 기록이 없다며,
      이는 해커가 S씨의 일거수일투족을 지켜보고 있었다는 의미로 해석된다고 밝혔다.
      ...
      업계의 한 전문가는 "공인인증서를 해킹하는 것은,
      이용자 PC와 인증서 서버 2곳의 잠금장치를 뚫어야 하는 탓에 굉장히 어려운 작업"이라면서도,
      "해커 입장에서 굳이 어려운 해킹을 하는 대신,
      ...
      이용자 PC에 침투하는 방법을 쓰는 것은 전혀 어렵지 않으며,
      이번에도 이 같은 방법을 쓴 것으로 보인다"고 말했다.
      ...
      경찰 조사 결과에서 나타나듯 해커는,
      이용자 PC에서 파일 등을 빼낼 수 있는 악성코드와 함께 키 입력값을 빼내는 키로거 프로그램,
      이용자 PC 화면을 그대로 볼 수 있는 프로그램 등을 사전에 심어놓은 것으로 추정된다.
      ...
      이 같은 악성 프로그램은 보안업체의 백신프로그램에도 잡히지 않는 경우가 상당하다.
      널리 알려진 악성 프로그램은 보안업체에서도 패턴을 분석해 백신 제품에 반영하지만,
      상당수의 해커들은 주문제작 식으로
      기존의 악성 프로그램을 변형시킨 프로그램을 새로 개발해 쓰는 경우가 많다.
      이 같은 프로그램들은,
      주로 중국에서 제작돼 낱개 또는 묶음으로 판매되고 있지만,
      실제로 발견되는 사례는 거의 없어,
      백신 제품에 반영되지 않는 경우가 적지 않다.
      ...
      해커들은 사들이거나 직접 제작한 이들 프로그램을 이메일에 삽입하고,
      특정인 대상 또는 무작위로 배포한다.
      ...
      이용자들이 호기심에 이들 이메일을 열거나,
      링크된 사이트를 클릭하거나,
      첨부 파일을 클릭하는 순간,
      자신의 PC는,
      해커의 '놀이터'가 되고 마는 것이다.
      ...
      이처럼 해커가 이용자 PC를 제 집 드나들듯 침투할 수도 있지만,
      이용자들은,
      여전히 상황의 심각성을 모르는 경우가 태반이다.
      ...
      이메일 비밀번호와 공인인증서 비밀번호가 같은 경우도 많아,
      해커 입장에서 계좌를 손에 넣는 것은,
      식은 죽 먹기'가 되는 것이다.
      ...
      비밀번호 생성과 관리가 허술하기 짝이 없는 경우도 여전히 많다.
      ...여전히 상당수 이용자는 'asdf', 'qwert', '1111', 자신의 전화번호, 주민등록번호 등에서 따온,
      단순한 비밀번호를 그대로 쓰고 있는 형편이다.
      ...
      또 일부 이용자는...보안 프로그램을,
      PC 작동이 느려진다는 이유로 꺼버리기도 하는 등,
      어이없는 이용 패턴을 보이는 경우도 많다고,
      보안 업계는 지적했다.
      ...
      보낸 이를 신뢰할 수 없는 이메일을 무심코 열어서 확인하거나,
      믿을 수 없는 사이트와 이벤트에 자신의 개인정보를 제공하는 때도,
      개인정보 유출 사고의 상당 비중을 차지하고 있다.
      ...
      ◇피해 예방하려면 = 보안업계는 이용자의 보안의식 확립을 다시 한번 당부했다.
      지구 상에 100% 완벽한 보안시스템은 존재할 수 없는 만큼,
      이용자 스스로 보안 의식을 높이고,
      평소 보안 수칙을 준수하는 것의 중요성은 아무리 강조해도 지나치지 않다는 것.
      ...
      주요 보안 업체들은 백신프로그램을 통해,
      이용자 PC에서 시스템 정보를 수집하고,
      의심스러운 경우 파일을 검사해 악성 프로그램 여부를 진단해주는 서비스를 운영하고 있다.
      안철수연구소는 '안 리포트' 서비스를 통해,
      신종 악성코드에 대응하고 있으며,
      V3 365 클리닉'을 통해 PC 원격 검진 서비스를 제공하고 있다.
      ...
      보안업계에서는.
      적어도 3개월에 한 번씩 비밀번호를.
      교체해줘야 하며...비밀번호를 ID별,site별로 나눠 쓸 것을 권했다.
      ...
      보안업계의 한 전문가는 "기본적인 보안수칙을 준수하는 것만으로도,
      전체 보안사고의 대부분은 예방할 수 있다"며
      ...)


      경찰...‘보이스피싱과의 전쟁’...선포...
      (...
      현금지급기(ATM)/뱅킹(폰뱅킹/인터넷뱅킹)...유도하는 전화 목소리(ARS+사람)...모두 사기...
      ...
      경찰청은 전화금융사기 근절을 친서민 정책의 최우선 과제로 선정,
      올 한해 강도 높은 단속을 펼칠 방침이라고 5일 밝혔다.
      ...
      이에 따라 연말 평가를 통해,
      전화금융사기 검거 유공자를 대상으로,
      경감 특진 등 포상을 실시,
      현장 수사관의 범죄수사 의지를 고취할 계획이라고 경찰은 전했다.
      ...
      경찰에 따르면,
      지난 2006년 5월 18일 국세청을 사칭한 사기전화로 800만원을 편취 당한 피해자가 발생한 이후,
      지난 해까지 (피해신고된경우만 합산) 모두 2만6098건, 2591억원 상당의 피해가 발생했다.
      ...
      만약 피해를 본 경우 즉시 시중은행에 지급 정지를 요청하고,
      신속히 신고해야 한다”고 당부했다.
      ...)


      정부, ‘대포’와의 전쟁 선포
      (...
      대포차, 대포통장, 대포폰 등 불법명의 물건(대포물건)에 대한,
      범정부적 종합 대책이 추진된다.
      ...
      대포란,
      타인 명의의 차량・통장・핸드폰을 대여・양수하여 사용하는 물건을 통칭하는 용어
      ...
      그간, 각종 범죄나 도주의 수단으로 이용되어 왔을 뿐 아니라,
      통화료・세금・과태료 등이 서류상의 소유자・명의자에게 부과됨으로써,
      신용 불량자로 전락시키는 등의 피해 발생
      ...
      대포통장 근절대책
      □ 최근 불법 목적으로 개설된 타인 명의의 대포 통장이,
      전화금융 사기(보이스피싱), 인터넷쇼핑 사기 등,
      각종 범죄에 악용됨에 따라,
      대포통장 근절을 위한 범정부적 차원의 대책을 마련하였다.
      ...
      * 보이스 피싱은 중국인・대만인 등이, 전화망을 이용,
      경찰・금융 기관 등 직원을 사칭하여, 피해자로 하여금 현금입출금기를 통해,
      범인들의 대포통장 계좌로 예금을 이체토록 하는 사기 범죄
      ...
      * 금융거래 계좌 양도 행위 등의 금지에 관한 법률에 의거,
      : 금융거래 통장을 양도・대여하거나 양도・대여받는 행위, 알선 행위 등에 대해,
      3년이하 징역 또는 3천만원 이하 벌금 부과
      ...
      대포폰 근절대책
      □ 정부는 다른 사람의 명의를 대여 또는 도용하거나, 유령 법인 명의로 개통된 대포폰이,
      사기 등 범죄에 악용되거나,
      타인에게 요금을 전가하는 등의 피해를 일으키는 것을 차단하기 위한 대책을 강화할 방침이다.
      ① 휴대폰 개설요건 강화
      ㅇ 이동통신사는 현재 중고폰을 이용하여 가입하는 신청자가 유령법인으로 의심되는 경우,
      가입을 제한하고 있으나,
      앞으로는 신형 단말기의 경우에도,
      유령법인에 의한 대포폰 발생을 억제하기 위해,
      관련 증명서 첨부를 의무화하고 가입을 제한하기로 하였다.
      ㅇ 또한, 개인이 가입시 제출하는 본인확인 신분증은,
      은행통장 개설시와 동일하게 위・변조가 어려운,
      주민등록증, (신)운전면허증, 여권, 장애인 복지카드만으로 제한하는 것을,
      주요 골자로 하는 이용약관 개정을 추진중이다.
      ② 선불폰에 대한 규제 강화
      ㅇ 선불폰을 의도적으로 대포폰으로 악용하는 사례를 방지하기 위하여,
      선불폰에 대해서도 실명 확인을 의무화하고,
      ...
      ㅇ 여권 만료기간이 지난 외국인의 선불폰은 일시 통화정지하는 한편,
      외국인의 선불폰 가입은 특별한 사유가 있는 경우를 제외하고는,
      1회선으로 제한하는 방안을 적극 추진할 예정이다.
      ③ 『모바일 안심서비스(M-safer)』 운영 및 홍보 강화
      ㅇ 휴대폰 가입자 명의로 누군가가 추가가입을 신청하는 경우,
      기존에 가입된 휴대폰으로 SMS를 보내,
      사전에 명의 도용 여부를 확인하는 모바일 안심서비스를 제공하고 있으며,
      ④ 인터넷상 대포폰 판매 및 유통 차단
      ㅇ 대포폰 대량유통을 차단하기 위해 “정보통신윤리위원회”를 통해서,
      인터넷상 대포폰 판매 정보를 삭제하고,
      해당사이트에의 접근을 차단하는 등의 조치를 강화해 나갈 예정이다.
      ...)


      충격...한국은...중국 해커들의 놀이터...
      http://news.naver.com/main/read.nhn?oid=280&aid=0000001007
      (...
      최근 금융 기관의 전산망이,
      해커들에게,
      잇따라 농락당하는 사건이 발생하고 있다.
      ...
      특히 국내에 체류 중이던 미국인에 의해 해킹된 ‘모아 저축은행’ 사건의 경우,
      금융기관 내부 시스템 전체를 좌지우지할,
      루트 권한을 최초로 강탈당한 것이어서 더욱 충격을 주고 있다.
      ...
      한국정보보호진흥원(KISA)에 따르면,
      지난 한 해 신고 처리된 총 해킹 건수는 2만1732건에 달하며,
      국내 전산망을 타깃으로 한 공격 시도 건수는 하루 평균 2백만 건으로,
      전달보다 2배 이상 급증했다.
      정부 전산망에 대한 사이버 공격 시도도 하루에 무려 1억건에 달한다.
      ...
      한 전문가는 중국과 미국 간의 사이버전은 상상을 초월할 정도로 이미 치열하며,
      한국은 중국 해커들의 연습 대상이나 놀이터쯤으로 여기고 있는 상태라고 소개한 바 있다.
      또한 ‘미래전(戰)은 해킹’'이라는 말처럼 중국,러시아와 같은 나라에서는,
      해킹을 통해 발생할 수 있는 문제를 대비하기 위한 (사이버 보안)부대 양성에,
      국가 차원의 적극적 투자가 이뤄지고 있다.
      반면, 우리나라는 정보화 대비 정보보호 예산이 2〜4%에 불과해,
      미국 등 선진국의 10%정도 에 비해 현저히 떨어진다.
      ...
      우리는 세계에서 인터넷을 가장 많이 활용하는 나라다.
      인터넷이 국가 경제 및 국민 생활에서 없어서는 안 될 필수 요소로 자리매김해가고 있는 이 때,
      경쟁 국가의 정부 정보망에 침투해,
      정보를 빼가는 ‘사이버 냉전’이 본격화될 것이라는 경고가 나왔다.
      세계 2위 보안업체인 맥아피는 지난해 작성한 보고서에서,
      미국 영국 독일 등 120여 정보기관들이,
      각국 정부 정보망, 금융 시스템 등을 공격할 소프트웨어를 개발함과 동시에,
      네트워크 취약점을 분석하고 있으며,
      10년~20년 후에는 사이버 패권을 잡은 나라가,
      반드시 등장할 것이라고 전망했다.
      ...)


      정보 보안은...존립을 좌우한다...김홍선 대표...
      (...
      올해 들어 잇따라 발생한 정보 유출 사고는,
      해킹을 통해서거나,
      고객 정보에 접근할 수 있는 내부자에 의해,
      수많은 사용자의 개인 정보가 유출될 수 있다는 것을 보여주었다.
      ...
      일련의 사건은 개별적인 것처럼 보이지만,
      이면에는,
      금전적 이익을 노리는 조직적 범죄와 연결돼 있다.
      ...
      갖가지 지능적인 방법으로 대량의 개인 정보를 수집한 이들은,
      각종 스팸 발송 업체,
      중국 보이스피싱 업자,
      대규모 온라인 게임 작업장 등에 판매한다.
      ...
      필자가 정보보안 산업에 뛰어든 10년 전의 정보기술(IT) 상황과 지금은 다르다.
      정보에 대한 호기심에서 시작된 인터넷이,
      금융 거래, 정부 민원, 통신, 상거래 등,
      전 분야에서 우리생활의 필수 도구가 되었다.
      ...
      재발 방지를 위해 정부 차원의 대책이 필요하다.
      정보보안의 핵심은 정보보안 정책의 설정과 규정 준수이다.
      ...
      우리 나라는 글로벌 스탠더드에 맞는 규제나 가이드라인이 매우 부족하기 때문에,
      그쪽이 급선무이다.
      미국의 경우 올해 정부의 IT 투자 예산 중 10% 정도를 정보보안에 투자한다.
      이는 기업에서도 비슷한 수준의 투자를 하도록 가이드라인이 된다.
      ...반면에 우리나라는 절반 수준에도 미치지 못한다...안타깝게도 여기에 대응하는 체제가ㅡ
      비전문적이고 일관성이 없는 경우를 종종 보게 된다.
      ...
      IT 강국이 유해 정보와 불법 거래만 득실거리는 세상으로 전락하지 않도록,
      전문적이고 체계적인 접근이 절실히 필요하다.
      ...)


      철벽 보안도...보안 불감증에는...무용지물...
      (...
      보안 업계에서는 뜻밖에 간단한 보안 수칙을 지키지 못함으로써,
      보안 체계가 무너지는 경우가 많다고 지적했다.
      ...
      가장 철저한 보안체계를 구축했다는,
      금융 거래 절차가 허무하게 뚫려 버린 이번 사건에서 드러나듯,
      결국 보안 체계에는 한계가 있을 수밖에 없으며,
      사용자의 보안 의식 제고가 무엇보다 시급하다는 것.
      ...
      경찰 조사 결과 S씨는,
      중국에 등록된 불량 IP(인터넷주소)에서,
      1월4일 밤 자신의 은행계좌에 접속했다는 경고를,
      다음날 오전 국민은행 측으로부터 받고,
      공인인증서를 재발급 받은 지 3시간여 만에 피해를 봤다.
      ...
      경찰은 범인이 S씨의 컴퓨터를 해킹해,
      공인인증서를 손에 넣고,
      사용자가 입력하는 키 입력값을 실시간으로 관찰해,
      인터넷뱅킹 암호를 알아낸 것으로 보고 있다.
      ...
      경찰은 S씨가 공인인증서를 재발급 받은뒤,
      이전의 인증서로 로그인을 시도한 기록이 없다며,
      이는 해커가 S씨의 일거수일투족을 지켜보고 있었다는 의미로 해석된다고 밝혔다.
      ...
      업계의 한 전문가는 "공인인증서를 해킹하는 것은,
      이용자 PC와 인증서 서버 2곳의 잠금장치를 뚫어야 하는 탓에 굉장히 어려운 작업"이라면서도,
      "해커 입장에서 굳이 어려운 해킹을 하는 대신,
      ...
      이용자 PC에 침투하는 방법을 쓰는 것은 전혀 어렵지 않으며,
      이번에도 이 같은 방법을 쓴 것으로 보인다"고 말했다.
      ...
      경찰 조사 결과에서 나타나듯 해커는,
      이용자 PC에서 파일 등을 빼낼 수 있는 악성코드와 함께 키 입력값을 빼내는 키로거 프로그램,
      이용자 PC 화면을 그대로 볼 수 있는 프로그램 등을 사전에 심어놓은 것으로 추정된다.
      ...
      이 같은 악성 프로그램은 보안업체의 백신프로그램에도 잡히지 않는 경우가 상당하다.
      널리 알려진 악성 프로그램은 보안업체에서도 패턴을 분석해 백신 제품에 반영하지만,
      상당수의 해커들은 주문제작 식으로
      기존의 악성 프로그램을 변형시킨 프로그램을 새로 개발해 쓰는 경우가 많다.
      이 같은 프로그램들은,
      주로 중국에서 제작돼 낱개 또는 묶음으로 판매되고 있지만,
      실제로 발견되는 사례는 거의 없어,
      백신 제품에 반영되지 않는 경우가 적지 않다.
      ...
      해커들은 사들이거나 직접 제작한 이들 프로그램을 이메일에 삽입하고,
      특정인 대상 또는 무작위로 배포한다.
      ...
      이용자들이 호기심에 이들 이메일을 열거나,
      링크된 사이트를 클릭하거나,
      첨부 파일을 클릭하는 순간,
      자신의 PC는,
      해커의 '놀이터'가 되고 마는 것이다.
      ...
      이처럼 해커가 이용자 PC를 제 집 드나들듯 침투할 수도 있지만,
      이용자들은,
      여전히 상황의 심각성을 모르는 경우가 태반이다.
      ...
      이메일 비밀번호와 공인인증서 비밀번호가 같은 경우도 많아,
      해커 입장에서 계좌를 손에 넣는 것은,
      식은 죽 먹기'가 되는 것이다.
      ...
      비밀번호 생성과 관리가 허술하기 짝이 없는 경우도 여전히 많다.
      ...여전히 상당수 이용자는 'asdf', 'qwert', '1111', 자신의 전화번호, 주민등록번호 등에서 따온,
      단순한 비밀번호를 그대로 쓰고 있는 형편이다.
      ...
      또 일부 이용자는...보안 프로그램을,
      PC 작동이 느려진다는 이유로 꺼버리기도 하는 등,
      어이없는 이용 패턴을 보이는 경우도 많다고,
      보안 업계는 지적했다.
      ...
      보낸 이를 신뢰할 수 없는 이메일을 무심코 열어서 확인하거나,
      믿을 수 없는 사이트와 이벤트에 자신의 개인정보를 제공하는 때도,
      개인정보 유출 사고의 상당 비중을 차지하고 있다.
      ...
      ◇피해 예방하려면 = 보안업계는 이용자의 보안의식 확립을 다시 한번 당부했다.
      지구 상에 100% 완벽한 보안시스템은 존재할 수 없는 만큼,
      이용자 스스로 보안 의식을 높이고,
      평소 보안 수칙을 준수하는 것의 중요성은 아무리 강조해도 지나치지 않다는 것.
      ...
      주요 보안 업체들은 백신프로그램을 통해,
      이용자 PC에서 시스템 정보를 수집하고,
      의심스러운 경우 파일을 검사해 악성 프로그램 여부를 진단해주는 서비스를 운영하고 있다.
      안철수연구소는 '안 리포트' 서비스를 통해,
      신종 악성코드에 대응하고 있으며,
      V3 365 클리닉'을 통해 PC 원격 검진 서비스를 제공하고 있다.
      ...
      보안업계에서는.
      적어도 3개월에 한 번씩 비밀번호를.
      교체해줘야 하며...비밀번호를 ID별,site별로 나눠 쓸 것을 권했다.
      ...
      보안업계의 한 전문가는 "기본적인 보안수칙을 준수하는 것만으로도,
      전체 보안사고의 대부분은 예방할 수 있다"며
      ...)


      충격...한국은...중국 해커들의 놀이터...
      http://news.naver.com/main/read.nhn?oid=280&aid=0000001007
      (...
      최근 금융 기관의 전산망이,
      해커들에게,
      잇따라 농락당하는 사건이 발생하고 있다.
      ...
      특히 국내에 체류 중이던 미국인에 의해 해킹된 ‘모아 저축은행’ 사건의 경우,
      금융기관 내부 시스템 전체를 좌지우지할,
      루트 권한을 최초로 강탈당한 것이어서 더욱 충격을 주고 있다.
      ...
      한국정보보호진흥원(KISA)에 따르면,
      지난 한 해 신고 처리된 총 해킹 건수는 2만1732건에 달하며,
      국내 전산망을 타깃으로 한 공격 시도 건수는 하루 평균 2백만 건으로,
      전달보다 2배 이상 급증했다.
      정부 전산망에 대한 사이버 공격 시도도 하루에 무려 1억건에 달한다.
      ...
      한 전문가는 중국과 미국 간의 사이버전은 상상을 초월할 정도로 이미 치열하며,
      한국은 중국 해커들의 연습 대상이나 놀이터쯤으로 여기고 있는 상태라고 소개한 바 있다.
      또한 ‘미래전(戰)은 해킹’'이라는 말처럼 중국,러시아와 같은 나라에서는,
      해킹을 통해 발생할 수 있는 문제를 대비하기 위한 (사이버 보안)부대 양성에,
      국가 차원의 적극적 투자가 이뤄지고 있다.
      반면, 우리나라는 정보화 대비 정보보호 예산이 2〜4%에 불과해,
      미국 등 선진국의 10%정도 에 비해 현저히 떨어진다.
      ...
      우리는 세계에서 인터넷을 가장 많이 활용하는 나라다.
      인터넷이 국가 경제 및 국민 생활에서 없어서는 안 될 필수 요소로 자리매김해가고 있는 이 때,
      경쟁 국가의 정부 정보망에 침투해,
      정보를 빼가는 ‘사이버 냉전’이 본격화될 것이라는 경고가 나왔다.
      세계 2위 보안업체인 맥아피는 지난해 작성한 보고서에서,
      미국 영국 독일 등 120여 정보기관들이,
      각국 정부 정보망, 금융 시스템 등을 공격할 소프트웨어를 개발함과 동시에,
      네트워크 취약점을 분석하고 있으며,
      10년~20년 후에는 사이버 패권을 잡은 나라가,
      반드시 등장할 것이라고 전망했다.
      ...)
      ---


sans에서 정상 파일 검색 서비스를 베타 테스트 중입니다
무려 39,944,023 개를 지원합니다.

http://isc.sans.org/tools/hashsearch.html




정부기관 프로젝트인 http://www.nsrl.nist.gov/ 에서 DB를 가져 온다고 합니다
2009년 12월 자료라서 윈도우 7 등의 자료는 포함되어 있지 않다고 하네요.

국내 프로그램은 등록되어 있지 않겠지만 한글 윈도우 XP 파일을 검사해보니 MSDN으로 등록되어서 처리 결과가 잘 나오네요.

외국 프로그램이나 윈도우 시스템 파일로 의심되는 파일에 대한 분석 등에 유용할 걸로 보입니다







신고
Posted by mstoned7

댓글을 달아 주세요

  1. 백냥 2010.02.18 16:45 신고  댓글주소  수정/삭제  댓글쓰기

    와우~ 좋아보이는데요~ ^^;

윈도우 XP 를 처음 설치하면 방화벽은 켜져있고 바이러스 백신은 없습니다.


윈도우에 방화벽이 기본적으로 추가되자 악성코드 제작자들이 이 성가신(?) 방화벽을 무력화하고 싶어 집니다.

윈도우 방화벽은 아주 쉽게 무력화됩니다.

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile 에 관련 키가 있습니다.

기본적인 윈도우에서는 아무것도 없죠.


방화벽을 한번 꺼보겠습니다.



EnableFirewall이 생성되고 값이 0입니다.


악성코드 제작자들은 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile 에 EnableFirewall 를 생성해 방화벽을 무력화 합니다.

해당 키값 설정이 바뀌었다면 악성코드에 의해 발생했을 수도 있습니다.

하지만, 한가지 알아 둘점은 윈도우 방화벽 외에 방화벽을 이용할 경우에도 해당 키 값을 생성합니다.

윈도우 7의 경우에도 같은 키값이 존재합니다.



신고
Posted by mstoned7

댓글을 달아 주세요

  1. 2009.11.19 15:20  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  2. mstoned7 2009.11.20 09:18 신고  댓글주소  수정/삭제  댓글쓰기

    Windows XP 에 Windows XP 입니다.


악성코드를 분석하기 위해서는 수상한 파일부터 찾아야합니다.
일단 증상을 듣고 예상을 해야하죠.

후배에게 연락와서 웹브라우저가 안된다고 하더군요.
웹브라우저가 안되면 대부분 1. 액티브 X 컨트롤 충돌 2. BHO(Browser Helper Object) 문제 입니다.

안리포트를 통해 내용을 확인하니 프로세스 등에서는 수상한 파일이 없었고 결국 BHO 를 확인했습니다.


파일 중에 C:\Windows\system32\dllcache 에 존재하는 파일이 있더군요.
정상적인 파일이 dllcache 에 존재하는건 좀 드물죠.

해당 파일을 삭제하니 웹브라우저가 제대로 된다고 합니다.
해당 프로그램의 버그로 보이네요.

신고
Posted by mstoned7

댓글을 달아 주세요


악성코드를 분석할 때 증상위주로 파악하기 위해서 자동분석을 많이 사용합니다.

이때 문제가 발생하는건 크게 다음과 같습니다.

1. 자동분석 탐지 (가상환경, 모니터링 도구 등의 유무)
2. 인자 값 필요
3. 특정 환경 필요 (설치된 다른 프로그램 등)
4. 기타 (더 있을텐데 생각이 안나서..)

2,3번의 경우도 많은데 자동분석 시스템에서는 지극히 평범하고 정상적인 프로그램처럼 나옵니다.



하지만, 코드를 분석하면 원인을 알 수 있습니다.

Ollydbg로 열어보면 실제 코드가 0x00401000 에서 시작하는 전형적인 비주얼 C 로 작성된 코드임을 알 수 있습니다.


0x00401000에 브레이크포인트(F9)를 걸고 달립니다.

0x00401045 에서 레지스트리를 읽어서 특정 값인지 비교합니다.
악성코드가 필요로하는 특징적인 프로그램이 없어 0x00401086에서 0x00401094 로 빠져버립니다.

이러면 제대로(?) 악성코드가 실행되지 않고 종료됩니다.


강제로 IP 를 0x0040108A로 변경합니다. (Alt + *)


F8 로 CALL 문 3개를 실행하고 프로그램을 종료되고 난 후 시스템 비교 프로그램으로 검사하면 19개의 신규 파일이 생성되었음을 알 수 있습니다.


떨어진 파일들을 차곡차곡 모아 추가 분석하면 됩니다.

별다른 조건없이 악의적인 일을 수행하는 착한(?) 악성코드는 자동분석으로 처리되고 이렇게 특정 조건을 필요로하는 악성코드는 자동분석 시스템에서 원하는 환경을 만들어주거나 사람이 봐야 할 겁니다.

자동분석 시스템의 기능도 계속 향상시켜야겠지만 결국 분석은 사람이 합니다.
- 자동분석 시스템에 위협을 느끼는 1인 ㅋ 그래도 자동분석 시스템이 참 편합니다.


신고
Posted by mstoned7

댓글을 달아 주세요

  1. Sun2Day 2009.09.22 07:24 신고  댓글주소  수정/삭제  댓글쓰기

    항상 많은걸 배우고 갑니다 (+__)ㅋ

    좋은 하루 보내세요



티스토리 툴바