一種基于行為序列的瀏覽器擴展漏洞的檢測方法
【專利摘要】本發(fā)明公開了一種基于行為序列的瀏覽器擴展漏洞的檢測方法,該方法包括以下步驟:步驟一、通過在XPConnect層進行插樁,攔截XPCOM組件的調用請求,將該調用請求抽象為擴展行為;步驟二、對組成擴展行為序列的各擴展行為按照功能進行分類和化簡;步驟三、總結出目前發(fā)現(xiàn)的主要的攻擊過程都有一定的相似性的擴展行為組成攻擊特征知識庫,采用基于神經(jīng)網(wǎng)絡算法,將各擴展行為和攻擊特征知識庫中的表征攻擊過程的擴展行為都建立有向圖模型;步驟四、最后,利用子圖匹配算法是模擬有限狀態(tài)自動機的運行,通過分析已經(jīng)曝光的擴展行為中存在的漏洞,實現(xiàn)檢測。與現(xiàn)有技術相比,本發(fā)明基于人工智能模式實現(xiàn)了自動化的瀏覽器擴展上的漏洞檢測,防止Firefox瀏覽器及其類似瀏覽器收到惡意或存在缺陷的擴展行為的攻擊造成的網(wǎng)絡安全危害。
【專利說明】 一種基于行為序列的瀏覽器擴展漏洞的檢測方法
【技術領域】
[0001]本發(fā)明涉及瀏覽器安全【技術領域】,特別是涉及瀏覽器擴展漏洞的檢測方法。
【背景技術】
[0002]瀏覽器擴展是一種使瀏覽器功能更加豐富、界面更加美觀的機制。但是,一個比較常見的誤解是擴展等同于插件。事實上,瀏覽器擴展跟插件不同,插件是用來顯示特殊多媒體內容的組件,例如flash插件、video插件等,而擴展為瀏覽器增加新功能特性,使得瀏覽器能夠滿足個性化的需求。
[0003]例如:Firefox的擴展機制如圖1所示。XPInstall模塊負責解析瀏覽器擴展的RDF文件,并正確安裝擴展,安裝過程中可能需要調用XPCOM接口。一個擴展一旦被安裝到Firefox瀏覽器中,就會交由XULRunner平臺來負責控制其運行。擴展的運行過程中還需要Chrome注冊模塊的支持。在Firefox運行時,擴展的Chrome信息被加載到注冊模塊中,再交由XULRunner來解析、渲染。
[0004]通過對Firefox擴展系統(tǒng)結構進行分析,可以發(fā)現(xiàn)該機制存在兩個明顯的設計缺陷:1、擴展之間互不隔離;2、Firef0X授予擴展極高的信任級別。擴展之間互不隔離導致惡意擴展可以修改其他擴展的行為以躲避對攻擊行為的追蹤。擴展被授予極高的信任級別,使得擴展能獲得跟Firefox本身同樣的特權。這允許擴展可以進行一些例如訪問網(wǎng)絡、啟動進程、訪問本地文件等敏感操作。一旦被攻擊,惡意擴展或存在缺陷的擴展可能給用戶造成極大的危害。
[0005]近年來人們陸續(xù)發(fā)現(xiàn)瀏覽器擴展中存在的安全漏洞,也意識到了瀏覽器擴展機制的設計缺陷。關于瀏覽器擴展的安全問題,研究人員已經(jīng)取得了一定的研究成果。一方面,有一些研究機構提出了對瀏覽器擴展的改進方案;另一方面,有一些研究機構分析總結了瀏覽器擴展中存在的安全問題。這些研究工作讓人們對瀏覽器的安全現(xiàn)狀有了一個更加清晰的認識,也提高了用戶的警惕性,為后續(xù)研究工作提供了寶貴的借鑒作用。但是對于現(xiàn)有的大量瀏覽器擴展,目前還沒有自動化檢測其中漏洞的方法或工具。
[0006]本發(fā)明正是根據(jù)上述問題,研究瀏覽器擴展的安全現(xiàn)狀,將人工智能領域的基于神經(jīng)網(wǎng)絡的圖模型算法用于瀏覽器擴展行為序列的約簡以及建模,以使檢測的自動化成為可能,旨在設計出一種方法或工具能夠自動化檢測瀏覽器擴展的漏洞。
【發(fā)明內容】
[0007]為了克服上述現(xiàn)有技術存在的問題,本發(fā)明提出了一種基于行為序列的瀏覽器擴展漏洞的檢測方法,以Firefox瀏覽器擴展為研究對象,通過自動測試Firefox擴展庫上的所有類別的瀏覽器擴展的行為,并用測試知識庫收集總結了瀏覽器擴展漏洞和不安全實踐;對瀏覽器擴展存在的安全問題及瀏覽器擴展機制的設計缺陷進行了調查研究,目的是找出瀏覽器擴展中所有不安全行為,屬于安全領域。
[0008]一種基于行為序列的瀏覽器擴展漏洞的檢測方法,該方法包括以下步驟:[0009]步驟一、通過在XPConnect層進行插樁,攔截XPCOM組件的調用請求,將該調用請求抽象為擴展行為,按調用時間先后順序形成擴展行為序列;
[0010]步驟二、對組成擴展行為序列的各擴展行為按照功能進行分類,并劃分安全等級包括“高”、“中”、“低”以及“無”四個安全等級,只留下安全等級為“高”、“中”、“低”的擴展行為,將安全等級為“無”的擴展行為化簡掉;
[0011]步驟三、,總結出目前發(fā)現(xiàn)的主要的攻擊過程都有一定的相似性的擴展行為組成攻擊特征知識庫,采用基于神經(jīng)網(wǎng)絡算法,將各擴展行為和攻擊特征知識庫中的表征攻擊過程的擴展行為都建立有向圖模型;
[0012]步驟四、最后,利用子圖匹配算法是模擬有限狀態(tài)自動機的運行,通過分析已經(jīng)曝光的擴展行為中存在的漏洞,實現(xiàn)檢測。
[0013]與現(xiàn)有技術相比,本發(fā)明基于人工智能模式實現(xiàn)了自動化的瀏覽器擴展上的漏洞檢測,防止Firefox瀏覽器及其類似瀏覽器收到惡意或存在缺陷的擴展行為的攻擊造成的網(wǎng)絡安全危害。。
【專利附圖】
【附圖說明】
[0014]圖1為現(xiàn)有技術的Firefox擴展機制示意圖;
[0015]圖2為攻擊者知識學習過程;
[0016]圖3為一個有5個節(jié)點的有向圖示意;
[0017]圖4為輸出網(wǎng)絡結構示意圖;
[0018]圖5為基于神經(jīng)網(wǎng)絡的有向圖1旲型結構不意圖;
[0019]圖6為本發(fā)明實施例的基于行為序列的瀏覽器擴展漏洞的檢測過程。
【具體實施方式】
[0020]下面將結合附圖對本發(fā)明【具體實施方式】作進一步地詳細描述。
[0021]如圖2所示,本發(fā)明的基于行為序列的瀏覽器擴展漏洞的檢測方法,包括采集擴展行為信息、基于圖形神經(jīng)網(wǎng)絡的建模、化簡有向圖、檢測安全漏洞。首先通過在Firefox源代碼中插樁來截獲瀏覽器擴展在運行中請求的接口調用,這些接口調用的請求被抽象成瀏覽器擴展的行為;采集到的擴展行為被建模成基于神經(jīng)網(wǎng)絡的圖模型,經(jīng)過分類、劃分安全等級、約簡處理;最后,在攻擊特征知識庫的輔助下,檢測可疑的擴展行為序列。
[0022]一、擴展行為的采集和分類
[0023]1-1、在起到橋接作用的XPConnect層進行插樁(hook函數(shù)),以攔截對XPCOM組件的調用請求,將攔截到的調用請求抽象為擴展的行為;
[0024]1-2、分析Firefox20.0瀏覽器提供的1948個XPConnect層的接口,按照每個接口提供的功能,將其抽象為57種擴展行為,并把這些擴展行為作為基礎單元;
[0025]1-3、分析這57種擴展行為所實現(xiàn)的功能跟安全性的關系,并將其劃分為4個安全等級:H(高)表示該擴展行為與安全密切相關、M(中)表示該擴展行為可能造成一定的安全隱患、L(低)表示該擴展行為造成安全隱患的可能性很低、N(無)表示該擴展行為基本與安全無關。二、基于神經(jīng)網(wǎng)絡的有向圖模型的構建
[0026]2-1、定義有向圖G= (V,E),其中V是節(jié)點的集合,E是邊的集合。圖3表示一個有5個節(jié)點的有向圖,圖中每個節(jié)點被標注為隨機產(chǎn)生不重復的In e Re;
[0027]2-2、每個節(jié)點η對應一個狀態(tài)向量Xn,且有Xn e Rs,用來表示該節(jié)點的特征(即該節(jié)點的相鄰節(jié)點、度、標簽等)。這里的度是圖中與該節(jié)點相連接的邊的數(shù)目,標簽為XPCOM接口調用信息。一個節(jié)點的s維狀態(tài)向量是由前饋神經(jīng)網(wǎng)絡(也稱傳遞網(wǎng)絡)來計算的,傳遞網(wǎng)絡實現(xiàn)了傳遞函數(shù)fw:
[0028]xn=fw(ln,xng[n],
Ing [η] (I)
[0029]= 2ueng[u]hw(ln,xu, lu) (2)
[0030]對每個節(jié)點η:hw是狀態(tài)、標簽和鄰居節(jié)點標簽的函數(shù),In表示當前節(jié)點的標簽,Xng[n]為當前節(jié)點相鄰節(jié)點的狀態(tài)集合,Ingh]為當前節(jié)點相鄰節(jié)點的標簽集合,每個節(jié)點關聯(lián)一個前饋神經(jīng)網(wǎng)絡。該前饋神經(jīng)網(wǎng)絡的外部輸入的數(shù)量等于該節(jié)點的相鄰節(jié)點的數(shù)量,即xu,Iu的維度等于相鄰節(jié)點的數(shù)量。
[0031]2-3、把上述各節(jié)點前饋神經(jīng)網(wǎng)絡作為計算單元,在圖的拓撲結構上加以考察,從時間維度就可以得到一個遞歸神經(jīng)網(wǎng)絡,以該遞歸網(wǎng)絡中每個節(jié)點的最終穩(wěn)定輸出和該節(jié)點的標記作為輸入,就可以得到每個節(jié)點的最終結果。如圖4和圖5所示。
[0032]三、大規(guī)模有向 圖模型的化簡
[0033]1、在對每個行為都標注安全等級之后,一些安全等級為N(無)的行為將被從行為序列中剔除出去;
[0034]2、行為序列抽象;
[0035]3、基于規(guī)則約簡。
[0036]四、利用子圖匹配算法實現(xiàn)可疑擴展行為的檢測
[0037]將待檢測的擴展行為序列和攻擊特征知識庫存儲的攻擊特征行為都建模為有向圖之后,對可疑行為序列的檢測就轉化為一個子圖匹配的問題。攻擊特征知識庫中也是存儲擴展行為序列,只是這些擴展行為序列表征了某一個攻擊過程。
[0038]子圖匹配算法是模擬有限狀態(tài)自動機的運行。有窮自動機(也稱有限自動機)作為一種識別裝置,能準確地識別某些規(guī)則集合,即識別規(guī)則文法所定義的語言與規(guī)則表達式所表示的集合。如圖6所示(RulesforAttacksBehaviors:攻擊行為的規(guī)則;BehaviorsSequences:行為序列;Rule:規(guī)則;NFA:不確定有窮自動機;DFA:確定有窮自動機;MinimizeDFA:最小化確定有窮自動機;DFASimulation:確定有窮自動機仿真,Suspicioussequence (attacks):可疑行為序列(攻擊))。
[0039]用來進行子圖匹配的有窮自動機(DFA)M是一個五元式:M = (S,Σ,δ,s0, F)其中S是一個有限集,它的每個元素稱為一個狀態(tài),狀態(tài)包括attack、attack* (任何一個特定的攻擊)、behavior、behavior* (任何一個特定的行為)和(字符),Σ是一個有窮字母表,它的每個元素是一個輸入字符;S是一個從SX Σ至S的單值映射。S(s,a) =s’意味著:當現(xiàn)行狀態(tài)為S、輸入字符為a時,將轉換到下一個狀態(tài)s’。我們稱s’為s的一個后繼狀態(tài),每個S就是一條規(guī)則;s0 e S,是唯一的初態(tài);FeS,是一個終態(tài)集,里面包括的就是attack,如果有攻擊存在的話。
[0040]將攻擊特征行為都定義為規(guī)則,從大規(guī)模的擴展行為序列中檢測到的符合規(guī)則的片段,即為可疑行為。首先定義攻擊的規(guī)則,即定義表示攻擊特征的正則表達式:
[0041]*nullnsI10service2*nsIURI*nsILocalFiIe*(I)[0042]*nsILocalFile*nsIProcess*nsIProcess* (2)
[0043]*nsIPrefBranch^nsIPrefLocalizedString*(3)
[0044]通過分析已經(jīng)曝光的擴展行為中存在的漏洞,如InfoRSS,Yoono,unity-firefox-extension, Firebug等,總結出目前發(fā)現(xiàn)的主要的攻擊過程都有一定的相似性。攻擊的過程一般可以分為兩個部分,第一部分是用戶輸入行為,第二部分是造成危害的行為。因為在形式化的時候,可以將每個攻擊都分成兩段,即用戶輸入行為部分和造成危害的部分,這樣兩個部分都可以列舉,就能解決攻擊庫不能完備的問題。
[0045]具體實施例:本發(fā)明通過插樁攔截擴展對底層XPCOM組件的調用信息,并將其抽象為擴展行為,按調用時間先后順序形成行為序列。行為被分類并劃分安全等級,根據(jù)安全等級進行化簡,然后采用基于神經(jīng)網(wǎng)絡的圖模型來建模并檢測擴展的行為?;诒景l(fā)明算法,設計并實現(xiàn)了 BSB-Detecter,在攻擊行為特征序列知識庫的支持下,可以檢測4種漏洞以及7種不安全實踐,在待檢測140個擴展中,一共檢查到26個安全漏洞,其中17個經(jīng)過手工驗證,誤報率為34.6%,漏洞檢測的結果如表1所示。檢查到不安全實踐177個,其中經(jīng)過驗證的172個。 [0046]Update漏洞被檢測到的個數(shù)最多14例,經(jīng)過手工驗證的有10個,誤報率為 28.6 %。涉及的擴展有:GoogleToolbar、Googl eBrowserSync> YahooToolbar、Del.1ci0.us、FacebookTooIbar> AOLToolbar、Ask.comToolbar、LinkedInBrowser Toolbar、NetcraftAnt1-PhishingToolbar、PhishTankSiteChecker0
【權利要求】
1.一種基于行為序列的瀏覽器擴展漏洞的檢測方法,其特征在于,該方法包括以下步驟: 步驟一、通過在XPConnect層進行插樁,攔截XPCOM組件的調用請求,將該調用請求抽象為擴展行為,按調用時間先后順序形成擴展行為序列; 步驟二、對組成擴展行為序列的各擴展行為按照功能進行分類,并劃分安全等級包括“高”、“中”、“低”以及“無”四個安全等級,只留下安全等級為“高”、“中”、“低”的擴展行為,將安全等級為“無”的擴展行為化簡掉; 步驟三、,總結出目前發(fā)現(xiàn)的主要的攻擊過程都有一定的相似性的擴展行為組成攻擊特征知識庫,采用基于神經(jīng)網(wǎng)絡算法,將各擴展行為和攻擊特征知識庫中的表征攻擊過程的擴展行為都建立有向圖模型; 步驟四、最后,利用子圖匹配算法是模擬有限狀態(tài)自動機的運行,通過分析已經(jīng)曝光的擴展行為中存在的漏洞,實現(xiàn)檢測。
【文檔編號】G06F21/56GK103971054SQ201410172806
【公開日】2014年8月6日 申請日期:2014年4月25日 優(yōu)先權日:2014年4月25日
【發(fā)明者】李曉紅, 田冬冬, 張蕾, 孫達志, 王俊杰 申請人:天津大學