1.一種基于BHO技術(shù)動(dòng)態(tài)檢測(cè)系統(tǒng),其特征在于,所述BHO技術(shù)動(dòng)態(tài)檢測(cè)系統(tǒng)包括任務(wù)讀取分發(fā)模塊、任務(wù)控制模塊、BHO 模塊、日志模塊和日志分析模塊,所述由任務(wù)分發(fā)模塊從一個(gè)已經(jīng)準(zhǔn)備好的待檢測(cè)的 url 集合文件中將待檢測(cè)的 url 一次性讀進(jìn)內(nèi)存,然后將這些任務(wù)通過 socket 通信分發(fā)給任務(wù)控制模塊接收到待檢測(cè)的 url 后,會(huì)單獨(dú)創(chuàng)建一個(gè)任務(wù)線程去處理這個(gè) url,該線程主要任務(wù)是創(chuàng)建新的 IE 進(jìn)程模擬用戶瀏覽該 url,此時(shí) BHO 模塊會(huì)在整個(gè)瀏覽過程中將 IE 的各個(gè)行為記錄到日志文件,當(dāng)該 url 瀏覽完畢,IE 進(jìn)程自動(dòng)結(jié)束,任務(wù)線程接下來調(diào)用日志分析模塊分析記錄的日志文件,然后按照一定判定規(guī)則得出結(jié)論,最后任務(wù)線程將得到的結(jié)果通過 socket 通信傳給任務(wù)分發(fā)模塊,當(dāng)任務(wù)分發(fā)模塊收到結(jié)果后會(huì)將最終的檢測(cè)結(jié)果存入數(shù)據(jù)庫(kù)模塊。
2.根據(jù)權(quán)利要求1所述的一種基于BHO技術(shù)動(dòng)態(tài)檢測(cè)系統(tǒng),其特征在于:上述的流程中待檢測(cè)的 url 集合組織形式為一個(gè)文本文件,該文件中每行都存有一個(gè)待 url,組織形式為“url1 url2”,其中 url1 為可用瀏覽器直接瀏覽的網(wǎng)頁url,url2一般為被懷疑 url1 代表的網(wǎng)頁中包含的惡意 js 腳本,一般情況下 url2為空。
3.根據(jù)權(quán)利要求所述2的一種基于BHO技術(shù)動(dòng)態(tài)檢測(cè)系統(tǒng),其特征在于:任務(wù)控制模塊主線程首先初始化 socket,監(jiān)聽約定端口,然后通過套接字 SELECT 模型來接收任務(wù)處理模塊發(fā)起的鏈接和任務(wù)數(shù)據(jù)包。
4.根據(jù)權(quán)利要求1所述的一種基于BHO技術(shù)動(dòng)態(tài)檢測(cè)系統(tǒng),其特征在于:在任務(wù)控制模塊中定義有一個(gè)任務(wù)線程計(jì)數(shù) count,整個(gè)模塊中所有對(duì)于該計(jì)數(shù)的任何加減操作都是原子操作,每次在創(chuàng)建新任務(wù)線程時(shí),首先判斷當(dāng)前已有任務(wù)線程數(shù) count 是否大于預(yù)定義的 MAXCLIENT 的值,如果是,那么不做任何處理,否則就檢查任務(wù) map 中是否還有待檢測(cè)的 url,如果有就從任務(wù) map 中取出一個(gè)任務(wù),同時(shí)創(chuàng)建一個(gè)新的任務(wù)線程對(duì)該任務(wù)進(jìn)行處理,同時(shí)將任務(wù)線程計(jì)數(shù)count 加 1。
5.根據(jù)權(quán)利要求1所述的一種基于BHO技術(shù)動(dòng)態(tài)檢測(cè)系統(tǒng),其特征在于:BHO 模塊為一個(gè)dll,其在注冊(cè)表中的位置為HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser HelperObj ects\。
6.根據(jù)權(quán)利要求1所述的一種基于BHO技術(shù)動(dòng)態(tài)檢測(cè)系統(tǒng),其特征在于:在該模塊創(chuàng)建文件時(shí),首先通過GetCurrentProcessId() 獲得當(dāng)前IE進(jìn)程的Pid,然后通過該P(yáng)id在C\I ELog文件夾下創(chuàng)建日志文件Pid. log,如果該文件夾下有相同的日志文件名的日志文件,那么新創(chuàng)建的日志文件將覆蓋原來的日志文件。