자격증과 세미나, 프로그램 이야기를 주저없이 써봅니다.

Since 2008. 10.

세미나 및 발표회/윈도우 프론티어 2기

[악성코드 대응 툴] GMER, IceSword 소개

럭키맨 운수 2010. 3. 27. 07:32

여기에 나온 악성코드 대응 툴 설명은 본인이 다니고 있는 회사에 과제 제출하기 위해 작성한 것입니다. GMER, IceSword 파일 첨부합니다.

 

1. GMER v1.0.15.15281

 

 

제작사: http://www.gmer.net

 

GMER는 시스템에 숨겨진 Rootkits(루트킷)을 찾아내거나 루트킷의 설치를 실시간 감시하는 프로그램이다.

Rootkits은 사용자들이 인터넷이나 온라인의 사용함에 있어서 최근의 가장 큰 골치거리인 스파이웨어 등의 악의적 프로그램들을 사용자로부터 숨기기 위한 소프트웨어를 말한다. 스파이웨어 제작자들은 자신들의 소프트웨어가 쉽게 발각되지 않도록 Rootkits를 사용하고 있다.

GMER는 다음과 같은 루트킷들을 찾아낼 수 있다.


• 숨겨진 프로세스
• 숨겨진서비스
• 숨겨진 파일들
• 숨겨진 레지스트리 키
• 숨겨진 드라이버
• SSDT를 Hooking하는 드라이버
• IDT를 Hooking하는 드라이버
• IRP Calls를 Hooking하는 드라이버


또한 다음과 같은 시스템 기능들을 모니터할 수 있다고 한다.


• 프로세스 생성
• 드라이버 로딩
• 라이브러리 로딩
• 파일 기능
• 레지스트리 엔트리
• TCP/IP 연결


2. IceSword v1.22

 


제작사: http://pjf.blogcn.com


컴퓨터 시스템에 Rootkit(루트킷)이 설치되어 있는지 체크하는 프로그램이다.


IceSword는 실제 경험에 의해서 루트킷 시스템의 분석을 목적으로 만들어졌기에 타 업체에서 만든 루트킷과는 다른 성격을 가지고 있습니다. 여태 소개한 안티루트킷 제품이 주로 스캔하는 기능을 가지고 있지만, IceSword는 타 안티루트킷과는 달리 파일을 스캔하는 과정이 없습니다. 대신에 다양한 시스템 상태 보기를 제공함으로써 루트킷의 제거를 유도합니다. 물론 이걸 다 알고 처리하기 위해서는 많은 학습이 선행되어야 합니다. 그리고, 별도의 백업을 하는 방법이 존재하지 않기 때문에 특히 더 많은 주의가 필요합니다.


주요기능


• Process

현재 실행 중인 프로세스 목록을 보여준다. 실행 중인 모든 프로세스를 보여주며, 장치 관리자에서는 볼 수 없는 숨겨진 프로세스까지 보여준다. 대부분 루트킷이 실행된 경우, 작업관리자와 이 목록을 비교하여 쉽게 실행되고 있는 여부를 찾아낼 수 있다.


• Port

네트워크의 접근 현황을 보여준다. 내 컴퓨터와 원격지에 연결된 상태를 보여주며, 연결된 경우 해당 프로세스를 보여주지는 않지만 PID를 통해 Process에서 해당 프로세스를 찾을 수 있다. 기본적으로 허용한 포트가 아니라면, 이를 통해 어느 위치에 있는지 찾아 낼 수 있다.


• Kernel Module

실행 파일에 의해 로드된 시스템 파일(.SYS)이나 동적 라이브러리 파일(.DLL)의 목록을 보여준다. 대부분의 루트킷은 자신을 은폐하기 위해 SYS나 DLL파일을 몇 개 심는데, 그 목록을 볼 수 있게 해준다. 다만, 여기에 있는 파일이 정상적인지 여부를 따지지 않고 강제로 내리는 경우 시스템이 바로 블루스크린을 보여주게 되며, 심각한 경우 다시 부팅이 이뤄지지 않을 수도 있다.


• Startup


실행 파일에 있는 목록을 보여준니다. 시작 지점에 있는 레지스트리의 목록을 정리해주는 것으로 로그온 시 시작되는 레지스트리의 위치를 모두 알고 있다면, 이 목록을 구태여 사용할 필요는 없다.


