본문 바로가기

벌새::Analysis

검색 도우미 : Keymatch

인터넷 검색시 네이트(nate.com) 시맨틱 검색 연결 및 광고 코드가 추가된 인터넷 쇼핑몰 광고창을 생성하는 검색 도우미 Keymatch 프로그램에 대해 살펴보도록 하겠습니다.

 

특히 해당 프로그램은 Keymatch 프로그램이 생성한 프로세스 보호 기능과 인터넷 옵션 중 "타사의 브라우저 확장 기능 사용" 기능을 기본값(사용)으로 변경하지 못하게 방해하는 기능이 포함되어 있는 것이 특징입니다.

 

해당 프로그램의 설치 파일(MD5 : 9581f42910d562fa9886e2350bfb9c6d)에 대하여 Hauri ViRobot 보안 제품에서는 Adware.Keymatch.619992 (VirusTotal : 3/41) 진단명으로 진단되고 있으므로 참고하시기 바랍니다.

 

[생성 폴더 / 파일 등록 정보]

 

C:\Documents and Settings\(사용자 계정)\Application Data\keymatch :: 숨김(H) 속성 폴더
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\dns.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\echo.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\excepturl.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\exceptwrd.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keyinit.exe
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keymatch.dll :: BHO 등록 파일
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keymc.exe :: 시작 프로그램 등록 파일
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keyuninit.exe :: 프로그램 삭제 파일
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\popc.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\qur.dat

 

해당 프로그램은 사용자가 확인하기 어려운 숨김(H) 속성값을 가지는 폴더 내의 "C:\Documents and Settings\(사용자 계정)\Application Data\keymatch" 폴더에 파일을 생성하며, Windows 시작시 keymc.exe 파일을 시작 프로그램으로 등록하여 파일 체크를 통한 업데이트를 하도록 구성되어 있습니다. 

   검색 도우미 : Dual Matching (2011.12.17)

 

  검색 도우미 : DualMatching (2012.3.15)

 

  검색 도우미 : FindLock (2012.4.2)

 

최초 설치된 프로그램의 구성 요소를 확인해보면 기존의 Dual Matching 계열 검색 도우미 프로그램과 유사성이 강한 것을 확인할 수 있습니다. 

[추가 기능 관리 : 도구 모음 및 확장 프로그램]

 

이름 : keymatch

게시자 : JAMIcommunication

유형 : 브라우저 도우미 개체

CLSID : {00119E6D-6DDE-4E2D-BC70-6075767B92EF}

파일 : C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keymatch.dll

 

최초 설치된 프로그램은 keymatch.dll 파일을 브라우저 도우미 개체(BHO)로 등록하여 인터넷 이용 과정에서 광고창 생성 등의 광고 동작을 하도록 제작되어 있는 것을 확인할 수 있습니다.

 

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
 - keymatch = C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keymc.exe

 

그런데 시작 프로그램으로 등록된 keymc.exe 파일은 시스템 재부팅 과정에서 다음과 같은 업데이트를 통해 Keymatch 주요 파일을 삭제하고 새로운 파일로 변경을 시도합니다. 

  • C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keyinit.exe
  • C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keymc.exe
  • C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keyuninit.exe

즉, 기존의 keyinit.exe, keymc.exe, keyuninit.exe 파일을 삭제 처리하고 새롭게 업데이트된 다음과 같은 파일을 생성합니다. 

  • C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\kmagt.exe
  • C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\kmdelete.exe
  • C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\kmlink.exe

이를 통해 최종적으로 재구성된 Keymatch 검색 도우미 프로그램은 다음과 같은 파일 구성을 이루게 됩니다.

 

[생성 폴더 / 파일 등록 정보]

 

C:\Documents and Settings\(사용자 계정)\Application Data\keymatch :: 숨김(H) 속성 폴더
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\dns.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\echo.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\excepturl.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\exceptwrd.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keymatch.dll :: BHO 등록 파일
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\kmagt.exe :: 시작 프로그램 등록 파일 / 메모리 상주 프로세스
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\kmdelete.exe :: 프로그램 삭제 파일
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\kmlink.exe :: 메모리 상주 프로세스
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\popc.dat
C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\qur.dat

 

