본문 바로가기
IT/note

웜의 정의와 사례

by 어느해겨울 2009. 12. 26.

⇨ 웜의 정의

- 웜은 바이러스와 매우 유사하지만 로컬 시스템으로 전파되지 않는다.

- 시스템에서 시스템으로 전파되며, 일반적으로 메모리상에서만 존재.

- RFC 1135에서는 웜을 다음과 같이 정의 함. “웜은 자동으로 동작하는 프로그램이며,

자신을 실행시키기 위해 시스템의 자원을 소모한다. 그리고 자신을 다른 머신으로 전파시킬

수 있다.”

 


⇨ 웜의 공격 사례

- 마이둠 웜은 2004년 1월 26일 처음 발견된 웜입니다. 이 웜은 네트워크를 통해 전파되는 웜

으로 감염된 시스템에 큰 피해를 주지는 않고 단지 대규모 분산 서비스 공격을 위한 부하로

이용합니다. 마이둠 웜은 1월 26일 처음 버전(MyDoom.A)이 나온 뒤 올해 1월 28일에는 그 변

종(MyDoom.B)이 나왔습니다.


이 웜은 두 가지 방법으로 전파됩니다. 두 가지 방법 모두 네트워크를 통한 방법으로, 첫 번

째는 메일을 통한 전파이고 두 번째는 카자(KaZaA) 프로그램(P2P 프로그램)을 통한 전파입니

다.


1. 메일을 통한 전파

예를 들어 메일을 보낸 적도 없는데 ‘Delivery Failed(메일 배달 실패)’라는 메시지가

오는 경우입니다.


2. 카자를 통한 전파

마이둠 웜이 전파되는 또 다른 방법이 카자를 통한 전파입니다. 카자는 외국에서 많이 사용

하는 P2P 파일 공유 프로그램입니다. 이 웜은 감염된 시스템의 카자 공유 디렉터리에

자신을 복사합니다.


- 모리스 웜, 역사의 시작

1988년 11월 2일, 미국의 코넬대 학생이었던 로버트 모리스가 만든 웜이 전 세계로 퍼져 나갔

습니다. 이 웜은 여러 VAX와 SUN 워크스테이션을 감염시켰습니다. 이 웜은 순식간에 전 세계

6000개 이상의 호스트로 퍼져 나가는 엄청난 전파력을 보여 주었는데 인터넷으로 널리 퍼진

첫 번째 웜이라는 점에서 매우 중요한 의미를 가집니다. 이러한 상징적 의미 외에도 최근까지

쓰이고 있는 웜의 ‘기본 개념’을 정립했다는 점에서 연구 가치가 있습니다.


- 모리스 웜의 특징

: 세 가지 공격 방법을 동시에 사용

모리스 웜은 시스템의 한 가지 취약점을 이용한 것이 아니라 세 가지 취약점을 시도해서 세

가지 중 하나라도 문제가 있는 시스템에 침입할 수 있도록 했습니다.


: 자신을 감추기 위해 여러 기법을 사용

모리스 웜이 사용하고 있는 위장 기법은 6개 이상입니다.

먼저 모리스 웜은 프로그램의 맨 처음 부분에서 자신의 이름을 ‘sh’로 바꿨습니다. 이렇

게하면 관리자가 ps 명령을 실행했을 때 모리스 웜을 단순한 셸로 착각하게 됩니다. 또 다

른 위장 기법으로, 프로그램 내에 들어 있는 모든 문자열을 0x81과 XOR하여 저장했습니다.

이것은 관리자가 ‘strings’ 명령어로 이진 파일을 검사했을 때 모리스 웜임을 나타내는

문자열을 드러내지 않게 하기 위해서입니다.


: 오직 자신을 전파시키는 것이 목표

모리스 웜은 말 그대로 진정한 ‘웜’이었습니다. 즉 모리스 웜은 파일에 자신을 감염시키

지 않았고 오직 네트워크 상에서 자신을 퍼뜨리는 것을 목표로 했습니다.

 

- 코드레드, 님다, 슬래머, 본격적인 DoS의 시대

코드레드(Codered, 2001년 6월), 님다(Nimda, 2001년 9월), 슬래머(Slammer, 2003년 1월)

이들은 기존 웜보다 확산 속도가 엄청나게 빨랐으며 대량의 트래픽을 발생시켰습니다. 코드

레드 웜 같은 경우는 미국 백악관에 DoS 공격을 했고, 님다와 슬래머는 대량의 트래픽을

발생시켜 국내 DNS 서버를 마비시키기까지 했습니다(1.25 대란).

 

⇨ 웜의 공격 방법

① 로컬 시스템 감염

- 윈도우 시스템 디렉토리(예 : C:\Windows\System)에 자신을 taskmon.exe로 복사합니다.

시스템 재부팅 시에도 실행될 수 있도록 레지스트리의

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run 키 밑에

TaskMon” = C:\Windows\System\taskmon.exe 항목을 추가합니다(윈도우 시스템 디렉토리 경로 는 각 호스트 별로 다름).

- 윈도우 시스템 디렉토리에 백도어 모듈인 shimgapi.dll을 만듭니다.

- 시스템 재부팅 시에 shimgapi.dll은 explorer.exe로 삽입됩니다.


② 네트워크 감염

- 시스템에서 찾아낸 이메일 주소로 자신을 첨부해 공격 이메일을 보냅니다. 이 때 발신자의

주소 또한 시스템에서 찾아낸 여러 이메일 주소 중 하나를 사용합니다. 그래서 만약 웜이 들

어 있는 메일을 받았다고 할지라도 그 메일을 보낸 발신자가 웜에 걸렸다고 생각할 수 없습

니다. 그리고 카자 공유 디렉토리에 자신을 복사합니다.


③ DDoS 공격

- 이 웜은 2월 1일부터 2월 12일까지 SCO 홈페이지에 DDoS 공격을 합니다. 웜은 호스트에 64

개의 쓰레드를 만들고 www.sco.com에 지속적으로 HTTP GET 요청을 보냅니다.


④ 네트워크 백도어 생성

- 이 웜은 감염된 시스템의 TCP 3172 포트를 열고 접속을 받아들입니다. 이 포트는 추가적인

공격에 쓰일 수 있습니다. 마이둠 웜은 2월 12일이 지나면 자신을 복제하지도 않고 DDoS 공

격을 하지도 않습니다.

 

'IT > note' 카테고리의 다른 글

Wireless  (0) 2010.05.12
제 7회 해킹방어대회  (0) 2010.05.10
Virus/Worm의 설명 및 구분  (0) 2009.12.26
Buffer Overflow의 의도와 예  (0) 2009.12.26
IT 상식_4  (0) 2009.12.25

댓글