Mylabs

Usp10.dll 교체 (?) 악성코드 본문

Malware

Usp10.dll 교체 (?) 악성코드

[Edge] 2009. 11. 26. 17:24

최근 WPF 에 의해 보호받고 있는 시스템 파일들을 변조하거나, 교체하는 악성코드가 많이 나오고 있다.
때문에 wpf를 무력화 하는 코드도 포함하고 있는 경우들이 많다.

Linkinfo.dll 을 비롯해, 얼마전엔 comres.dll 이 기승을 부리더니,
몇일전부터 Usp10.dll 이 문제를 일으키고 있다.

일반적으로 배포되는 어플리케이션에서 특정 시스템 dll을 사용할 경우, 해당 dll 이 어플리케이션의 절대경로에 존재한다면,
%system% 시스템 디렉토리가 아닌 자신의 절대경로에 있는 dll을 호출하게 된다.
Usp10.dll로 위장한 악성코드는 그 점을 이용하여 확산되고 있다.

해당 악성코드는
DisableThreadLibraryCalls() 를 이용하여, THREAD_ATTACH 와 DETACH 동작은 제외하고
DLL_PROCESS_ATTACH 와 DETACH 의 경우에만 동작하게 되어 있다.

GetTickCount() 를 이용해 2가지 랜덤한 형태의 감염루틴을 가지고 있으며,
악성코드가 접근하는 DLL 은 lpk.dll 과 usp10.dll 이 타겟이다.

 - 감염시 무조건 필수 증상

 C:\WINDOWS
 C:\Program Files\Internet Explorer 
   두 폴더에 악성코드를 Usp10.dll 이라는 이름으로 넣어둔다.
   윈도우 프로세스 대부분이 Usp10.dll 을 로드하므로, 쉽게 중복감염이 일어날 가능성이 높다.

 특정 조건을 만족할 시에, (최초 감염이나, 추후 감염의 경로가 system32 일 경우)
 %system%Thumbss.db  ( lpk.dll 백업본 )
 %system%Thumbs.db  ( Usp10.dll 백업본 )
  라는 이름의 파일을 생성하며, 이는 정상파일의 백업본이 된다.

 경우에 따라, system 폴더의 usp10.dll 과 lpk.dll 이 정상이든 악성이든
 교체되는 경우가 있고, 교체 되지 않은 경우도 있었다... 참 애매하다...

 해당 악성코드는 특정 게임을 타겟으로 하며, 인터넷 익스플로어를 이용 중국사이트 접속을 유도한다.
 ( 게임명은 언급하지 않겠습니다. )

 해당 악성코드가 랜덤한 2가지 감염방법을 가지고 있고, 재감염 또한 쉽게 발생 가능한 로직으로 구성되어 있어,
 현재 정상 lpk.dll 과 정상 usp10.dll 이 서로 이름만 교체되어 특정 어플리케이션 폴더나 시스템 폴더에 위치하여,
 재부팅이나 어플리케이션 구동에 문제가 생기기도 하고 있다.