보안

process explore 유틸리티로 svchost.exe가 바이러스 인지 아닌지 옥석을 가려보자..

sungtg 2008. 12. 15. 07:00
한번 쯤은 process explorer 이라는 유틸리티를 들어 보셨을 겁니다.

마이크로소프트의 Technet의 자료실에 있고, 안철수 연구소 등 윈도우의 프로세스를 따져보는 데는
이것만한 유틸리티가 없습니다. 
이 프로그램을 svchost.exe가 바이러스 인지 아닌지 구분하는 방법을 찾아 드리려고 합니다.


이제 하나 하나 분석을 해볼 까요

svchost.exe라는 놈은 원래 하는 일이 윈도우 서비스(제어판/관리도구/서비스)를 실행하는 역할을 하는 놈입니다.
아래에서 보는 것과 같이
마우스를 갔다 되면 윈도우의 Service가 하나씩 나옵니다.
노란색 상자안에 있는 글자들 제어판/관리도구/서비스에서 볼 수 있을 겁니다.
영문윈도우에는 서비스명도 영어로 되어 있는 것을 간과해서는 안 되겟지요...



여기 까지 svchost.exe의 파일의 역할 설명이 되겠네요..

그럼 이번에는 svchost.exe는 과연 언제 실행이 될 까요...?

위에 그림에서 이미 눈치 챈 분도 있을 겁니다.
윈도우 부팅하고,  로그온을 해서 바탕화면이 나오는 중간 과정에 실행이 됩니다
.
그러니까 그림에서 보듯이 winlogon.exe 하위에 service.exe 밑에 5-6개가 포진 되어 있는 것입니다

그런데 여기서 바이러스와 관련된 문제를 하나 꺼내 자면...
사용자가 로그온을 해서, 사용자 계정의 설정을 연결시켜주는 역할을 하는 것이 있을겁니다.
그 파일이 userinit.exe 라는 파일입니다.
아마 윈도우 사용하면서 많이 봤을 겁니다.

레지스트리에 정의가 되어 있는데.. 바이러스 만든 놈들이 요런 허점을 이용하는 것입니다.
레지스트리는 admin 계정이면 언제든지 레지스트리를 바꿀 수 있는 것을 역이용하는 것이죠..
(비스타에는 이런 약용되는 점을 막는 다는 것입니다.)


레지스트리에서 자동실행되는 레지스트리 키가 있지요
이 키보다 전에 실행되는 부분이 바로 위 레지스트리의 키 입니다.
다들 자동 실행부분을 관리를 잘 하니까 이제는 잘 모르는 이 부분을 조작을 해서 침투를 하는 것이죠..

위 그림과 틀리게 내 레지스트리가 되어 있다면 한번 의심해도 됩니다.(Userint, load, run)

그리고 svchost.exe는 반드시 system32 폴더에 있는 것이 진짜 입니다.
system32 하위 폴더에 있어서 실행되는 것은 바이러스 일 가능성이 큽니다.

위 2번째 그림에서 보면... 왼쪽 창에
윈도우를 보면 sysetm idle process 와 explorer 2개로 구성이 되어 있는것을 보실 수 있습니다.

작업관리자에서 system idle이 뭐냐고 물어 보는 사람들 많은데..
idle process라는 것을 이해 하기 쉽게 말하자면,,, 윈도우 서비스라고 이해하면 됩니다
윈도우 운영체제를 사용하는데 있어서 불편함이 없이
사용자가 사용할 수 있도록 만반에 준비를 해주는 역할을 하는 것입니다.

그럼 explorer는 뭐냐면 탐색기 맞습니다.
shell 역할을 하는 것으로 사용자가 키보드를 치거나, 드래그 드롭, 메뉴선택등...
사용자가 하는 행동을 프로그램에 전달하고, 다시 윈도우의 모든 서비스를 전달, 호출, 실행, 종료를
하는 머리 역할을 하는 파일입니다.

그림에서 보듯이 모든 응용프로그램들은 explorer.exe 하위에서 실행이 되게 되어 있습니다.
만약 svchost.exe가 service.exe 하위에서 실행되지 않고..
explorer 밑에서 실행이 되고 있거나.. 엉뚱한 프로세스 밑에서 작동을 하고 있다면
바이러스일 가능성이 거의 99% 입니다.

좀 어려운 내용이지만 요 부분을 잘 명심해야 돈 안들이고, 바이러스를 차단시킬수 있고..
레지스트리나 process explorer 프로그램 만 있으면
쉽게 바이러스 검사를 해볼 수 있습니다.
사실 바이러스검사는 저도 1년에 한번 해볼까 말까 합니다.

그냥 나타나면 바이러스 체크하는 것보다
이런 식으로 파일이나 프로세스 차단 부터 해두고 경과를 지켜 보는 것을 땡 칩니다.
이 글을 누가 보면 안되는데...
싫어 할 사람들 많아 지는데... ㅎㅎ