賽迪網 > IT技術 網路安全 > 系統&數據庫安全
  IT資訊搜索
 
IT產品搜索
[程式開發][網管世界][網路安全][數據庫技術]
[作業系統][嘉賓聊天·線上訪談][活動集錦]
[精彩專題][Symantec專區][訂閱IT技術週刊]
[開發論壇][網管論壇][安全論壇][數據庫論壇]
[作業系統論壇][Sybase專區][IBM dW技術專區]
[病毒求助][病毒與漏洞播報][文檔·源碼下載]

解讀Svchost.exe進程之迷 保護系統安全

發佈時間:2008.05.14 04:54     來源:賽迪網    作者:kaduo

【賽迪網-IT技術報道】svchost.exe是nt核心繫統的非常重要的進程,對於2000、xp來說,不可或缺。很多病毒、木馬也會調用它。所以,深入了解這個程式,是玩電腦的必修課之一。

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

發現

在基於nt內核的windows作業系統家族中,不同版本的windows系統,存在不同數量的“svchost”進程,用戶使用“任務管理器”可查看其進程數目。一般來說,win2000有兩個svchost進程,winxp中則有四個或四個以上的svchost進程(以後看到系統中有多個這種進程,千萬別立即判定系統有病毒了喲),而win2003 server中則更多。這些svchost進程提供很多系統服務,如:rpcss服務(remote procedure call)、dmserver服務(logical disk manager)、dhcp服務(dhcp client)等。

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

svchost中可以包含多個服務

深入

windows系統進程分為獨立進程和共用進程兩種,“svchost.exe”文件存在於“%systemroot% system32”目錄下,它屬於共用進程。隨著windows系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共用方式,交由 svchost.exe進程來啟動。但svchost進程只作為服務宿主,並不能實現任何服務功能,即它只能提供條件讓其他服務在這裡被啟動,而它自己卻不能給用戶提供任何服務。那這些服務是如何實現的呢?

原來這些系統服務是以動態鏈結庫(dll)形式實現的,它們把可執行程式指向 svchost,由svchost調用相應服務的動態鏈結庫來啟動服務。那svchost又怎麼知道某個系統服務該調用哪個動態鏈結庫呢?這是通過系統服務在註冊表中設置的參數來實現。下面就以rpcss(remote procedure call)服務為例,進行講解。

從啟動參數中可見服務是靠svchost來啟動的

實例

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

在運行對話方塊中輸入“regedit.exe”後回車,打開註冊表編輯器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]項,找到類型為“reg_expand_sz”的鍵“magepath”,其鍵值為“%systemroot%system32svchost -k rpcss”(這就是在服務窗口中看到的服務啟動命令),另外在“parameters”子項中有個名為“servicedll”的鍵,其值為“% systemroot%system32rpcss.dll”,其中“rpcss.dll”就是rpcss服務要使用的動態鏈結庫文件。這樣 svchost進程通過讀取“rpcss”服務註冊表資訊,就能啟動該服務了。

解惑

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

假設windows xp系統被“w32.welchia.worm”感染了。正常的svchost文件存在於“c:\windows\system32”目錄下,如果發現該文件出現在其他目錄下就要小心了。“w32.welchia.worm”病毒存在於“c:\windows\system32wins”目錄中,因此使用進程管理器查看svchost進程的執行文件路徑就很容易發現系統是否感染了病毒。windows系統自帶的任務管理器不能夠查看進程的路徑,可以使用第三方進程管理軟體,如“windows優化大師”進程管理器,通過這些工具就可很容易地查看到所有的svchost進程的執行文件路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理。

(責任編輯:董建偉)


[ 發表評論 ] 字體[  ] [ 列印 ] [ 進入博客 ] [ 進入論壇 ]  [ 推薦給朋友 ]
  相關文章
· 菜鳥課堂:Windows系統文件夾加密解密教程 (05-13) · IE8將降低ActiveX安全風險 插件功能被限制 (05-13)
· 菜鳥課堂:WindowsXP系統安全模式大揭密 (05-12) · 系統安全之隱藏文件大法 保護個人隱私安全 (05-12)
· SP3存在重大缺陷 XP升級後與AMD處理器衝突 (05-12) · 保障系統安全 教你給自己電腦上兩把鎖 (05-09)
· 禁止開機時軟體自啟動 讓自己系統乾淨整潔 (05-09) · 系統優化和安全配置兩方面講Linux系統安全 (05-09)
· 系統安全 搭建安全穩定Win2000 Server系統 (05-09) · 警惕:Windows存在ActiveX控件堆溢出漏洞 (05-09)
  客戶需求反饋表
* 姓  名:
更多資料  了解方案  認識廠商
* 單位名稱:
* 聯繫電話:
* 電子郵件:
  賽迪推薦  
  手機·資費 ·新品·導購·評測·手機資費·寬帶
手機搜索  諾基亞 N73 MOTO Z6
  IT產品 ·筆記本·臺式機·伺服器·列印·投影
IT產品搜索 
  IT技術 ·開發·網管·安全·數據庫·作業系統
  資訊化 ·熱點·專題·訪談·週刊·方案案例
· 回顧ERP市場發展經歷 提醒CIO選型需理性
· 網銀系統擁堵 SOA從治病良方到罪魁禍首
· 國產ITIL運維先行者 四大廠商角力BI市場
· 金融行業GSN專題解決方案 企業網解決方案
  IT博客 ·曾劍秋·項立剛·Java學習·網管
  IT技術論壇 ·開發·網管·安全·數據庫·系統