專利名稱:一種瀏覽器擴(kuò)展的缺陷檢測方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件安全技術(shù)領(lǐng)域,特別是涉及瀏覽器擴(kuò)展中存在的安全漏洞的檢測方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)在人們生活中扮演著日益重要的角色,瀏覽器成為了當(dāng)今人們使用最多的一個(gè)計(jì)算機(jī)應(yīng)用軟件。對于用戶來說,它正逐漸變?yōu)椹`個(gè)功能強(qiáng)大的平臺(tái)。替代了傳統(tǒng)的桌面應(yīng)用,為了實(shí)現(xiàn)瀏覽器代替桌面應(yīng)用和操作系統(tǒng),就需要對瀏覽器內(nèi)核進(jìn)行越來越多的擴(kuò)展。早期的瀏覽器只是用來閱讀HTML語言編寫的文檔的工具,對于網(wǎng)絡(luò)來說并沒有 構(gòu)成威脅。但是隨著新技術(shù)的不斷發(fā)展,特別是JavaScript、VisualScript、Java應(yīng)用程序及ActiveX控件在Internet的廣泛應(yīng)用,一方面這些技術(shù)突破使瀏覽器的功能大大增強(qiáng),豐富了網(wǎng)上資源,但另一方面也為網(wǎng)絡(luò)帶來了新的安全問題。瀏覽器的安全性問題包括瀏覽器本身和第三方擴(kuò)展兩個(gè)方面的問題,相關(guān)的研究表明,瀏覽器的安全性問題絕大部分來源于第三方開發(fā)的擴(kuò)展。擴(kuò)展的開發(fā)大多數(shù)都是由安全意識(shí)不夠的愛好者完成的,導(dǎo)致瀏覽器的擴(kuò)展安全狀況令人擔(dān)憂。瀏覽器允許不可信的擴(kuò)展以最高的權(quán)限運(yùn)行,更使得用戶的隱私受到極大的威脅。擴(kuò)展(Extensions)是指添加新功能到瀏覽器中,可以是簡單添加ー個(gè)工具欄按鈕,也可以始實(shí)現(xiàn)ー個(gè)完整的新功能。擴(kuò)展可以讓瀏覽器更加適合個(gè)人需要。擴(kuò)展跟插件(plugins)不同。插件幫助瀏覽器顯示特殊內(nèi)容,例如播放多媒體文件?;贘avaScript語言的瀏覽器擴(kuò)展(JSEs)通過提升瀏覽器的外觀、用戶體驗(yàn)擴(kuò)展了瀏覽器的核心功能,因而被商用瀏覽器廣泛采用。為了使擴(kuò)展能夠滿足用戶多樣化的需求,瀏覽器賦予擴(kuò)展瀏覽器本身全部的權(quán)限。例如,跟web工程里的JavaScript不一樣,JSEs里的代碼不受“同源策略”限制。即使是惡意JSEs也可以利用它們的權(quán)限來危害機(jī)密性和一致性,例如,竊取敏感信息如Cookies和保存的密碼,或者在主機(jī)上執(zhí)行任意的語句。即使ー個(gè)JSE本身不是惡意的,但是JSE和瀏覽器里的缺陷也可能讓ー個(gè)遠(yuǎn)程攻擊者威脅到瀏覽器的安全。同吋,JavaScript語言一直被ー些語言純化學(xué)家認(rèn)為是惡劣的,因?yàn)樗鼊?dòng)態(tài)生成代碼的特性,這些觀點(diǎn)使人們相信,JavaScript語言不適于靜態(tài)分析。舉ー個(gè)簡單的例子,如果認(rèn)為document, write語句是不安全的話,為了查找它,靜態(tài)分析方法需要考慮到下表中document, write變式的三種形式。因而更增加對擴(kuò)展的安全威脅的偵測難度。表I. document, write 的三種形式
權(quán)利要求
1.ー種瀏覽器擴(kuò)展的缺陷檢測方法,其特征在于,該方法包括以下步驟 步驟一、將擴(kuò)展缺陷特征轉(zhuǎn)化為Datalog語言格式的缺陷信息作為規(guī)則,并由所述規(guī)則構(gòu)建關(guān)于擴(kuò)展的安全缺陷特征庫; 步驟ニ、對擴(kuò)展源代碼進(jìn)行預(yù)處理,從源代碼中分離出描述擴(kuò)展行為的JavaScript代碼和界面表不語目XUL,將該JavaScript代碼轉(zhuǎn)化成Datalog語目格式的"[目息作為事實(shí);步驟三、將JavaScript代碼變成抽象語法樹,所述抽象語法樹包含擴(kuò)展信息;以抽象語法樹與事實(shí)之間的匹配為依據(jù)將所述抽象語法樹轉(zhuǎn)換成Datalog語言格式, 步驟四、待檢測的擴(kuò)展信息全部儲(chǔ)存為一個(gè)演繹數(shù)據(jù)庫,該演繹數(shù)據(jù)庫包含了原來擴(kuò)展源代碼中的調(diào)用、傳參、聲明和指向;利用開源工具bddbddb進(jìn)行演繹數(shù)據(jù)庫推理,從擴(kuò)展的演繹數(shù)據(jù)庫中查找跟安全缺陷特征庫里面的缺陷條目匹配的部分,實(shí)現(xiàn)擴(kuò)展的檢測。
2.如權(quán)利要求I所述的瀏覽器擴(kuò)展的缺陷檢測方法,其特征在于,所述匹配的具體處理是針對擴(kuò)展缺陷,分別找到了一條匹配,并給出缺陷所在的代碼行號(hào)。
全文摘要
本發(fā)明公開了一種瀏覽器擴(kuò)展的缺陷檢測方法,包括(1)將擴(kuò)展缺陷特征轉(zhuǎn)化為Datalog語言格式的缺陷信息作為規(guī)則,由所述規(guī)則構(gòu)建關(guān)于擴(kuò)展的安全缺陷特征庫;(2)對擴(kuò)展源代碼進(jìn)行預(yù)處理,從源代碼中分離出描述擴(kuò)展行為的JavaScript代碼,轉(zhuǎn)化成Datalog語言格式的信息作為事實(shí);(3)將JavaScript代碼變成抽象語法樹并且轉(zhuǎn)換成Datalog語言格式,(4)待檢測的擴(kuò)展信息儲(chǔ)存為演繹數(shù)據(jù)庫,進(jìn)行演繹數(shù)據(jù)庫推理,從擴(kuò)展的演繹數(shù)據(jù)庫中查找跟安全缺陷特征庫里面的缺陷條目匹配的部分實(shí)現(xiàn)擴(kuò)展的檢測。與現(xiàn)有技術(shù)相比,本發(fā)明使瀏覽器擴(kuò)展的人工審核的工作能夠?qū)崿F(xiàn)自動(dòng)化,也提高了精確度。
文檔編號(hào)G06F11/36GK102799524SQ201210227518
公開日2012年11月28日 申請日期2012年7月3日 優(yōu)先權(quán)日2012年7月3日
發(fā)明者李曉紅, 王俊杰, 許光全, 孫達(dá)志 申請人:天津大學(xué)