웜(악성코드)

width=100%
2000년대 초에 유행했던 블래스터 웜[1] 바이러스.
감염되면 무작정 시스템 종료 메시지를 뿌리는 것으로 악명 높았다.[2]

1 개요

(Worm)은 다른 프로그램에 감염되어 전파되는 컴퓨터 바이러스와는 달리 자체적으로 실행되면서 다른 컴퓨터에 전파가 가능한 프로그램을 따로 일컫는 말이다. 대한민국에서는 '인터넷 웜', '컴퓨터 웜'등으로 불리기도 한다.

2 역사

웜은 로버트 모리스가 처음 만들었다. 웜의 시초는 1970년대 말까지 거슬러 올라간다. 처음 나왔을 때는 컴퓨터의 자료를 직접적으로 파괴하기보다는 컴퓨터 안에서 무한정 증식하면서 컴퓨터의 메모리CPU 등 자원을 잡아먹음으로써 이용에 지장을 주는 것이 고작이었다. 그러나 이후 악질적인 행동을 하는 코드가 추가된 웜이 계속 나옴으로써 악성 바이러스와 다름없는 존재가 되었다.

3 기능 및 피해

웜은 일반적인 바이러스와 달리 네트워크를 사용하여 스스로 복사본을 전파할 수 있다. 이들은 또한 자기 복제를 이용하여 네트워크를 손상시키고, 파일 등을 악의적으로 암호화한다. 일부 웜의 경우 악성 백도어 프로그램을 유포하기도 한다.

네트워크를 통해 전파되기에 과도한 네트워크 트래픽을 유발시킨다. 웜이 전 세계 네트워크로 퍼질 경우 심각한 속도 저하 또는 마비가 우려될 수도 있다. 백도어를 유포시키는 웜의 경우 추가적인 좀비 PC 양산 등의 피해를 낳기도 한다.

다음은 마이크로소프트에서 제공하는 웜 감염 사례와 예방책을 다이어그램화한 것이다.

width=100%
출처: Microsoft

4 감염 경로

주요 감염 경로는 E-Mail, 공유 폴더, 특정 네트워크 포트 등이 있다. 특히 운영체제보안 취약점을 이용하는 경우가 많으니 백신을 설치하는 것 외에도 보안 패치가 나올 때마다 꼬박꼬박 설치하는 것이 매우 중요하다.

5 컴퓨터 바이러스와의 구분

일반적으로 컴퓨터 바이러스와 웜은 다음과 같은 유사점과 차이점을 가지고 있다.

특징바이러스
자기복제OO
독립실행XO
전파XO
파일감염OX

6 기타

예전에 마이크로소프트에서 미래에는 웜을 이용해서 운영체제 업데이트를 실시할 예정이라고 발표했다가 신나게 쳐 까인 적이 있다.[3]

미국이 이라크를 두들겨 팬 1991년 걸프전쟁에서, 이라크에 수출된 HP프린터에 웜을 심어서 웜이 이라크 군부내의 컴퓨터들에게 퍼졌으며, D-day 전날 웜이 모든 감염된 컴퓨터들을 먹통을 만들어서 방공망을 무력화시키는데 일조를 했다 라는 이야기가 굉장히 그럴듯하게 퍼져 있으나, 사실이 아니다. 해당 이야기는 1991년 4월 1일, 만우절 장난으로 인포월드라는 매체에 실렸던 내용이 너무 그럴듯하다 보니 와전되어 퍼져 나간 것.

7 관련 항목

  1. 진단명 Win32/Blaster.worm
  2. 이유는 RPC(Remote Procedure Call; 원격 프로시저 호출) 버퍼가 데이터의 크기를 검사하지 않는다는 허점을 이용해서 RPC버퍼를 꽉 채워 과부하를 일으키고 강제 재부팅을 일으키는 원리다. 그리고 윈도우즈는 과부하로 다운된 RPC버퍼를 되돌리기 위해 재부팅을 해야하기 때문.
  3. 다만 이런 아이디어는 리처드 도킨스 역시 진지하게 고려하고 있었다. 더 나아가 미래에는 웜과 호환되는 운영체제만이 살아남을 것이라고 내다보기도 했다. (도킨스의 저서 'Devil's Chaplain'에서) 물론 도킨스는 과학자 겸 과학 저술가이지 컴퓨터 공학자가 아니라서, 이것은 일종의 상상력 발휘 정도일 뿐이지만.