컴퓨터 웜과 바이러스의 가장 큰 차이점은 웜은 사용자의 개입 없이 스스로를 복제해 감염되지 않은 컴퓨터로 퍼져나갈 수 있다는 점입니다. 웜은 사용자의 조작 없이도 스스로 실행되고 번식하는 자가 충족형(self-contained) 악성코드라고 이해하면 됩니다. 컴퓨터를 직접 사용하지 않는 동안에도 웜은 활성화되고, 복제되고, 확산될 수 있습니다. 한번 컴퓨터에 침투한 웜은 즉시 확산을 시작합니다.
바이러스가 실행과 복제를 위해 컴퓨터의 프로그램이나 코드를 빌려 써야 하는 반면, 웜은 그 자체로 독립적으로 작동합니다. 그렇기 때문에 '웜 바이러스'라는 것은 존재하지 않습니다. 비슷해 보여도 웜과 바이러스는 완전히 다른 두 종류의 악성코드이기 때문입니다.
컴퓨터 웜은 어떻게 작동할까?
컴퓨터 웜이 위험한 이유는 그 능력 때문입니다. 웜은 호스트 머신에 한발 들어서기만 하면 외부의 도움이나 조작 없이 네트워크 전체로 확산될 수 있습니다. 트로이 목마처럼 사용자를 속여 활성화시킬 필요조차 없습니다.
웜은 컴퓨터 운영체제(OS)의 숨겨진 취약점을 악용해 임무를 수행합니다. 해커들은 웜이 대상 OS 깊숙이 파고들어 사용자 모르게 악행을 벌일 수 있도록 설계합니다.
오랫동안 웜은 물리적인 경로로 네트워크에 침투했습니다. 해커가 플로피 디스크 같은 미디어에 웜을 담아두고, 아무것도 모르는 피해자가 이를 자신의 컴퓨터에 삽입하기를 기다리는 방식이었죠. 지금도 이 전술은 유효합니다. 실제로 많은 기업 간첩 행위와 사보타주가 무해해 보이는 USB 메모리로 시작됩니다.
하지만 오늘날에는 이메일, 인스턴트 메신저, 파일 공유 네트워크처럼 순수하게 전자적인 경로로 확산되는 웜을 만나는 경우가 훨씬 많습니다.
컴퓨터 웜의 종류
확산 방식에 따라 컴퓨터 웜은 뚜렷한 범주로 나눌 수 있습니다. 각 유형은 고유한 공격 경로를 통해 기기에서 기기로 퍼져나갑니다.
이메일 웜
이름에서 짐작할 수 있듯, 이메일 웜은 감염 경로로 이메일을 이용합니다. 이메일 웜은 컴퓨터의 메일 클라이언트를 빌려 연락처에 있는 모든 사람에게 이메일을 발송합니다. 문제는 그 메시지가 연락처의 연락처로, 또 그 연결로 계속 퍼지며 웜이 기하급수적으로 확산될 수 있다는 점입니다.
일부 이메일은 첨부파일을 포함하고 있으며, 이를 내려받으면 웜이 실행되어 수신자의 컴퓨터에 설치됩니다. 다른 유형은 본문에 단축 링크를 삽입해 악성 웹사이트로 유인한 뒤 웜을 자동으로 다운로드하게 만듭니다. 가장 성공적인 이메일 웜은 다양한 소셜 엔지니어링 기법을 교묘히 활용해 피해자가 직접 첨부파일을 열거나 링크를 클릭하도록 유도합니다.
인스턴트 메신저(IM) 웜
IM 웜은 메일 클라이언트를 납치하는 대신 더 즉각적인 방식을 선호합니다. Skype, Messenger, WhatsApp 같은 메신저 플랫폼에 침투한 뒤 연락처 전체에 메시지를 발송합니다.
이 메시지는 'ㅋㅋㅋ 이거 꼭 봐!' 같은 클릭베이트 문구로 작성되어, 친구들이 재미있는 밈 콘텐츠 링크를 받았다고 믿게 만듭니다. 하지만 링크를 클릭한 친구는 감염된 웹사이트로 향하게 되고, 그 사이 웜은 친구의 연락처에도 같은 메시지를 전달하며 빠르게 번집니다.
파일 공유 웜
P2P 파일 공유 네트워크에서 음악, 영화, 드라마를 얻는 사람들이 여전히 많습니다. 이런 파일 공유 네트워크는 합법성이 불분명한 영역에서 운영되다 보니 규제가 거의 없어, 해커가 수요가 높은 파일 속에 웜을 심기 매우 쉽습니다. 감염된 파일을 내려받는 순간 웜은 컴퓨터에 자신을 복사하고 활동을 계속합니다.
인터넷 웜(네트워크 웜)
위의 웜들이 인간의 행동을 악용해 퍼지는 것과 달리, 인터넷 웜은 피해자와 직접 상호작용하지 않습니다. 대신 해커는 인터넷 웜으로 특정 OS의 취약점을 겨냥합니다. 약한 비밀번호 같은 서비스나 보안 결함을 노리는 경우도 있습니다.
감염된 컴퓨터를 발판 삼아 네트워크 웜은 인터넷이나 로컬 네트워크(LAN)에서 같은 보안 취약점을 가진 다른 컴퓨터를 찾아 스스로 퍼져나갑니다. 예를 들어 미라이(Mirai) 웜은 기본 로그인 정보를 그대로 사용하는 IoT(사물인터넷) 기기를 표적으로 삼아 감염시켰습니다.
많은 인터넷 웜이 소프트웨어 취약점을 악용하기 때문에, OS·프로그램·앱을 최신 버전으로 즉시 업데이트하는 습관만으로도 한 발 앞서 대응할 수 있습니다.
컴퓨터 웜은 무엇을 할 수 있을까?
웜이 처음 등장했을 때 목표는 최대한 널리 퍼지는 것 외에는 없었습니다. 초기 해커들은 자신의 실력을 과시하거나 당대 운영체제의 구멍과 취약점을 입증하기 위해, 혹은 단순한 재미로 웜을 만들었습니다.
그런데 이른바 '순수 웜'은 그럴 의도가 없었음에도 부작용으로 피해를 일으키곤 했습니다. 시스템 자원을 많이 잡아먹는 웜은 호스트 컴퓨터를 느리게 하거나 아예 다운시켰고, 어떤 웜은 확산 과정에서 막대한 대역폭을 소모해 네트워크를 마비시켰습니다.
그러다 해커들은 웜이 다른 악성코드를 배달하는 운반 수단으로 쓰일 수 있다는 사실을 깨닫게 됩니다. 이때 웜이 실어 나르는 추가 코드를 '페이로드(payload)'라고 부릅니다. 흔한 전략 중 하나는 감염된 머신에 '백도어'를 열어두는 페이로드로, 사이버 범죄자가 나중에 돌아와 시스템 장악권을 가져갈 수 있게 합니다. 그 밖에도 개인 정보를 수집하거나, 랜섬웨어를 설치하거나, 표적 머신을 봇넷 공격용 '좀비'로 만드는 페이로드도 있습니다.
컴퓨터 웜의 역사
역사상 가장 파괴적인 악성코드 몇몇은 컴퓨터 웜이었습니다. 가장 악명 높은 사례들을 살펴보겠습니다.
모리스 웜(Morris Worm)
대학원생 로버트 태판 모리스(Robert Tappan Morris)는 1988년 11월 2일 자신이 만든 웜을 배포하며 컴퓨터 웜 시대를 열었습니다. 모리스는 웜이 실제 피해를 일으키길 의도하지 않았지만, 코드가 작성된 방식 탓에 웜은 같은 호스트 머신을 여러 번 반복 감염시켰습니다.
이 치명적인 실수로 수많은 컴퓨터가 다운되었고, 감염 기기에서 웜을 제거할 때까지 초창기 인터넷의 상당 부분이 사용 불능 상태가 되었습니다. 피해 규모는 수십만 달러에서 수백만 달러로 추산되며, 모리스는 1986년 미국 컴퓨터 사기 및 남용 방지법(CFAA)에 따라 유죄 판결을 받은 첫 번째 사람이 되었습니다.
아이러브유(ILOVEYOU)
확산 통로였던 이메일 제목에서 이름을 따온 ILOVEYOU 웜은 2000년 초 필리핀에서 등장해 순식간에 전 세계로 퍼졌습니다. 모리스 웜과 달리 ILOVEYOU는 피해자 컴퓨터의 파일을 무차별적으로 덮어쓰도록 설계된 악성 웜이었습니다.
호스트 머신을 유린한 뒤, ILOVEYOU는 마이크로소프트 아웃룩을 통해 피해자의 윈도우 주소록에 있는 모든 연락처에게 자신의 복제본을 발송했습니다. 결국 ILOVEYOU는 전 세계에 수십억 달러의 피해를 안기며 역대 최악의 컴퓨터 웜 중 하나로 기록되었습니다.
SQL 슬래머(SQL Slammer)
2003년의 SQL Slammer는 브루트포스 방식의 인터넷 웜으로, 단 10분 만에 약 75,000개의 시스템을 감염시킬 만큼 번개같이 퍼졌습니다. ILOVEYOU나 스톰 웜(Storm Worm), 님다(Nimda) 같은 유명 이메일 웜들의 전술을 버리고, SQL Slammer는 윈도우 2000용 마이크로소프트 SQL 서버의 취약점을 노렸습니다.
SQL Slammer는 IP 주소를 무작위로 생성해 해당 주소의 컴퓨터에 자신의 복제본을 전송했습니다. 받는 쪽이 보안 패치가 적용되지 않은 SQL 서버를 돌리고 있는 컴퓨터라면, 웜은 그대로 들어가 활동을 시작했습니다. 감염된 컴퓨터는 봇넷으로 변해 다수의 DDoS 공격에 동원되었습니다.
관련 보안 패치는 최초 공격보다 앞선 2002년부터 이미 배포되어 있었음에도, SQL Slammer는 2016년과 2017년에 재유행하기도 했습니다.
완나크라이(WannaCry)
WannaCry는 현대적인 사이버 보안 도구가 있음에도 웜이 얼마나 파괴적일 수 있는지 보여준 최근의 사례입니다. 2017년의 WannaCry는 랜섬웨어이기도 했습니다. 피해자의 파일을 암호화한 뒤, 접근 권한을 돌려주는 조건으로 금품을 요구한 것이죠. 단 하루 만에 WannaCry는 150개국 23만 대의 PC에 침투했으며, 영국 국민보건서비스(NHS)를 비롯해 정부 부처, 대학, 기업 등 주요 표적도 피하지 못했습니다.
WannaCry는 이터널블루(EternalBlue) 익스플로잇을 이용해 윈도우 8 이전 버전의 보안 취약점을 공략했습니다. 취약한 컴퓨터를 발견하면 자신의 복제본을 설치하고 파일 암호화를 시작한 뒤, 과정이 끝나면 랜섬 노트를 화면에 띄웠습니다.
컴퓨터 웜 감염을 알아채는 방법
기기에 컴퓨터 웜이 있다는 것을 알려주는 몇 가지 징후가 있습니다. 웜은 대부분 뒤편에서 조용히 활동하지만, 악의적인 행동을 하지 않더라도 눈에 띄는 영향을 남깁니다. 다음 증상으로 웜 감염 여부를 확인해 보세요.
컴퓨터가 느려지거나 멈춘다: 앞서 살펴본 모리스 웜처럼 일부 웜은 컴퓨터 자원을 너무 많이 소모해 정상 기능이 거의 불가능하게 만듭니다. 갑자기 컴퓨터가 느려지거나 반응하지 않고, 심하면 다운되기 시작한다면 웜 감염을 의심해 볼 수 있습니다.
저장 공간이 부족해진다: 웜은 복제되면서 자신의 사본을 어딘가에 저장해야 합니다. 사용 가능한 저장 공간이 평소보다 유난히 적다면 무엇이 공간을 차지하는지 확인해 보세요. 범인은 웜일 수 있습니다.
컴퓨터가 이상하게 행동한다: 많은 웜이 직접 통신을 이용해 확산되므로, 자신이 보낸 적 없는 이메일이나 메시지 발송 기록이 있는지 살펴보세요. 낯선 알림, 설명할 수 없는 설정 변경, 새로 생기거나 사라진 파일도 웜 활동의 신호일 수 있습니다.
지인들이 이상하다고 물어온다: 위 증상을 놓쳤더라도 괜찮습니다. 하지만 이메일 웜이나 IM 웜에 걸렸다면, 낯선 메시지를 받았다는 지인의 연락을 받을 수 있습니다. 이미 퍼지기 시작했더라도 늦은 때는 없습니다. 지금 바로 대응하세요.
컴퓨터 웜 예방법
웜이 기기에 한번 침투하면 결과는 상당히 클 수 있습니다. 다행인 점은, 웜 예방이 곧 악성코드 전반에 적용되는 몇 가지 현명한 습관으로 귀결된다는 사실입니다. 아직 실천하지 않고 있다면 다음 수칙을 디지털 생활의 기본으로 삼으세요.
수상한 이메일 첨부파일은 절대 열지 않는다: 낯설거나 예상치 못한 첨부파일을 열어서 좋았던 일은 거의 없습니다. 지인에게서 온 것이라도 마찬가지입니다. 진짜 보냈는지 직접 확인하고 여는 습관을 들이세요.
수상한 링크는 클릭하지 않는다: 일부 사이버 범죄자는 마우스를 올려봐도 들키지 않을 정도로 정교하게 악성 링크를 숨깁니다. 악성코드 감염을 감수할 만큼 웃긴 밈은 없습니다. 링크는 무시하고 지나가세요.
P2P 프로그램 사용을 자제한다: 파일 공유 네트워크에서는 내려받는 파일이 기대한 파일인지 100% 확신할 수 없습니다. 무료 미디어는 달콤한 유혹이지만, 꼭 이용해야 한다면 출처를 철저히 검증하세요.
수상한 광고를 클릭하지 않는다: 일부 웜은 웹사이트를 감염시키고, 오염된 광고를 클릭하면 컴퓨터로 퍼집니다. 광고 차단 기능이 있는 브라우저나 확장 프로그램을 사용하면 이런 위험을 크게 줄일 수 있습니다.
소프트웨어를 항상 최신 상태로 유지한다: 웜은 오래된 소프트웨어를 통해 컴퓨터에 침투합니다. 보안 패치와 업데이트가 배포되는 즉시 OS와 프로그램을 업데이트하세요. 미루어서 얻는 것은 아무것도 없습니다.
백신 소프트웨어를 사용한다: 백신 프로그램은 웜은 물론 랜섬웨어, 스파이웨어 등 모든 종류의 악성코드로부터 지켜주는 가장 확실한 방어책입니다.
강력하고 고유한 비밀번호를 사용한다: 일부 웜은 공장 초기값 로그인 정보를 이용해 다양한 기기를 감염시킵니다. 추측하기 어려운 강력한 비밀번호를 만들고, 같은 비밀번호를 여러 곳에 재사용하지 마세요.
강력한 백신으로 웜을 예방하고 제거하세요
컴퓨터 웜과 다른 악성코드에 맞서는 최고의 동료는 신뢰할 수 있는 업체의 종합 보안 도구입니다. 평판 좋은 백신 프로그램을 사용하면 컴퓨터 웜을 포함한 악성코드로부터 24시간 보호받을 수 있습니다. 만약 이미 웜에 감염된 것을 발견했다 해도, 대응하기에 늦었다고 생각하지 마세요. 신뢰할 수 있는 백신 프로그램의 웜 제거 및 실시간 보호 기능을 지금 바로 활용해 보세요.