解析Windows XP操作系統(tǒng)進(jìn)程
很多朋友面對系統(tǒng)中的進(jìn)程,往往感到茫然,不知它們具有什么功能;是否可以結(jié)束其運(yùn)行,以節(jié)省系統(tǒng)資源;哪個進(jìn)程比較可疑,可能是木馬……其實進(jìn)程應(yīng)該可理解為處于活動狀態(tài)的計算機(jī)程序,它在操作系統(tǒng)中執(zhí)行特定的任務(wù)。
本文,筆者將以Windows XP操作系統(tǒng)為例,為大家介紹系統(tǒng)進(jìn)程的相關(guān)內(nèi)容。
揪出可疑進(jìn)程 揭露進(jìn)程偽裝術(shù) 進(jìn)程級別有高低 進(jìn)程樹的妙用 封殺進(jìn)程的另類方法 Win9X/Me也能擁有WinXP的任務(wù)管理器
揪出可疑進(jìn)程
系統(tǒng)進(jìn)程一般包括:基本系統(tǒng)進(jìn)程和附加進(jìn)程。基本系統(tǒng)進(jìn)程是系統(tǒng)運(yùn)行的必備條件,只有這些進(jìn)程處于活動狀態(tài),系統(tǒng)才能正常運(yùn)行;而附加進(jìn)程則不是必需的,你可以按需新建或結(jié)束。我們就先來了解一下哪些是最基本的系統(tǒng)進(jìn)程。
1.基本系統(tǒng)進(jìn)程
Csrss.exe:這是子系統(tǒng)服務(wù)器進(jìn)程,負(fù)責(zé)控制Windows創(chuàng)建或刪除線程以及16位的虛擬DOS環(huán)境。
System Idle Process:這個進(jìn)程是作為單線程運(yùn)行在每個處理器上,并在系統(tǒng)不處理其它線程的時候分派處理器的時間。
Smss.exe:這是一個會話管理子系統(tǒng),負(fù)責(zé)啟動用戶會話。
Services.exe:系統(tǒng)服務(wù)的管理工具。
Lsass.exe:本地的安全授權(quán)服務(wù)。
Explorer.exe:資源管理器。
Spoolsv.exe:管理緩沖區(qū)中的打印和傳真作業(yè)。
Svchost.exe:這個進(jìn)程要著重說明一下,有不少朋友都有這種錯覺:若是在“任務(wù)管理器”中看到多個Svchost.exe在運(yùn)行,就覺得是有病毒了。其實并不一定,系統(tǒng)啟動的時候,Svchost.exe將檢查注冊表中的位置來創(chuàng)建需要加載的服務(wù)列表,如果多個Svchost.exe同時運(yùn)行,則表明當(dāng)前有多組服務(wù)處于活動狀態(tài);多個DLL文件正在調(diào)用它。
至于其它一些附加進(jìn)程,大多為系統(tǒng)服務(wù),是可以酌情結(jié)束運(yùn)行的。由于其數(shù)量眾多,我們在此也不便于一一列舉。
在系統(tǒng)資源緊張的情況下,我們可以選擇結(jié)束一些附加進(jìn)程,以增加資源,起到優(yōu)化系統(tǒng)的作用。在排除基本系統(tǒng)及附加進(jìn)程后,新增的陌生進(jìn)程就值得被大家懷疑了。
2.常見木馬進(jìn)程
廣外女生:Diagcfg.exe進(jìn)程。
WAY無賴小子:Msgsvc.exe進(jìn)程。
冰河木馬:Kernel32.exe進(jìn)程。
BO2000木馬:Umgr32.exe進(jìn)程。
客觀地說,目前主流的木馬在配置服務(wù)器時,很多都具有自定義進(jìn)程名稱的功能,例如《粉色信鴿》等。因此在判定木馬時,其進(jìn)程名稱不止一種,寄希望于通過進(jìn)程名稱,查找木馬服務(wù)器端的方法,已不太具適用性了。所以,我們需要自己的判斷,揪出進(jìn)程中的“害群之馬”。
3.自行分析可疑進(jìn)程
軟件名稱:柳葉擦眼
軟件版本:V4.00 Beta 1
軟件大小:374KB
軟件語言:簡體中文
應(yīng)用平臺:Win9X/NT/2000/XP
下載地址
我們運(yùn)行《柳葉擦眼》后,鼠標(biāo)雙擊系統(tǒng)托盤中的該程序圖標(biāo),即可看到主界面(圖1)。在此大家將會注意到,程序已為你標(biāo)示出了系統(tǒng)文件。因此,大家只需注意那些“定義級別”為“未知”及“危險”的進(jìn)程,這樣就大大縮小了我們的判定范圍。當(dāng)你發(fā)現(xiàn)有問題的進(jìn)程后,選定并點擊“降妖伏魔”按鈕即可封殺該進(jìn)程。
圖 1
為了使程序更趨于我們的使用習(xí)慣,大家可以自定義設(shè)置。點擊左側(cè)視圖中的“參數(shù)設(shè)置”,在右側(cè)界面中可設(shè)定是否標(biāo)示系統(tǒng)文件、正常文件及危險文件;是否所有程序均可運(yùn)行;是否自動關(guān)閉危險文件;還可設(shè)定檢測刷新時間(圖2)。
圖 2
我們可看到“定義文件列表”中顯示的是程序預(yù)置的定義級別及其功能說明。可根據(jù)個人機(jī)器的程序運(yùn)行情況,自行添加定義。例如,平日經(jīng)常使用“Virtual PC”虛擬機(jī)等程序,可將它設(shè)置為“正常文件”。在“添加文件定義”彈出窗口中(圖3),輸入“程序名稱”及“功能說明”并定義級別即可。另外,也可將已知的木馬進(jìn)程添加為“危險文件”。最后,點擊“確定并保存設(shè)置”按鈕。經(jīng)過這一番定制后,哪些進(jìn)程存在問題就一目了然了。
圖 3
我們在程序中執(zhí)行的各項操作,將會被自動記錄下來,大家在“柳葉日志”中可以查看(圖4)。
圖 4
揭露進(jìn)程偽裝術(shù)
木馬偽裝技術(shù)的發(fā)展可謂日新月異,由進(jìn)程隱藏到進(jìn)程插入,使得在查殺方面越來越難以應(yīng)付了。一般具有進(jìn)程插入功能的木馬會把自身注入其它應(yīng)用程序的地址空間,而這個應(yīng)用程序?qū)τ谙到y(tǒng)來說,是一個絕對安全的程序。
即使我們查找出了DLL插入進(jìn)程,如果它是嵌入在系統(tǒng)基本進(jìn)程中的,如“svchost.exe”等進(jìn)程,我們是無法結(jié)束其運(yùn)行的。
下面,將以實例演示一下線程插入類后門是如何在機(jī)器上運(yùn)行的。我們以目前比較流行的“Devil4.exe”(魔鬼4號)程序為例。
運(yùn)行“EditDevil4.exe”配置程序后,在顯示界面中設(shè)置“配置文件”(即需要在目標(biāo)上激活的可執(zhí)行文件)、端口(可自定義,本例中為9000)、密碼及插入進(jìn)程(一般設(shè)置為系統(tǒng)基本進(jìn)程,本例中為Explorer.exe)(圖5)。配置完畢后,執(zhí)行確認(rèn)操作,使其生效。
圖 5
一旦目標(biāo)機(jī)器激活了配置好的程序,“Devil4.exe”將立即插入至指定進(jìn)程中。我們可使用“fport v2.0”這款系統(tǒng)工具查看所有開放的TCP和UDP端口,并顯示相應(yīng)的應(yīng)用程序(支持WinNT4/2000/XP)。運(yùn)行“命令提示符”后,進(jìn)入fport程序的存儲路徑,運(yùn)行它。
大家注意查看其中的“Explorer.exe”進(jìn)程,看到其TCP協(xié)議開放端口為適才筆者所定制9000端口,此時表明病毒進(jìn)程插入成功(圖6)。“Devil4.exe”后門本身具有刪除程序,運(yùn)行“DelDevil4.exe”程序后,就可清除駐留系統(tǒng)中的后門。
圖 6
小提示:如果大家要封殺可疑端口,可以使用Active Ports及DBPort之類的第三方端口工具。這兩款軟件均是圖形化界面,操作方法非常類似。不僅可自動刷新進(jìn)程,還能夠立即關(guān)閉指定端口。對于線程插入類木馬的查殺,并非一件輕而易舉的事,由于在配置插入進(jìn)程時使用者可隨意指定,因此,大家一定要安裝殺毒軟件并定期升級病毒庫。
如果要手動查殺,則需要用戶具有相當(dāng)?shù)闹R水平與一定的經(jīng)驗積累。在此給大家推薦一款比較優(yōu)秀的軟件——進(jìn)程間諜。利用它,可以查看窗口和子窗口句柄、ID、標(biāo)題,以及父進(jìn)程ID線程個數(shù)路徑等,還可獲知指定父進(jìn)程的下屬模塊……我們要著重利用該程序的可查看DLL模塊的功能,試圖找出可疑的插入進(jìn)程。
軟件名稱:進(jìn)程間諜
軟件版本:V1.0.2.1
軟件語言:簡體中文
軟件類型:共享軟件
應(yīng)用平臺:Win9X/Me/2000/XP/2003
下載地址
運(yùn)行《進(jìn)程間諜》程序后,查看“進(jìn)程樹”標(biāo)簽頁,點擊“刷新進(jìn)程”按鈕,而后選擇左側(cè)列表的進(jìn)程,當(dāng)選定一個進(jìn)程后,程序開始處理相關(guān)信息。我們切換到當(dāng)前右側(cè)視圖中的“模塊”標(biāo)簽頁(圖7),在此顯示了很多該進(jìn)程中插入的DLL線程,包括“模塊名”(需要著重查看)、“基地地址”、“大小”及“進(jìn)入口”。大家從中即可仔細(xì)排查可疑線程,例如廣外女生的DLL插入線程是“%system32gwboydll.dll”。
圖 7
進(jìn)程級別有高低
我們在使用MyIE 2瀏覽網(wǎng)頁時,又同時運(yùn)行了下載工具等。這種情況下,我們就可以通過相應(yīng)的設(shè)置,使系統(tǒng)優(yōu)先處理MyIE 2,為它分配更多的CPU資源。
按“Ctrl+Alt+Del”組合鍵,調(diào)出“Windows任務(wù)管理器”,查看“進(jìn)程”標(biāo)簽頁,選定其中希望優(yōu)先處理的程序后,在其右鍵彈出菜單中選擇“設(shè)置優(yōu)先級→‘高’或‘高于標(biāo)準(zhǔn)’”(圖8)。而其它在后臺處理的程序,則可將進(jìn)程設(shè)置為“低”或“低于標(biāo)準(zhǔn)”。
圖 8
小提示:如果調(diào)節(jié)進(jìn)程優(yōu)先級別后,感覺CPU占用率過高,要實時還原為原來的級別,以免系統(tǒng)因資源耗盡而當(dāng)機(jī)。進(jìn)程樹的妙用
我們在“Windows任務(wù)管理器”中,可以看到在指定進(jìn)程的右鍵彈出菜單中有一項“結(jié)束進(jìn)程樹”的選項(圖9)。那么這個“進(jìn)程樹”是什么呢?
圖 9
一個應(yīng)用程序運(yùn)行后,還可能調(diào)用其它的進(jìn)程來執(zhí)行操作,這一組進(jìn)程就形成了一個進(jìn)程樹(進(jìn)程樹可能是多級的,并非只有一個層次的子進(jìn)程)。該應(yīng)用程序稱之為父進(jìn)程,其所調(diào)用的對象稱之為子進(jìn)程。當(dāng)我們結(jié)束一個進(jìn)程樹后,即表示同時結(jié)束了其所屬的所有子進(jìn)程,此種方法常用于對可復(fù)制自身的木馬進(jìn)程的封殺。即當(dāng)發(fā)現(xiàn)木馬進(jìn)程后,選擇“結(jié)束進(jìn)程樹”。但是,Windows系統(tǒng)自身的任務(wù)管理器并不具備顯示子進(jìn)程的功能。我們可利用“Process Viewer”這款軟件,實現(xiàn)詳細(xì)查看進(jìn)程樹的目的。
軟件名稱:Process Viewer
軟件版本:v3.7.3.1
軟件語言:英文
軟件類型:免費(fèi)軟件
應(yīng)用平臺:Win9X/NT/2000/XP/2003
軟件大小:92KB
下載地址
運(yùn)行“Process Viewer”程序后,在其主界面中將實時顯示當(dāng)前運(yùn)行的進(jìn)程。大家點擊菜單欄上的“View→Process Tree”,在彈出對話框中即可以進(jìn)程樹的模式查看相關(guān)進(jìn)程(圖10)。
圖 10
下面,筆者要提及一下其它實用功能。當(dāng)你選擇主界面中的指定進(jìn)程后,點擊菜單欄上的“Process→Startup Info”,在彈出對話框中大家將獲知其啟動信息,在“Start directory”選項中顯示的是啟動路徑;在“Command Line”選項中顯示的是命令行;在“Environment”中顯示的是環(huán)境。
另外,如果你希望了解某個進(jìn)程對應(yīng)的是哪個應(yīng)用程序或反之。則需要選擇指定進(jìn)程后,點擊菜單欄上的“View→Applications”,在彈出對話框中就可查看。
封殺進(jìn)程的另類方法
在上文中,我們已經(jīng)提及了如何在“Windows任務(wù)管理器”中結(jié)束進(jìn)程。但那只是常規(guī)方式,現(xiàn)在,我們就來玩玩別出心裁的非常規(guī)進(jìn)程封殺方式。
1.封殺對方機(jī)器進(jìn)程
我們可以利用兩種方法實現(xiàn)這一目的。第一種就是使用遠(yuǎn)程控制程序,目前大部分木馬都具有查看被控端主機(jī)進(jìn)程的功能,而且還可以遠(yuǎn)程結(jié)束指定進(jìn)程。這部分內(nèi)容相信對系統(tǒng)安全感興趣的朋友都非常熟悉了,因此,就不詳細(xì)介紹了。第二種方法,就是使用專門結(jié)束進(jìn)程的工具——自定義殺進(jìn)程。運(yùn)行程序后,在其中文本框中(圖11)輸入欲結(jié)束的進(jìn)程名稱(注意:是“進(jìn)程”列表中的名稱,而非應(yīng)用程序名稱),而后會“生成”一個文件。通過某種途徑使它在目標(biāo)機(jī)器上激活,就可封殺對方機(jī)器的指定進(jìn)程了。
圖 11
小提示:如果你需要經(jīng)常在遠(yuǎn)程機(jī)器上管理進(jìn)程,那么還是選擇一款專業(yè)工具為佳。Remote Task Manager就是一款能夠讓你在遠(yuǎn)程管理系統(tǒng)進(jìn)程的軟件(適用于WinNT的機(jī)器),就如同在本地機(jī)器使用“Windows 任務(wù)管理器”一樣。
2.定時封殺本機(jī)進(jìn)程
軟件名稱:進(jìn)程終結(jié)者
軟件版本:V1.0
軟件語言:簡體中文
應(yīng)用平臺:Win9X/NT/Me/2000/XP
軟件大小:44KB
下載地址
運(yùn)行程序后,首先選擇列表中的指定進(jìn)程,如“wnb.exe”(萬能五筆),然后在其右側(cè)視圖中指定經(jīng)過多長時間后結(jié)束該進(jìn)程,再點擊“定時終結(jié)”按鈕(圖12),該程序到時就可立即退出。
圖 12
3.封殺不可見窗口的進(jìn)程
對于某些在后臺運(yùn)行的木馬服務(wù)器,我們從屏幕上當(dāng)然是看不見的,但如果能夠獲取隱藏的不可見窗口,就有可能查看到木馬的蹤影。
軟件名稱:系統(tǒng)查看大師
軟件版本:V1.0.0
軟件語言:簡繁中文
軟件類型:共享軟件
運(yùn)行環(huán)境:Win9X/NT/2000/XP
軟件大小:559 KB
下載地址
我們直接運(yùn)行下載后的《系統(tǒng)查看大師》主程序即可,在其左側(cè)視圖中點擊“取不可見窗口”按鈕。此后,在其右側(cè)的進(jìn)程列表中就將顯示出所有當(dāng)前運(yùn)行的未在屏幕上直觀顯示出的窗口標(biāo)題(圖13)。選定其中的可疑窗口后,點擊右下端的“結(jié)束此窗口”按鈕即可。
圖 13
Win9X/Me系統(tǒng)也能擁有WinXP的任務(wù)管理器
Windows XP系統(tǒng)的用戶,可以使用“任務(wù)管理器”,輕松查看系統(tǒng)進(jìn)程,但是,Windows 98/Me的用戶,卻只能查看當(dāng)前運(yùn)行的應(yīng)用程序。為了使這部分用戶也能夠管理系統(tǒng)進(jìn)程。筆者為大家介紹一款與XP系統(tǒng)的“任務(wù)管理器”最為相似的第三方軟件。
軟件名稱:Windows任務(wù)管理器
軟件版本:V2.22
軟件大小:769 KB
軟件語言:簡體中文
應(yīng)用平臺:Win95/98/Me 下載地址
運(yùn)行“Windows任務(wù)管理器”后,大家看看其界面,是不是和Windows XP的同類工具像同胞兄弟?我們切換到“進(jìn)程”標(biāo)簽頁,在其中顯示出了當(dāng)前處于活動狀態(tài)的進(jìn)程。選擇其中指定的進(jìn)程后,點擊下方的“進(jìn)程細(xì)節(jié)”按鈕,在彈出對話框中(圖14)可選擇查看“文件細(xì)節(jié)”、“線程細(xì)節(jié)”及“模塊細(xì)節(jié)”等。其中在“模塊細(xì)節(jié)”標(biāo)簽頁中,可以獲知該進(jìn)程所調(diào)用的若干DLL文件。另外,為了便于隨時應(yīng)用“Windows任務(wù)管理器”,建議將它設(shè)置為隨系統(tǒng)自動運(yùn)行。
圖 14
結(jié)語:筆者以上所介紹的若干關(guān)于系統(tǒng)進(jìn)程方面的應(yīng)用,雖說不是非常全面,但從中也足可看出,這小小進(jìn)程,原來還有這么大的學(xué)問
