物聯(lián)網(wǎng)安全:攻擊防護
對于目前層出不窮的惡意軟件攻擊,需要采用多種策略來提高系統(tǒng)的安全性。本文結(jié)合幾個案例對攻擊防護的相關(guān)內(nèi)容進行介紹。
1、防火墻
防火墻是眾多安全設(shè)備中的一種,是一種簡單有效的防護方式。防火墻的應(yīng)用存在兩個矛盾:一個是安全和方便的矛盾,另一個是效果與效能的矛盾。前者是指安全必然會帶來過程的繁瑣、造成使用的不便,后者是指想要達到更好的安全防護效果就需要消耗更多的資源。在設(shè)計合理可用的防火墻時往往需要考慮上述矛盾,并根據(jù)要求進行權(quán)衡。
防火墻的提出和實現(xiàn)最早可以追溯到20世紀80年代。研究人員采用包過濾(Packet Filter)技術(shù)先后推出了電路層防火墻和應(yīng)用層防火墻,開發(fā)了基于動態(tài)包過濾技術(shù)的第4代防火墻和基于自適應(yīng)代理技術(shù)的防火墻。防火墻有其簡單的核心原理和運行機制,以確保有效性。下面介紹防火墻的基本原理、分類、技術(shù)架構(gòu)等問題。
(1)防火墻的基本原理
防火墻是可以對計算機或網(wǎng)絡(luò)訪問進行控制的一組軟件或硬件設(shè)備,也可以是固件。防火墻將網(wǎng)絡(luò)分為內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)兩部分,而其自身就是這兩個部分之間的一道屏障。一般認為防火墻就是隔離在內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間的一道執(zhí)行控制策略的防御系統(tǒng)。如圖1所示,防火墻是一種形象的說法,其科學(xué)本質(zhì)是建立在內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間的一個安全網(wǎng)關(guān)。
防火墻的核心原理是:分析出入的數(shù)據(jù)包,決定放行還是攔截,只允許符合安全設(shè)置的數(shù)據(jù)通過。從這一點來看,防火墻實質(zhì)上是一種隔離控制技術(shù),是在不安全的網(wǎng)絡(luò)環(huán)境下構(gòu)造一種相對安全的內(nèi)部網(wǎng)絡(luò)環(huán)境,它既是一個分析器,又是一個限制器。
防火墻的必要性和有效性的基本假設(shè)是:外部存在潛在的安全威脅,內(nèi)部絕對安全;內(nèi)外互通的數(shù)據(jù)全部流經(jīng)防火墻。
防火墻的作用是通過訪問控制來保證網(wǎng)絡(luò)安全,具體包括端口管理、攻擊過濾、特殊站點管理等。防火墻的具體作用如下。
1)強化安全策略,過濾掉不安全的服務(wù)和非法用戶,即過濾進、出網(wǎng)絡(luò)的數(shù)據(jù),管理進、出網(wǎng)絡(luò)的訪問行為,拒絕發(fā)往或者來自所選網(wǎng)點的請求通過防火墻。
2)監(jiān)視網(wǎng)絡(luò)的安全性,并報警。
3)利用網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù),將有限的動態(tài)地址或靜態(tài)地址與內(nèi)部的地址對應(yīng)起來,以緩解地址空間短缺的問題。
4)防火墻是進出信息都必須通過的關(guān)口,適合收集關(guān)于系統(tǒng)和網(wǎng)絡(luò)使用和誤用的信息。利用此關(guān)口,防火墻能在網(wǎng)絡(luò)之間進行信息記錄,其是審計和記錄使用費用的一個最佳地點。網(wǎng)絡(luò)管理員可以在此提供連接的費用情況,查出潛在的帶寬瓶頸位置,并能夠依據(jù)本機構(gòu)的核算模式提供部門級的計費。
5)防火墻可以連接到一個單獨的網(wǎng)絡(luò)上,在物理上與內(nèi)部網(wǎng)絡(luò)隔開,并部署服務(wù)器以作為向外部發(fā)布內(nèi)部信息的地點。
防火墻一般由服務(wù)訪問規(guī)則、驗證工具、包過濾、應(yīng)用網(wǎng)關(guān)4個部分構(gòu)成,微觀上可以存在于路由器、服務(wù)器、PC端等多種設(shè)備中,宏觀上部署在兩個網(wǎng)絡(luò)環(huán)境之間,如內(nèi)部網(wǎng)絡(luò)和外部網(wǎng)絡(luò)之間、專用網(wǎng)絡(luò)和公共網(wǎng)絡(luò)之間等。
防火墻在運行時原理上可選的安全認證策略有3種:一種是肯定的,認為只有被允許的訪問才可以放行,這可能會造成對安全訪問行為的誤殺;另一種是否定的,認為只有被禁止的訪問才是不被允許的,這可能會導(dǎo)致未知的不安全訪問發(fā)生;還有一種是以上兩種策略的協(xié)調(diào),即動態(tài)制定允許訪問與禁止訪問的條件。
(2)防火墻的分類
防火墻的實現(xiàn)有多種類型,基于其核心思想,根據(jù)分析數(shù)據(jù)的不同和安全防護機制的不同,其可以劃分為3種基本類型,基于這些基本類型可以構(gòu)建復(fù)合類型。各類型的防火墻介紹如下。
1)包過濾型防火墻
包過濾型防火墻工作在網(wǎng)絡(luò)層,因此又稱為網(wǎng)絡(luò)級防火墻。包過濾技術(shù)是指根據(jù)網(wǎng)絡(luò)層和傳輸層的原則對傳輸?shù)男畔⑦M行過濾,其是最早出現(xiàn)的防火墻技術(shù)。在網(wǎng)絡(luò)上傳輸?shù)拿總€數(shù)據(jù)包都可以分為兩部分:數(shù)據(jù)部分和包頭。包過濾技術(shù)就是在網(wǎng)絡(luò)的出口(如路由器)處分析通過的數(shù)據(jù)包中的包頭信息,判斷該包是否符合網(wǎng)絡(luò)管理員設(shè)定的規(guī)則,以確定是否允許數(shù)據(jù)包通過。一旦發(fā)現(xiàn)不符合規(guī)則的數(shù)據(jù)包,防火墻就會將其丟棄。包過濾規(guī)則一般會基于某些或全部包頭信息,如數(shù)據(jù)的源地址和目標地址、TCP源端口和目標端口、IP類型、IP源地址等。
包過濾技術(shù)的優(yōu)點是簡單實用、處理速度快、實現(xiàn)成本低、數(shù)據(jù)過濾對用戶透明等。同時其也有很多缺點,主要的缺點是安全性較低,不能徹底防止地址欺騙,正常的數(shù)據(jù)包過濾路由技術(shù)無法執(zhí)行某些安全策略。包過濾技術(shù)工作在網(wǎng)絡(luò)層和傳輸層,與應(yīng)用層無關(guān),因此,其無法識別基于應(yīng)用層的惡意侵入。
2)應(yīng)用代理(Application Proxies)型防火墻
代理服務(wù)器技術(shù)也稱為應(yīng)用層防火墻技術(shù),它控制對應(yīng)用程序的訪問,能夠代替網(wǎng)絡(luò)用戶完成特定的TCP/IP功能。一個代理服務(wù)器實質(zhì)上是一個為特定網(wǎng)絡(luò)應(yīng)用而連接兩個網(wǎng)絡(luò)的網(wǎng)關(guān)。當(dāng)內(nèi)部客戶機要使用外部服務(wù)器的數(shù)據(jù)時,首先會將數(shù)據(jù)請求發(fā)送給代理服務(wù)器,代理服務(wù)器接收到該請求后會檢查其是否符合規(guī)則,如果符合,則代理服務(wù)器會向外部服務(wù)器索取數(shù)據(jù),然后外部服務(wù)器返回的數(shù)據(jù)會經(jīng)過代理服務(wù)器的檢測,由代理服務(wù)器傳輸給內(nèi)部客戶機。由于代理服務(wù)器技術(shù)徹底隔斷了內(nèi)部網(wǎng)絡(luò)與外部網(wǎng)絡(luò)的直接通信,因此外部網(wǎng)絡(luò)的惡意侵害也就很難進入內(nèi)部網(wǎng)絡(luò)。
代理服務(wù)器技術(shù)的優(yōu)點是安全性較高,實施較強的數(shù)據(jù)流監(jiān)控、過濾和日志功能,可以方便地與其他安全手段集成等。同時其也有很多缺點,主要的缺點是訪問速度慢、對于每項服務(wù)代理可能會要求不同的服務(wù)器、代理對用戶不透明等。
3)網(wǎng)絡(luò)地址轉(zhuǎn)化代理(NAT Proxies)型防火墻
網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)是一種通過在防火墻上裝一個合法的IP地址集,把內(nèi)部私有網(wǎng)絡(luò)地址(IP地址)翻譯成合法網(wǎng)絡(luò)IP地址的技術(shù)。當(dāng)不同的內(nèi)部網(wǎng)絡(luò)用戶向外連接時,使用一個公用的IP地址;當(dāng)內(nèi)部網(wǎng)絡(luò)用戶互相通信時,則使用內(nèi)部IP地址。
內(nèi)部網(wǎng)絡(luò)的IP地址對外部網(wǎng)絡(luò)來說是不可見的,這極大地提高了內(nèi)部網(wǎng)絡(luò)的安全性,同時這種技術(shù)也緩解了少量的IP地址和大量主機間的矛盾。當(dāng)然這種技術(shù)也有很多的局限,例如,內(nèi)部網(wǎng)絡(luò)可以通過木馬程序利用網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)與外部連接而穿越防火墻。
4)狀態(tài)檢測防火墻
狀態(tài)檢測技術(shù)采用的是一種基于連接的狀態(tài)檢測機制,能夠?qū)Ω鲗拥臄?shù)據(jù)進行主動的、實時的檢測。當(dāng)防火墻接收到初始化連接的數(shù)據(jù)包時,會根據(jù)事先設(shè)定的規(guī)則對該數(shù)據(jù)包進行檢查,如果該數(shù)據(jù)包被接受,則在狀態(tài)表中記錄下該連接的相關(guān)信息,并將其作為以后制定安全決策的參考。對于后續(xù)的數(shù)據(jù)包,將它們與狀態(tài)表中記錄的連接內(nèi)容進行比較,以決定是否接受它們。狀態(tài)檢測技術(shù)的優(yōu)點是提高了系統(tǒng)的性能、安全性高等。同時其也有很多缺點,主要的缺點是實現(xiàn)成本高、配置復(fù)雜、會降低網(wǎng)速等。
5)復(fù)合型防火墻
把前述的基于各種技術(shù)的防火墻整合成一個系統(tǒng),即為復(fù)合型防火墻,其可構(gòu)筑多道防御,確保更高的安全。
(3)防火墻的技術(shù)架構(gòu)
從實現(xiàn)原理上分,防火墻的技術(shù)架構(gòu)可分為4類:網(wǎng)絡(luò)級防火墻(也叫包過濾型防火墻)、應(yīng)用級網(wǎng)關(guān)、電路級網(wǎng)關(guān)和規(guī)則檢查防火墻。它們各有所長,具體使用哪一種或是否混合使用,要根據(jù)具體需要確定。
1)網(wǎng)絡(luò)級防火墻
網(wǎng)絡(luò)級防火墻一般是基于源地址和目的地址、應(yīng)用、協(xié)議以及每個IP包的端口來做出通過與否的判斷的。一個路由器便是一個“傳統(tǒng)”的網(wǎng)絡(luò)級防火墻,大多數(shù)路由器都能通過檢查信息來決定是否將所收到的包轉(zhuǎn)發(fā),但它不能判斷出一個IP包來自何方、去向何處。防火墻會檢查每條規(guī)則直至發(fā)現(xiàn)包中的信息與某規(guī)則相符。如果沒有一條規(guī)則能符合,則防火墻就會使用默認規(guī)則,一般情況下,默認規(guī)則就是要求防火墻丟棄該包。其次,通過定義基于TCP或UDP數(shù)據(jù)包的端口號,防火墻能夠判斷是否允許建立特定的連接,如Telnet連接、FTP連接等。
2)應(yīng)用級網(wǎng)關(guān)
應(yīng)用級網(wǎng)關(guān)能夠檢查進出的數(shù)據(jù)包,通過網(wǎng)關(guān)復(fù)制傳遞數(shù)據(jù),防止受信任服務(wù)器和客戶機與不受信任的主機直接建立聯(lián)系。應(yīng)用級網(wǎng)關(guān)能夠理解應(yīng)用層上的協(xié)議,能夠做復(fù)雜的訪問控制,以及精細的注冊和稽核。應(yīng)用級網(wǎng)關(guān)針對特別的網(wǎng)絡(luò)應(yīng)用服務(wù)協(xié)議,即數(shù)據(jù)過濾協(xié)議,并且能夠?qū)?shù)據(jù)包進行分析以形成相關(guān)的報告。應(yīng)用級網(wǎng)關(guān)會給予某些易于登錄和控制所有輸出輸入的通信環(huán)境嚴格的控制,以防有價值的程序和數(shù)據(jù)被竊取。在實際工作中,應(yīng)用級網(wǎng)關(guān)一般由專用工作站系統(tǒng)來充當(dāng)。但每一種協(xié)議都需要相應(yīng)的代理軟件,使用時工作量大,效率不如網(wǎng)絡(luò)級防火墻。應(yīng)用級網(wǎng)關(guān)有較好的訪問控制性能,是最安全的防火墻技術(shù),但其實現(xiàn)困難,而且有的應(yīng)用級網(wǎng)關(guān)缺乏“透明度”。在實際使用中,用戶在受信任的網(wǎng)絡(luò)上通過防火墻訪問Internet時,經(jīng)常會出現(xiàn)時延問題并且必須進行多次登錄才能訪問Internet或Intranet。
3)電路級網(wǎng)關(guān)
電路級網(wǎng)關(guān)用來監(jiān)控受信任的客戶或服務(wù)器與不受信任的主機間的TCP握手信息,進而來決定該會話(Session)是否合法。電路級網(wǎng)關(guān)在OSI模型中的會話層上過濾數(shù)據(jù)包,這樣比包過濾防火墻要高兩層。電路級網(wǎng)關(guān)還提供了一個重要的安全功能:代理服務(wù)器(Proxy Server)。代理服務(wù)器是設(shè)置在Internet防火墻網(wǎng)關(guān)中的專用應(yīng)用級代碼。這種代理服務(wù)準許網(wǎng)絡(luò)管理員允許或拒絕特定的應(yīng)用程序或一個應(yīng)用程序的特定功能。包過濾技術(shù)和應(yīng)用級網(wǎng)關(guān)是通過特定的邏輯判斷來決定是否允許特定的數(shù)據(jù)包通過的,一旦判斷條件滿足,防火墻內(nèi)部網(wǎng)絡(luò)的結(jié)構(gòu)和運行狀態(tài)便會“暴露”在外來用戶面前,這就引入了代理服務(wù)的概念,即防火墻內(nèi)外計算機系統(tǒng)應(yīng)用層的“鏈接”由兩個終止于代理服務(wù)的“鏈接”來實現(xiàn),這就成功地實現(xiàn)了防火墻內(nèi)外計算機系統(tǒng)的隔離。同時,代理服務(wù)還可用于實施較強的數(shù)據(jù)流監(jiān)控、過濾、記錄和報告等功能。代理服務(wù)技術(shù)主要通過專用計算機硬件(如工作站等)來實現(xiàn)。
4)規(guī)則檢查防火墻
規(guī)則檢查防火墻結(jié)合了包過濾防火墻、電路級網(wǎng)關(guān)和應(yīng)用級網(wǎng)關(guān)的特點。它同包過濾防火墻一樣,能夠在OSI網(wǎng)絡(luò)層上通過IP地址和端口號過濾進出的數(shù)據(jù)包。規(guī)則檢查防火墻也像電路級網(wǎng)關(guān)一樣,能夠檢查SYN和ACK標志和序列數(shù)字是否邏輯有序。當(dāng)然,其也像應(yīng)用級網(wǎng)關(guān)一樣,可以在OSI應(yīng)用層上檢查數(shù)據(jù)包的內(nèi)容,查看這些內(nèi)容是否符合企業(yè)網(wǎng)絡(luò)的安全規(guī)則。規(guī)則檢查防火墻雖然集成了前三者的特點,但是其不同于一個應(yīng)用級網(wǎng)關(guān)的是,規(guī)則檢查防火墻并不打破客戶機/服務(wù)器模式來分析應(yīng)用層的數(shù)據(jù),它允許受信任的客戶機和不受信任的主機建立直接連接。規(guī)則檢查防火墻不依靠與應(yīng)用層有關(guān)的代理,而是依靠某種算法來識別進出的應(yīng)用層數(shù)據(jù),這些算法通過已知合法數(shù)據(jù)包的模式來比較進出數(shù)據(jù)包,這樣在理論上其就能比應(yīng)用級網(wǎng)關(guān)在過濾數(shù)據(jù)包上更有效。
(4)防火墻的問題分析
防火墻自身有其局限性,它解決不了的問題包括:① 不能防范不經(jīng)過防火墻的攻擊和威脅;② 只能對跨越邊界的信息進行檢測、控制,而對網(wǎng)絡(luò)內(nèi)部人員的攻擊不具備防范能力;③ 不能完全防止傳送已感染病毒的軟件或文件;④ 難于管理和配置,容易造成安全漏洞。
今后,防火墻技術(shù)的發(fā)展要求防火墻采用多級過濾措施,并輔以鑒別手段,使過濾深度不斷加強,從目前的地址過濾、服務(wù)過濾發(fā)展到頁面過濾、關(guān)鍵字過濾等,并逐漸具備病毒清除功能,安全管理工具、可疑活動的日志分析工具不斷完善,對網(wǎng)絡(luò)攻擊的檢測和警告將更加及時和準確。現(xiàn)行操作系統(tǒng)自身往往存在許多安全漏洞,而運行在操作系統(tǒng)之上的應(yīng)用軟件和防火墻也不例外,一定會受到這些安全漏洞的影響和威脅。因此,其運行機制是防火墻的關(guān)鍵技術(shù)之一。為保證防火墻自身的安全和徹底堵住因操作系統(tǒng)的漏洞而帶來的各種安全隱患,防火墻的安全檢測核心引擎可以采用嵌入操作系統(tǒng)內(nèi)核的形態(tài)運行,直接接管網(wǎng)卡,將所有數(shù)據(jù)包進行檢查后再提交給操作系統(tǒng)。并且,可以預(yù)見,未來防火墻的發(fā)展趨勢有高性能防火墻、分布式防火墻、集成智能化防火墻等。
(5)安卓防火墻
下面以安卓(Android)系統(tǒng)下基于服務(wù)申請攔截的惡意軟件檢測防護工具為例介紹安卓防火墻。Android系統(tǒng)的重要系統(tǒng)資源都是以服務(wù)的形式提供給應(yīng)用程序的,基于這一點,可以對服務(wù)進行攔截、判定,從而防止惡意軟件非法申請資源。
Android系統(tǒng)下基于服務(wù)申請攔截的惡意軟件檢測防護工具的工作原理如圖2所示。
當(dāng)Android系統(tǒng)啟動后,惡意軟件檢測防護工具的服務(wù)管理器跟蹤和入侵系統(tǒng)的服務(wù)管理進程,修改服務(wù)申請響應(yīng)函數(shù),攔截服務(wù)申請以供后續(xù)判斷;應(yīng)用程序運行時,會申請其所需的各種服務(wù),此時,服務(wù)管理器會對該服務(wù)申請進行攔截,獲取服務(wù)申請的各個參數(shù),判定服務(wù)的類型;接下來,根據(jù)應(yīng)用程序申請的服務(wù)類型,查詢行為規(guī)則庫,判定該服務(wù)申請是否安全;若該服務(wù)申請危險,則拒絕服務(wù)申請,并中止提出申請的應(yīng)用程序;若該服務(wù)申請的安全性未知,則提示用戶,由用戶自行拒絕或接受服務(wù)申請。通過這樣的方法,我們可以在運行應(yīng)用程序時發(fā)現(xiàn)并阻止軟件的惡意行為,增強系統(tǒng)的安全性。
2、病毒查殺
計算機病毒的防治要從防毒、查毒、解毒3個方面進行,系統(tǒng)對于計算機病毒的實際防治能力和效果也要從防毒能力、查毒能力和解毒能力3個方面來評判。防毒能力是指預(yù)防病毒侵入的能力,查毒能力是指發(fā)現(xiàn)和追蹤病毒的能力,解毒能力是指從感染對象中清除病毒、恢復(fù)被病毒感染前的原始信息的能力,該恢復(fù)過程不能破壞未被病毒修改的內(nèi)容。
病毒查殺就是指利用各類安全工具發(fā)現(xiàn)系統(tǒng)中隱藏的各類可疑病毒程序,并且清除感染對象中的病毒,以恢復(fù)被病毒感染前的原始信息。病毒查殺的主要方式如下。
(1)主動防御技術(shù)
主動防御技術(shù)是指通過對病毒行為的規(guī)律進行分析、歸納、總結(jié),并結(jié)合反病毒專家判定病毒的經(jīng)驗提煉出病毒識別規(guī)則知識庫;模擬專家發(fā)現(xiàn)新病毒的機理,通過分布在用戶計算機系統(tǒng)上的各種探針動態(tài)監(jiān)視程序運行的動作,并將程序的一系列動作通過邏輯關(guān)系分析組成有意義的行為,再結(jié)合病毒識別規(guī)則知識,實現(xiàn)對病毒的自動識別。
主動防御主要由以下模塊組成。
① 實時監(jiān)控模塊:負責(zé)實時監(jiān)控計算機系統(tǒng)內(nèi)各個程序運行的動作,并將這些動作提交給程序行為分析模塊進行分析。
② 病毒識別規(guī)則知識庫:對病毒行為的規(guī)律進行分析、歸納、總結(jié),并結(jié)合反病毒專家判定病毒的經(jīng)驗提煉出病毒行為識別規(guī)則知識庫。病毒識別規(guī)則知識庫主要包括惡意程序識別規(guī)則知識庫和正常程序識別規(guī)則知識庫。
③ 程序行為自主分析判斷模塊:依據(jù)實時監(jiān)控模塊監(jiān)控的各個程序運行的動作,結(jié)合病毒識別規(guī)則知識庫,對程序動作進行關(guān)聯(lián)性分析,并結(jié)合反病毒專家判定病毒的經(jīng)驗進行自主分析,如果某程序是病毒,則首先阻止病毒危害行為的發(fā)生,同時通知病毒處理模塊對病毒進行清除處理。
④ 病毒處理模塊:負責(zé)對判定為病毒的程序進行清除處理。
(2)云查殺技術(shù)
反病毒界提出的云查殺概念來源于云計算,試圖利用云計算的思路從另一個途徑解決越來越多的病毒危險問題。目前,云查殺基本上分為兩類。
① 作為一個最新的惡意代碼、垃圾郵件或釣魚網(wǎng)址等的快速收集、匯總和響應(yīng)處理的系統(tǒng)。
② 病毒特征庫在云上的存儲與共享。作為收集響應(yīng)系統(tǒng),它可收集更多的病毒樣本。但是,因為“端”(用戶計算機)沒有自動識別新病毒的能力,所以需要將用戶計算機中的文件上傳到“云”(反病毒公司)。
(3)基于云的終端主動防御技術(shù)
奇虎360公司提出了基于云的終端主動防御技術(shù)。該技術(shù)采用在服務(wù)器端進行文件審計與行為序列的統(tǒng)計模型,在客戶端部署輕量的行為監(jiān)控點,以透過服務(wù)器端的文件知識庫與行為序列實現(xiàn)惡意軟件行為的攔截。
1)客戶端的行為監(jiān)控技術(shù)
以往安全軟件的主動防御功能基本是基于客戶端的,即在客戶端本地具有一系列判定程序行為是否為惡意的規(guī)則,當(dāng)某個程序的行為序列觸發(fā)了本地規(guī)則庫中的規(guī)則,并且超過權(quán)重評分系統(tǒng)的某個特定閾值時,即判斷該程序有惡意行為。這一方法的最大不足在于,惡意軟件作者通過逆向分析安全軟件程序及本地規(guī)則庫,較容易繞過安全軟件的行為監(jiān)控點并實現(xiàn)“免殺”,這會降低安全軟件的防護能力,造成安全軟件的被動應(yīng)對。
基于云的主動防御技術(shù)會在客戶端收集某一程序的行為特征,并將其發(fā)送到云端服務(wù)器,由云端服務(wù)器來判定客戶端程序的行為惡意與否。
2)服務(wù)器端的行為判定技術(shù)
將單體客戶端上的特定程序的特征/行為序列發(fā)送給服務(wù)器,由服務(wù)器在其數(shù)據(jù)庫中進行分析比對,根據(jù)比對結(jié)果判定該程序的特征/行為序列的惡意與否,并將判定結(jié)果反饋給客戶端。這一過程的難點在于如何實現(xiàn)服務(wù)器端的判定。其具體可以分為兩個步驟:首先,取得程序文件的信譽評級,包括文件的等級(黑、白、灰、未知)、文件的流行度、文件的年齡等;其次,根據(jù)程序文件的行為序列與文件的信譽評級進行綜合規(guī)則匹配。例如,若文件等級未知,流行度小于10個用戶,文件年齡小于2天,另外,行為規(guī)則符合特定行為特征串,那么返回“有風(fēng)險須注意”的標示。
服務(wù)器端行為序列與文件信譽兩者結(jié)合匹配是一個社區(qū)化聯(lián)防的創(chuàng)新方式。隨著木馬手段趨向于社交工程方式攻擊,這套匹配方式可以快速提取行為特征并結(jié)合文件信譽評級,提高快速響應(yīng)速度。
3)客戶端的響應(yīng)處置技術(shù)
客戶端需要根據(jù)服務(wù)器端反饋的判定結(jié)果,決定是否對程序行為進行攔截,終止執(zhí)行該程序或清理該程序,恢復(fù)系統(tǒng)環(huán)境。
服務(wù)器端針對反饋的結(jié)果可以采取不同的策略,有些是清除文件、結(jié)束進程,有些是指定放行,或配合其他新增的防御模塊提供新的動作,例如,提示用戶使用沙箱運行該程序。這種機制不再局限于傳統(tǒng)規(guī)則匹配后只能有命中和不命中兩種處理策略。由于處理策略是在服務(wù)器端指定的,因此只須變更服務(wù)器端,即可變更針對不同行為特征的惡意軟件的處置方法,使系統(tǒng)針對新型未知惡意行為的防護能力和響應(yīng)速度大大提升。
綜上所述,基于云的主動防御技術(shù)將行為規(guī)則放在服務(wù)器端,提高了被突破的門檻,同時大大提高了響應(yīng)速度,無須升級客戶端規(guī)則文件;并通過結(jié)合海量程序文件行為與屬性數(shù)據(jù),可以實現(xiàn)行為攻擊預(yù)警與聯(lián)防。
(4)手機殺毒技術(shù)
隨著手機的廣泛使用,病毒也開始向手機傳播。下面以Android系統(tǒng)下基于包校驗的病毒查殺工具為例,介紹手機病毒查殺。在Android系統(tǒng)下,人們獲得軟件的渠道是不可控的,病毒、木馬和廣告程序等惡意代碼經(jīng)常會被植入正常軟件中。由于Android系統(tǒng)下軟件都是以APK包的形式傳輸和安裝的,因此可以通過軟件包校驗的方法獲知軟件是否被篡改過,同樣地,也可以檢測軟件是否為已知的惡意軟件。
Android系統(tǒng)下基于包校驗的病毒查殺工具的工作原理如圖3所示。
病毒查殺工具的高效運行依賴于軟件黑白名單的建立。通過搜集大量常用軟件的可信版本(如軟件的官方網(wǎng)站版本、大的軟件市場的高下載量無惡評版本等),并對Android安裝包(Android Package,APK)文件做MD5和SHA-1的Hash運算,用軟件名、版本、Hash值即可形成白名單。與此類似,通過搜集大量惡意軟件的樣本,并對APK文件做MD5和SHA-1的Hash運算,用軟件名、版本、Hash值即可形成黑名單。
對待驗證的軟件,病毒查殺工具會獲得其APK文件的軟件名、版本、Hash值,并將它們與白、黑名單中的內(nèi)容進行對比分析,若白名單中有相應(yīng)的軟件名、版本,且Hash值完全匹配,則說明用戶要安裝的軟件是安全的;若白名單中有相應(yīng)的軟件名、版本,但Hash值不匹配,則說明用戶要安裝的軟件被篡改過,是危險的;如果白名單中沒有相應(yīng)的軟件名、版本,則查詢黑名單,若黑名單中有相應(yīng)的軟件名、版本,且Hash值完全匹配,則說明用戶要安裝的軟件是已知的惡意軟件,是危險的(僅Hash值完全匹配也可以說明是惡意軟件);若黑名單中也沒有相應(yīng)的軟件名、版本、Hash值,則說明白、黑名單未收錄該軟件,安全性未知。通過這樣的方法,我們可以快速有效地識別軟件的安全性,直接查殺部分惡意軟件,歸類未知軟件,為其他安全策略提供參考。
3、云安全體系架構(gòu)
云安全系統(tǒng)是一個客戶端和服務(wù)器端(云端)配合實現(xiàn)的智能安全防護體系,由客戶端的云安全智能防護終端軟件和服務(wù)器端的云端智能協(xié)同計算平臺兩部分構(gòu)成,如圖4所示。
(1)云安全智能防護終端
作為云安全體系的重要組成部分,客戶端發(fā)揮了“傳感器”和“處置器”的作用。
首先,客戶端的主要作用是充當(dāng)惡意軟件/網(wǎng)頁樣本的采集傳感器。為了確保采集的全面性,需要盡可能多地對惡意軟件可能的行為、傳播途徑進行監(jiān)控和審計,主動防御技術(shù)可以用于這一目的。在云安全的客戶端軟件中,從以下各個層面實現(xiàn)了針對惡意軟件的查殺、行為監(jiān)控和審計。
1)惡意軟件云查殺
當(dāng)用戶進行系統(tǒng)掃描時,對系統(tǒng)的關(guān)鍵啟動位置、內(nèi)存、關(guān)鍵目錄、指定的文件目錄等進行掃描,提取文件名稱、路徑、大小、MD5指紋、簽名信息等文件特征信息,并通過實時聯(lián)網(wǎng)與云安全查詢引擎通信,將文件特征信息發(fā)送給云安全查詢引擎,然后根據(jù)云安全查詢引擎返回的結(jié)果或規(guī)則的分析,對被掃描文件進行相應(yīng)的處置。
2)網(wǎng)頁安全監(jiān)控和防護
據(jù)統(tǒng)計,90%以上的惡意軟件是通過瀏覽惡意網(wǎng)頁傳播的,因此網(wǎng)頁安全瀏覽是終端安全防護的第一道關(guān)口。網(wǎng)盾采用靜態(tài)特征匹配和動態(tài)行為監(jiān)控相結(jié)合的技術(shù),通過掛鉤系統(tǒng)關(guān)鍵應(yīng)用程序編程接口(Application Programming Interface,API)實現(xiàn)行為監(jiān)控,根據(jù)一系列規(guī)則判定被瀏覽網(wǎng)頁是否為惡意網(wǎng)頁。網(wǎng)頁惡意行為的特征包括:修改系統(tǒng)文件、寫注冊表、下載可執(zhí)行文件、創(chuàng)建進程、加載驅(qū)動程序、加載系統(tǒng)DLL等。當(dāng)發(fā)現(xiàn)可疑的惡意網(wǎng)頁時,即將惡意網(wǎng)頁的統(tǒng)一資源定位符(Uniform Resource Locator,URL)地址及其行為特征上傳至云端服務(wù)器。
3)下載安全防護
惡意軟件傳播的另一個主要途徑是通過軟件的捆綁或后臺升級,下載器軟件就是典型的木馬傳播者。云安全智能防護終端會監(jiān)控系統(tǒng)所有進程的下載行為,一旦發(fā)現(xiàn)有從可疑地址下載文件的行為,就會將下載者的進程文件樣本及其行為特征上傳至云端服務(wù)器。
4)移動介質(zhì)安全防護
大量惡意軟件利用AutoRun的機制通過U盤等移動介質(zhì)進行傳播,U盤防火墻功能將自動監(jiān)測移動介質(zhì)的連接及其自動運行的程序,一旦發(fā)現(xiàn)其有可疑行為,就會將其文件樣本和行為特征上傳至云端服務(wù)器。
5)惡意行為智能攔截
惡意行為智能攔截即主動防御功能,又稱系統(tǒng)防火墻。木馬等惡意軟件入侵系統(tǒng)時總會試圖執(zhí)行若干特定操作以便實現(xiàn)駐留系統(tǒng)并開機運行的目的,這些基本上都是通過修改系統(tǒng)關(guān)鍵啟動項、修改文件關(guān)聯(lián)、增加瀏覽器插件、劫持通信協(xié)議等方式實現(xiàn)的。有效發(fā)現(xiàn)文件的可疑行為,并將其樣本和行為特征上傳至云端服務(wù)器。
6)網(wǎng)絡(luò)防火墻
網(wǎng)絡(luò)防火墻可以對可疑軟件的網(wǎng)絡(luò)通信行為進行監(jiān)控,例如,ARP攻擊、劫持通信協(xié)議、連接惡意網(wǎng)址等,一旦發(fā)現(xiàn)即可將其樣本和行為特征上傳至云端服務(wù)器。
7)用戶隱私數(shù)據(jù)保護
絕大部分木馬惡意軟件的目的是實施盜號,因此,它們必然會對特定的應(yīng)用(如網(wǎng)絡(luò)游戲、網(wǎng)上銀行等)實施掛鉤、注入、直讀內(nèi)存等行為。賬號保險箱軟件對針對特定應(yīng)用程序的敏感操作進行了監(jiān)控,一旦發(fā)現(xiàn)即可將其樣本和行為特征上傳至云端服務(wù)器。
由上述分析可知,云安全智能防護終端在惡意軟件傳播的各個主要途徑都進行了攔截監(jiān)控,一旦發(fā)現(xiàn)有某個文件的行為觸發(fā)了一定的規(guī)則,就會判定其行為可疑,經(jīng)過與云安全中心確認該文件尚未采集,即可將其文件樣本和客戶端對其行為特征的初步分析結(jié)果上傳至云端服務(wù)器。這就保證了對新的可疑文件的最全面的采集能力,同時將對可疑文件行為分析的一部分工作分散至終端完成,從而節(jié)約了服務(wù)器端的計算資源。
(2)云端智能協(xié)同計算平臺
云端智能協(xié)同計算平臺是云安全體系的服務(wù)器端核心技術(shù)。它可以完成惡意軟件/網(wǎng)頁的云計算分析,即不僅可以對文件/網(wǎng)頁樣本進行自動分析,還可以結(jié)合客戶端分析該樣本初步行為的結(jié)果,以及大量用戶對客戶端處置的人工交互反饋結(jié)果(如對安全告警的選擇),這實際上體現(xiàn)了群體智慧或協(xié)同計算的概念。云端智能協(xié)同計算平臺包括文件/網(wǎng)頁安全分析中心、海量白名單采集與自動更新系統(tǒng)、高性能云安全查詢引擎、智能海量數(shù)據(jù)挖掘系統(tǒng)、全網(wǎng)安全威脅預(yù)警系統(tǒng)、大規(guī)模分布式計算平臺、海量數(shù)據(jù)存儲平臺等幾個部分。各部分功能說明如下。
1)文件/網(wǎng)頁安全分析中心
文件/網(wǎng)頁安全分析中心主要包括海量樣本自動分析系統(tǒng)、惡意網(wǎng)頁監(jiān)測系統(tǒng)和惡意行為監(jiān)控和審計系統(tǒng)3部分。
① 海量樣本自動分析系統(tǒng):采用靜態(tài)特征碼匹配、啟發(fā)式掃描、機器學(xué)習(xí)等方法,對客戶端采集并上傳的海量可疑文件/網(wǎng)頁樣本,或者通過搜索引擎蜘蛛程序抓取的網(wǎng)頁,進行自動分析,判定每個樣本的安全級別。
② 惡意網(wǎng)頁監(jiān)測系統(tǒng):監(jiān)測整個中國互聯(lián)網(wǎng),檢測識別掛馬、釣魚、欺詐等惡意網(wǎng)頁,同時發(fā)現(xiàn)新的操作系統(tǒng)和應(yīng)用軟件漏洞。
③ 惡意行為監(jiān)控和審計系統(tǒng):對于無法通過自動靜態(tài)分析判定安全級別的文件/網(wǎng)頁樣本,將其放入虛擬機環(huán)境運行,監(jiān)控并記錄其所有行為,若其行為特征觸發(fā)特定的惡意行為規(guī)則且超過指定閾值,則判定其為惡意行為。
2)海量白名單采集與自動更新系統(tǒng)
文件/網(wǎng)頁安全分析中心的結(jié)果是形成惡意軟件/網(wǎng)頁的黑名單,但是對于惡意軟件的判定,無論是采用靜態(tài)特征碼匹配,還是采用動態(tài)行為監(jiān)控技術(shù),都不可能保證100%的準確性,因而可能導(dǎo)致誤報。此外,基于一個假設(shè)“惡意軟件的數(shù)量可能會遠遠超過可信正常軟件的數(shù)量”,這個黑名單的數(shù)量可能會非常龐大。這時,更為有效的解決方案是建立可信正常軟件的白名單技術(shù),亦即盡可能多地采集用戶常用的各類軟件(包括操作系統(tǒng)軟件、硬件驅(qū)動程序、辦公軟件、第三方應(yīng)用軟件等)的文件白名單,且保持白名單的實時更新。事實上,只要白名單技術(shù)足夠有效,云安全系統(tǒng)就完全可以采用“非白即黑”的策略(即前述可信軟件的配置管理方案),也就是任何不在白名單內(nèi)的文件即可認為其是可疑的惡意軟件(黑)。
3)高性能云安全查詢引擎
高性能云安全查詢引擎是云安全體系中的核心部件之一。云安全體系所要形成的主要結(jié)果為文件/網(wǎng)頁的安全級別和可信度信息(包括惡意軟件/網(wǎng)頁黑名單數(shù)據(jù)、正常軟件的白名單數(shù)據(jù)、未知安全級別文件數(shù)據(jù)),數(shù)據(jù)的規(guī)模十分龐大,而且具有極快的更新速度。服務(wù)器端需要為海量的文件/網(wǎng)頁的安全級別和可信度信息建立索引,并提供面向客戶端的高性能查詢引擎。
4)智能海量數(shù)據(jù)挖掘系統(tǒng)
智能海量數(shù)據(jù)挖掘系統(tǒng)會對文件/網(wǎng)頁安全分析中心的分析結(jié)果數(shù)據(jù)和白名單系統(tǒng)中的數(shù)據(jù),以及用戶上傳和云查詢引擎的檢索日志與查詢結(jié)果數(shù)據(jù)進行統(tǒng)計分析和挖掘,從中可以分析出大量有用的結(jié)果,如某個惡意軟件的感染傳播趨勢、某個惡意被網(wǎng)頁代碼的掛馬傳播趨勢、某個漏洞被利用的趨勢等,甚至可以分析并發(fā)現(xiàn)新的0day漏洞,這對云安全體系的整體效果的改善有著重要的指導(dǎo)作用。
5)全網(wǎng)安全威脅預(yù)警系統(tǒng)
全網(wǎng)安全威脅預(yù)警系統(tǒng)利用智能海量數(shù)據(jù)挖掘系統(tǒng)的分析結(jié)果,對可能威脅公眾及國家網(wǎng)絡(luò)安全的大規(guī)模安全事件進行預(yù)警分析與管理。這個系統(tǒng)可為國家有關(guān)部門、重要的信息系統(tǒng)等提供面向中國互聯(lián)網(wǎng)的安全威脅監(jiān)測和預(yù)警服務(wù)。
6)大規(guī)模分布式計算平臺
為了實現(xiàn)對海量數(shù)據(jù)的高性能處理能力,云計算一般需要利用大規(guī)模分布式并行計算技術(shù),這是云安全所需的核心技術(shù)之一。實現(xiàn)云安全所需的分布式并行計算平臺,需要考慮以下兩個因素:① 數(shù)據(jù)規(guī)模十分龐大;② 與惡意軟件的對抗是一個長期的過程,對惡意軟件的分析與判定方法也會不斷變化,因此,這個分布式并行計算平臺應(yīng)具備較強的可伸縮性和適應(yīng)性,不僅可以擴展支持更大的數(shù)據(jù)處理規(guī)模,還可以將新的分析方法或加工過程靈活地加入系統(tǒng),而不會導(dǎo)致系統(tǒng)體系結(jié)構(gòu)出現(xiàn)較大變化。
7)海量數(shù)據(jù)存儲平臺
海量數(shù)據(jù)存儲平臺也是云計算體系中的核心平臺技術(shù)之一。海量樣本、整個云端處理流程中的各類中間結(jié)果數(shù)據(jù)、用戶反饋數(shù)據(jù)、用戶查詢?nèi)罩镜?,每一種數(shù)據(jù)的規(guī)模都是海量的。云安全系統(tǒng)建立了一個海量的分布式文件數(shù)據(jù)存儲平臺,并提供對上層應(yīng)用的透明數(shù)據(jù)存取訪問功能,可保證數(shù)據(jù)存儲的可靠性、一致性和容災(zāi)性。
4、沙箱工具
沙箱(Sandbox)工具可為來源不可信、具有破壞力或無法判定程序意圖的程序提供運行環(huán)境,它是在受限的安全環(huán)境中運行應(yīng)用程序的一種做法,這種做法是要限制授予應(yīng)用程序的代碼訪問權(quán)限。
沙箱技術(shù)是安全廠商和計算機安全研究人員常用的一種檢測惡意軟件和病毒的技術(shù),下面以Android系統(tǒng)下的一個沙箱工具為例具體介紹沙箱技術(shù)。此沙箱工具結(jié)合服務(wù)申請監(jiān)控和軟件自動化測試方法,可以自動化地檢測軟件運行時有無惡意行為,從而判定軟件的安全性,為黑白名單的擴充提供基礎(chǔ)。
Android系統(tǒng)下的軟件安全判定沙箱工具的工作原理如圖5所示。
軟件安全判定沙箱工具由行為規(guī)則庫、測試管理分析環(huán)境以及Android測試環(huán)境3個部分組成。首先,準備封閉可監(jiān)控的Android測試環(huán)境,用于待測試軟件的運行。接下來,待測試軟件會被推送安裝到Android測試環(huán)境中。在Android測試環(huán)境中,通過采用各種手段(模擬用戶操作,如隨機操作、頁面爬行等;模擬關(guān)鍵事件;激發(fā)軟件惡意行為)自動化測試應(yīng)用程序,使其表現(xiàn)出運行時的行為,并對其行為進行監(jiān)控和記錄。當(dāng)運行測試完成后,處理行為記錄,采用行為規(guī)則或數(shù)據(jù)挖掘等方法分析應(yīng)用的行為,判定應(yīng)用的安全性,其中,行為規(guī)則方法需要事先總結(jié)歸納惡意行為的一般特征,數(shù)據(jù)挖掘方法則需要依賴大量的樣本數(shù)據(jù)。最后,積累分析結(jié)果,結(jié)合其他分析結(jié)果擴充行為規(guī)則庫,擴充樣本集,從而持續(xù)提高行為分析的準確率。通過這樣的方法,我們可以自動、大量地測試應(yīng)用軟件,判定其安全性,獲取行為規(guī)則,以擴充行為規(guī)則庫和病毒庫。
圖6所示為Android系統(tǒng)下的軟件安全判定沙箱工具的原型,展示了對批量應(yīng)用程序安全性判定的結(jié)果。