컴퓨터에 숨어있는 기생충 - 웜(worm)

컴퓨터에 숨어있는 기생충 - 웜(Computer Worm)
(1)
컴퓨터에 숨어있는 기생충 - 웜(Computer Worm) (1)

그는 플러커에게 보복하기 위해 ‘벌레 (worm)’를 전송했다. 월요일 아침마다 으레 찾아오는 과부하를 잘 버텨낸다면 아마 3분에서 30분 사이에 문제를 해결할 수 있을 것이다. 최근 조사결과에 따르면, 현재 네트워크 안에는 수많은 벌레들과 이에 맞서기 위한 또 다른 벌레들이 상주한다고 한다. 응급상황과 관련됐을 경우를 제외하고 보통 이들은 낮은 우선권을 차지하도록 설계된다. - The Shockwave Rider (1975)

존 브루너(John Brunner)의 공상과학소설 ‘쇼크웨이브 라이더’에는 컴퓨터의 데이터를 먹고 자라는 촌충(tapeworm)이 등장한다. 이 촌충은 마치 기생충처럼 숙주 컴퓨터에 숨어서 데이터를 훔쳐 먹고, 이 데이터는 그대로 복사되어 촌충의 본체가 된다. 시간이 지날수록 촌충의 길이가 점차 길어지게 되는 것. 더 이상 먹을 것이 없어지면 촌충은 네트워크를 통해 또 다른 숙주 컴퓨터로 옮겨간다.

브루너가 소설 속에서 만들어낸 촌충은 훗날 실제로 등장하게 되었다. 1979년 제록스 팔로알토 연구센터의 개발자들은 네트워크를 통해 프로세서가 유휴 상태인 컴퓨터를 찾아내는 프로그램을 개발했는데,이를 브루너의 촌충에 빗대 ‘웜(Computer Worm)’이라고 불렀다. 최초의 웜은 컴퓨터의 활용을 극대화하는 유용한 프로그램이었던 셈이다. 하지만 시간이 흐르면서 웜은 네트워크를 통해 스스로 증식하는 유해한 소프트웨어 프로그램으로 변질됐으며, 현재는 트로이 목마, 컴퓨터 바이러스와 함께 대표적인 악성코드(malware)로 꼽힌다.

웜, 트로이 목마, 컴퓨터 바이러스를 혼동하는 사람들이 있는데, 엄밀히 이야기하면 이 셋은 완전히 다르다. 트로이 목마는 유용한 프로그램으로 가장하고 P2P 사이트나 웹페이지에 숨어있는 악성코드로, 복제능력이 없어 사용자가 내려받기만을 기다리는 수동적인 존재다. 반면 컴퓨터 바이러스는 사용자 몰래 컴퓨터 시스템에 침입해 파일이나 부트 섹터를 감염시키고 그 시스템의 일부가 되는 악성코드이며 스스로를 복제할 수 있다. 컴퓨터 바이러스에 감염된 파일을 저장매체나 네트워크를 통해 다른 컴퓨터에서 사용하면 그 컴퓨터도 감염된다.

웜도 컴퓨터 바이러스처럼 사용자 몰래 활동하는 악성코드지만, 기존 프로그램에 융합되는 컴퓨터 바이러스와는 달리 독립적인 실체로 존재한다. 복제능력이 매우 뛰어나 사용자의 이메일, 인스턴트 메신저 등의 주소록을 뒤지고 스스로를 첨부해 네트워크를 통해 퍼진다. 외국에서 발견된지 몇 시간 만에 한국에서도 발견될 정도로 전염성이 강하다.

컴퓨터에 숨어있는 기생충 - 웜(Computer Worm)
(2)
컴퓨터에 숨어있는 기생충 - 웜(Computer Worm) (2)

일반적으로 웜은 컴퓨터 바이러스보다 덜 위험한 존재로 간주된다. 그러나 최근 등장하는 웜들은 강력한 전염성을 무기로 네트워크 전반에 치명적인 타격을 입히기도 한다. 또 바이러스처럼 개인 컴퓨터에 손상을 입히는 웜이 등장하면서 ‘웜바이러스’라는 신조어도 생겨났다. 웜 중에는 마이크로소프트의 보안패치를 사용자 대신 내려받아주는 ‘웰치아 웜(Welchia worm)’처럼 유용해보이는 웜도 있는데, 이러한 웜도 사용자의 동의를 받지 않는다는 점과 네트워크에 과부하를 줄 수 있다는 점은 다른 웜과 다를 바가 없다.

대표적인 웜

모리스 웜(Morris Worm)

모리스 웜은 인터넷을 통해 전파된 최초의 웜으로, 대중들에게 웜에 대한 관심을 끌어모으게 된 계기가 됐다. 1988년 코넬대학에 재학중이던 로버트 모리스(Robert Tappan Morris)는 인터넷의 크기를 파악하려는 순수한 의도로(자신의 주장에 따르면) 웜을 배포했다. 모리스는 자신의 웜이 새로운 컴퓨터에 침입할때마다 이미 해당 웜이 실행되고 있는지 묻도록 설계했는데, 시스템 운영자가 거짓으로 ‘yes’를 택하는 상황을 우려했다. 결국 모리스는 ‘yes’라고 대답해도 7분의 1의 확률로 웜이 강제적으로 복제되도록 수정했고, 이로 인해 웜이 일부 컴퓨터에 여러 번 설치되면서 문제를 일으키기 시작했다.

