최초의 악성코드

꽤 오래 전의 일이다. 아는 형한테 전화 한통화를 받았다. 자꾸 홈페이지가 Gohip.com으로 바뀐다는 것이었다. 홈페이지를 다른 곳으로 설정해도 자꾸 Gohip.com으로 바뀌기 때문에 무척 불편한 듯했다. 아마 이 Gohip.com이 내가 아는 최초의 악성코드였다. 아마 1996~7년 경이었기 때문에 이미 10년이 더된 이야기이다. 그래서 Gohip.com으로 홈페이지가 바뀌는 사람을 위해 홈페이지에 올린 글이 "GoHip 제거하기"였다.

최초의 악성코드

꽤 오래 전의 일이다. 아는 형한테 전화 한통화를 받았다. 자꾸 홈페이지가 Gohip.com으로 바뀐다는 것이었다. 홈페이지를 다른 곳으로 설정해도 자꾸 'Gohip.com'으로 바뀌기 때문에 무척 불편한 듯했다. 아마 이 'Gohip.com'이 내가 아는 최초의 악성코드[1]였다. 아마 1996~7년 경이었기 때문에 이미 10년이 더된 이야기이다. 그래서 'Gohip.com'으로 홈페이지가 바뀌는 사람을 위해 홈페이지에 올린 글이 GoHip 제거하기였다[2].

그런데 이렇게 홈페이지를 바꾸는 프로그램은 'Gohip.com'만이 아니었다. ICQ도 홈페이지를 'icq.com'으로 바꾼다. 그것도 설치할 때만 바꾸는 것이 아니라 ICQ만 실행하면 바꾸었다. 이렇다 보니 홈페이지에 이런 프로그램을 제거하는 방법에 대해 올린 글이 상당히 많다. 이렇다 보니 이런 악성코드를 제거하는 프로그램을 개발하자는 제안도 종종 받았다. 그러다 알게된 악성코드 제거 프로그램이 OptOut이다. 그러나 이 프로그램은 일부 악성코드만 제거할 수 있었기 때문이 큰 각광을 받지는 못했다. 그러다 등장한 프로그램이 LavasoftAD-Aware이다. 요즘은 악성코드 제거 프로그램이 워낙 많기 때문에 예전만한 명성을 유지하지 못하지만 한때는 악성코드 제거 프로그램의 절대 강자로 군림한 프로그림이 Ad-Aware이다. 또 Lavasoft는 이 프로그램 하나만으로 상당히 이름있는 소프트웨어 업체로 성장했다.

그러나 Ad-Aware가 세력을 넓혀갈 당시만 해도 악성코드의 위험은 그리크지 않았다. 그 이유는 당시에는 ActiveX 기술도 없었고 Internet Explorer가 시장 주도 브라우저가 아니었기 때문이다. 그러나 ActiveX가 개발되고 Internet Explorer가 시장 주도 브라우저가 되면서 악성코드는 바이러스 보다도 컴퓨터 환경을 해치는 마물이 되어간다.

국산 악성코드 제거 프로그램

시기적으로 보면 서로 비슷한 시기에 국내에도 악성코드를 제거하는 도구가 등장한다. 바로 다간다로 알려진 NO-AD다잡아로 알려진 Ad-Spider이다. 그리고 뒤이어 PCZiggyloser님이 개발한 AD-Free가 등장한다. 따라서 국내에서 악성코드 제거 프로그램을 이야기할 때는 이들 네개의 프로그램을 빼고 이야기할 수는 없다. PCZiggy와 AD-Free에 대한 이야기는 V3lite vs 알약에서 하기로 하고 이번 글에서 다잡아와 다간다에 대한 이야기 부터 하겠다.

요즘은 바이러스를 잡는 프로그램에서 악성코드를 제거하는 기능까지 함께 제공하는 경우가 많다. 그러나 개발이라는 측면에서 보면 백신 프로그램을 개발하는 기술이 악성코드를 제거하는 기술 보다는 난이도가 훨씬 높다. 국내에서만 봐도 악성코드를 제거하는 프로그램은 정말 많다. 대부분 개인이 취미로 시작했다가 명성을 얻어 사업으로 전개된다. 이렇게 된 이유는 백신 프로그램에 비해 개발하기 쉽지만 바이러스 보다 더 귀찮은 존재가 바로 악성코드이기 때문이다.

다잡아(AD-Spider)

바로 이런 악성코드를 배포하던 업체에서 만든 프로그램이 다잡아(Ad-Spider)였다. EasyWinCleaner라는 레지스트리 정리 프로그램이 있다. 레지스트리 정리 프로그램은 아무 생각없이 사용할 수 있는 프로그램은 아니다. 그러나 쉬운 인터페이스와 컴퓨터의 속도가 빨라진다는 과장광고 때문에 이 프로그램을 사용하는 사람이 늘었다. 문제는 이 프로그램은 지금은 사라진 Ohcorea라는 사이트로 시작 페이지를 바꾸는 악성코드를 가지고 있다는 점이다.

