본업 2009. 12. 16. 20:12

많은 시간 웹 서비스를 접해 본 분들은 자동이나 혹은 본인의 클릭 또는 어떠한 프로그램 설치와 함께 원치않는 ActiveX 프로그램들이 우리 컴퓨터에 설치되어짐에 대한 경험이 한번 이상은 있을 것이다. (난 처음엔 이런것들도 그저 다 좋은 프로그램들인줄 알았다. 정말 한창 몰랐을때..)

그렇다. 요즘은 인터넷 뱅킹과 같은 중요 웹 서비스 이용을 위해 꼭 필요한 보안 서비스 관련 ActiveX 프로그램들을 제외하고는 거의 대부분이 뜻없는 광고용 프로그램들을 우리 컴퓨터에 설치하려는 ActiveX 설치 함정들이 많이 존재한다. (이들은 때로는 일반적인 프로그램으로서의 역할만을 하지만 몇몇은 악성코드를 통해 사용자의 컴퓨터에 설치되어 해킹툴로서의 역할을 수행하기도 한다. 이에 이들의 설치는 그냥마냥 찝찝한 일이 아닐 수 없다.)

그럼 이와 같은 원치않는 ActiveX 프로그램이 우리 컴퓨터에 설치되는 것을  어떻게 막을 수 있을까? 그 방법이 이 글의 제목과 같이 킬비트(KillBit), 레지스트리를 이용하여 원치않는 ActiveX 프로그램이 우리 컴퓨터에 설치되는 것을 막는 것이다.

킬비트(KillBit)의 동작 원리는 간단하다. ActiveX 프로그램은 그마다 고유의 클래스ID(CLASSID)값을 가지게 되는데, 우리는 이 고유의 클래스ID(CLASSID)를 레지스트리의 특정 부분에 등록해 놓음으로서 우리의 의지와 상관없이 설치 또는 삭제후 재설치됨을 막을 수 있다.

그럼 가장 먼저 ActiveX 프로그램의 클래스ID(CLASSID)를 찾는 법에 대해 알아보자.

1. 시작 > 실행 > msconfig 실행시 화면의 "시작프로그램" 탭에서 우리가 그동안 듣지도 보지도 못한 프로그램이 있는지 확인한다. (우리 의지와는 상관없이 임의적으로 또는 악의적으로 설치되는 ActiveX 프로그램은 주로 시작프로그램에 등록되어 윈도우의 시작과 함께 쭉 작동하게 된다.)

2. 1번에서 프로그램을 확인하였다면 다음, C:\WINDOWS\Download Program Files 폴더로 이동하여 같은 이름의 프로그램 파일을 찾는다. (이 C:\WINDOWS\Download Program Files 폴더에는 웹을 통해 자의든 타의든 어쨌든 다운되어 우리 컴퓨터에 설치된 ActiveX 파일들이 모여있는 곳이다.)

3. 역시 2번에서 같은 이름의 프로그램 파일을 찾았다면 이제 그 파일의 등록정보를 통해 ID를 확인한다. (등록정보 확인을 위해 프로그램 파일 이름에 대고 마우스 오른쪽 버튼 클릭.) 프로그램 파일의 등록정보들 중 "ID"값은 중간쯤에 위치하고 있다. 그래 그것이 바로 이 프로그램의 고유 클래스ID(CLASSID)이다. (ID형태는 주로 "05589FA1-C356-11CE-BF01-00AA0055595A" 와 비슷한다. 참고하길 바란다.)

그런데 아쉽게도 위 1,2,3번은 현재 이미 설치되어진 ActiveX 프로그램의 고유 클래스ID(CLASSID)를 알아보는 방법에 대한 것이다. 다시 말하자면, 이미 설치되어진 ActiveX 프로그램을 삭제때 재설치되어짐을 막기 위한 방법이다. 이 외 아직 설치되지 않은 ActiveX 프로그램에 대한 설치를 막기 위해서는 역시 그들의 클래스ID(CLASSID)를 알아야 한다.

하지만 안타깝게도 설치전 프로그램 정보는 당연히 알수 없다.

그러나 포기는 말자. 우리가 허우적대고있는 인터넷 세상에는 우리와 같은 생각을 가진 분들이 무수하게도 많으시며, 특정 분들은 언제나 우리보다 한 두발은 앞서 움직이신다. 이에 당연 차단해야하는 프로그램들의 리스트를 만들어 놓으셨을 것이다. 우리는 이를 찾아 참고하며, 그 이상은 스스로 업데이트 하면 되는 것이다.

자.

지금까지 차단하고자하는 클래스ID(CLASSID)를 어떻게 찾는지에 대해 알았다. 그럼 이제 ActiveX 프로그램 설치 차단을 위해 찾은 클래스ID(CLASSID)를 레지스트리에 등록하는 법과 등록 후 필요시 다시 해제하는 법에대해 알아보자. 그 설명은 다음과 같다.

(레지스트리 등록 구문)

REGEDIT4
; xxxxx 주석
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{CLASSID}]
"Compatibility Flags"=dword:00000400

(레지스트리 등록 해제 구문)

; xxxxx 주석
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{CLASSID}]

레지스트리에 등록하고 해제하는 법은 간단하다. 그리고 위 구문들에 대해 우리가 이해할 것도 이해해야 함도 없다. 우리는 그냥 위 구문에 등록 및 해제하려는 프로그램의 클래스ID(CLASSID)만 잘 맞춰 써주면 된다. (굵고 껌은 글씨 자리 잘 봐두자.)

마지막으로 다음 첨부 파일들은 위의 레지스트리 등록과 해제 구문에 맞추어 작성하여 실제 등록과 해제에 대한 테스트를 Cyworld 미니홈페 음악 재생 ActiveX 프로그램을 대상으로 해 본 것이다. 궁금하신 분들은 직접 한번씩 해보면서 익혀 두면 좋을 것 같다. (참고로 테스트시 등록 부분은 바로 적용이 되지만, 등록 해제 부분에 대한 레지스트리의 적용은 재부팅후 이루어진다는 것을 알아 두자.)


등록_KillBit.reg

해제_KillBit.reg


posted by [빵]대
: