웜
| 시리즈 일부 |
| 정보 보안 |
|---|
| 관련 보안 분류 |
| 위협 |
| 방어 |
컴퓨터 웜(영어: computer worm)은 스스로를 복제하는 악성 소프트웨어 컴퓨터 프로그램이다. 컴퓨터 바이러스와 비슷하다. 바이러스가 다른 실행 프로그램에 기생하여 실행되는 데 반해 웜은 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않다. 웜은 종종 컴퓨터의 파일 전송 기능을 착취하도록 설계된다. 컴퓨터 바이러스와 웜의 중요한 차이점은 바이러스는 스스로 전달할 수 없지만 웜은 가능하다는 점이다. 웜은 네트워크를 사용하여 자신의 복사본을 전송할 수 있으며, 어떠한 중재 작업 없이 그렇게 할 수 있다. 일반적으로 웜은 네트워크를 손상시키고 대역폭을 잠식하지만, 바이러스는 컴퓨터의 파일을 감염시키거나 손상시킨다. 바이러스는 보통 네트워크에 영향을 주지 않으며 대상 컴퓨터에 대해서만 활동한다.
이름의 유래
'웜'이라는 이름은 1975년에 출판한 존 브루너(John Brunner)의 공상과학소설 《더 쇼크웨이브 라이더(The Shockwave Rider)》에서 차용되었다. 초기 분산 컴퓨팅 관련 실험에 대한 논문을 작성하던 연구자들은 그들의 소프트웨어와 브루너에 의해 묘사된 프로그램이 유사하다는 사실에 주목했고, 그래서 '웜'이라는 이름을 채택하였다.
역사
웜은 1978년 제록스 파크(Xerox PARC)의 두 명의 연구자에 의해 최초로 구현되었다.[1] 개발자인 존 쇼크(John Shoch)와 존 허프(Jon Hupp)는 원래 네트워크에서 놀고 있는 프로세서들을 찾아 그들에게 업무를 할당하고 연산처리를 공유하여 전체적인 네트워크의 효율을 높이도록 웜을 설계했다.[2]
많은 주목을 받았던 최초의 웜은 당시 코넬 대학교의 대학원 학생이었던 로버트 터팬 모리스(Robert Tappan Morris)가 개발했던 모리스 웜이다. 이 웜은 1988년 11월 2일에 배포되었는데, 그때 당시 인터넷에 연결된 수많은 컴퓨터들을 빠른 속도로 감염시켰다. 이 웜은 BSD 유닉스와 그것으로부터 파생된 운영 체제들의 많은 버그들을 통해 확산되었다. 모리스는 미국의 컴퓨터 범죄와 남용에 관한 법(Computer Crime and Abuse Act)에 따라 유죄가 선고되어 3년의 집행유예와 400시간의 사회 봉사, 10000달러가 넘는 벌금을 지불했다.
기타 기능
웜은 자기 복제 이외에 많은 다른 일을 하도록 설계된다. 예를 들어 호스트 시스템에서 파일을 지우거나, 파일을 악의적 공격 목적으로 암호화 하거나, 이메일을 통해 문서를 보내는 등의 일을 한다. 최근의 웜은 다양한 곳으로 전달되며 실행파일을 첨부하기도 한다. 그러나 웜은 그런 것들 없이 단지 자기 복제 과정에서 생성되는 네트워크 트래픽만으로도 피해를 줄 수 있다. 예를 들어 마이둠(Mydoom)같은 웜은 최대로 살포되면 세계 전역의 인터넷 속도를 현저하게 느리게 만든다.
일반적으로 웜에 수반되는 것은 감염된 컴퓨터에 백도어를 설치하는 것이다. 소빅(Sobig)이나 마이둠 같은 웜이 그렇게 한다. 이런 좀비 컴퓨터들은 대량의 스팸 메일을 보내거나 그들의 웹사이트 주소를 은폐하는 데 사용된다.[3] 스패머들이 그러한 웜에 대한 대가를 지불하고 있다고 여겨지며[4], 감염된 기계의 IP 주소 리스트를 판매하던 웜 개발자들이 붙잡히기도 했다.[5] 다른 웜 개발자들은 회사를 서비스 거부(DoS) 공격을 한다는 공갈 협박을 시도하기도 하였다.[6] 또한 백도어는 다른 웜에 의해 사용될 수도 있는데, 둠주스(Doomjuice) 같은 웜은 마이둠에 의해 설치된 백도어를 사용하여 자신을 확산시킨다.
평가
웜이 유용한지 여부는 컴퓨터 과학과 인공지능 분야에서는 일반적인 이론적 질문이다. 예를 들어 나치(Nachi) 웜은 마이크로소프트 웹사이트에서 패치를 다운로드한 후 설치하여, 그들이 사용했던 취약성을 포함한 호스트 시스템의 다양한 취약성을 패치하려고 시도한다. 이는 결과적으로 시스템을 더 안전하게 하지만, 종종 패치를 통해 막고자 한 웜의 네트워크 트래픽보다 더 많은 네트워크 트래픽을 발생시키며, 패치로 인해 시스템을 리부팅하게 하고, 결정적으로 컴퓨터 소유자 또는 사용자의 동의 없이 무단으로 그런 일을 하게 된다. 따라서 보안 전문가는 웜이 어떤 걸 수반하던지 간에 웜에 반대해야 한다.
같이 보기
각주
- ↑ “PARC Milestones”. 2006년 4월 30일에 원본 문서에서 보존된 문서. 2006년 5월 13일에 확인함.
- ↑ Computer Worm (Tapeworm) by John Brunner from The Shockwave Rider
- ↑ [1]{{ 보관됨 2012-08-26 - 웨이백 머신
- ↑ http://www.wired.com/news/business/0,1367,60747,00.html, http://www.channelnewsasia.com/stories/afp_world/view/68810/1/.html 보관됨 2006-02-19 - 웨이백 머신
- ↑ heise online - Uncovered: Trojans as Spam Robots
- ↑ BBC NEWS | Technology | Hacker threats to bookies probed
외부 링크
위키미디어 공용에 [{{fullurl:Commons:모듈:WikidataIB 508번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).|uselang=ko}} 웜] 관련 미디어 분류가 있습니다.
모듈:Authority_control 159번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).
- 웹아카이브 틀 웨이백 링크
- 스크립트 오류가 있는 문서
- 잘못된 파일 링크가 포함된 문서
- 영어 표기를 포함한 문서
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- 웜
- 악성 소프트웨어