국산 악성코드 제거 프로그램 중 가장 먼저 사용해 본 프로그램이 다잡아(Ad-Spider)였다. 그러나 이 프로그램의 성능은 내가 사용해 본 국산 악성코드 제거 프로그램 중 최악이었다. 최고의 스파이웨어 제거 프로그램이라는 글에서 이미 설명했지만 다시 인용하면 다음과 같다.

다간다와 분쟁에서 알 수 있듯 이 프로그램은 초기 페이지 변경으로 명성이 자자한 Ohcorea에서 제작한 것으로 알려져 있다. 오진율은 아주 높은 편이며 옵션에서 변경할 수 있다고 하지만 한글 키워드 변경하는 것으로 알려져 있다. 검색 결과에서 알 수 있듯 총 26개라는 많은 수의 악성 프로그램을 잡아냈다. 대부분이 오진이었다. 다잡아의 검색 결과를 분류하면 다음과 같다.

타사의 스파이웨어 제거 프로그램

타사의 스파이웨어 제거 프로그램은 모두 악성 프로그램으로 잡아낸다. 그림에서 알 수 있듯이 이 팁을 쓰기위해 설치한 프로그램, AD-Catch Pro, 애드캣, No-AD등을 모두 악성 프로그램 및 의심 파일로 잡아냈다. 심지어는 자기 자진(예: 다잡아)도 스파이웨어로 잡아낸다. 참 대단한 프로그램이죠....

관련없는 파일

스파이웨어하고는 관련이 없는 엉뚱한 파일 역시 스파이웨어로 검출했다. 그림에서 unvise32.exeAdvanced Registry Monitor라는 레지스트 감시 프로그램을 설치하면 설치되는 프로그램으로 ARM의 설치/제거 프로그램에 불과하다. 나도 오래전에는 다잡아를 사용한 적이 있다. 그러나 높은 오진율과 더불어 관련없는 프로그램과 레지스트리를 삭제, 시스템에 문제를 일으키는 것을 확인한 후 전혀 사용하지 않고 있다. 그 이후 꽤 오랜 시간이 지났지만 여전히 관련없는 프로그램을 스파이웨어로 잡아내고 있다.

관련없는 레지스트리

그림의 레지스트리 중 처음 두개의 레지스트리는 쿠키를 차단하기위해 '인터넷 옵션/개인 정보/사이트별 개인 정보'에 차단항목으로 등록한 것이다. 아울러 마지막의 레지스트리는 ActiveDesktop을 사용하지 않기 위해 등록한 정책이지만 이런 레지스트리까지 스파이웨어로 잡아내고 있다. 아울러 현재 사용하고 있는 Maxthon의 레지스트리까지 스파이웨어로 잡아내고 있었다.

FlashGet이 등록한 BHO 역시 스파이웨어로 잡아내고 있지만 FlashGet 비등록판의 경우 애드웨어이므로 논외로 하겠다.

그림에서 보면 알 수 있지만 자기 자신까지 잡아내는 아주 대단한 프로그램이 Ad-Spider였다. 물론 이 글은 2006년 6월에 작성된 글이기 때문에 요즘은 조금 바뀌었을 수도 있다. 그러나 프로그램의 개발사도 문제고 성능도 별로인 그런 프로그램이 바로 다잡아(Ad-Spider)였다.

다간다(NO-AD)

다잡아(Ad-Spider)에 이어 사용해 본 프로그램이 바로 다간다였다. 일단 처음 사용했을 때 느낌은 다잡아(Ad-Spider)처럼 아무 것이나 다잡는 프로그램은 아니었다. 다만 이 프로그램은 악성코드를 잡아낸 뒤 해당 악성코드에 대한 정보를 제공하지 않기 때문에 과연 얼마나 신뢰성이 있는지는 판단하기 힘들었다. 그런데 이 프로그램에 대한 이미지가 나빠진 것은 닥터 바이러스처럼 바이러스만도 못한 악성코드 제거 도구에서는 다간다 엔진을 사용했기 때문이다. 아마 다간다(No-AD)측에서 생존을 위해 아무 업체나 개발을 해주었기 때문에 발생한 일인 것으로 여겨진다.

다음은 최고의 스파이웨어 제거 프로그램이라는 글을 작성하면서 다간다(No-AD), SpyDoctor, Dr.Virus의 파일을 비교한 것이다. 파일 목록을 보면 알 수 있지만 세프로그램 모두 파일 구성이 거의 비슷하다는 것을 알 수 있다. 또 파일 이름이 같은 경우 파일 크기 및 내용은 동일했다.