해당 프로그램은 Windows 시작시 kmagt.exe 파일을 시작 프로그램으로 등록하여 자동 실행되어 추가적으로 kmlink.exe 파일을 로딩하여 함께 메모리에 상주하도록 제작되어 있습니다. 

우선 광고 기능을 살펴보면 Internet Explorer 웹 브라우저의 주소 표시줄에 검색어를 입력할 경우, 네이트 시맨틱 검색 결과로 연결이 이루어지는 동작을 확인할 수 있습니다. 

해당 연결 과정을 살펴보면 특정 광고 서버를 경유하여 사용자가 입력한 키워드 값을 참조하여 네이트 검색 결과가 노출되는 동작을 확인할 수 있습니다. 

또 다른 광고 기능으로 Keymatch 프로그램 설치로 인하여 Internet Explorer 웹 브라우저의 탭(Tab) 설정값이 변경되어 그림과 같이 창 방식이 아닌 탭 방식으로 검색 결과가 노출되며, Keymatch 프로그램이 생성하는 광고 코드(click.clickstory.co.kr)가 추가된 광고창을 새 창 방식으로 노출되도록 제작되어 있습니다.

 

이제부터 흥미로운 기능을 확인해보면 업데이트된 Keymatch 프로그램은 브라우저 도우미 개체(BHO)로 등록된 "C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\keymatch.dll" 파일의 기능을 이용하지 못하도록 kmagt.exe 프로세스를 통해 실시간으로 차단하는 동작을 확인할 수 있습니다. 

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main
 - Enable Browser Extensions = yes :: 변경 전(기본값)
 - Enable Browser Extensions = no :: 변경 후

 

즉, 사용자가 인터넷 옵션에서 "타사의 브라우저 확장 기능 사용" 항목에 체크를 하여도 메모리에 상주하는 kmagt.exe 프로세스는 반복적으로 레지스트리 값을 수정하여 Internet Explorer 웹 브라우저에 등록된 브라우저 도우미 개체(BHO) 기능을 사용할 수 없게 합니다.

 

이는 단순히 Keymatch 프로그램이 등록한 keymatch.dll 파일 기능 뿐 아니라 정상적인 프로그램이 등록된 모든 확장 프로그램의 기능에 영향을 주는 악의적인 동작입니다. 

다른 하나의 기능은 Keymatch 프로그램이 생성한 kmagt.exe, kmlink.exe 프로세스를 사용자가 수동으로 종료를 시도할 경우 서로를 보호하여 프로세스 종료를 방해하는 동작이 있습니다. 

해당 프로세스 보호 기능을 우회하여 종료하기 위해서는 개별 프로세스를 종료하지 마시고, Process Explorer 툴을 이용하여 그림과 같이 부모 프로세스(※ 고정값이 아닙니다.)를 선택하여 마우스 우클릭을 통해 생성된 하위 메뉴 중 "Kill Process Tree" 기능을 이용하여 종료를 시도하시면 정상적으로 2개의 프로세스가 함께 종료됩니다. 

프로그램 삭제는 제어판의 "keymatch" 삭제 항목을 이용하여 삭제할 수 있습니다.

 

[생성 레지스트리 등록 정보]

 

HKEY_CURRENT_USER\Software\_keymatch
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TabbedBrowsing
 - Enabled = 1
 - PopupsUseNewWindow = 2
 - ShortcutBehavior = 0
 - WarnOnClose = 0
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
 - keymatch = C:\Documents and Settings\(사용자 계정)\Application Data\keymatch\kmagt.exe
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall\keymatch
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00119E6D-6DDE-4E2D-BC70-6075767B92EF}
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\{00119E6D-6DDE-4E2D-BC70-6075767B92EF}

프로그램 삭제 후에는 반드시 인터넷 옵션의 고급탭에서 "타사의 브라우저 확장 기능 사용" 항목에 체크를 한 후, 웹 브라우저를 종료하여 재실행하시면 기존에 사용하시는 정상적인 소프트웨어가 웹 브라우저 상에서 동작하는데 문제가 없습니다.