다음 글은 안철수연구소 홈페이지의 보안컬럼에 2회분으로 연재 되었습니다. :)
휴~~ 겨우 마무리 지었네요.
아쉽긴 하지만 탈고는 언제나 오래된 변비에서 벗어나는 듯한 느낌입니다.

--------------------------------------------------------------------

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

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


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

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


1. 툴바 비활성화 시키기

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

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

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

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

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


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

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

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

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

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

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

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

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


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

4. 악성 툴바 수동 제거 방법(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] 인터넷 익스플로러에 툴바 개체로 등록된 모듈 리스트


5. 악성 툴바 수동 제거 방법(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’에 등록된 모듈들의 리스트를 각각 확인하고 악성 프로그램에 해당하는 항목일 경우 삭제 또는 이름을 변경한 후 시스템을 재부팅해서 결과를 확인한다.


6. 연재를 마치며

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

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

Posted by noenemy
,

다음 글은 안철수연구소 홈페이지의 보안컬럼에 2회분으로 연재될 예정입니다. :)
여담인데 원고 마감일을 지키기는 정말 어렵습니다..
오늘이 마감일인데 새벽 6시에 일어나서 겨우 마무리 지었네요. ^^;

-----------------------------------------------------------------------------------


악성 툴바로부터 PC를 보호하자(1)

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

1. 여는 글

얼마 전 추석 명절을 맞아 고향집을 찾았는데 가장 먼저 한 일은 그동안 컴퓨터에 설치된 각종 악성 프로그램을 제거하는 것이었다. SpyZero를 실행해서 지난 몇 개월 사이에 설치된 많은 악성 프로그램을 찾아 치료하였는데 일부 끈질긴 악성 프로그램들은 수동으로 삭제해줘야 했다.

컴퓨터 보안업계에 근무하다 보니 이렇게 주변 사람들로부터 컴퓨터가 이상해졌으니 점검해달라는 SOS 요청을 종종 받게 된다. 몇 년 전까지만 해도 웜 바이러스에 의한 컴퓨터 성능 저하, 인터넷 속도 저하 등에 대한 문의가 대부분이었지만 최근에는 컴퓨터를 부팅 못하게 하거나 중요 파일을 감염시켜 시스템에 피해를 주는 바이러스 종류가 아니라 사용자를 끈질기게 귀찮게 하는 애드웨어나 스파이웨어에 대한 요청이 대부분이다.

여기서는 여러 종류의 악성 코드 중에서 웹 서핑에 사용되는 인터넷 익스플로어에 애드온(add-on) 형태로 설치된 이후 제대로 삭제되지 않는 악성 툴바가 설치되는 것을 예방하고 몇 가지 예를 통해 툴바를 삭제하는 방법에 대해서 알아보도록 하겠다.

[그림 1] 인터넷 익스플로어에 추가된 Search the web 툴바(좌), 야후툴바(우)


2. 툴바와의 만남

포털 사이트에서 ‘툴바 제거’라는 키워드로 검색해보면 많은 사용자들이 툴바가 삭제되지 않아서 도움을 요청하는 글들을 쉽게 찾을 수 있다. 대부분의 툴바는 인터넷 익스플로어의 기능을 확장할 수 있도록 제공되는 BHO(Browser Helper Object)라는 기술을 이용하고 있다. 원래의 취지에 맞게 사용자에게 보다 편리하고 다양한 서비스를 제공하는 좋은 툴바도 많지만 이를 악용하고 있는 악성 툴바들 때문에 많은 사용자들이 피해를 입고 있는 것이다.

[용어 설명] BHO(Browser Helper Object)

가장 많이 사용되는 웹 브라우저인 인터넷 익스플로어의 기능을 외부 플러그인을 이용해서 확장할 수 있도록 설계된 기술이다. 웹 브라우저의 툴바에 추가되는 등의 방법으로 사용자에게 다양한 추가 기능을 제공한다. 하지만 상업적이거나 악의적인 목적으로 사용되어 개인정보를 유출하거나 광고나 특정 사이트로 강제 이동하는 등의 기능을 수행하기도 한다.

인터넷 익스플로어는 실행될 때 시스템의 레지스트리에서
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects에 등록된 모듈들을 로드하도록 구현되어 있다. 이렇게 로드된 BHO 개체는 사용자가 인터넷을 서핑하는 과정에 참여하여 다양한 확장 기능을 제공할 수 있게 된다.

이러한 프로그램들은 어떠한 경로로 설치가 되는 것일까. 인터넷 사용중에 악성 프로그램이 컴퓨터에 무단으로 설치되는 것을 막기 위해서 다음과 같은 창을 통해 사용자로부터 최종 확인 과정을 거치게 된다.하지만 일반 사용자에게는 이것을 판단해야 하는 것이 매우 곤욕스럽고도 어려운 선택의 시간이다. 특히 툴바의 경우에는 사용자에게 인터넷 사용을 더욱 편리하게 도와준다는 각종 미사여구로 포장되어 있어 무심코 설치를 허용하기 쉽다.

[그림 2] 실행해도 괜찮을까?

상업적 목적으로 제작된 툴바들은 웹 서핑하는 과정 중에 사용자가 원하지 않는 정보를 계속해서 노출시키는 특징을 가지고 있다. 예를 들면 시작페이지를 특정 사이트로 고정시키거나 서핑 중에 광고 팝업 창을 주기적을 띄운다든지 또는 자체 검색결과 화면으로 이동시켜 광고주 웹 사이트로 접근을 유도하는 등의 기능을 제공한다.


3. 끈질긴 생명력, 삭제되지 않는 툴바

악성 툴바의 가장 큰 특징은 프로그램 삭제가 제대로 되지 않는다는 것이다. 사용자에게 얼마나 편리한 기능을 제공하든 일단 프로그램은 기본적으로 설치가 되었으면 삭제될 수 있도록 제작되어야 한다.

하지만 필자가 확인한 악성 툴바는 프로그램을 제거할 경우 ① 왜 삭제하는 것인 이유를 입력하라며 삭제 과정을 어렵게 하거나 ② 삭제 과정 중에 알 수 없는 오류메시지를 보여주며 삭제가 되지 않거나 ③ 정상적으로 삭제된 것처럼 보이지만 실제로는 삭제되지 않거나 ④ 삭제시 인터넷 익스플로어의 주소 창을 제거하여 재설치 하도록 유도하는 등의 유형을 확인할 수 있었다.

예를 들어 와우 툴바의 경우 [제어판]의 [프로그램 추가/제거]에서 제품 삭제를 실행하였고 정상적인 삭제 과정이 진행되었다. 하지만 그림 3에서 볼 수 있는 것과 같이 안철수연구소의 SpyZero 프로그램으로 진단한 결과 삭제되지 않고 남아 있음을 확인할 수 있었다.

[그림 3] 와우툴바를 삭제(좌)한 후에도 툴바의 구성요소는 여전히 남아 있다.(우)

이러한 상업적인 툴바를 제작하여 배포하는 사이트를 방문해보면 편리한 기능을 제공하는 툴바이며 삭제가 되지 않을 경우에는 수동으로 삭제하는 방법이나 전용 삭제툴을 제공하고 있는 곳도 있다. 하지만 면책용으로 포장하였을 뿐 프로그램 자체적으로 삭제가 제대로 되지 않고, 일일이 찾아서 수동으로 제거해줘야 한다는 것 자체가 사용자들을 기만하는 것이라고 생각한다.


4. 설치하지 않는 것이 가장 중요

일단 설치되면 삭제되지 않고 끈질기게 사용자를 괴롭히기 시작하므로 악성 툴바일 경우에는 설치하지 않는 것이 최선의 방어책이다. 이러한 툴바는 ① 성인 사이트나 커뮤니티에서 유혹적인 문구를 이용해서 사용자를 유인한 뒤에 설치 프로그램을 강제로 다운로드 시키거나 ② 쉐어웨어에 포함되어 함께 설치되는 방법을 많이 사용하고 있다.

따라서 인터넷 서핑 중에 프로그램을 실행하거나 ActiveX를 설치할 것인지 확인하는 경우라면 신뢰할 수 있는 웹 사이트인지 확인하고, 쉐어웨어 설치시에는 불필요한 프로그램이 함께 설치되지 않도록 주의를 기울여야 한다.

* 악성 툴바가 설치되는 것을 예방하려면

1. 성인 사이트나 지나치게 상업적인 사이트에서 다운로드 받은 파일을 실행하지 않는다.
2. P2P 파일 공유사이트에서 받은 파일을 실행하지 않는다.
3. 광고 메일에 첨부되거나 링크를 통해 다운로드된 파일을 실행하지 않는다.
4. 악성코드 진단프로그램으로 가장한 경우도 있으므로 믿을 수 있는 설치시 보안프로그램인지 확인한다.
5. 인터넷 익스플로어의 팝업 차단 기능을 사용한다. (신뢰할 수 있는 사이트에 대해서만 팝업을 허용하도록 설정한다.)
6. 다음과 같은 툴바는 잘 삭제되지 않는다고 알려져 있으므로 주의한다.
- 와우툴바, 야후툴바, 네오툴바, 엔바, 유니툴바, 알뜰툴바, 바이툴바, Tibi툴바, 텔레잡툴바, 유턴툴바, 이지툴바, 컴젠툴바, 캐시온툴바, Search the Web, Window Search Helper 등
7. 프로그램 설치 전에 프로그램명이나 실행파일명을 이용해서 포털사이트에서 검색해보고 피해를 입은 사례가 없는지 확인한다.

이번 호에서는 악성 툴바의 특징과 예방법에 대해서 알아보았다. 다음 호에서는 몇 가지 예를 통해서 설치된 툴바를 제거하는 방법에 대해서 알아보도록 하겠다. (계속)


Posted by noenemy
,