擁有0Day漏洞利用代碼的攻擊者成為了當今企業(yè)級網(wǎng)絡(luò)安全最大的威脅。為了盡量不給零Day漏洞攻擊者們以可乘之機,許多廠商開始研究操作系統(tǒng)中0Day漏洞的防護機制。
目前的操作系統(tǒng)設(shè)計時考慮到了分級保護機制。例如Windows操作系統(tǒng)的內(nèi)核是零級(Ring 0),最外面的用戶級是三級(Ring 3)。這種分級機制減少了操作系統(tǒng)出錯的可能性,提高了操作系統(tǒng)的穩(wěn)定性,也在一定程度上保證了操作系統(tǒng)的安全性。
應用程序運行在最不受信任的級別(Ring 3,又被成為用戶態(tài)),而操作系統(tǒng)的系統(tǒng)程序執(zhí)行在受信任程度最高的零級(Ring 0,又被成為內(nèi)核態(tài))。操作系統(tǒng)可以在不同的級別進行資源分配,不同級別之間的訪問受到控制。舉個例子來說,Windows用戶要訪問系統(tǒng)的資源,只能通過Windows提供的API來進行。有了這種機制,任何一個用戶要訪問系統(tǒng)的資源,都要得到操作系統(tǒng)的允許。
微軟和其它的許多安全廠商都投入了大量的時間和精力,用來研發(fā)增強的安全措施,以提高操作系統(tǒng)的安全性。他們大都把注意力放在了核心態(tài)(Ring 0)上,即監(jiān)控用戶態(tài)的應用程序?qū)ο到y(tǒng)資源的請求。例如,阻止對內(nèi)存中關(guān)鍵結(jié)構(gòu)的寫操作;分析應用程序的行為來確保一個字處理程序不會突然向外發(fā)送敏感數(shù)據(jù)等。
與此同時,許多基于主機的安全產(chǎn)品能夠保護用戶的應用程序免受安全漏洞帶來的攻擊。例如,標記堆內(nèi)存和棧內(nèi)存為不可執(zhí)行的,或者內(nèi)存分配的返回地址隨機化等,都可以增加漏洞利用的難度,甚至使得緩沖區(qū)溢出漏洞的利用變成不可能。
另一種基于主機的安全保護措施,通常被稱為行為分析,即截獲和分析應用程序發(fā)起的各種系統(tǒng)調(diào)用請求。作為這種方案的改進,另一種方法是把應用程序加載到虛擬機中,這樣可以在應用程序執(zhí)行前,檢測和分析每一條指令而不是系統(tǒng)調(diào)用,這種策略檢測得更加徹底。
盡管基于主機的保護機制在企業(yè)級網(wǎng)絡(luò)中難于配置和使用,但是目前這種方案是應付零Day漏洞攻擊的最好的方法。使用了這種保護機制的企業(yè)級網(wǎng)絡(luò)仍然面臨的安全風險,因為這些安全產(chǎn)品對零Day漏洞的防御只停留在用戶態(tài)而不是內(nèi)核態(tài)。技術(shù)出色的黑客仍然可以通過利用操作系統(tǒng)內(nèi)核的漏洞入侵企業(yè)級網(wǎng)絡(luò)。
任何一種聲稱能夠防護應用程序免受零Day漏洞攻擊的安全產(chǎn)品,都必須把他們的防護措施深入到操作系統(tǒng)的內(nèi)核級別。
目前市場上的安全產(chǎn)品都無法保證操作系統(tǒng)不受安全漏洞的攻擊。近來隨著虛擬機技術(shù)的成熟和硬件技術(shù)的發(fā)展,可以考慮把下一代安全技術(shù)做在虛擬機里,再通過創(chuàng)建一個受信的虛擬機監(jiān)控程序,可以提高安全監(jiān)測的可見性。 在虛擬機中開發(fā)安全防護模塊,可以保證一個或者多個服務器共同工作時,都免受安全漏洞的攻擊。使用虛擬機后,安全軟件工作在操作系統(tǒng)的下層,可以徹底的檢測出操作系統(tǒng)的安全漏洞。
像這樣的一種解決方案,可以提供比目前的安全產(chǎn)品更高的保護效果。運行著服務器的操作系統(tǒng)中也不必再安裝安全軟件,只要讓該操作系統(tǒng)在裝有安全防護模塊的虛擬機下運行即可。這種方法不僅能夠防護企業(yè)級服務器,普通用戶同樣可以使用它。


