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