簡介
主機入侵防禦系統(HostIntrusionPreventSystem,HIPS)是近幾年出現並迅速發展的新興產物,與傳統意義的防火牆和防毒軟體不同,它並不具備特徵碼掃描和主動防毒等功能,所以想用它來替換傳統防毒軟體然後安枕無憂睡大覺的用戶可以不必嘗試了,主機入侵防禦系統是不會區別正常程式和木馬的,它只有一個動作,那就是讓你了解一個進程的載入情況並讓你決定這個進程能否運行,換句話說,系統的安全性取決於用戶本身,因為主機入侵防禦系統只是一種將系統控制權交給用戶的防禦體系。
防禦體系
目前主機入侵防禦系統可提供三種防禦:AD(Application Defend)--應用程式防禦體系、RD(Registry Defend)註冊表防禦體系、FD(File Defend)檔案防禦體系。它通過可定製的規則對本地的運行程式、註冊表的讀寫操作、以及檔案讀寫操作進行判斷並允許或禁止。這三種體系合稱為“3D”,根據實際情況,並非所有HIPS都提供了完整的3D體系,例如檔案防禦體系就經常被取消。
應用程式防禦體系(AD)在大部分HIPS里屬於最重要的功能,這個功能的優劣足以直接影響到系統安全。AD通過攔截系統調用函式來達到監視目的,當一個程式請求執行時,系統會記錄該程式的宿主(即該程式的執行請求由哪個程式發出),在Windows里,用戶啟動的程式,其宿主為Windows外殼程式Explorer.exe,因為用戶的互動界面是由該程式負責的,用戶雙擊滑鼠執行一個程式時,實際上就是通過Explorer.exe向核心傳遞的訊息,於是它便成為用戶程式的宿主;而並非所有程式都是通過Explorer.exe執行的,系統自身也執行著許多基本進程,這些進程幾乎都由smss.exe所產生,而這些通過smss.exe產生的進程又能成為其它進程的宿主,如services.exe成為svchost.exe的宿主等,這些層層疊疊的關係被稱為“進程樹”(ProcessTree)。基於這個原理,許多偽造成系統程式的木馬其實很容易被發現,因為它們大部分通過系統啟動項載入,而這個啟動項是屬於Explorer.exe負責的,於是木馬們的宿主就成了它——csrss.exe居然由Explorer.exe載入運行,這本身就違背了系統設計的初衷。
讓我們繼續學習用戶程式的執行過程,當程式執行的請求被系統捕獲後,系統會產生一個創建進程的函式調用,稱為CreateProcess,位於kernel32.dll,這個函式的功能是執行一些基本的初始化工作,然後將程式請求封裝傳遞到核心接口ntdll的NtCreateProcess函式中,該函式把有關的參數從用戶空間拷貝到核心並做進一步處理,直至最後新的進程被成功創建,而ntdll也只是個核心接口而已,實際的核心體是ntoskrnl.exe。程式設計師通過編寫核心驅動攔截NtCreateProcess、NtCreateSection等函式就實現了對創建進程的控制,在這點上,病毒作者和安全專家做的事情都是相同的,只不過用來實現破壞系統安全作用的被稱為Rootkit木馬,用來保護系統的被稱為“應用程式防禦體系”而已。HIPS的“應用程式防禦體系”也是通過驅動攔截實現的,只是它把創建進程的決定權交給用戶。
在HIPS的監視下,當一個進程被請求創建時,用戶層的應用程式接口函式CreateProcess被攔截並被獲取調用參數來分析出程式的執行體和宿主等,而後HIPS將這個執行請求掛起(暫停執行CreateProcess及以後的步驟),並於桌面彈出一個對話框報告用戶當前攔截的進程創建信息,其中包括執行體、宿主、被攔截的API等,最後等待用戶決定是否繼續讓其執行。用戶必須具備相關的進程概念,如桌面捷徑和幕後調用的可執行程式實際檔案名稱的對應關係,這樣才不至於出現一頭霧水的後果,用戶的決定對於系統安全才是致命的,如果一個用戶在雙擊“千千靜聽”後對著HIPS攔截的“Explorer.exe試圖創建TTPlayer.exe進程”的報告感到不解,那么或許傳統意義的防毒軟體更適合這類未入門的初哥。
HIPS的AD體系不僅能攔截到用戶或某個程式產生的進程創建請求,它還能攔截到進程產生的所有操作,如DLL載入、組件調用等,這樣我們也能用它來攔截一些DLL形態的進程注入,只要用戶的基礎知識達到一定程度,AD體系足以讓你不再害怕大部分木馬病毒的來襲,試想一下,如果用戶在瀏覽網頁時HIPS突然報告說瀏覽器進程“試圖創建123.exe進程”、或者運行某些安裝程式時HIPS攔截到該安裝程式“試圖創建1.exe進程”,只要用戶選取了“拒絕執行”功能,這些潛在的木馬就無法入侵用戶的系統了——但是要注意一點,那就是木馬本體已經被釋放或下載回來了,只是它們無法被執行而已,HIPS不是防毒軟體,它不能阻止非法程式的下載和釋放,更不提供自動刪除檔案的功能,它所做的,只是攔截進程操作而已,使用HIPS保護的系統安全取決於用戶自身。
註冊表防禦體系(RD),眾所周知,在Windows系統結構中,註冊表一直扮演著一個重要角色,許多非法程式和木馬也通過修改註冊表達到許多黑暗目的,如主頁修改劫持等,而木馬等程式的自啟動也是由註冊表的啟動項負責的,因此,要進一步確保系統安全的話,對註冊表的監視保護是必須的,從很早以前就開始使用電腦的用戶應該會記得當初流行的許多註冊表監視工具,然而這些工具並不能幫助用戶保護註冊表,因為它們僅僅是位於用戶層的程式而已,其調用的API函式也是經過層層封裝返回的,在當前許多進入了核心層的木馬面前,這些程式根本就是被耍猴的對象,要正確監視到真正的註冊表操作,就必須進入核心層,搶先攔截到系統相關的底層註冊表操作函式,這就是註冊表防禦體系的工作。
系統提供了一系列的註冊表讀寫訪問函式來實現用戶層的功能,而這些API和之前提到的創建進程函式一樣,也是一種對系統核心導出函式的封裝傳遞,如果相關函式被驅動木馬攔截,普通的註冊表監視程式,包括系統自帶的註冊表編輯器也無法發現某些項目或執行相關操作,這就是“刪不掉的啟動項”的來由。
在核心層中,註冊表的名稱並非為Registry,而是“HIVE”(蜂巢),它的數據結構稱為“Cell”(蜂室),這是最底層最不可被欺騙的註冊表形態結構,許多高級的Rootkit分析程式都提供分析註冊表的功能,實際上就是通過分別讀取用戶層返回和HIVE數據結構來判斷對比系統中是否存在被惡意隱藏的數據項,分析HIVE檔案是漫長的過程,這是對付高級隱藏時才不得以而為之的方法,而平時安全工具只需要攔截到核心層導出的操作函式如NtOpenKey、NtCreateKey、NtQueryKey等就可以了,這正是註冊表防禦體系要做的事情。
RD默認提供了對幾個常見的系統敏感註冊表項進行監視,如啟動項、服務驅動項、系統策略項、瀏覽器設定項等,所有木馬要自啟動都必須經過啟動項或服務驅動項的添加修改來實現,而要對瀏覽器進行劫持和主頁修改就得通過修改瀏覽器設定項等,而這些操作默認都被RD視為敏感行為而攔截掛起,並彈出警告框報告用戶該次操作的具體內容和發出操作請求的執行體,操作最終能否通過也同樣取決於用戶本身,由於它攔截了系統核心層導出的API函式,無論是木馬還是用戶程式的操作都逃不過法眼,從而實現了真正有效的監視和攔截。
檔案防禦體系(FD),這個功能的作用是監視系統敏感目錄的檔案操作,如修改刪除系統目錄里的任何檔案或創建新檔案等,也可用來發現被驅動木馬隱藏的檔案本體,FD體系在許多防毒軟體里已經提供,一部分HIPS為了提高效率,並不具備FD,因為它相對要消耗的資源比較大,而前面的AD+RD+有一定經驗的用戶操作,就已經足夠防止危害的檔案操作產生了。
實現檔案防禦體系的要點同樣也是攔截系統底層函式如NtOpenFile等,HIPS默認對系統敏感目錄進行監控保護,一旦發現異常讀寫,則把相關操作掛起,並提示用戶是否放行,FD不僅僅只有HIPS提供,其他安全工具如360安全衛士、超級巡警等也具備此功能,該功能運作起來要比前兩者消耗的資源大些。
HIPS原理以及和防毒軟體、防火牆的區別
防毒軟體:
計算機病毒指的是一些具有惡意代碼可能危害計算機的程式。
防毒軟體基本上應當具有以下兩個基本功能:
1:防毒-- 即對帶毒檔案或病毒本身進行查殺的功能。
2:監控-- 一般具有檔案監控,網頁監控(即監控遠程80/8080等常用連線埠),郵件監控(即監控POP和SMTP連線埠),等。
能夠防毒防毒的是防毒軟體,不是防火牆。
防火牆:
簡單的理解,防火牆是架在兩個互相通信主機之間的一個屏障,對非法數據包進行過濾。
我們使用的多數個人防火牆基本具有:防止非法入侵(防止內連) 與 防止本地非法外連 的功能,而SP2系統自帶的牆沒有後者的功能。
基於這兩點,我們可以簡單理解防火牆的兩個作用:
1:通過阻止非法數據包,防止黑客通過某些手段入侵。
2:防止木馬發生外連盜取本地機密信息。個人防火牆沒有殺木馬的功能,它所做的是在中了木馬之後,通過規則禁止其外連以免丟失數據。
現在有不少廠商將自己的殺軟和防火牆做成一個網路防護體系,比如:KIS(卡巴) NIS(諾頓) MIS(咖啡)等。
Hips軟體大全
1.Tiny Firewall (網路防火牆),
http://www.tinysoftware.com
功能:AD+RD+FD,
2.Safe'n'Sec (簡稱SNS或犀牛), http://www.safensoft.com/
功能:AD+FD+RD,
3.SystemSafeMonitor(簡稱SSM), http://syssafety.com/
功能::AD+RD
4.SafeSystem (簡稱ss) , http://www.gemiscorp.com/english/main.html
功能:SS(SafeSystem 2006)--FD
5.GhostSecuritySuite(簡稱GSS),http://www.ghostsecurity.com
功能:AD+RD
6.ProcessGuard(簡稱PG), http://www.diamondcs.com.au/processguard/
功能:AD+RD
7. Winpooch ,http://sourceforge.net/projects/winpooch
功能:一條忠實的“看家狗”, 使用API HOOK技術,可以對幾乎所有的可疑操作進行監控、報告或阻止。
8. Parador File Protection PE http://www.e-securion.com/
功能:FD
9. eqsecure for System, http://www.eqsecure.com
功能: AD+FD+RD, 一款國產HIPS軟體.
10. Malware Defender,www.torchsoft.com/
功能:AD+FD+RD,作者是中國人。加入了360起飛計畫
11. Privacyware Dynamic Security Agent - http://www.privacyware.com
12. ANTIHOOK 澳大利亞的PD,http://www.infoprocess.com.au/AntiHook.php
13. Arovax Shied美國的,http://www.arovaxshield.com/download.php
14. Malware Sweeper Pro,http://www.malwaresweeper.com/
15. Core Force,http://force.coresecurity.com/in ... e&page=download
16 . Watcher,http://www.donationcoders.com/kubicle/watcher/
17. defensewall , http://www.softsphere.com/
18. BufferZone SAE/Home/Pro , http://www.trustware.com/
19. GreenBorder , http://greenborder.com/
20. Virtual Sandbox ,http://www.fortresgrand.com/products/vsb/vsb.htm
21. VELite , http://www.secureol.com/
22. SandBoxie , http://sandboxie.com/
23. RunSafe , http://www.runsafe.com/
24. 1-Defender , http://amustsoft.com/1-defender/
25. All-Seeing-Eyes , http://www.fortego.com/ase
26. GesWall , http://www.gentlesecurity.com/
27. Winpatrol, http://www.winpatrol.com