本發(fā)明涉及瀏覽器模擬器裝置、構(gòu)建裝置、瀏覽器模擬方法、瀏覽器模擬程序、構(gòu)建方法以及構(gòu)建程序。
背景技術(shù):
以往,為了對下載、安裝計算機病毒等惡性程序的惡性的腳本(例如,JavaScript(注冊商標))進行檢測,而提出了使用瀏覽器的模擬器(以下,稱為瀏覽器模擬器)的技術(shù)。例如,提出了使瀏覽器模擬器執(zhí)行各種網(wǎng)站的腳本并分析其執(zhí)行結(jié)果的技術(shù)(參照非專利文獻1、非專利文獻2)。
在這樣的惡性的腳本中,為了提高攻擊的成功率,取得訪問了自身的網(wǎng)站(惡性網(wǎng)站)的客戶端的環(huán)境信息,進行與客戶端的環(huán)境對應(yīng)的攻擊(以下,稱為環(huán)境依賴攻擊。參照非專利文獻3)。用于該環(huán)境依賴攻擊的攻擊代碼例如是從外部讀入與瀏覽器的插件相關(guān)聯(lián)的文件的HTML(HyperText Markup Language:超文本標記語言)標簽的插入代碼、或不當使用ActiveX(注冊商標)的漏洞的代碼等(參照非專利文獻4)。
現(xiàn)有技術(shù)文獻
非專利文獻
非專利文獻1:Jose Nazario、“PhoneyC:A Virtual Client Honeypot”、[online]、[2014年6月19日檢索]、因特網(wǎng)<URL:https://www.usenix.org/legacy/event/leet09/tech/full_papers/nazario/nazario.pdf>
非專利文獻2:Marco Cova、Christopher Krugel、Giovanni Vigna、“Detection and Analysis of Drive-by-Download Attacks and JavaScript Code”、[online]、[2014年6月19日檢索]、因特網(wǎng)<URL:https://www.cs.ucsb.edu/~vigna/publications/2010_cova_kruegel_vigna_Wepawet.pdf>
非專利文獻3:Clemens Kolbitsch、Benjamin Livshits、Benjamin Zorn、Christian Seifert、“Rozzle:De-Cloaking Internet Malware”、[online]、[2014年6月19日檢索]、因特網(wǎng)<URL:http://research.microsoft.com/pubs/162710/oakland12.pdf>
非專利文獻4:高田雄太、秋山滿昭、針生剛男、“ドライブバイダウンロード攻撃に使用される悪性なJavaScriptの実態(tài)調(diào)査”、[online]、[2014年6月19日檢索]、因特網(wǎng)<URL:http://www.ieice.org/ken/paper/20140327QBlZ/>
技術(shù)實現(xiàn)要素:
發(fā)明要解決的課題
在瀏覽器模擬器中,為了檢測進行環(huán)境依賴攻擊的網(wǎng)站,對于在用于分析的客戶端中所使用的OS(Operating System:操作系統(tǒng))、瀏覽器、插件等構(gòu)成客戶端環(huán)境的各要素,能夠模擬任意的種類、版本,能夠靈活地變更用于分析的客戶端環(huán)境是很重要的。但是,在現(xiàn)有技術(shù)中,只能應(yīng)對特定的客戶端環(huán)境的種類或版本,無法靈活地變更客戶端環(huán)境。因此,在現(xiàn)有技術(shù)中,存在難以檢測進行環(huán)境依賴攻擊的網(wǎng)站這樣的問題。因此,本發(fā)明的課題在于,解決上述問題,容易檢測進行環(huán)境依賴攻擊的網(wǎng)站。
用于解決課題的手段
為了解決上述課題,本發(fā)明提供對瀏覽器的動作進行模擬的瀏覽器模擬器裝置,其特征在于,該瀏覽器模擬器裝置具有:信息設(shè)定部,其將任意的OS(Operating System)、任意的瀏覽器以及任意的插件設(shè)定為自身的瀏覽器模擬器裝置的客戶端環(huán)境;以及訪問部,其在訪問外部的網(wǎng)站時,對被設(shè)定為所述客戶端環(huán)境的OS、瀏覽器以及插件進行模擬而訪問,且輸出對所述網(wǎng)站的訪問結(jié)果和對所述網(wǎng)站的訪問時所使用的客戶端環(huán)境的信息。
發(fā)明效果
根據(jù)本發(fā)明,容易檢測進行環(huán)境依賴攻擊的網(wǎng)站。
附圖說明
圖1是示出系統(tǒng)的結(jié)構(gòu)例的圖。
圖2是示出瀏覽器模擬器的結(jié)構(gòu)的圖。
圖3是用于對作為瀏覽器模擬器所模擬的客戶端環(huán)境的OS、瀏覽器以及插件的關(guān)系進行說明的圖。
圖4是示出客戶端環(huán)境信息的例子的圖。
圖5是示出漏洞信息數(shù)據(jù)庫的漏洞信息的例子的圖。
圖6A是示出漏洞信息數(shù)據(jù)庫的OS信息的例子的圖。
圖6B是示出漏洞信息數(shù)據(jù)庫的插件信息的例子的圖。
圖6C是示出漏洞信息數(shù)據(jù)庫的瀏覽器信息的例子的圖。
圖7A是示出登記在分析信息數(shù)據(jù)庫中的分析信息的例子的圖。
圖7B是示出登記在分析信息數(shù)據(jù)庫中的訪問信息的例子的圖。
圖8是示出漏洞信息收集裝置的處理步驟的流程圖。
圖9是示出瀏覽器模擬器管理器和瀏覽器模擬器的處理步驟的流程圖。
圖10是示出瀏覽器模擬器管理器的分析部的處理步驟的流程圖。
圖11是示出執(zhí)行用于實現(xiàn)瀏覽器模擬器和瀏覽器模擬器管理器的功能的程序的計算機的圖。
具體實施方式
以下,一邊參照附圖一邊對用于實施本發(fā)明的方式(實施方式)進行說明。另外,本發(fā)明不限于本實施方式。
首先,使用圖1對本實施方式的系統(tǒng)的結(jié)構(gòu)例進行說明。系統(tǒng)例如像圖1所示那樣具有網(wǎng)絡(luò)1和網(wǎng)絡(luò)2。通過分組轉(zhuǎn)發(fā)裝置3將網(wǎng)絡(luò)1和網(wǎng)絡(luò)2連接。
網(wǎng)絡(luò)1具有漏洞信息發(fā)布網(wǎng)站11和分析對象網(wǎng)站12。網(wǎng)絡(luò)1可以像因特網(wǎng)那樣是廣域的網(wǎng)絡(luò),也可以像企業(yè)網(wǎng)絡(luò)那樣是中小規(guī)模的網(wǎng)絡(luò)、云環(huán)境或托管環(huán)境的網(wǎng)絡(luò)。
漏洞信息發(fā)布網(wǎng)站11是對漏洞信息(例如,具有漏洞的OS、瀏覽器、插件、漏洞的內(nèi)容等)進行發(fā)布的網(wǎng)站。該漏洞信息發(fā)布網(wǎng)站11例如是對CVE(Common Vulnerabilities and Exposures:公共漏洞和暴露)號進行編號的MITRE公司的網(wǎng)站、或獨自地收集并發(fā)布漏洞信息的網(wǎng)站等。
分析對象網(wǎng)站12是基于瀏覽器模擬器管理器(構(gòu)建裝置)23的分析對象的網(wǎng)站。該分析對象網(wǎng)站12例如是發(fā)布在所公開的惡性網(wǎng)站的黑名單上的網(wǎng)站等。
對于漏洞信息發(fā)布網(wǎng)站11和分析對象網(wǎng)站12,能夠從網(wǎng)絡(luò)2經(jīng)由分組轉(zhuǎn)發(fā)裝置3訪問。
并且,網(wǎng)絡(luò)2具有漏洞信息收集裝置21、漏洞信息數(shù)據(jù)庫22、瀏覽器模擬器管理器23以及分析信息數(shù)據(jù)庫24。漏洞信息收集裝置21和瀏覽器模擬器管理器23連接于分組轉(zhuǎn)發(fā)裝置3。網(wǎng)絡(luò)2可以像局域網(wǎng)那樣是小規(guī)模的網(wǎng)絡(luò),也可以像企業(yè)網(wǎng)絡(luò)那樣是中小規(guī)模的網(wǎng)絡(luò)的情況或云環(huán)境或托管環(huán)境的網(wǎng)絡(luò)。
漏洞信息收集裝置21通過分組轉(zhuǎn)發(fā)裝置3從漏洞信息發(fā)布網(wǎng)站11收集漏洞信息而向漏洞信息數(shù)據(jù)庫22輸出。如果漏洞信息發(fā)布網(wǎng)站11是HTML(HyperText Markup Language)中所描述的網(wǎng)站,則漏洞信息收集裝置21例如使用作為開放源(Open Source)來開發(fā)出的HTML解析器或XML(Extensible Markup Language:可擴展標記語言)解析器。
漏洞信息數(shù)據(jù)庫22對漏洞信息收集裝置21所收集的漏洞信息進行儲存(保存)。該漏洞信息例如像圖5所示那樣是按照每個漏洞信息的識別信息(漏洞ID)而示出與該漏洞ID對應(yīng)的CVE號以及具有漏洞的OS的ID(OS ID)、瀏覽器的ID(瀏覽器ID)、插件的ID(插件ID)等的信息。另外,關(guān)于與使用于圖5的漏洞信息中的OS ID、瀏覽器ID、插件ID對應(yīng)的OS、瀏覽器、插件是哪個種類以及版本,例如能夠通過參照圖6A所示的OS信息、圖6B所示的插件信息、圖6C所示的瀏覽器信息來確定。該OS信息、插件信息、瀏覽器信息例如保存在漏洞信息數(shù)據(jù)庫22內(nèi)。
例如,圖5所示的漏洞信息中的漏洞ID“1”的記錄(record)表示CVE號是“CVE-2009-2477”、攻擊對象是瀏覽器ID“101,102”。另外,如圖6C所示,瀏覽器ID“101”是瀏覽器“D”的版本“8”,瀏覽器ID“102”是瀏覽器“D”的版本“8.5”(參照圖6)。
漏洞信息在漏洞信息數(shù)據(jù)庫22中的保存例如可以通過MySQL或SQLite等RDBMS(Relational DataBase Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))進行,也可以按照文本形式保存。
圖1的瀏覽器模擬器管理器23對1個以上的瀏覽器模擬器(瀏覽器模擬器裝置)25進行管理,使該瀏覽器模擬器25訪問規(guī)定的網(wǎng)站(分析對象網(wǎng)站12)。并且,瀏覽器模擬器管理器23使用瀏覽器模擬器25的訪問結(jié)果來確定根據(jù)瀏覽器模擬器25的客戶端環(huán)境的差異而在訪問結(jié)果上產(chǎn)生差異的網(wǎng)站。由此,瀏覽器模擬器管理器23確定有可能進行環(huán)境依賴攻擊的網(wǎng)站。
具體而言,首先,瀏覽器模擬器管理器23設(shè)定瀏覽器模擬器25的客戶端環(huán)境。并且,瀏覽器模擬器管理器23使各瀏覽器模擬器25訪問URL(Uniform Resource Locator:統(tǒng)一資源定位符)列表所示出的網(wǎng)站(分析對象網(wǎng)站12)。并且,瀏覽器模擬器管理器23將瀏覽器模擬器25對各網(wǎng)站的訪問結(jié)果(例如,在對該網(wǎng)站訪問之后轉(zhuǎn)移的URL、攻擊代碼等)和設(shè)定于該瀏覽器模擬器25中的客戶端環(huán)境儲存于分析信息數(shù)據(jù)庫24中。然后,瀏覽器模擬器管理器23參照儲存于分析信息數(shù)據(jù)庫24中的信息,來確定根據(jù)客戶端環(huán)境的差異而在訪問結(jié)果上產(chǎn)生差異的網(wǎng)站。
另外,瀏覽器模擬器管理器23可以對1個(或者多個)瀏覽器模擬器25每次設(shè)定不同的客戶端環(huán)境而儲存訪問結(jié)果,也可以使分別設(shè)定了不同的客戶端環(huán)境的瀏覽器模擬器25進行動作而儲存訪問結(jié)果。在前者的情況下,瀏覽器模擬器管理器23重復(fù)進行對瀏覽器模擬器25設(shè)定客戶端環(huán)境A→儲存基于客戶端環(huán)境A的訪問結(jié)果→設(shè)定客戶端環(huán)境B→儲存基于客戶端環(huán)境B的訪問結(jié)果這樣的處理,且儲存訪問結(jié)果。
另外,瀏覽器模擬器管理器23可以使任意的OS、任意的瀏覽器以及任意的插件組合而創(chuàng)建客戶端環(huán)境,但在這里以如下的情況為例進行說明:瀏覽器模擬器管理器23為了高效地確定進行環(huán)境依賴攻擊的網(wǎng)站而使用登記在漏洞信息數(shù)據(jù)庫22中的信息來創(chuàng)建客戶端環(huán)境。關(guān)于該瀏覽器模擬器管理器23的詳細情況,將在后面進行說明。
瀏覽器模擬器25是對瀏覽器的動作進行模擬的裝置。該瀏覽器模擬器25例如可以應(yīng)用蜜網(wǎng)(honeynet)項目所提供的瀏覽器模擬器、作為開放源而開發(fā)出的HtmlUnit或Selenium。關(guān)于該瀏覽器模擬器25的詳細情況,將在后面進行說明。另外,在圖1中描繪為瀏覽器模擬器25構(gòu)建在瀏覽器模擬器管理器23內(nèi),當然也可以構(gòu)建在瀏覽器模擬器管理器23外。
分析信息數(shù)據(jù)庫24對各瀏覽器模擬器25的訪問結(jié)果進行儲存(保存)。該分析信息數(shù)據(jù)庫24中的數(shù)據(jù)的保存與漏洞信息數(shù)據(jù)庫22同樣可以使用RDBMS,也可以按照文本形式保存。關(guān)于該分析信息數(shù)據(jù)庫24的詳細情況,將在后面進行說明。
另外,在本實施方式中,瀏覽器模擬器25、瀏覽器模擬器管理器23、漏洞信息收集裝置21、漏洞信息數(shù)據(jù)庫22以及分析信息數(shù)據(jù)庫24配置在相同的網(wǎng)絡(luò),但也可以分別配置在不同的網(wǎng)絡(luò)。并且,為了將各結(jié)構(gòu)安全地連接,也可以應(yīng)用已有的加密技術(shù)將通信信息加密、或者利用VPN(Virtual Private Network:虛擬專用網(wǎng)絡(luò))將配置有各裝置的網(wǎng)絡(luò)間或者各結(jié)構(gòu)間連接。
接著,使用圖2對瀏覽器模擬器管理器23和瀏覽器模擬器25進行詳細說明。瀏覽器模擬器管理器23具有控制部27??刂撇?7在主機系統(tǒng)26上使瀏覽器模擬器25進行動作。該主機系統(tǒng)26例如使用瀏覽器模擬器管理器23所具有的OS。關(guān)于控制部27的詳細情況,將在后面進行說明。
(瀏覽器模擬器)
接著,對瀏覽器模擬器25進行說明。瀏覽器模擬器25具有信息設(shè)定部250、訪問部254、HTML/CSS(HyperText Markup Language/Cascading Style Sheets:超文本標記語言/層疊樣式表)解析器255以及腳本解釋部256。
信息設(shè)定部250當從設(shè)定部272取得應(yīng)該由自身的瀏覽器模擬器25模擬的客戶端環(huán)境的信息(客戶端環(huán)境信息)時,將該客戶端環(huán)境信息設(shè)定于瀏覽器模擬器25中。該信息設(shè)定部250具有OS信息設(shè)定部251、瀏覽器信息設(shè)定部252以及插件信息設(shè)定部253。
OS信息設(shè)定部251當從設(shè)定部272取得客戶端環(huán)境信息時,根據(jù)該客戶端環(huán)境信息來設(shè)定由瀏覽器模擬器25模擬動作的OS信息。
瀏覽器信息設(shè)定部252當從設(shè)定部272取得客戶端環(huán)境信息時,根據(jù)該客戶端環(huán)境信息來設(shè)定由瀏覽器模擬器25模擬動作的瀏覽器信息。
插件信息設(shè)定部253當從設(shè)定部272取得客戶端環(huán)境信息時,根據(jù)該客戶端環(huán)境信息來設(shè)定由瀏覽器模擬器25模擬動作的插件信息。
訪問部254與網(wǎng)站(例如,圖1的分析對象網(wǎng)站12)進行基于HTTP(HyperText Transfer Protocol:超文本傳輸協(xié)議)或者HTTPS(HyperText Transfer Protocol Secure:安全超文本傳輸協(xié)議)的通信,取得網(wǎng)站內(nèi)容(Web contents)。這里,訪問部254在進行基于HTTP或者HTTPS的通信時,在HTTP報頭的User-Agent filed(用戶代理字段)上使用由OS信息設(shè)定部251和瀏覽器信息設(shè)定部252設(shè)定的OS信息和瀏覽器信息。由此瀏覽器模擬器25模擬任意的OS和瀏覽器。訪問部254使用例如作為自由軟件而開發(fā)出的cURL。
訪問部254將對網(wǎng)站的訪問結(jié)果記錄于訪問日志中。例如,訪問部254在訪問了網(wǎng)站的結(jié)果為轉(zhuǎn)移到其他URL的情況下,當取得了該轉(zhuǎn)移目的地的URL或網(wǎng)站內(nèi)容時,記錄所取得的網(wǎng)站內(nèi)容的信息等作為訪問結(jié)果。另外,訪問部254對于在訪問該網(wǎng)站時所使用的客戶端環(huán)境信息也記錄于訪問日志中。另外,該訪問日志存儲于瀏覽器模擬器25的存儲部(省略圖示)的規(guī)定的區(qū)域中。
HTML/CSS解析器255解釋由訪問部254所取得的網(wǎng)站內(nèi)容。并且,HTML/CSS解析器255在對網(wǎng)站內(nèi)容進行解釋后的結(jié)果為該網(wǎng)站內(nèi)容包含腳本的情況下,使用腳本解釋部256來解釋腳本。
腳本解釋部256對包含在網(wǎng)站內(nèi)容中的JavaScript(注冊商標)等腳本進行解釋。例如,在作為腳本使用JavaScript(注冊商標)的情況下,腳本解釋部256使用作為開放源而開發(fā)出的SpiderMonkey或V8JavaScript Engine等來解釋腳本。
另外,在腳本中存在用于取得OS、瀏覽器或安裝于瀏覽器中的插件的信息的函數(shù)。因此,瀏覽器模擬器25需要對于取得這樣的信息的腳本函數(shù)應(yīng)答由自身的瀏覽器模擬器25所模擬的OS、瀏覽器、插件的信息。因此,腳本解釋部256具有腳本函數(shù)掛鉤部257,該腳本函數(shù)掛鉤部257在該腳本函數(shù)的執(zhí)行處理中進行中斷而執(zhí)行任意的處理。
腳本解釋部256在執(zhí)行了取得OS、瀏覽器、插件的信息的函數(shù)時,使用腳本函數(shù)掛鉤部257分別應(yīng)答由OS信息設(shè)定部251、瀏覽器信息設(shè)定部252、插件信息設(shè)定部253設(shè)定于瀏覽器模擬器25中的OS信息、瀏覽器信息、插件信息。由此,瀏覽器模擬器25模擬所設(shè)定的OS、瀏覽器、插件。該腳本函數(shù)掛鉤部257取得與腳本函數(shù)相關(guān)的信息(例如,所執(zhí)行的函數(shù)名或用于函數(shù)的自變量信息),與所訪問的網(wǎng)站的URL、訪問時所使用的客戶端環(huán)境信息一同記錄于訪問日志中。
并且,也可以利用腳本來使用外部插件的功能。在該插件的功能中存在取得插件信息的函數(shù)。因此,需要與上述腳本函數(shù)同樣,對于取得插件信息的插件函數(shù)應(yīng)答由瀏覽器模擬器25所模擬的插件信息。
因此,腳本解釋部256具有插件函數(shù)掛鉤部258,該插件函數(shù)掛鉤部258在與插件相關(guān)的實例生成處理(instance generation processing)或通過所生成的實例的函數(shù)的執(zhí)行處理中進行中斷而執(zhí)行任意的處理。
在執(zhí)行了取得插件信息的函數(shù)時,插件函數(shù)掛鉤部258應(yīng)答被設(shè)定于瀏覽器模擬器25中的插件信息,由此模擬插件。
并且,插件函數(shù)掛鉤部258取得與插件函數(shù)相關(guān)的信息(例如,實例生成時所指定的插件名、函數(shù)使用時所使用的函數(shù)名或自變量信息),與所訪問的網(wǎng)站的URL、訪問時所使用的客戶端環(huán)境信息一同記錄于訪問日志中。
另外,插件函數(shù)掛鉤部258可以使用腳本解釋部256來應(yīng)答原始的腳本函數(shù)的執(zhí)行處理結(jié)果,也可以應(yīng)答預(yù)先設(shè)定的任意的處理的執(zhí)行結(jié)果。
另一方面,插件函數(shù)掛鉤部258在未安裝所對應(yīng)的插件時無法應(yīng)答原始的插件函數(shù)的執(zhí)行處理結(jié)果。因此,在插件函數(shù)掛鉤部258中,在與插件相關(guān)的實例生成時應(yīng)答偽(dummy)實例,在通過實例的函數(shù)的執(zhí)行時應(yīng)答偽實例所具有的偽函數(shù)的執(zhí)行結(jié)果(偽函數(shù)的執(zhí)行結(jié)果為再次成為偽實例)。這樣,通過由腳本函數(shù)掛鉤部257或插件函數(shù)掛鉤部258對腳本函數(shù)或插件函數(shù)的執(zhí)行處理進行應(yīng)答,能夠防止腳本的執(zhí)行錯誤的產(chǎn)生。
根據(jù)以上說明的瀏覽器模擬器25,能夠模擬任意的OS上的任意的瀏覽器,且能夠模擬在瀏覽器上安裝有任意的插件的狀態(tài)。另外,瀏覽器模擬器25在訪問一次網(wǎng)站時,將瀏覽器模擬器25所模擬的OS設(shè)為單一的種類、單一的版本,將瀏覽器設(shè)為單一的種類、單一的版本。并且,瀏覽器模擬器25在對安裝有插件的情況進行模擬時,也可以對安裝有多個種類的插件的狀態(tài)進行模擬。在該情況下,設(shè)各個插件為單一的版本。另外,瀏覽器模擬器25也可以模擬根本沒安裝插件的狀態(tài)。
這里,使用圖3對作為瀏覽器模擬器25所模擬的客戶端環(huán)境的OS、瀏覽器以及插件的關(guān)系進行說明。
在圖3中,OS是A(例如,Windows(注冊商標))和B(例如,Mac OS(注冊商標))、瀏覽器是C(例如,Internet Explorer(注冊商標))和D(例如,F(xiàn)irefox(注冊商標))、插件是E(例如,ActiveX(注冊商標))、F(例如,Oracle JRE(注冊商標))、G(例如,Adobe Acrobat(注冊商標))和H(例如,Adobe Flash Player(注冊商標)),如果各自存在多個版本,則也表示其版本的信息。
在瀏覽器模擬器25中,從這些OS、瀏覽器、插件中選擇的OS、瀏覽器、插件被設(shè)定為客戶端環(huán)境。例如,在瀏覽器模擬器25中設(shè)定有OS是“A”的版本“7”、瀏覽器是“C”的版本“9”、插件是“G”的版本“9”以及“H”的版本“12”這樣的客戶端環(huán)境。
在圖4中示出設(shè)定于瀏覽器模擬器25中的客戶端環(huán)境信息的例子。例如在訪問部254從網(wǎng)站取得網(wǎng)站內(nèi)容時,作為HTTP通信時所使用的User-Agent(用戶代理)使用圖4中例示的信息,從而對安裝了OS是“A”的版本“7”、瀏覽器是“C”的版本“9”、插件是“G”的版本“9”以及“H”的版本“12”的狀態(tài)進行模擬。并且,在由訪問目的地的網(wǎng)站的JavaScript(注冊商標)來參照navigator對象的屬性navigator.plugins時,插件函數(shù)掛鉤部258按照圖4所示的navigator.plugins的應(yīng)答例進行應(yīng)答,從而模擬出在瀏覽器中作為插件安裝有“G”的版本“9”和“H”的版本“12”的狀態(tài)。
(瀏覽器模擬器管理器)
接著,對圖2的瀏覽器模擬器管理器23的控制部27進行詳細地說明??刂撇?7具有客戶端環(huán)境創(chuàng)建部271、設(shè)定部272、URL列表創(chuàng)建部273、訪問指示部274、登記處理部275以及分析部276。
客戶端環(huán)境創(chuàng)建部271創(chuàng)建客戶端環(huán)境信息。例如,客戶端環(huán)境創(chuàng)建部271從漏洞信息數(shù)據(jù)庫22取得漏洞信息,根據(jù)該漏洞信息來創(chuàng)建客戶端環(huán)境信息。舉出具體例,在圖5和圖6C所示的漏洞信息數(shù)據(jù)庫22中,“CVE-2009-2477”的攻擊對象是瀏覽器“D”的版本“8”和“8.5”。因此,客戶端環(huán)境創(chuàng)建部271創(chuàng)建在用于瀏覽器模擬器25的客戶端環(huán)境信息中設(shè)定了瀏覽器“D”的版本“8”或者“8.5”的信息。由此,與在瀏覽器模擬器25中全面涵蓋地設(shè)定客戶端環(huán)境的情況相比,能夠高效地確定進行環(huán)境依賴攻擊的網(wǎng)站。另外,該客戶端環(huán)境信息也可以使用系統(tǒng)的管理員等所設(shè)定的信息。
設(shè)定部272在各瀏覽器模擬器25中設(shè)定客戶端環(huán)境。具體而言,設(shè)定部272將客戶端環(huán)境創(chuàng)建部271所創(chuàng)建的客戶端環(huán)境信息向瀏覽器模擬器25的OS信息設(shè)定部251、瀏覽器信息設(shè)定部252以及插件信息設(shè)定部253輸出。
URL列表創(chuàng)建部273創(chuàng)建由各瀏覽器模擬器25所巡回的網(wǎng)站的URL列表。例如,URL列表創(chuàng)建部273根據(jù)發(fā)布在已公開的惡性網(wǎng)站的黑名單上的網(wǎng)站的URL來創(chuàng)建URL列表。
訪問指示部274指示各瀏覽器模擬器25的訪問部254訪問URL列表所示出的URL。
登記處理部275取得各瀏覽器模擬器25的訪問日志,并登記在分析信息數(shù)據(jù)庫24中。
這里對分析信息數(shù)據(jù)庫24進行詳細說明。分析信息數(shù)據(jù)庫24例如具有圖7A所示的分析信息和圖7B所示的訪問信息。
分析信息是按照每個分析ID而示出分析對象的網(wǎng)站的URL(分析URL)以及訪問該URL時所使用的瀏覽器模擬器25的客戶端環(huán)境信息(OS信息、瀏覽器信息、插件信息)的信息。分析URL描述有與從訪問指示部274輸出的URL列表所示出的URL相同的URL。并且,在分析信息中,客戶端環(huán)境信息中的OS信息被描述為OS ID,瀏覽器信息被描述為瀏覽器ID,插件信息被描述為插件ID。
訪問信息是表示瀏覽器模擬器25的訪問結(jié)果(例如,在對分析URL訪問的過程中所訪問的URL(訪問URL)、其時間戳、攻擊代碼信息等)的信息。例如,圖7B的訪問信息按照每個訪問ID而示出分析ID、時間戳、訪問URL以及攻擊代碼信息。該分析ID與分析信息所示的分析ID對應(yīng)。并且,攻擊代碼信息是通過對訪問URL的訪問而取得的內(nèi)容、所執(zhí)行的函數(shù)名或函數(shù)中所使用的自變量信息等信息。
例如,圖7B的訪問信息中的訪問ID“2”的信息表示如下情況:分析ID為“1”(即,分析URL為“http://example.com”、OS ID為“2”、瀏覽器ID為“1”、插件ID為“1”),在“2014/6/23 16:00:05.0000”時訪問“http://example.com/test.html”,在訪問該URL時所執(zhí)行的攻擊代碼與“G,E”相關(guān)。
圖2的分析部276參照分析信息數(shù)據(jù)庫24中的基于瀏覽器模擬器25的訪問結(jié)果,來確定根據(jù)客戶端環(huán)境的差異而在訪問結(jié)果上產(chǎn)生差異的網(wǎng)站。
例如,圖7A的分析信息數(shù)據(jù)庫24的分析信息中的分析ID“1,2”的信息是指,在瀏覽器模擬器25變更了客戶端環(huán)境信息的插件信息之后對相同的URL進行分析。并且,當觀察圖7B的訪問信息中與分析ID“1,2”對應(yīng)的信息(訪問ID“1,2,3,10,11”的信息)時,在分析ID“1”的情況下,瀏覽器模擬器25訪問合計3個URL。另一方面,在分析ID“2”的情況下,只訪問合計2個URL。并且,雖然在分析ID“1”中的第2個訪問目的地的URL中執(zhí)行了與“G,E”相關(guān)的函數(shù),但在分析ID“2”中的第2個訪問目的地的URL中只執(zhí)行了與“G”相關(guān)的函數(shù)。分析部276確定根據(jù)這樣的客戶端環(huán)境的差異而在訪問結(jié)果(例如,訪問過的URL或執(zhí)行函數(shù)等)上產(chǎn)生差異的網(wǎng)站。關(guān)于該分析部276的處理的詳細情況,將在后面使用流程圖進行說明。
(處理步驟)
接著,對系統(tǒng)的處理步驟進行說明。首先,使用圖8對漏洞信息收集裝置21的處理步驟進行說明。
首先,漏洞信息收集裝置21從漏洞信息發(fā)布網(wǎng)站11取得漏洞信息(S1),如果存在新的漏洞信息(還未登記在漏洞信息數(shù)據(jù)庫22中的漏洞信息)(S2的“是”),則對所取得的漏洞信息進行解析,提取出CVE號、所影響的OS信息、瀏覽器信息以及插件信息(S3)。并且,漏洞信息收集裝置21將所提取出的漏洞信息儲存于漏洞信息數(shù)據(jù)庫22中(參照圖5、圖6A、圖6B以及圖6C)(S4)。另一方面,如果不存在新的漏洞信息(S2的“否”),則漏洞信息收集裝置21結(jié)束處理。
接著,使用圖9對瀏覽器模擬器管理器23的處理步驟進行說明。首先,瀏覽器模擬器管理器23的客戶端環(huán)境創(chuàng)建部271從漏洞信息數(shù)據(jù)庫22取得漏洞信息,根據(jù)該漏洞信息來創(chuàng)建客戶端環(huán)境信息(S11)。并且,設(shè)定部272將客戶端環(huán)境信息設(shè)定于瀏覽器模擬器25中(S12)。
在S12之后,URL列表創(chuàng)建部273創(chuàng)建URL列表(S13)。例如,URL列表創(chuàng)建部273根據(jù)所公開的惡性網(wǎng)站的黑名單來創(chuàng)建URL列表。并且,訪問指示部274指示瀏覽器模擬器25訪問URL列表所示出的URL(S14)。接受到該指示的瀏覽器模擬器25的訪問部254訪問該URL,取得網(wǎng)站內(nèi)容。
在S14之后,瀏覽器模擬器25的HTML/CSS解析器255對所取得的網(wǎng)站內(nèi)容進行解釋,當在腳本解釋部256中檢測出腳本函數(shù)或插件函數(shù)的執(zhí)行時,將這些函數(shù)的信息(攻擊代碼信息)記錄于訪問日志中(S15)。即,對在腳本解釋部256中所取得的內(nèi)容腳本函數(shù)或插件函數(shù)的執(zhí)行進行監(jiān)視,將該執(zhí)行結(jié)果記錄于訪問日志中。并且,將訪問部254對網(wǎng)站內(nèi)容進行解釋的過程中所訪問的URL(訪問URL)記錄于訪問日志中(S16)。并且,關(guān)于設(shè)定于瀏覽器模擬器25中的客戶端環(huán)境信息也記錄在該訪問日志中。
在S16之后,瀏覽器模擬器管理器23的登記處理部275將瀏覽器模擬器25的訪問日志登記在分析信息數(shù)據(jù)庫24中(S17)。例如,登記處理部275對于記錄在訪問日志的信息中的由訪問指示部274所指示的URL(分析URL)和設(shè)定于瀏覽器模擬器25中的客戶端環(huán)境信息,登記在分析信息數(shù)據(jù)庫24的分析信息中(參照圖7A)。并且,登記處理部275對于由訪問指示部274所指示的URL和對該URL的訪問的結(jié)果轉(zhuǎn)移的URL(訪問URL)、各URL中的攻擊代碼信息,登記在分析信息數(shù)據(jù)庫24的訪問信息中(參照圖7B)。
在S17之后,訪問指示部274在URL列表中存在未由瀏覽器模擬器25巡回的URL(S18的“是”)時,返回S14,在URL列表所示出的所有的URL巡回完成(S18的“否”)時,結(jié)束處理。
接著,使用圖10,對瀏覽器模擬器管理器23的分析部276的處理步驟進行說明。這里,以如下的情況為例進行說明:分析部276確定有可能進行因瀏覽器的插件信息而引起的攻擊的網(wǎng)站的URL。
首先,分析部276向分析信息數(shù)據(jù)庫24請求分析URL、OS信息、以及瀏覽器信息相同的分析信息的記錄(記錄A)(S21)。這里,在分析部276能夠從分析信息數(shù)據(jù)庫24取得記錄A時(S22的“是”),從分析信息數(shù)據(jù)庫24的訪問信息取得與記錄A相關(guān)的記錄(記錄B),從記錄B取得攻擊代碼信息(S23)。另一方面,在分析部276無法從分析信息數(shù)據(jù)庫24取得記錄A時(S22的“否”),結(jié)束處理。
例如,分析部276在圖7A所示的分析信息中,取得OS信息和瀏覽器信息相同的分析ID“1,2,3”的記錄。并且,分析部276從圖7B所示的訪問信息中,作為與分析ID“1,2,3”相關(guān)的記錄,取得訪問ID“1,2,3,10,11,12”的記錄作為記錄B,從記錄B取得攻擊代碼信息“G,E”。
在S23之后,對于分析部276而言,如果在S23中所取得的攻擊代碼信息中包含與插件相關(guān)聯(lián)的信息(例如,與插件相關(guān)聯(lián)的函數(shù)執(zhí)行日志等)(S24的“是”),則由于有可能是環(huán)境依賴攻擊,因此進入S25。另一方面,如果在攻擊代碼信息中不包含與插件相關(guān)聯(lián)的信息(S24的“否”),則結(jié)束處理。例如,如果圖7B的訪問信息中的攻擊代碼信息“G,E”是與插件相關(guān)聯(lián)的信息,則進入S25。
分析部276取得記錄B中的訪問URL的一覽表,按照每個分析ID對訪問URL進行比較(S25),如果訪問URL不同(S26的“是”),則將該記錄B中的分析URL確定為依賴于插件而訪問URL發(fā)生變化的網(wǎng)站的URL(S27)。并且,分析部276輸出該網(wǎng)站的URL作為分析結(jié)果。另一方面,如果訪問URL相同(S26的“否”),則結(jié)束處理。
例如,分析部276判斷為在圖7B的訪問信息中具有分析ID“1”的記錄(訪問ID“1,2,3”的記錄)中的訪問目的地URL是“http://example.com”、“http://example.com/test.html”、“http://example.com/mal.pdf”,而具有分析ID“2”的記錄(訪問ID“10,11”的記錄)中的訪問目的地URL是“http://example.com”,“http://example.com/test.html”,具有分析ID“3”的記錄(訪問ID“12”的記錄)中的訪問目的地URL是“http://example.com”。因此,在S27中,分析部276將這些記錄的分析URL“http://example.com”確定為依賴于插件而訪問URL發(fā)生變化的網(wǎng)站的URL。并且,分析部276輸出該URL“http://example.com”作為分析結(jié)果。
由此,瀏覽器模擬器管理器23能夠確定有可能進行因瀏覽器的插件信息引起的攻擊的網(wǎng)站的URL。
另外,這里以如下的情況為例進行了說明:分析部276確定有可能進行因瀏覽器的插件信息引起的攻擊的網(wǎng)站的URL,但也可以確定有可能進行因OS信息或瀏覽器信息引起的攻擊的網(wǎng)站的URL。
根據(jù)以上說明的系統(tǒng),由于瀏覽器模擬器25能夠模擬各種客戶端環(huán)境(OS、瀏覽器信息、插件信息)而訪問網(wǎng)站,并得到其訪問結(jié)果,因此容易確定有可能進行環(huán)境依賴攻擊的網(wǎng)站的URL。并且,由于系統(tǒng)使用漏洞信息而對瀏覽器模擬器25創(chuàng)建客戶端環(huán)境信息,因此能夠高效地確定上述的網(wǎng)站的URL。
(其他實施方式)
另外,在上述的實施方式的系統(tǒng)中,瀏覽器模擬器25的客戶端環(huán)境信息也可以以如下的方式創(chuàng)建。
例如,在系統(tǒng)中,在CVE中存在對多個OS、瀏覽器、插件帶來影響的內(nèi)容的漏洞。另一方面,在OS、瀏覽器、插件的各版本中存在多個漏洞(CVE)。即,即使是不同的客戶端環(huán)境也有可能存在相同的CVE。即,即使在瀏覽器模擬器25的客戶端環(huán)境不同的情況下,也有可能重復(fù)地觀測相同的攻擊代碼。因此,為了使基于分析部276的分析高效化,客戶端環(huán)境創(chuàng)建部271像下述那樣創(chuàng)建客戶端環(huán)境信息。
例如,如果進行了與對插件中的Adobe Acrobat(注冊商標)具有影響的CVE相關(guān)的分析,則客戶端環(huán)境創(chuàng)建部271參照漏洞信息數(shù)據(jù)庫22,而列舉出與Adobe Acrobat(注冊商標)的各版本相關(guān)的CVE。接著,客戶端環(huán)境創(chuàng)建部271從存在更多的CVE的版本的Adobe Acrobat(注冊商標)開始依次作為客戶端環(huán)境進行選擇。并且,客戶端環(huán)境創(chuàng)建部271在全面涵蓋了對Adobe Acrobat(注冊商標)具有影響的CVE的時候,結(jié)束客戶端環(huán)境的選擇。并且,客戶端環(huán)境創(chuàng)建部271使用所選擇的客戶端環(huán)境來創(chuàng)建客戶端環(huán)境信息。這樣,客戶端環(huán)境創(chuàng)建部271能夠創(chuàng)建降低了攻擊代碼的重復(fù)觀測這樣的客戶端環(huán)境信息。其結(jié)果為,系統(tǒng)能夠高效地進行URL的分析。
并且,設(shè)為分析部276確定根據(jù)客戶端環(huán)境的差異而在訪問結(jié)果(例如,所訪問的URL或執(zhí)行函數(shù)等)上產(chǎn)生差異的網(wǎng)站,但不限于此。例如,在根據(jù)瀏覽器模擬器25的客戶端環(huán)境的差異而在訪問結(jié)果上產(chǎn)生差異時,分析部276也可以通過該客戶端環(huán)境之間的比較而確定成為在訪問結(jié)果上產(chǎn)生差異的原因的客戶端環(huán)境的要素(OS、瀏覽器、插件等)。這樣,分析部276能夠確定網(wǎng)站對于具有哪種客戶端環(huán)境的瀏覽器進行攻擊。
并且,關(guān)于對分析信息數(shù)據(jù)庫24的信息登記,設(shè)為由登記處理部275進行,但不限于此。例如,也可以由瀏覽器模擬器25自身將訪問日志的信息登記在分析信息數(shù)據(jù)庫24中。
(程序)
并且,也可以創(chuàng)建并執(zhí)行由計算機可執(zhí)行的語言描述了由上述實施方式的瀏覽器模擬器25和瀏覽器模擬器管理器23所執(zhí)行的處理的程序。在該情況下,通過由計算機執(zhí)行程序,能夠得到與上述實施方式相同的效果。此外,也可以將該程序記錄于計算機可讀取的記錄介質(zhì)中,使計算機讀入并執(zhí)行該記錄介質(zhì)中記錄的程序,由此實現(xiàn)與上述實施方式相同的處理。以下,對執(zhí)行用于實現(xiàn)與瀏覽器模擬器25和瀏覽器模擬器管理器23相同的功能的程序的計算機的一例進行說明。
圖11是示出執(zhí)行上述的程序的計算機的圖。如圖11所示,計算機1000例如具有:存儲器1010、CPU(Central Processing Unit:中央處理單元)1020、硬盤驅(qū)動器接口1030、盤驅(qū)動器接口1040、串行端口接口1050、視頻適配器1060以及網(wǎng)絡(luò)接口1070。這些各部分由總線1080連接。
存儲器1010包含ROM(Read Only Memory:只讀存儲器)1011和RAM(Random Access Memory:隨機存取存儲器)1012。ROM 1011例如存儲有BIOS(Basic Input Output System:基礎(chǔ)輸入輸出系統(tǒng))等引導(dǎo)程序。硬盤驅(qū)動器接口1030與硬盤驅(qū)動器1090連接。盤驅(qū)動器接口1040與盤驅(qū)動器1100連接。在盤驅(qū)動器1100中例如插入有磁盤或光盤等可裝卸的存儲介質(zhì)。串行端口接口1050例如與鼠標1110和鍵盤1120連接。視頻適配器1060例如與顯示器1130連接。
這里,如圖11所示,硬盤驅(qū)動器1090例如存儲有OS 1091、應(yīng)用程序1092、程序模塊1093以及程序數(shù)據(jù)1094。上述實施方式所說明的各信息存儲于例如硬盤驅(qū)動器1090或存儲器1010中。
并且,上述程序例如作為描述有計算機1000所執(zhí)行的指令的程序模塊而存儲于硬盤驅(qū)動器1090中。具體而言,描述有上述實施方式所說明的由瀏覽器模擬器25和瀏覽器模擬器管理器23執(zhí)行的各處理的程序模塊存儲于硬盤驅(qū)動器1090中。
并且,用于上述程序的信息處理的數(shù)據(jù)作為程序數(shù)據(jù)例如存儲于硬盤驅(qū)動器1090中。并且,CPU 1020根據(jù)需要而將硬盤驅(qū)動器1090中存儲的程序模塊1093或程序數(shù)據(jù)1094讀出到RAM 1012,來執(zhí)行上述的各步驟。
另外,上述程序的程序模塊1093或程序數(shù)據(jù)1094不限于存儲于硬盤驅(qū)動器1090中的情況,例如也可以存儲于可裝卸的存儲介質(zhì)中而經(jīng)由盤驅(qū)動器1100等由CPU 1020讀出?;蛘?,上述程序的程序模塊1093或程序數(shù)據(jù)1094也可以存儲于經(jīng)由LAN(Local Area Network:局域網(wǎng))或WAN(Wide Area Network:廣域網(wǎng))等網(wǎng)絡(luò)連接的其他計算機中而經(jīng)由網(wǎng)絡(luò)接口1070由CPU 1020讀出。
標號說明
1、2:網(wǎng)絡(luò);3:分組轉(zhuǎn)發(fā)裝置;11:漏洞信息發(fā)布網(wǎng)站;12:分析對象網(wǎng)站;21:漏洞信息收集裝置;22:漏洞信息數(shù)據(jù)庫;23:瀏覽器模擬器管理器;24:分析信息數(shù)據(jù)庫;25:瀏覽器模擬器;26:主機系統(tǒng);27:控制部;250:信息設(shè)定部;251:OS信息設(shè)定部;252:瀏覽器信息設(shè)定部;253:插件信息設(shè)定部;254:訪問部;255:HTML/CSS解析器;256:腳本解釋部;257:腳本函數(shù)掛鉤部;258:插件函數(shù)掛鉤部;271:客戶端環(huán)境創(chuàng)建部;272:設(shè)定部;273:URL列表創(chuàng)建部;274:訪問指示部;275:登記處理部;276:分析部。