안철수연구소

악성코드보다 더 불편한 PUP, 확실한 제거 방법

일취월장7 2015. 6. 11. 09:18

악성코드보다 더 불편한 PUP, 확실한 제거 방법

  • AhnLab
  • 2015-06-09

PUP(Potentially Unwanted Program)는 교묘하게 사용자의 동의를 얻어 내고 설치되기 때문에 악성코드로 분류하는데 어려움이 있다. 따라서 불필요한 프로그램으로 별도로 분류된다. 일반 사용자에게는 오히려 악성코드보다 더 불편함을 준다. 악성코드는 오래 머물기 위해 사용자 몰래 실행되어 백그라운드로 동작한다. 반면 PUP의 주된 목적은 사용자에게 더 많은 광고를 노출하거나 특정 프로그램의 사용을 유도하는 것이 목적인 만큼 실제 사용자에게는 악성코드보다 더 악성처럼 느껴진다.

 

최근에는 이러한 PUP를 수동으로 제거하는 것이 더욱 어려워졌다. 설치 후 제거 프로그램 (Uninstall)이 [제어판] → [프로그램 제거]에서 확인된다. 하지만 제거 프로그램을 실행해도 정상적으로 제거되지 않는 경우가 많다. 이처럼 제거가 어려워 사용자에게 더욱 불편을 주는 특정 PUP 프로그램에 대해 알아보자.

 

PUP 설치에 발견된 ‘Our*******_installer.exe 파일은 installer 실행 후에는 추가 파일을 다운로드하여 이후 ‘Serch *******’ 프로그램을 설치한다.

 

[그림 1] Our*******_insaller.exe

 

해당 설치 파일로 인해 설치된 PUP프로그램의 특징은 다음과 같다.

 

1. **** Uninstaller 등록
2. 프로그램 제거 후 브라우저 실행 시 시작페이지가 원상 복구되지 않는 증상

 

위의 위의 PUP에 대해 자세히 살펴보면 다음과 같다.

 

PUP 'Search *******'의 기능

해당 프로그램이 설치되면 다음과 같이 사용자의 시스템 메모리에 상주하며 설치된 웹브라우저의 기본 페이지, 기본 검색 공급자를 Temp폴더 경로의 HomePage.dat 파일 내용으로 변경한다.



[표 1] PUP 설치 후 실행 중인 프로세스(위), HomePage.dat 파일 내용(아래)

 

[그림 2] 크롬, 인터넷 익스플로러 브라우저에 등록된 시작 페이지

 

작업 표시줄 트레이에서 확인되는 설치된 PUP는 [그림 3]과 같다. Other 선택 후 사용자가 수동으로 다른 페이지를 입력하면 해당 페이지가 시작 페이지로 설정된다. 다만, 기본 검색 공급자는 사용자가 설정할 수 없으며 Homepage.dat 파일 내용의 URL로 설정된다.

 

[그림 3] Search ******* 프로그램

 

1. **** Uninstaller 등록

일반적으로 위와 같이 PUP가 설치된 경우 제어판에서 제거 프로그램을 실행하면 정상적으로 제거될 것으로 보인다. 하지만 [제어판] → 프로그램 제거] 항목에서 '********** uninstall' 확인 후 [프로그램 제거]를 시도하면 프로그램 제거가 진행되는 것처럼 보이지만 [그림 4]와 같이 progress bar가 모두 진행된 이후에도 추가 동작하지 않는다. continue 버튼을 누르면, Repare 버튼이 나타나고, 이 버튼을 누르면 복원했다는 메시지가 나타나지만 실제로는 어떤 동작도 하지 않는다.
 

[그림 4] ********** uninstall 실행


continue 버튼을 누르지 않고 종료 버튼(X 버튼)을 누르더라도 정상으로 관련 프로그램이 삭제되지는 않는다. 해당 Uninstaller 파일은 단순히 UI만 보여주는 역할을 하며, 이를 위한 파일들은 PUP 프로그램의 경로가 아닌, 별도의 폴더에 존재한다.

 

​[표 2] 설치된 PUP 경로(위), 제어판의 제거 프로그램 경로(아래) 비교

 

[그림 5] 설치된 PUP 폴더(왼쪽), 제어판에서 등록된 Uninstall 폴더(오른쪽) 비교

 

실제 설치된 PUP를 제거하는 기능을 가진 파일은 [그림 5]에서 확인되는 'C:\Program files\****\uninstall.exe' 파일이다. 따라서 사용자가 [제어판 > 프로그램 제거]에서 삭제를 시도하더라도 설치된 PUP는 삭제되지 않는다. 'C:\Program files\****\uninstall.exe' 파일을 실행해야 제거할 수 있다.

 

[그림 6] C:\Program files\****\uninstall.exe 실행 화면

 


2. 프로그램 제거 후 브라우저 실행 시 시작페이지가 원래대로 복구되지 않는 증상

실제 uninstall.exe를 찾았다면 프로그램을 삭제한 후 사용자는 브라우저를 실행할 것이다. 하지만 브라우저 실행 시 PUP가 제거됐음에도 불구하고 시작페이지가 o********* 검색페이지로 나타난다.




[그림 7] 브라우저 실행 시 시작 페이지

 

이는 [그림 8]과 같이 해당 PUP 설치 시 브라우저 lnk 파일의 [대상]에 브라우저의 파라미터(Parameter)로 URL을 등록하기 때문이다.



 

[그림 8] 브라우저 lnk 파일에 등록된 URL - 크롬(왼쪽), 인터넷 익스플로러(가운데), 파이어폭스(오른쪽)

 

일반적으로 사용자는 바탕화면, 시작프로그램, 작업표시줄(시작버튼 표시줄)의 lnk 파일을 눌러 브라우저를 실행하기 때문에 이와 같이 lnk 파일의 [대상]에 특정 URL이 파라미터로 등록할 경우 PUP가 제거되더라도 브라우저 실행 시 URL 페이지를 실행한다. 따라서 위와 같은 증상이 나타나면 다음과 같은 조치를 해야 한다.

 

 변경된 lnk 파일 삭제 후 재생성(또는 파일 속성 → [대상] 수정)

       

 [표 3] 바탕화면, 시작메뉴 및 작업표시줄 lnk 파일 경로

 

만약 삭제하고 싶지 않다면 해당 파일을 선택한 후 속성을 클릭하여 [대상]에서 실행하는 브라우저 프로그램명 뒤의 URL 부분을 삭제한 후 [적용]을 클릭하면 된다.

 

또한, 해당 PUP는 [표 4]와 같이 레지스트리를 변경하므로, 레지스트리 확인이 가능하다면 확인 후 기본값으로 수정하길 권한다.

 

  ​[표 4] 인터넷 익스플로러 설정 관련 레지스트리 경로

 

참고로 설치 시 윈도 파워셀(PowerShell)을 이용하여 설치를 진행하는 것으로 확인되며, 이에 윈도 파워셀이 기본으로 설치돼 있지 않은 윈도 XP PC일 경우 정상적으로 설치되지 않을 수 있다(다만 2번 항목의 증상은 나타난다).

 

이처럼 최근에 발견되는 PUP는 제거를 어렵게 하기 위해 다양한 방법을 사용한다. 이로 인해 사용자는 더 큰 불편을 겪는다. 따라서 웹에서 프로그램을 다운로드할 때는 정식 프로그램 배포 사이트를 이용해야 하며, 다운로드 전송 프로그램을 통해 프로그램을 다운로드 받을 때도 반드시 숨겨진 동의 버튼이 없는지 다시 한번 확인이 필요하다. @