본문 바로가기

유익한 거리

악성 툴바로부터 PC를 보호하자 [2]

 
악성 툴바로부터 PC를 보호하자 [2][2006-11-01]
지난 호에서는 설치된 이후에 삭제가 되지 않는 악성 툴바의 특징과 설치되는 경로를 알아보고 신뢰할 수 없는 웹 사이트나 P2P 서비스 등을 통해서 배포되는 프로그램을 설치하지 않는 것이 악성 툴바가 설치되지 않도록 예방하는 방법임을 알아보았다.

이번 호에서는 실제로 악성 툴바가 설치된 이후에 삭제하는 방법에 대해서 알아보도록 하겠다. 악성 툴바의 종류와 동작 방법이 다양하기 때문에 모든 악성 툴바에 대한 삭제 방법을 이 글을 통해서 다루기는 어려움이 있다. 여기서는 악성 툴바들이 일반적으로 사용하는 기술을 위주로 그 대처 방법에 대해서 알아보도록 하겠다.

툴바 비활성화 시키기

먼저 가장 일반적인 방법부터 알아보자. 인터넷 익스플로러에 설치된 툴바는 원래 그 기능을 활성화시키고 비활성화 시킬 수 있도록 되어 있다.

[그림 1]과 같이 인터넷 익스플로러에서 툴바 부분을 오른쪽 마우스 버튼으로 클릭하면 컨텍스트 메뉴가 펼쳐지는데 인터넷 익스플로러에 등록되어 있는 툴바의 목록을 확인할 수 있다. 여기서 체크(V) 표시가 되어 있는 것이 현재 인터넷 익스플로러에서 사용중인 툴바이다. 이 항목을 클릭해서 체크 표시를 없애면 해당 툴바는 비활성화 상태가 된다.


[그림 1] 툴바 비활성화 시키기

정상적인 형태의 툴바는 이렇게 비활성화 시키는 것만으로도 기능이 실행되지 않도록 할 수 있다. 하지만 악성 툴바는 비활성화 시켜도 인터넷 익스플로러를 새로 실행하거나 시스템이 재부팅된 이후에는 다시 활성화 상태로 복귀하거나 툴바가 비활성화 된다. 하지만 다른 형태로 사용자 몰래 실행되어 광고 팝업 창을 띄우는 등의 행위를 한다.

이러한 방법으로도 툴바가 비활성화되지 않거나 프로그램 자체를 삭제하고 싶으면 [제어판] – [프로그램 추가/제거]에서 설치된 해당 툴바 프로그램을 찾아서 삭제를 한다. 이 과정을 거치면 삭제 되는 게 정상적인 경우이지만 악성 툴바는 삭제가 되지 않거나 삭제가 된 것처럼 보여주지만 실제로는 삭제되지 않는 등의 동작을 하게 된다.

악성 프로그램 진단 서비스 이용하기

의심되는 툴바를 삭제 했는데도 불구하고 원하지 않는 웹 사이트로 이동되거나 광고 팝업 창이 계속 보여지거나 인터넷 서핑하는 데 반응속도가 느려지는 경우가 있다. 이럴 때 일반 사용자가 가장 손쉽게 대처할 수 있는 방법은 악성 프로그램을 찾아서 치료해주는 안티 스파이웨어, 안티 애드웨어 프로그램을 실행하는 것이다.

최근에는 악성 프로그램을 진단하고 치료해주는 서비스가 많은 웹 사이트를 통해서 제공되고 있다. 이 서비스들은 대부분 진단과 치료 기능이 분리되어 있어, 진단은 무료, 실제 치료 시에만 수수료를 받는 방식을 취하고 있다. 따라서 일단 악성 툴바에 감염이 되었는지 아닌지의 여부는 이러한 악성 프로그램 감지 서비스를 이용해서 확인이 가능하다.