모리스 웜은 당시 인터넷에 접속된 6만 대의 컴퓨터 중 약 10%에 달하는 유닉스 머신을 감염시켰다. 미국연방회계검사원이 추정한 총 피해액은 10만~1천 만 달러에 달했고 로버트 모리스는 집행유예 3년, 봉사활동 400시간, 벌금 1만 달러를 선고받았다.

컴퓨터에 숨어있는 기생충 - 웜(Computer Worm)
(3)
컴퓨터에 숨어있는 기생충 - 웜(Computer Worm) (3)

러브레터 웜(ILOVEU)

아이러브유 또는 러브레터 웜은 2000년에 필리핀에서 발견됐다. ‘ILOVEU’라는 이메일 제목과 ‘LOVE-LETTER-FOR- TOU.txt’라는 첨부파일이 특징이다. 첨부파일을 열어보는 순간 웜이 활성화되는데, 컴퓨터 시스템에 손상을 입히지는 않지만 이미지파일과 음악파일을 덮어씌워버린다. 또한 피해자가 마이크로소프트의 아웃룩을 쓰고 있다면 해당 주소록에 있는 50명에게 같은 이메일을 전송한다. 수신자들은 발신자의 이름을 보고 무심코 첨부파일을 열었다가 낭패를 보게 된다.

님다(Nimda)

2001년 등장한 님다 웜은 발생 22분 만에 인터넷을 장악하며 악명을 떨쳤다. 이메일을 통해 배포되는경우가 많으며, ‘README.EXE’ 등의 첨부파일을 통해 감염된다. 마이크로소프트의 아웃룩 사용자의 경우 첨부파일을 실행하지 않고 본문 내용을 보기만 해도 자동으로 감염되는 것으로 알려졌다. 또한 웹사이트나 공개자료에서도 발견됐는데, 마이크로소프트의 인터넷 익스플로러 초기 버전은 단순히 메시지를 읽기만 해도 님다에 감염될 정도로 보안이 취약했다. 참고로 님다(Nimda)는 어드민(admin)의 철자를 거꾸로 한 것이다.

슬래머 웜(SQL Slammer)

슬래머 웜은 다양한 인터넷 호스트에 서비스 거부 공격(DoS)을 실시하는 웜으로, 개인컴퓨터보다는 네트워크에 더 위협적인 웜이다. 2003년 등장해 10분 만에 7만 5,000대의 컴퓨터를 감염시킬 정도로 확산속도가 빨랐다. 이메일이나 메신저로 전파되던 기존 웜과는 달리, 시스템의 취약점이 발견되지마자 웜 코드가 실행됐기 때문이다. 미처 보안패치를 실시할 시간적 여유가 없다보니 피해규모가 커질 수밖에 없었다. 특히 국내에서 1.25 인터넷 대란을 일으키며 큰 피해를 입혔다.

블래스터 웜(Blaster Worm)

블래스터 웜은 2003년 마이크로소프트의 윈도우 NT계열을 통해 급속하게 확산된 웜이다. 이 웜은 컴퓨터에 침입한 후 메모리를 과다 사용하게 만들고, 궁극적으로 운영체제를 파손시킨다. 보통 “Remote Procedure Call(RPC) 서비스가 예기치 않게 종료되어 윈도우를 지금 다시 시작해야 합니다”라는 메시지와 함께 컴퓨터가 재부팅된다. 하지만 이미 윈도우 레지스트리가 수정된 상태라 컴퓨터를 재시작해도 똑 같은 상황이 반복될 뿐이다. 블래스터 웜은 전세계적으로 20만 대가 넘는 시스템을 감염시켰으며 국내에도 창궐해 슬래머 웜의 악몽을 다시 불러일으켰다.

컴퓨터에 숨어있는 기생충 - 웜(Computer Worm)
(4)
컴퓨터에 숨어있는 기생충 - 웜(Computer Worm) (4)

웜 예방법

초창기 웜과 싸울 때는 출처가 불분명한 이메일을 차단하는 것만으로도 효과적인 방어를 할 수 있었다. 하지만 님다와 같은 복잡한 웜이 등장하면서 바이러스 백신의 중요성이 커지고 있다. 현재 대부분의 바이러스 백신은 컴퓨터 바이러스뿐만 아니라 트로이 목마, 웜, 스파이웨어 등 다양한 악성코드로부터 컴퓨터를 지킬 수 있도록 설계됐다. 바이러스 백신과 윈도우 보안 업데이트는 항상 최신 버전을 유지하고, 허가된 사용자만 시스템에 접근할 수 있도록 방화벽을 활성화하는 것이 좋다.

글 / IT동아 서동민(cromdandy@itdonga.com)

IT동아의 모든 콘텐츠(기사)는 Creative commons 저작자표시-비영리-변경금지 라이선스에 따라 이용할 수 있습니다.
의견은 IT동아(게임동아) 페이스북에서 덧글 또는 메신저로 남겨주세요.