熱點推薦:
您现在的位置: 電腦知識網 >> 操作系統 >> Windows系統管理 >> 正文

解讀SVCHOST.EXE病毒or系統進程?

2013-11-11 21:52:05  來源: Windows系統管理 

  大家對windows操作系統一定不陌生但你是否注意到系統中svchostexe這個文件呢?細心的朋友會發現windows中存在多個svchost進程(通過ctrl+alt+del鍵打開任務管理器 這裡的進程標簽中就可看到了)為什麼會這樣呢?下面就來揭開它神秘的面紗

  初步了解

  在基於nt內核的windows操作系統家族中不同版本的 windows系統存在不同數量的svchost進程用戶使用 任務管理器可查看其進程數目一般來說win有兩個 svchost進程winxp中則有四個或四個以上的svchost進程而 win server中則更多這些svchost進程提供很多系統服務 rpcss服務(remote procedure call)dmserver服務(logical disk manager)dhcp服務 (dhcp client)等

  如果要了解每個svchost進程到底提供了多少系統服務 可以在win的命令提示符窗口中輸入tlist s命令來查 看該命令是win support tools提供的在winxp則使用tasklist /svc命令

  深入研究

  windows系統進程分為獨立進程和共享進程兩種 svchostexe文件存在於%systemroot% system目錄下它屬於共享進程隨著windows系統服務不 斷增多為了節省系統資源微軟把很多服務做成共享方式 交由 svchostexe進程來啟動但svchost進程只作為服務宿主並 不能實現任何服務功能那這些服務是如何實現的呢?

  專家介紹這些系統服務是以動態鏈接庫(dll)形式實現的 它們把可執行程序指向 svchost由svchost調用相應服務的動態鏈接庫來啟動服務 那svchost又怎麼知道某個系統服務該調用哪個動態鏈接庫呢? 這是通過系統服務在注冊表中設置的參數來實現

  實例應用

   以windows xp為例點擊開始/運行輸入 servicesmsc命令彈出服務對話框然後打開remote procedure call屬性對話框可以看到rpcss服務的可執行文件的路徑為 c:windowssystemsvchost k rpcss這說明rpcss服務是依靠svchost調用rpcss參數 來實現的而參數的內容則是存放在系統注冊表中的

  在運行對話框中輸入regeditexe後回車打開注 冊表編輯器找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]項找到類型為 reg_expand_sz的鍵magepath其鍵值為% systemroot%systemsvchost k rpcss(這就是在服務窗口中看到的服務啟動命令)另 外在parameters子項中有個名為servicedll的鍵其值為% systemroot%systemrpcssdll其中rpcssdll就是 rpcss服務要使用的動態鏈接庫文件這樣 svchost進程通過讀取rpcss服務注冊表信息就能啟動該 服務了

  解惑疑點

  因為svchost進程啟動各種服務所以病毒木馬也想盡辦法來利用它企圖利用它的特性來迷惑用戶達到感染 入侵破壞的目的(如沖擊波變種病毒wwelchiaworm)但windows系統存在多個svchost進程是很正常的在受感 染的機器中到底哪個是病毒進程呢?這裡僅舉一例來說明

  假設windows xp系統被wwelchiaworm感染了正常的svchost文件存 在於c:windowssystem目錄下八哥網()專家介紹發現該文件出現在其 他目錄下就要小心了wwelchiaworm病毒存在於 c:windowssystemwins目錄中因此使用進程管理器查看 svchost進程的執行文件路徑就很容易發現系統是否感染了病毒

  系統自帶的任務管理器不能夠查看進程的路徑可以使 用第三方進程管理軟件windows優化大師進程管理器 通過這些工具就可很容易地查看到所有的svchost進程的執行文 件路徑一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理


From:http://tw.wingwit.com/Article/os/xtgl/201311/9369.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.