No-AD SpyDoctor DrVirus
noad.cdv noad.cdv noad.cdv
NoADE.dll NoADE.dll NoADE.dll[3]
NoADM.dll NoADM.dll .
NoADS.dll NoADS.dll NoADS.dll
NoADU.dll NoADD.exe
NoADN.exe
NoADU.dll
SpOrder.Dll SpOrder.Dll SpOrder.Dll
NoAD.sys NoAD.sys .
GUpdate.exe
NoAD.exe
Uninstall.exe

TCE.dll  
SpyAutoUpdate.exe  
SpyDoctor.exe  
UpdateList.html  
track.sdb

DrVirus.dad  
DrVirus.dal  
DrVirus.dll  
mfc42.dll  
msvcp60.dll  
AutoUpdate.exe  
DrVirus.exe  
partner.ini  
사용권계약서.txt  
UpdateList.txt

다잡아 vs 다간다

다잡아(AD-Spider)와 다간다(NO-AD)라는 이 두개의 프로그램은 모두 내가 좋아하지 않는 프로그램이다. 아울러 사용하지 말 것을 권고한다. 그 이유는 간단하다. 다잡아는 회사 부터 프로그램의 성능까지 믿기 힘든 프로그램이다. 다간다는 다잡아에 비해 이런 부정적인 이미지는 없다. 그러나 본문에서 소개했듯 바이러스만도 못한 악성코드 제거 프로그램 중 상당수는 다간다(NO-AD)의 엔진을 사용한다. 또 검색 결과 역시 실제 악성코드인지 아닌지 확인할 수 있는 방법이 없기 때문에 다간다(NO-AD) 역시 사용을 권하지 않는다.

많은 사람들은 무료 악성코드 제거 프로그램으로 악성코드를 제거한다. 그러나 이런 프로그램으로 섣부르게 악성코드를 제거하다가는 시스템이 부팅되지 않는 것과 같은 심각한 문제를 야기할할 수 있다는 점이다. 악성코드는 그 코드가 있다고 해서 반드시 해가되는 것은 아니다. 한예로 HKCU\Software\Microsof\Windows\CurrentVersion\Policies\System\DisableRegistryTools를 보자. 이 레지스트리는 악성코드를 레지스트리 편집기를 이용해서 제거하는 것을 막기 위해 악성 프로그램이 추가한 레지스트리이다.

그런데 문제는 공용 PC 관리자 역시 사용자들이 레지스트리 편집기를 사용하지 못하도록 이 레지스트리를 사용한다. 그런데 악성코드 제거 프로그램으로 이 레지스트리를 제거하면 어떻게될까? 당연한 이야기지만 공용 PC에서 사용자를 제한하는 기능 대부분이 제거된다. 따라서 이런 레지스트리가 발견되면 당연히 이 레지스트리를 변경한 악성코드가 실제로 존재하는지 확인하고 존재하는 경우에만 이 레지스트리를 삭제해야 한다. 그러나 대부분의 악성코드는 이 레지스트리가 존재하면 악성코드로 판정, 이 레지스트리를 삭제한다.

추천 프로그램

악성코드 제거 프로그램은 파일 이름이나 레지스트리 검색만으로 악성코드를 제거하는 것이 아니라 연관성 검사를 한 뒤 악성코드를 제거해야 한다. 그러나 많은 악성코드 제거 프로그램은 이런 연관성을 조사하지 않는다. 이 결과 전혀 엉뚱한 레지스트리, 파일이 삭제될 수 있으며, 이 경우 시스템을 부팅할 수 없는 치명적인 결과를 초래할 수도 있다는 점이다. 따라서 현재 국내에서 사용할 수 있는 악성코드 제거 프로그램 중 내가 추천하는 것은 딱 세개뿐이다.

또 무턱대고 악성코드를 제거하기 보다는 다음 글들을 읽고 실제 악성코드라는 판단이 섰을 때만 악성코드를 제거하는 것이 좋다.

관련 글타래


  1. 물론 이전에 레지스트리에 Aureate라는 키를 생성하는 스파이웨어도 있었다. 그러나 피해가 크지 않아 악성코드라고 생각하지는 못했다. 
  2. 홈페이지에 이 글을 올린 날짜는 2002년 1월 2일로 되어 있다. 그 이유는 2001년까지는 HTML 기반으로 홈페이지를 운영한 뒤 2002년초 DB기반으로 바꾸면서 글을 입력한 날짜가 1월 2일이기 때문이다 
  3. DrVirus를 수동으로 설치한 후 실행하면 다음 그림과 같은 오류가 발생한다. 그러나 SpyDoctor이나 No-AD에서 동일한 파일을 복사한 후 실행하면 정상적으로 실행된다.