• Win32 Services 

서비스로 실행되는 프로세스 목록을 보여준다. 유명한 루트킷의 경우에는 IceSword가 자동으로 빨간색으로 강조해줍니다만, 일부 루트킷의 경우는 일반적인 검은 색 글씨로 보이기 때문에, 사용자가 직접 찾아서 제거를 해야 한다.


• SPI (Service Provider Interface)


네트워크 드라이버에 로딩되거나 영향을 미치는 부분을 보여준다. 일부 루트킷의 경우 Winsock을 이용하여 특정 네트워크 패킷을 캡춰하는 기능을 갖고 있기 때문에 이에 대한 점검 방법으로 사용할 수 있다. ARP가 이상한 시스템의 경우 대부분 이 곳에 문제가 있는 시스템이 많다.


• BHO (Browser Helper Object)


브라우저나 시스템의 쉘 실행시 로딩되는 DLL들의 목록이다. 이 부분은 IceSword가 아닌 다른 툴로도 비슷한 결과를 얻을 수 있다. (예 : HijackThis, Autoruns)


• SSDT (System Service Descriptor Table)


시스템의 메모리를 참고 할 수 있게끔 하는 부분이다. 이미 다른 곳에서 결과를 얻을 수 있기 때문에 자주 볼 필요는 없지만, 위에서 나열한 모든 기능으로 잡을 수 없는 경우 이 곳에 실행 중인 메모리를 봄으로써 답을 찾을 수 있다.


• Message Hooks


프로그램 동작시 입출력 장치의 반응을 보여준다. 이 역시 자주 쓰인다고는 할 수 없지만, 키로거가 의심되는 경우 이 곳에서 손쉽게 잡을 수 있다.


• Log Process/Thread Creation


어떤 프로세스가 어떤 것을 실행했는지를 보여주는 부분이다. IceSword가 실행 중인 경우에만 프로세스의 기록을 남기며, 주로 주기적인 프로그램이 돈다고 의심될 때 이 부분을 확인하면, 해결책이 나온다.


• Log Process Termination


Log Process/Thread Creation와 비슷하나, 프로세스/쓰레드가 언제 종료되었는지를 기록해 준다. Log Process/Thread Creation와 함께 사용하여 프로그램의 동작 기록을 남길 때 유용하다.


• Scan Modules Hooks


모듈을 검사한다. 특정 프로세스나 파일을 모니터링 하기 위해서 사용한다. 이 기능을 사용하면, 꽤 많은 부하가 있으므로 사용에 주의 필요하다.


• Registry 


관리자라면 한번쯤은 사용해보셨을 레지스트리 편집기이다. regedit.exe로는 접근할 수 없는 부분까지 아무 제재 없이 접근이 가능하다. 따라서, 사용시 주의기 필요하다.


• File


간단한 파일 탐색기이다. 숨김 폴더/파일을 포함하여 시스템 폴더/파일까지 모두 볼 수 있으며, 강제 삭제도 가능하다. 이 역시 어떤 제재도 가하지 않고 접근이 가능하므로 사용시 주의가 필요하다. (System Volume Information나 RECYCLER와 같은 폴더의 무제한 접근이 가능함)


• Reboot and Monitor


File-Reboot and Monitor 메뉴로 작성되는 것으로 부팅시 실행에 관한 모든 로그를 남긴다. 대단히 강력하며, 이를 이용하면 숨겨진 파일과 이상하다 판단되는 프로세스의 모든 목록을 남길 수 있다.


• RegFile


Plugin-FileReg를 통해 생성되는 명령줄로 IceSword의 일부 기능을 명령줄로 바꿔둔 것이다. 시스템을 콘솔에서 쉽게 볼 수 있게 한다. 이때의 권한은 완벽한 super user계정으로 일반적으로는 볼 수 없는 부분들도 볼 수 있으며, 사용중인 파일의 삭제도 가능한다. 명령줄이다보니, 명령을 하나하나 치는데 복잡하기는 하지만, 검색기능을 쉽게 활용할 수 있다는 장점이 있다.

 

IceSword122en.zip
2.1MB
gmer.zip
0.28MB