우선 Svchost.exe는 바이러스구요 svchost.exe는 정상적인 파일입니다.. 보통 svchost.exe 요놈은 3~6개 까지 있는것이 정상입니다..그럼 어떻게 구분하냐면요... 첫글자가 대문자와소문자 차이 입니다.
대문자는 바이러스종류 입니다...만일 앞에 대문자로 표기 되어 있으면 바이러스입니다.... svchost.exe는 윈도우의 정상적인 파일이며 Service Host Process로 DLL 라이브러리들로부터 실행되는 일반적인 프로세스들을 위한 HOST 서비스입니다. 다른 프로세스들의 HOST역할을 하는만큼 작업관리자를 통하여 보았을때 하나이상의 svchost.exe가 수행되고 있을수 있습니다. (하지만 때론 바이러스가 같은이름이나 유사한 이름을 가지고 실행될 경우도 있으니 정확한 진단을 위해서는 파일사이즈나 실행위치를 파악하는것이 중요할수도 있습니다.) 윈도우 정상파일인 경우 svchost.exe 파일은 고객님의 피씨의 윈도우폴더아래의 system32라는 폴더에 위치하며, 작업관리자로 확인하셨을 경우 서비스 동작에 따라 여러개가 띄워져 있을수 있습니다. 하지만 바이러스중에는 (대표적 : Win32.HLLP.Jeefo.36352나 Win32.HLLW.CodeBlue.28672 혹은 최근의 Win32.HLLW.Lovesan.2의 경우) svchost.exe라는 파일과 같은이름으로 다른위치 상에서 바이러스에 해당하는 파일을 실행시키게됩니다. (이 경우 svchost.exe는 이름만 동일한 다른 파일입니다. 이들은 모두 바이러스 체이서로 삭제 또는 치료가 가능합니다.) 그러므로 만약 system32폴더 이외의 폴더(주로 루트나 윈도우폴더)에 svchost.exe가 존재한다면 바이러스로 의심해볼수 있습니다
프로세스 중 가장 많이 보이는 것이 바로 이 svchost.exe 입니다. 그 이름부터가 왠지 눈에 익지 않고, 윈도우 자체 프로그램과의 연관성도 없어서 많은 유저들이 간혹 멀웨어로 의심하기도 합니다만, 이 파일은 윈도우 시스템이 작동하는데 있어 아주 중요한 요소입니다. svchost는 Service host의 줄임 말입니다. 한국어로 번역하면 "서비스 관리자"쯤 될 것인즉, 동적 연결 라이브러리(DLL)에서 실행되는 윈도우의 각종 "서비스"를 제어해 주는 역할을 합니다. 좀 더 쉽게 말하면, 윈도우가 부팅 시 레지스트리의 서비스 부분(하단 표 참조)을 검사하여 로드해야 할 서비스의 대상, 위치, 시작되는 방법 등을 파악한 후, 이들을 기준으로 유사한 것을 모아서 각각의 목록으로 만드는 것이라는 의미입니다.
따라서 부팅 시 얼마나 많은 서비스를 로드하느냐에 따라 적게는 네 개, 많게는 8 개에 이르는 svchost.exe 목록이 생성될 수 있습니다. 이렇게 svchost.exe라는 프로세스 안에 서비스의 목록을 만드는 이유는 연관 있는 서비스들을 분류하여 시스템을 더욱 효율적으로 관리하기 위함입니다. more : Svchost.exe에 대한 설명
앞에서 설명한 대로 svchost.exe는 일종의 Services Process 꾸러미입니다. 그렇다면 svchost.exe 안에 있는 Services Process는 어떻게 알 수 있을까요? MS에서 제공하는 공식적인 방법은, 도스 콘솔(시작 > 실행 > cmd) 상에서 tasklist /svc 명령어를 사용하는 것입니다.
▲ tasklist 명령으로 현재의 프로세스 열람하기
이 방법도 나쁘지는 않지만, 우리 같은 일반인들에게는 요즘같은 GUI 시대에 텍스트 기반 인터페이스는 왠지 직관적이지 못해 보입니다. 때문에 필자는 가급적이면 MS 홈페이지에서 제공하는 공식 프로세스 관리 프로그램 Process Explorer를 추천합니다.
Process Explorer는 윈도우 프로세스와 관련한 거의 모든 작업을 모니터링 할 수 있습니다. 따라서 차후 시스템에 문제가 발생하거나, 각종 멀웨어에 감염되었을 경우 아주 유용하게 사용할 수 있으므로, 윈도우를 사용하는 유저라면 필히 사용해 보는 것이 좋습니다. MS에서 공식적으로 배포하는 것이니만큼 안정성이나 신뢰도는 말할 나위도 없고, 설치마저 필요 없으므로 깔끔하게 사용이 가능합니다. 필자의 리뷰를 오랜 전부터 구독한 유저라면 이미 수 차례 언급했던 것을 알 수 있을 것입니다.
아래 그림은 Process Explorer를 통하여 svchost.exe 프로세스의 정보를 살펴본 모습입니다. 특히 주목해야 할 것은 두 개의 빨간색으로 표기된 박스 안의 내용입니다. 프로세스의 정식명칭은 반드시 "Generic Host Process for Win32 Services"여야 하며, 그 경로는 "C:\WINDOWS\system32" 폴더 안에 있어야 합니다. 만약 다른 폴더(가령, C:\WINDOWS)에 있다면, 그 폴더가 윈도우 폴더, 또는 프로그램 폴더라고 할지라도 무조건 악성 프로그램입니다. 이는 앞으로 리뷰할 다른 프로세스도 마찬가지입니다. 필자의 글에서 밝히는 경로 외에 있으면 100% 여러분의 시스템은 오염된 것입니다.
▲ svchost.exe 프로세스 정보
아래 그림은 Process Explorer를 사용하여 마우스 커서를 해당 svchost.exe 위에 가져다 대는 것만으로 각각의 svchost.exe 안에 구분되어 있는 Services Process를 열람하는 모습니다. 필자의 경우, 총 8개의 svchost.exe가 작동 중이며, 그 중 세 번째 svchost.exe에 가장 많은 Services Process가 로드되어 있음을 볼 수 있습니다.
▲ svchost.exe 목록
svchost.exe와 보안 - CPU 사용률이 100%로 상승합니다.
윈도우가 시작되면서 로드되는 수많은 서비스 프로세스를 편리하게 관리하고자 만든 것이 svchost.exe지만, 이러한 특성 때문에 빈번하게 멀웨어의 타겟이 되기도 합니다. 가령, 아래 그림에서 보듯 필자의 첫 번째 svchost.exe의 CPU 사용률이 100%에 다다르고, 그 안에는 "DCOM Server Process Launcher"와 "Terminal Service" 두 개의 서비스가 로드 중이라 가정합니다. 이 경우 "DCOM Server Process Launcher" 또는 "Terminal Service" 중 하나가 웜이나 바이러스에 감염되었음을 추정할 수 있습니다. 따라서 이 두 서비스를 차례로 정지시켜 보면 어떤 것이 감염되었는가를 파악할 수 있습니다. 만약 "Terminal Service"를 종료시켰더니 CPU 100% 부하가 감소했다면 바로 이 프로세스가 오염된 것입니다. 이 경우 위에서 언급한 서비스 콘솔로 들어가서 일단 "Terminal Services"를 완전히 끄고, 안티 바이러스를 설치하여 치료해야 합니다.
▲ svchost.exe CPU 사용률 100% 파악하기
svchost.exe와 보안 - 개수가 너무 많습니다.
많은 유저들이 svchost.exe의 개수가 너무 많은 것에 대해 걱정하고, 간혹 필자에게도 질문을 하는 경우가 있습니다. 일단, svchost.exe의 개수가 많음은 멀웨어 감염과는 상관이 적습니다. 9개 이상까지 이른다면 모를까, 최대치인 8개까지라면 시스템에 문제가 있거나, 멀웨어에 감염된 것은 아닙니다. 중요한 것은 그 명칭입니다. 많은 악성 프로그램들은 사용자를 혼동시키기 위하여 "scvhost.exe", "schost.exe", "svhost.exe" 등처럼 "svchost.exe"와 비슷한 이름의 프로세스를 생성시키는 경우가 허다합니다. 거의 모든 경우 이들은 100% 멀웨어이므로 반드시 찾아서 삭제해야 합니다. 기억하세요. svchost.exe입니다. 앞의 svc를 "서비스"의 약자로 연상하면 scv-, sc-, sv- 등과 같은 짝퉁에게 현혹되지 않을 것입니다. Scv는 테란의 일꾼이라능.. 테란의 일꾼은 맷집이 쎄서 꼭 멀웨어같다능.. ㅡ.ㅡ
svchost.exe의 개수를 줄이는 방법
관리상의 편이 또는 기타 이유로 svchost.exe라는 프로세스에 여러 프로세스가 통합된다고 이미 설명했습니다. 따라서 통합되는 프로세스의 수가 적을 수록 svchost.exe의 개수는 줄어들게 되고, 그만큼 시스템의 리소스를 높일 수 있습니다. 가령, 아래 그림에서 만약 무선랜을 사용하지 않으면 Wireless Zero Configuration 프로세스를, 윈도우 테마를 사용하지 않으면 Themes 프로세스를 끌 수 있으며, 이러게 몇 가지를 꺼 놓으면 svchost.exe의 개수는 물론 점유하고 있는 메모리의 수치도 감소합니다.
▲ svchost.exe의 개수를 줄이기
프로세스를 끄는 법은 이미 많은 유저들도 알고 있을 것입니다. 제어판 >관리 도구 > 서비스, 윈도우 키+R > services.msc 또는 C:\WINDOWS\system32\services.msc로 이동하여 해당 프로세스를 더블 클릭하여 "사용 안 함"으로 설정해 놓으면 됩니다.
▲ 사용하지 않는 프로세스 끄기
그렇다고 무작정 아무 프로세스나 줄일 수는 없습니다. 자신의 시스템에 대한 이해 없이 무작정 꺼 버리면 심각한 문제가 발생하거나, 일부 하드웨어/소프트웨어가 작동하지 않을 수 있기 때문입니다. 앞에 예시한 Wireless Zero Configuration은 무선랜 사용자에게는 필수이므로, 만약 이것을 중지시키면 무선랜이 작동하지 않습니다. 어떤 프로세스를 꺼도 되는지에 대한 사항은 이미 인터넷을 검색하면 많이 나와있으니, 여기서는 생략하겠습니다. 반드시 그것을 잘 숙지한 후 작업하기 바랍니다.