한 예로 안철수연구소의 보안클리닉에서 제공하는 SpyZero 서비스(http://clinic.ahnlab.com/clinic/spyzero.jsp)를 통해서 필자의 PC를 검사해 보았다. 진단 자체는 무료로 제공되므로 별다른 로그인 과정 없이도 스파이제로의 진단 기능을 이용할 수 있다.


[그림 2] 보안업체에서 제공하는 무료 진단기???이용해보자.

대부분의 안티 스파이웨어 경우 무료 진단 기능을 이용해서 찾은 악성 프로그램을 실제로 사용자의 PC에서 제거하거나 치료하려면 일정 수수료를 결제하도록 되어 있다. 하지만 눈을 뜨고 있어도 코 베어간다는 세상에 살고 있으므로 여기에도 함정이 있을 수 있다는 사실에 주의해야 한다. 타사의 안티 스파이웨어 프로그램보다 진단률이 높은 것처럼 보이기 위해서 ① 정상적인 프로그램을 악성 프로그램인 것처럼 진단 결과를 보여준다든지, ② 치료를 위해 결제를 했는데도 치료되지 않고 매번 치료를 요구하는 프로그램도 있다. 심지어는 ③ 악성 프로그램을 제거해준다는 보안 프로그램 자체가 애드웨어나 스파이웨어인 경우도 있으므로 믿을 수 있는 업체의 서비스를 이용하는 것이 좋다.


[그림 3] 악성코드 제거 프로그램 사용시 진단은 무료, 치료는 유료인 경우가 많다.

만약 치료를 위해 비용을 지불했는데도 불구하고 여전히 악성 프로그램이 삭제되지 않고 실행된다면 해당 업체의 고객센터에 연락해서 기술지원을 요청하도록 하자. 일부 악성 코드의 경우는 치료를 위해 몇 차례 재부팅을 해야 한다든지 또는 안전모드로 컴퓨터를 부팅한 상태에서만 치료가 된다든지 하는 제약사항이 있을 수도 있다.

악성 툴바 수동 제거 방법(1) – 툴바가 설치된 위치 찾기

이제 악성 툴바를 수동으로 제거하는 방법을 알아보도록 하자. 이러한 악성 코드들은 운영체제에서 제공해주는 기능이나 정책을 역으로 이용하는 경우가 많다. 따라서 윈도우 운영체제와 인터넷 익스플로러의 내부 동작 원리를 이해한다면 귀찮기는 하지만 수동으로 제거하는 것이 가능하다.

하지만 이를 위해서 설치된 악성 프로그램 파일과 해당 프로그램에서 사용하는 레지스트리 항목을 수정 또는 삭제해야 하는데 이 과정 중에 정상적인 항목을 변경할 경우 시스템에 심각한 오류가 발생할 수도 있으므로 각별히 주의해야 한다.

먼저 악성 툴바가 동작하려면 인터넷 익스플로러가 실행될 때 악성 툴바 모듈을 로드해서 함께 실행되어 한다. 따라서 악성 툴바의 모듈(일반적으로 .dll 파일임)이 사용자 컴퓨터의 어딘가에 저장되어 있어야 한다. 컴퓨터에서 실행 중인 프로세스에 대한 정보를 확인할 수 있는 무료 유틸리티인 Process Explorer를 이용해서 어떠한 모듈들이 인터넷 익스플로러에 로드 되어 있는지 확인하는 방법을 알아보도록 하자.

1. Process Explorer 프로그램을 실행한다.
(http://www.sysinternals.com/Utilities/ProcessExplorer.html에서 무료로 다운로드해서 기능 제한 없이 사용할 수 있다.)

2. [View] 메뉴에서 [Lower Pan View] – [DLLs]를 선택한다. 이로써 Process Explorer 상단에는 프로세스 목록이 보여지고 하단에는 특정 프로세스에서 로드하고 있는 모든 모듈의 리스트가 보여지게 된다.

3. Process 목록에서 인터넷 익스플로러 프로세스인 ‘IEXPLORER.EXE’를 선택한다.

4. 하단에 보여지는 모듈 리스트에서 악성 툴바와 관련된 모듈을 찾는다. 이는 리스트에서‘Description’과 ‘Company Name’ 항목을 보면 인터넷 익스플로러 실행에 필요한 기본 파일인지 아니면 Add-on 형태로 추가된 모듈인지 어느 정도 추측이 가능하다. 의심되는 파일명에 대한 정보를 검색 사이트를 이용해서 찾아보는 것도 좋은 방법이다.


[그림 4] Process Explorer를 이용해서 인터넷 익스플로러에 로드된 Windows Search Helper 모듈이 설치된 위치를 찾은 모습

5. 필자의 경우 애드웨어나 악성 툴바로 의심되는 다음과 같은 모듈들의 위치를 찾을 수 있었다. 특정 모듈을 클릭하면 해당 모듈이 위치한 전체 경로를 알 수 있다.
C:\Program Files\Windows Search Helper\shsharp.dll
C:\Program Files\wOcash\wOcash.dll

6. 실행중인 인터넷 익스플로러 창을 모두 종료한다.

7. 위에서 찾은 모듈이 실제 악성코드인지 판단하는 것은 일반 사용자에게 어려운 일이다. 이들 파일을 제거함으로써 인터넷 익스플로러의 실행 정상적으로 되지 않을 수도 있으므로 하나씩 파일명만 다른 이름으로 바꾼 뒤 인터넷 익스플로러를 재실행 해본다.

8. 인터넷 익스플로러가 정상 동작하고 Process Explorer에서 확인한 모듈 리스트에서 해당 모듈이 보이지 않아야 한다. 만약 특정 모듈의 이름을 변경한 뒤에 인터넷 익스플로러가 제대로 동작하지 않는다면 원래 이름으로 바꾼 뒤에 다시 인터넷 익스플로러를 실행한다.

악성 툴바 수동 제거 방법(2) – 레지스트리에 등록된 항목 찾기

이제 컴퓨터 레지스트리에 등록된 악성 툴바 관련된 정보를 찾아서 삭제해보자. 레지스트리(registry)란 운영체제 및 각종 프로그램들이 실행되는데 필요한 정보들을 저장할 수 있는 공간이다. 악성 툴바들도 실행되기 위해서 필요한 정보들을 레지스트리에 저장하게 되는데 이러한 항목을 찾아서 삭제 또는 수정해주면 악성 툴바의 실행을 막을 수 있다.

1. 윈도우 [시작] 메뉴에서 [실행] 항목을 실행하고 레지스트리를 편집하기 위해 ‘regedit.exe’를 실행한다.

2. 지난 호에서 인터넷 익스플로어 기능을 확장하기 위한 방법으로 BHO(Browser Helper Object) 기술을 사용한다고 설명한 바 있다. 인터넷 익스플로어는 실행될 때 시스템의 레지스트리의
‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects’에 등록된 모듈들의 리스트를 확인한다.


[그림 5] BHO 개체로 등록된 모듈 리스트

3. BHO로 등록된 개체에는 정상적인 개체도 있으므로 레지스트리 정보를 삭제하기 전에 악성 툴바에 대한 내용인지 확인하는 과정이 반드시 필요하다. Ctrl+F 키를 누르고 검색 기능을 이용해서 여기에 등록된 BHO 개체 키가 등록된 항목을 찾고 등록된 파일명이나 설치 경로 등의 정보를 확인해서 악성 툴바에 해당하는 정보일 경우 삭제한다.

4. 위 방법과 마찬가지로 인터넷 익스플로러에 등록된 툴바 개체에 대한 정보를 찾는다. 이 모듈에 대한 정보는 ‘HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\Toolbar\WebBrowser’ 항목에 등록되어 있다. 동일한 방법으로 Ctrl+F 키를 누르고 등록된 툴바 개체에 대한 항목을 찾고 악성 툴바에 해당하는 정보일 경우 삭제한다.


[그림 6] 인터넷 익스플로러에 툴바 개체로 등록된 모듈 리스트

악성 툴바 수동 제거 방법(3) – 숙주를 찾아서 제거하기

위의 방법대로 악성 툴바에 해당하는 모듈과 레지스트리 항목을 제거했지만 컴퓨터를 재시작하?다시 어디선가 툴바가 나타나는 경우가 있다. 이는 악성 툴바는 제거했지만 실제 악성 툴바를 계속해서 만들어내는 숙주 프로그램이 남아 있기 때문에 나타나는 증상이다. 윈도우 운영체제는 부팅되는 시점에 어떤 프로그램이 실행될 수 있는 기능을 제공하고 있는데 이 정보도 앞서 살펴 본 레지스트리에 저장된다.

1. 윈도우 [시작] 메뉴에서 [실행] 항목을 실행하고 레지스트리를 편집하기 위해 ‘regedit.exe’를 실행한다.

2. ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run’에 등록된 모듈들의 리스트를 확인한다. 이 곳에 등록된 프로그램들은 매번 시스템이 부팅될 때마다 실행되도록 되어 있다. 이 곳에는 정상적인 프로그램에서 등록된 것도 많으므로 등록된 경로와 파일명을 하나씩 찾아서 올바른 파일인지 악성 프로그램인지 확인하는 과정이 필요하다. 등록된 실행 파일명을 검색 사이트를 이용해서 찾아보고 악성 프로그램으로 의심될 경우 파일명을 변경한 후에 시스템을 재부팅 해본다.


[그림 7] 시스템 부팅시 마다 실행되도록 등록된 프로그램 목록

4. 위와 동일한 방법으로 ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce’, ‘HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx’, ‘HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce’, ‘HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx’에 등록된 모듈들의 리스트를 각각 확인하고 악성 프로그램에 해당하는 항목일 경우 삭제 또는 이름을 변경한 후 시스템을 재부팅해서 결과를 확인한다.

연재를 마치며

지금까지 2회에 걸쳐 악성 툴바의 특징과 설치되지 않도록 예방하는 방법, 설치된 악성 툴바를 진단하고 수동으로 삭제하는 방법을 알아 보았다. 현재 배포되고 있는 악성 툴바의 종류도 다양하고 정상적인 툴바와 악성 툴바의 구분 또한 어려운 상황이다. 따라서 이 글에서 다룬 내용이 얼마나 실제 악성 툴바가 설치되어 고생하고 있는 사용자에게 얼마나 도움이 될지는 미지수이다.

다시 한번 강조하지만 악성 툴바가 설치되지 않도록 신뢰할 수 없는 사이트, 출처를 알 수 없는 경로를 통해서 받은 프로그램은 설치와 실행을 하지 않는 것이 가장 중요하다. 또한 광고 수익이나 기타 자사의 목적을 위해서 다수의 사용자에게 불편함을 주도록 악성 툴바를
개발하고 배포하는 업체들이 윤리의식을 가지고 보다 양심적으로 기업활동을 했으면 하는 소박한 바램을 가져본다.

[관련글] 악성 툴바로부터 PC를 보호하자 [Ⅰ]

[저자] 김순근 안철수연구소 주임연구원, Microsoft VC++ MVP

* 출처 : 안철수연구소