위의 예에서 보면 전파자가 되신 분과 제가 쓰는 용어가 서로 다릅니다. 전파자님은 “바이러스”라고 했으며 저는 “웜”이라고 했습니다. 사실 실생활에선 그다지 구분되지 않고 사용되는 말이긴 하지만, 이 둘은 각각 다른 특징을 지니고 있습니다.
바이러스든 웜이든 그 목적은 동일합니다. 감염된 사용자의 컴퓨터에 사용자가 의도하지 않은 동작을 수행하는 것이죠. 또한 이들은 네트워크나 저장 매체를 통해 전파될 수 있다는 특징을 지닙니다. 이런 프로그램을 총칭하여 악성코드라고 부릅니다. 그러나 바이러스는 감염된 시스템을 망가뜨리고 감염된 사용자의 행동에 의해 전파되는 반면, 웜은 시스템에는 영향을 주지 않지만 스스로 네트워크를 통해 복제되고 전파된다는 점에서 그 차이를 보입니다.
바이러스는 컴퓨터의 역사만큼이나 오랜 역사를 지니고 있습니다. 최초의 컴퓨터 바이러스는 브레인Brain 바이러스로 알려져 있습니다. 파키스탄의 알비 형제가 자신들이 만든 소프트웨어가 불법복제되어 마구 뿌려지는 것에 분개하여 1986년에 제작했다고 합니다. 당시에는 플로피 디스크로 대부분의 프로그램들이 배포되었기 때문에 바이러스를 설치 디스크에 심어놓기만 하면 되었죠. 그 이후 많은 컴퓨터 바이러스들이 출현했고 기존 바이러스의 변종도 나타나기 시작했습니다. 하지만 이 당시에는 컴퓨터끼리 네트워크로 연결되어 있는 경우가 드물었고, 바이러스를 물리적으로 사람이 실어 날아줘야 다른 컴퓨터로 전파되었기 때문에 바이러스에 의한 피해 규모는 그리 크지 않았습니다. 또한 예전의 바이러스는 약간 순진한(?) 면이 있어서, 예루살렘 바이러스(일명 “13일의 금요일” 바이러스)는 이름 그대로 13일의 금요일에만 실행시킨 파일을 삭제하는 바이러스였고, 미켈란젤로 바이러스도 3월 6일에만 디스크에 있는 파일을 삭제하는 바이러스였기 때문에, 이런 특정한 날짜만 조심하면 피해갈 수 있었죠.
이에 비해 웜은 인터넷의 발전과 함께 두각을 나타내기 시작했습니다. 그것도 그럴 것이, 웜은 보다 빠른 시간 동안 널리 복제되어 번지는 것이 존재의 목적이므로 인터넷은 웜이 전파되기 아주 좋은 환경인 셈이죠. 초기의 웜은 이메일의 첨부 파일 형태로 전파되었습니다. 아웃룩 등 메일 클라이언트의 주소를 읽어들여 등록된 다른 메일 주소로 스스로 메일을 전송하면서 퍼져 나갔죠. 이후 웜의 활동 영역도 넓어져서 메신저, 휴대폰, 블루투스 등 다양한 플랫폼에서 동작하는 웜도 등장하기 시작했습니다.
전 세계의 컴퓨터가 네트워크로 묶이면서 바이러스나 웜 등의 악성코드로 인한 피해는 점점 커져 갔습니다. 대표적인 예가 CIH 바이러스(일명 체르노빌 바이러스)인데, 이 바이러스는 컴퓨터의 바이오스(BIOS)를 손상시키고 파일을 삭제하는 악성 바이러스로서 통신망을 타고 광범위하게 번져나가 많은 피해를 줬습니다. 또한 2003년 1.25 인터넷 대란이라 불렸던 국내의 인터넷망이 다운되는 사태도 SQL_Overflow 웜(일명 슬래머 웜)에 의해 촉발된 것이었으니, 주변 몇 명의 사용자를 곤란하게 만들던 악성 코드가 이젠 한 국가의 네트워크망을 다운시키는 지경까지 오게 된 것입니다.
이 외에도 정상적인 프로그램인 척 위장하고 있지만 사실은 사용자의 의도에 맞지 않는 작업을 수행하는 트로이목마, 위장된 광고 프로그램인 스파이웨어, 웜의 일종인 악성 IRC 봇 등 악성코드의 종류는 매우 많습니다. 이 중 악성 IRC 봇은 매우 재미있는 특성을 지니고 있습니다. IRC 봇이란 원래 IRC라는 채팅 프로토콜에서 사용하는 가상 사용자입니다. IRC 봇은 채팅에 참여하는 사용자처럼 보이면서 다양한 일을 자동으로 수행할 수 있습니다. 악성 IRC 봇은 웜의 일종이므로 다른 사용자의 컴퓨터로 자동 복제되어 전송됩니다. 일단 복제된 악성 IRC 봇들은 감염된 컴퓨터에 숨어 있으면서 IRC에 접속해 있다가, 어느 순간 호스트(웜을 퍼뜨린 장본인이겠죠)의 명령을 받아 동시에 같은 일을 수행합니다. 예를 들어 호스트가 특정 사이트를 공격하라는 명령을 내리면 악성 IRC 봇에 감염된 컴퓨터들은 마치 좀비처럼 그 컴퓨터의 주인도 알지 못하는 사이에 사이트 공격에 참여하게 되는 것이죠.
요즘의 악성코드는 웜이면서 바이러스의 특성을 지니거나 트로이목마인데 웜처럼 자동 복제 전송되는 등 그 경계가 모호해지고 있습니다. 스파이웨어처럼 이게 악성코드냐 아니냐를 따지기 애매한 경우도 발생하구요. 결국 악성코드의 피해를 최소화하기 위해선 백신을 항상 최신 버전으로 유지하고 주기적으로 검사해 주고 수상해 보이는 사이트나 파일에는 접근하지 않는 것이 최선입니다. M$가 권장하는대로 수시로 업데이트를 해 주는 것이 필요하겠구요. 물론 바이러스가 거의 없다시피한 비윈도 플랫폼(리눅스, 맥OS 등)을 사용하면 이런 걱정을 근본적으로 덜게 되겠지만요. :)
출처: 웹진ActOn
- 덧붙이는 말
-
레니 : 진보네트워크센터 기술국 자원활동가. http://blog.jinbo.net/renegade/