專利名稱:一種基于透明代理的惡意軟件檢測(cè)系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于透明代理的惡意軟件檢測(cè)系統(tǒng)及其方法,屬于信息安全領(lǐng)域,涉及透明代理設(shè)備。
背景技術(shù):
間諜軟件是一種惡意軟件,可安裝在計(jì)算機(jī)上,并且在他們不知情的情況下收集有關(guān)用戶的信息。間諜軟件隱藏安裝與運(yùn)行,用戶很難檢測(cè)到。間諜軟件長(zhǎng)期監(jiān)視用戶的計(jì)算機(jī),并收集大量電腦信息,如上網(wǎng)習(xí)慣、訪問網(wǎng)址、購(gòu)物習(xí)慣等等,但也可能會(huì)干擾用戶對(duì)計(jì)算機(jī)的控制,如安裝額外的軟件和重定向Web瀏覽器主頁(yè)等等。為應(yīng)對(duì)間諜軟件出現(xiàn),一些公司開發(fā)了相關(guān)的反間諜軟件。在電腦上尤其是 Windows的計(jì)算機(jī)運(yùn)行反間諜軟件,已變得相當(dāng)普遍。用戶計(jì)算機(jī)一般會(huì)感染多個(gè)及間諜軟件,感染間諜軟件的計(jì)算機(jī)經(jīng)常發(fā)現(xiàn)系統(tǒng)性能下降,如CPU使用率過(guò)高,磁盤被大量占用和網(wǎng)絡(luò)堵塞等等。許多程序員和一些商業(yè)公司已經(jīng)發(fā)布了專門刪除或阻止間諜軟件的產(chǎn)品。反間諜軟件程序一般只用于檢測(cè)和清除已經(jīng)安裝到計(jì)算機(jī)的間諜軟件。用戶可以安排每日、每周或每月掃描計(jì)算機(jī),檢測(cè)和刪除已經(jīng)在計(jì)算機(jī)上安裝的任何間諜軟件。這種類型的反間諜軟件在計(jì)算機(jī)上掃描Windows注冊(cè)表中的內(nèi)容,操作系統(tǒng)文件和安裝程序,并提供一個(gè)威脅清單,讓用戶選擇應(yīng)該刪除還是保持。此類反間諜軟件根據(jù)已知的間諜軟件列表與簽名來(lái)識(shí)別惡意軟件,同殺毒軟件一樣,需要實(shí)時(shí)更新間諜軟件庫(kù)來(lái)保持其檢測(cè)能力。通常間諜軟件出現(xiàn)并大量傳播以后,其樣本被上報(bào)給反間諜軟件公司,公司們?cè)賹?duì)其研究,制作其可以被檢測(cè)出的“簽名,,或者“定義”,因此這種檢測(cè)機(jī)制常常是滯后的。目前被廣泛采用的解決方案正是此類基于主機(jī)的反間諜軟件,但是此種方案面臨以下幾種問題第一,類似于病毒庫(kù),間諜軟件需要實(shí)時(shí)更新,并要求有極小的漏報(bào)率和誤報(bào)率,但目前此類反間諜軟件都做得不夠好,會(huì)出現(xiàn)檢測(cè)滯后,正常軟件誤刪除等現(xiàn)象。第二,有很多間諜軟件不是獨(dú)立運(yùn)行的,經(jīng)常作為一個(gè)程序組件被打包在音樂播放器或者下載工具中,更多的是作為一個(gè)瀏覽器的插件在運(yùn)行,此類間諜軟件很難被徹底清除。第三, 基于主機(jī)的反間諜軟件很容易被惡意軟件破壞,root-kits級(jí)間諜軟件越來(lái)越多,它是一種特殊的惡意軟件,基本上是無(wú)法檢測(cè)到的,因此,基于主機(jī)的反間諜軟件在很多情況下是不可靠的。另外一種被用來(lái)識(shí)別惡意軟件的方案是利用網(wǎng)絡(luò)抓包工具,包括siniffer、 wireshark, Tcpdump,這類工具可以分析一個(gè)網(wǎng)絡(luò)是否受到感染。但是此類工具需要抓取大量的數(shù)據(jù)包,而且在識(shí)別惡意軟件上也不是十分有效,其多用于反間諜軟件發(fā)現(xiàn)機(jī)器被感染以后取證分析或者用于分析網(wǎng)絡(luò)故障
發(fā)明內(nèi)容
本發(fā)明的目的就是為了解決上述問題,提供了一種基于透明代理的惡意軟件檢測(cè)系統(tǒng)及其控制方法。這種無(wú)客戶端惡意軟件檢測(cè)方案,部署于網(wǎng)絡(luò)網(wǎng)關(guān)或者路由器處,對(duì)出入網(wǎng)絡(luò)的連接進(jìn)行檢測(cè)來(lái)識(shí)別惡意軟件,此種方案有效且易于實(shí)施,且使用透明代理技術(shù)來(lái)實(shí)現(xiàn)。為實(shí)現(xiàn)上述目的,本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的
一種基于透明代理的惡意軟件檢測(cè)系統(tǒng),該系統(tǒng)包括一個(gè)數(shù)據(jù)控制模塊,其與監(jiān)控模塊連接并發(fā)送數(shù)據(jù)給監(jiān)控模塊;所述監(jiān)控模塊將數(shù)據(jù)發(fā)送給協(xié)議檢測(cè)模塊并生成協(xié)議類型;所述協(xié)議檢測(cè)模塊與一個(gè)挑戰(zhàn)生成模塊連接,挑戰(zhàn)生成模塊與數(shù)據(jù)控制模塊相連;所述系統(tǒng)還包括一個(gè)響應(yīng)處理模塊,該模塊與監(jiān)控模塊以及數(shù)據(jù)控制模塊連接。所述的系統(tǒng)位于終端機(jī)與遠(yuǎn)程服務(wù)器之間并完成終端機(jī)與服務(wù)器之間的通信;終端機(jī)通過(guò)數(shù)據(jù)控制模塊將數(shù)據(jù)發(fā)送給服務(wù)器,數(shù)據(jù)控制模塊將所有數(shù)據(jù)發(fā)送給監(jiān)控模塊; 所述數(shù)據(jù)控制模塊接收響應(yīng)處理模塊的處理結(jié)果。所述挑戰(zhàn)生成模塊基于協(xié)議生成模塊所生成的協(xié)議類型生成挑戰(zhàn)并將挑戰(zhàn)發(fā)送
給終端。所述系統(tǒng)還包括一個(gè)分類模塊,該分類模塊與一個(gè)報(bào)表模塊連接。該檢測(cè)方法包括以下步驟
Stepl 運(yùn)行在終端機(jī)上的應(yīng)用程序通過(guò)該檢測(cè)系統(tǒng)中的數(shù)據(jù)控制模塊向遠(yuǎn)程服務(wù)器發(fā)送原始數(shù)據(jù);
Step2 數(shù)據(jù)控制模塊將原始數(shù)據(jù)發(fā)送給監(jiān)控模塊,監(jiān)控模塊將數(shù)據(jù)發(fā)送給協(xié)議生成模
塊;
Step3 協(xié)議生成模塊利用協(xié)議指紋來(lái)識(shí)別原始數(shù)據(jù)的協(xié)議類型,并將該協(xié)議類型發(fā)送給挑戰(zhàn)生成模塊;
Step4 挑戰(zhàn)生成模塊基于協(xié)議類型為應(yīng)用程序生成一個(gè)挑戰(zhàn),并通過(guò)數(shù)據(jù)數(shù)據(jù)控制模塊將挑戰(zhàn)發(fā)送給終端上的應(yīng)用程序;
St印5 終端上的應(yīng)用程序響應(yīng)該挑戰(zhàn),響應(yīng)信息通過(guò)數(shù)據(jù)控制模塊發(fā)送給監(jiān)控模塊, 然后傳輸給響應(yīng)處理模塊;
St印6 響應(yīng)處理模塊接收到應(yīng)用程序的響應(yīng),做出響應(yīng)有效或者無(wú)效的判斷結(jié)果,將結(jié)果發(fā)送給數(shù)據(jù)控制模塊;
St印7 數(shù)據(jù)控制模塊根據(jù)響應(yīng)判斷結(jié)果來(lái)作出是否繼續(xù)連接遠(yuǎn)程服務(wù)器的判斷;當(dāng)檢測(cè)到響應(yīng)有效時(shí)允許應(yīng)用程序繼續(xù)連接遠(yuǎn)程服務(wù)器,當(dāng)檢測(cè)響應(yīng)無(wú)效時(shí),數(shù)據(jù)控制模塊會(huì)報(bào)告檢測(cè)到惡意軟件并阻止應(yīng)用程序繼續(xù)連接遠(yuǎn)程服務(wù)器。所述Mepl中數(shù)據(jù)控制模塊可以暫停由終端向遠(yuǎn)程服務(wù)器發(fā)送原始數(shù)據(jù)。本發(fā)明的有益效果是相比較傳統(tǒng)的通過(guò)簽名機(jī)制檢測(cè)已知惡意軟件的方法,本發(fā)明所提出的方法可以基于程序的網(wǎng)絡(luò)行為來(lái)確認(rèn)所有出去的網(wǎng)絡(luò)會(huì)話的有效性。這種方法有兩個(gè)要點(diǎn)一是應(yīng)用程序的網(wǎng)絡(luò)特征可以由部署在企業(yè)網(wǎng)絡(luò)邊界的透明代理基于協(xié)議指紋識(shí)別的方式來(lái)確認(rèn)。二是透明代理產(chǎn)生主動(dòng)內(nèi)容挑戰(zhàn)來(lái)區(qū)分合法軟件與惡意軟件。這種方法不干擾程序的正常運(yùn)行,對(duì)用戶是透明的?;诰W(wǎng)絡(luò)的透明代理,可以部署在企業(yè)網(wǎng)絡(luò)出口檢測(cè)從企業(yè)流出的所有流量。 透明代理也可以部署在于工作站或筆記本電腦上前面,只需檢查從工作站或筆記本電腦上的發(fā)有傳出的數(shù)據(jù)。透明代理通過(guò)分析外出的流量,可區(qū)分不同的瀏覽器anternet Explorer, Firefoxj Opera,Chrome) 0針對(duì)以瀏覽器(例如IE)組件形態(tài)存在的惡意軟件,也可以通過(guò)這種方法被檢測(cè)出來(lái)。透明代理也可以識(shí)別通過(guò)VOIP協(xié)議通信的惡意軟件,包括會(huì)話發(fā)起協(xié)議(SIP),會(huì)話描述協(xié)議(SDP ),實(shí)時(shí)傳輸控制協(xié)議(RTCP ),實(shí)時(shí)傳輸協(xié)議(透明代理RTP )等等。此種透明代理解決方案與基于主機(jī)的方案相比有如下不同
1,因?yàn)椴恍枰惭b客戶端,避免了與其他客戶端軟件如殺毒軟件的沖突,保證用戶計(jì)算機(jī)的可用性。2,不需要更新簽名,一些實(shí)施方案中也可能需要簽名,但是簽名只用于提高已知惡意軟件識(shí)別率。簽名只需要在透明代理上更新,實(shí)現(xiàn)起來(lái)更加方便。3,由于透明代理并不需要安裝在每個(gè)計(jì)算機(jī)上,它不會(huì)被Rootkit或其他主機(jī)上的使用進(jìn)程隱藏逃避技術(shù)的惡意軟件所破壞或者干擾。相反,當(dāng)惡意軟件試圖向外通訊時(shí), 會(huì)被透明代理監(jiān)控到,并可在一種可控的環(huán)境下,對(duì)惡意軟件進(jìn)一步分析。
圖1為本發(fā)明的結(jié)構(gòu)示意圖2為本發(fā)明的透明代理惡意軟件流程圖3為本發(fā)明在一個(gè)企業(yè)網(wǎng)絡(luò)中具體應(yīng)用的網(wǎng)絡(luò)架構(gòu)圖; 圖4為本發(fā)明在筆記本電腦或工作站中具體應(yīng)用的架構(gòu)圖; 圖5為本發(fā)明的透明代理惡意軟件消息流圖; 圖6為本發(fā)明的透明代理惡意軟件的另一種工作方式流程圖; 圖7為本發(fā)明的透明代理惡意軟件的另一種工作方式消息流圖; 圖8為本發(fā)明與Web瀏覽器交互時(shí)的惡意軟件檢測(cè)的消息流圖。
具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式
對(duì)本實(shí)用新型做進(jìn)一步說(shuō)明。在圖1中,一種基于透明代理的惡意軟件檢測(cè)系統(tǒng),該系統(tǒng)包括一個(gè)數(shù)據(jù)控制模塊,其與監(jiān)控模塊連接并發(fā)送數(shù)據(jù)給監(jiān)控模塊;監(jiān)控模塊與將數(shù)據(jù)發(fā)送給協(xié)議檢測(cè)模塊并生成協(xié)議類型;檢測(cè)模塊與一個(gè)挑戰(zhàn)生成模塊連接,挑戰(zhàn)生成模塊與數(shù)據(jù)控制模塊相連; 該系統(tǒng)還包括一個(gè)響應(yīng)處理模塊,該模塊與監(jiān)控模塊以及數(shù)據(jù)控制模塊連接。該系統(tǒng)位于終端機(jī)與遠(yuǎn)程服務(wù)器之間并完成終端機(jī)與服務(wù)器之間的通信;終端機(jī)通過(guò)數(shù)據(jù)控制模塊將數(shù)據(jù)發(fā)送給服務(wù)器,數(shù)據(jù)控制模塊將所有數(shù)據(jù)發(fā)送給監(jiān)控模塊;數(shù)據(jù)控制模塊接收響應(yīng)處理模塊的處理結(jié)果。圖3顯示了一個(gè)使用該基于透明代理的惡意軟件檢測(cè)系統(tǒng)的企業(yè)網(wǎng)絡(luò),包括工作站和筆記本電腦。架構(gòu)是完全透明的,不對(duì)進(jìn)出的協(xié)議與數(shù)據(jù)做任何的修改,可支持各種協(xié)議,包括HTTP,HTTPS和VoIP協(xié)議,可以處理所有加密和非加密流量。圖4顯示透明代理在一臺(tái)筆記本電腦或工作站的具體應(yīng)用,筆記本電腦或工作站與遠(yuǎn)程服務(wù)器通過(guò)透明代理進(jìn)行通信。該發(fā)明用到了網(wǎng)絡(luò)流量分析技術(shù),但此技術(shù)不是直接用于識(shí)別惡意軟件,其用于識(shí)別發(fā)出數(shù)據(jù)的應(yīng)用程序。通過(guò)對(duì)截獲的數(shù)據(jù)的數(shù)據(jù)頭信息進(jìn)行分析,包括時(shí)序、源/目的地址、端口等。此外,“HTTP頭”指令和特殊的HTTP頭標(biāo)志可能被利用來(lái)識(shí)別已知的瀏覽器應(yīng)用程序,來(lái)確定這些程序?qū)儆谝阎某绦?、被捕獲的惡意軟件或者是未知的流量。在圖1中,透明代理,包括接收和發(fā)送應(yīng)用程序流量和遠(yuǎn)程服務(wù)器流量的接口。透明代理可能部署于于網(wǎng)絡(luò)邊界,檢查出網(wǎng)絡(luò)的流量。監(jiān)控模塊檢查所有計(jì)算機(jī)上運(yùn)行的應(yīng)用程序?qū)h(yuǎn)程服務(wù)器的數(shù)據(jù)傳輸。應(yīng)用程序等待遠(yuǎn)程服務(wù)器響應(yīng)。應(yīng)用程序包括:Web瀏覽器,VoIP程序,點(diǎn)對(duì)點(diǎn)應(yīng)用程序,數(shù)據(jù)庫(kù)客戶端,數(shù)據(jù)庫(kù)服務(wù)器等等。監(jiān)控模塊把接收到的數(shù)據(jù)流量通過(guò)數(shù)據(jù)接口輸送給協(xié)議檢測(cè)模塊。協(xié)議檢測(cè)模塊分析應(yīng)用程序發(fā)出的數(shù)據(jù)并利用協(xié)議指紋來(lái)確定承載數(shù)據(jù)的協(xié)議類型。。協(xié)議類型可能是下列之一 =HTTP協(xié)議,VoIP協(xié)議,會(huì)話描述協(xié)議,會(huì)話發(fā)起協(xié)議,實(shí)時(shí)傳輸控制協(xié)議等等。挑戰(zhàn)生成模塊基于協(xié)議類型為應(yīng)用程序產(chǎn)生挑戰(zhàn),并將該挑戰(zhàn)發(fā)送給應(yīng)用程序, 并在數(shù)據(jù)和挑戰(zhàn)之間維持一個(gè)狀態(tài)表。檢測(cè)生成模塊可進(jìn)一步響應(yīng)基于應(yīng)用程序的狀態(tài)時(shí),它是第一個(gè)數(shù)據(jù)傳輸。挑戰(zhàn)不影響應(yīng)用程序的正常運(yùn)行,且對(duì)用戶是透明的。舉例來(lái)說(shuō),應(yīng)用程序是一個(gè)Web瀏覽器,挑戰(zhàn)是經(jīng)過(guò)編碼的頁(yè)面重定向請(qǐng)求,該請(qǐng)求被目標(biāo)瀏覽器接收并處理。挑戰(zhàn)生成模塊向應(yīng)用程序發(fā)出挑戰(zhàn),響應(yīng)處理模塊接收應(yīng)用程序針對(duì)此挑戰(zhàn)的響應(yīng),然后作出響應(yīng)是否有效的處理。應(yīng)用程序的響應(yīng)不涉及最終用戶。當(dāng)響應(yīng)是有效時(shí),數(shù)據(jù)控制模塊可允許數(shù)據(jù)通過(guò)接口與接口傳輸?shù)竭h(yuǎn)程服務(wù)器。 當(dāng)響應(yīng)是無(wú)效時(shí),數(shù)據(jù)控制模塊可阻止數(shù)據(jù)通過(guò)接口與接口傳輸?shù)竭h(yuǎn)程服務(wù)器。數(shù)據(jù)控制流程也可以用另外一種方式來(lái)實(shí)現(xiàn),數(shù)據(jù)控制模塊首先允許數(shù)據(jù)被傳遞到遠(yuǎn)程服務(wù)器,當(dāng)響應(yīng)是有效時(shí),數(shù)據(jù)控制模塊允許遠(yuǎn)程服務(wù)器通過(guò)接口與應(yīng)用程序進(jìn)行通信;當(dāng)響應(yīng)是無(wú)效時(shí),數(shù)據(jù)控制模塊阻止遠(yuǎn)程服務(wù)器通過(guò)接口與應(yīng)用程序進(jìn)行通信。該系統(tǒng)還包括一個(gè)惡意軟件的分類模塊,用于識(shí)別計(jì)算機(jī)上運(yùn)行的惡意軟件,還包括一個(gè)報(bào)表模塊,生成惡意軟件報(bào)表。通過(guò)分析應(yīng)用程序發(fā)出的第一個(gè)數(shù)據(jù)、應(yīng)用類型與自動(dòng)的非交互應(yīng)用程序響應(yīng)來(lái)確定惡意軟件。響應(yīng)處理模塊作出響應(yīng)是否有效的處理,并由此確定應(yīng)用程序是否為惡意軟件,并把結(jié)果輸出給分類模塊,分類模塊記錄檢測(cè)到的應(yīng)用程序相關(guān)參數(shù),并歸入相關(guān)分類,并把結(jié)果進(jìn)一步輸出給報(bào)表模塊,用于輸出相關(guān)報(bào)表。圖5顯示透明代理惡意軟件檢測(cè)消息流。應(yīng)用程序嘗試通過(guò)透明代理向遠(yuǎn)程服務(wù)器發(fā)送數(shù)據(jù)。透明代理監(jiān)控所有應(yīng)用發(fā)出的流量并分析發(fā)送應(yīng)用程序發(fā)送信息時(shí)所使用的協(xié)議類型。透明代理根據(jù)應(yīng)用程序使用的協(xié)議類型產(chǎn)生一個(gè)主動(dòng)內(nèi)容挑戰(zhàn)??衫镁唧w協(xié)議的內(nèi)在屬性來(lái)產(chǎn)生挑戰(zhàn)。主動(dòng)內(nèi)容挑戰(zhàn)對(duì)用戶是不可見的其只與應(yīng)用程序相關(guān)。如果應(yīng)用程序成功發(fā)送有效的信息來(lái)響應(yīng)內(nèi)容挑戰(zhàn),透明代理會(huì)確定該數(shù)據(jù)由一個(gè)正常的應(yīng)用程序產(chǎn)生。惡意軟件是不可能正常響應(yīng)一個(gè)精心構(gòu)造的主動(dòng)內(nèi)容挑戰(zhàn)。如果應(yīng)用程序響應(yīng)的信息是無(wú)效的或者在既定的時(shí)間內(nèi)沒有發(fā)出響應(yīng),則可以認(rèn)定該應(yīng)用程序是惡意軟件,并阻止該數(shù)據(jù)繼續(xù)被傳送到遠(yuǎn)程服務(wù)器,并報(bào)告該機(jī)器上存在惡意軟件,如圖5場(chǎng)景2所示。如果透明代理收到一個(gè)有效的應(yīng)用程序響應(yīng),則會(huì)把接收的數(shù)據(jù)轉(zhuǎn)發(fā)給遠(yuǎn)程服務(wù)器并允許后續(xù)的應(yīng)用程序與服務(wù)器之間的數(shù)據(jù)通訊,如如圖5場(chǎng)景1所示。
最終用戶并不需要參與這一進(jìn)程,而且?guī)缀踽槍?duì)用戶來(lái)說(shuō)是沒有延遲的,可提供良好的用戶體驗(yàn)。惡意軟件即使嘗試重新連接到相同或其他的服務(wù)器都是不被允許的。因此,這種方法是不成功的,對(duì)于通過(guò)文件替換,線程注入等方式隱藏自身并把流量注入到正常程序中的惡意軟件此種方法是相當(dāng)有效的,相對(duì)于正常程序,偽裝的惡意軟件是不能正確解析并生成一個(gè)有效的響應(yīng)的。圖2是透明代理的惡意軟件檢測(cè)流程圖。透明代理檢查來(lái)自至應(yīng)用程序的數(shù)據(jù)和暫停數(shù)據(jù)傳輸?shù)竭h(yuǎn)程服務(wù)器。透明代理識(shí)別協(xié)議類型并基于協(xié)議類型為應(yīng)用程序產(chǎn)生一個(gè)挑戰(zhàn),然后把挑戰(zhàn)發(fā)送給應(yīng)用程序。透明代理存儲(chǔ)被檢測(cè)數(shù)據(jù)與生成的挑戰(zhàn)之間的狀態(tài)對(duì)應(yīng)表。透明代理根據(jù)收到的響應(yīng)作出決策,如果響應(yīng)是有效的則允許數(shù)據(jù)繼續(xù)傳輸,如果是無(wú)效的則阻斷數(shù)據(jù)的繼續(xù)傳輸。狀態(tài)對(duì)應(yīng)表保存在內(nèi)存中,其記錄被截留檢測(cè)的數(shù)據(jù)與所生成挑戰(zhàn)的對(duì)應(yīng)關(guān)系,需要根據(jù)挑戰(zhàn)的響應(yīng)決定對(duì)應(yīng)數(shù)據(jù)的放行或者阻止,內(nèi)容如表1所示,
表1狀態(tài)對(duì)應(yīng)表
數(shù)據(jù)1挑戰(zhàn)1數(shù)據(jù)2挑戰(zhàn)2數(shù)據(jù)3挑戰(zhàn)3
圖6是另外一種透明代理的惡意軟件檢測(cè)消息流。應(yīng)用程序通過(guò)透明代理發(fā)送數(shù)據(jù)到遠(yuǎn)程服務(wù)器。透明代理檢測(cè)所有傳出的數(shù)據(jù),并識(shí)別發(fā)送消息的應(yīng)用程序所使用的協(xié)議類型。然后產(chǎn)生一個(gè)主動(dòng)內(nèi)容挑戰(zhàn)發(fā)送給應(yīng)用程序。透明代理根據(jù)應(yīng)用程序的響應(yīng)決定是否允許遠(yuǎn)程服務(wù)器與應(yīng)用程序進(jìn)行數(shù)據(jù)傳輸。圖7是顯示的與圖6相對(duì)的惡意軟件檢測(cè)流程圖。圖8顯示了一個(gè)透明代理在與Web瀏覽器交互時(shí)的惡意軟件檢測(cè)消息流,Web瀏覽器向遠(yuǎn)程WEB服務(wù)器請(qǐng)求一個(gè)頁(yè)面,從Web服務(wù)器下載一個(gè)頁(yè)面。透明代理利用隨機(jī)生成的哈希產(chǎn)生一個(gè)挑戰(zhàn),并把這個(gè)挑戰(zhàn)發(fā)送給Web瀏覽器,挑戰(zhàn)內(nèi)容利用瀏覽器固有的特征來(lái)構(gòu)造,包括HTML,JAVASCRIPT,F(xiàn)lash等。挑戰(zhàn)是一個(gè)頁(yè)面重定向請(qǐng)求編碼,被發(fā)往WEB 瀏覽器,該編碼不會(huì)顯示任何內(nèi)容,用戶不可見。只有當(dāng)瀏覽器能正確響應(yīng)該重定向請(qǐng)求, Web瀏覽器才被允許從遠(yuǎn)程服務(wù)器接收其最初的頁(yè)面獲取請(qǐng)求響應(yīng)。惡意軟件程序不能對(duì)挑戰(zhàn)做出有效的響應(yīng)或者是在一定時(shí)間內(nèi)未做出響應(yīng),因此會(huì)被發(fā)現(xiàn)。透明代理檢測(cè)到的惡意軟件,會(huì)阻止遠(yuǎn)程服務(wù)器響應(yīng)并在某臺(tái)計(jì)算機(jī)上檢測(cè)到惡意軟件。該發(fā)明的透明代理檢測(cè)引擎應(yīng)該制定一個(gè)框架,這個(gè)框架可以處理其他的協(xié)議規(guī)范。這個(gè)框架應(yīng)該是可擴(kuò)展的,允許第三方引入新協(xié)議及定義協(xié)議行為檢測(cè)簽名,如同定義 HTTP協(xié)議一樣。該發(fā)明的透明代理惡意軟件檢測(cè)系統(tǒng)可以用一個(gè)獨(dú)立的硬件設(shè)備來(lái)實(shí)現(xiàn),它具有精心裁剪的穩(wěn)定的操作系統(tǒng),并配置性能強(qiáng)勁的處理器、內(nèi)存、網(wǎng)卡等,以便于適用于一個(gè)大型的企業(yè)網(wǎng)絡(luò)。每個(gè)功能模塊可以單獨(dú)設(shè)計(jì),模塊與模塊之間有通訊接口。模塊可以用硬件、軟硬件結(jié)合體、固件來(lái)實(shí)現(xiàn)??梢允褂玫挠?jì)算機(jī)語(yǔ)言如C,C++, JAVA, Basic, Matlab 等等;可以使用的硬件如計(jì)算機(jī),微控制器,微處理器,ASIC(Application Specific Integrated Circuit), FPGA (Field — Programmable Gate Array) M M ^J ^ fM Π 列,CPLD(Complex Programmable Logic Device)復(fù)雜可編程邏輯器件等。計(jì)算機(jī),微控制器上可以使用C,C++等編程語(yǔ)言;ASIC,F(xiàn)PGA, CPLD則使用HDL(Hardware Description Language)硬件描述語(yǔ)言,包括VHSIC硬件描述語(yǔ)言VHDL或者Verilog HDL(目前應(yīng)用最為廣泛的硬件描述語(yǔ)言)。上述各種技術(shù)組合使用可以實(shí)現(xiàn)本實(shí)用新型所描述的各種功能。
權(quán)利要求
1.一種基于透明代理的惡意軟件檢測(cè)系統(tǒng),其特征在于該系統(tǒng)包括一個(gè)數(shù)據(jù)控制模塊,其與監(jiān)控模塊連接并發(fā)送數(shù)據(jù)給監(jiān)控模塊;所述監(jiān)控模塊將數(shù)據(jù)發(fā)送給協(xié)議檢測(cè)模塊并生成協(xié)議類型;所述協(xié)議檢測(cè)模塊與一個(gè)挑戰(zhàn)生成模塊連接,挑戰(zhàn)生成模塊與數(shù)據(jù)控制模塊相連;所述系統(tǒng)還包括一個(gè)響應(yīng)處理模塊,該模塊與監(jiān)控模塊以及數(shù)據(jù)控制模塊連接。
2.根據(jù)權(quán)利要求1所述的一種基于透明代理的惡意軟件檢測(cè)系統(tǒng),其特征在于所述的系統(tǒng)位于終端機(jī)與遠(yuǎn)程服務(wù)器之間的網(wǎng)絡(luò)網(wǎng)關(guān)或路由器處,并完成終端機(jī)與遠(yuǎn)程服務(wù)器之間的通信;終端機(jī)通過(guò)數(shù)據(jù)控制模塊將數(shù)據(jù)發(fā)送給遠(yuǎn)程服務(wù)器,數(shù)據(jù)控制模塊將所有數(shù)據(jù)發(fā)送給監(jiān)控模塊;所述數(shù)據(jù)控制模塊接收響應(yīng)處理模塊的處理結(jié)果。
3.根據(jù)權(quán)利要求1所述的一種基于透明代理的惡意軟件檢測(cè)系統(tǒng),其特征在于所述挑戰(zhàn)生成模塊基于協(xié)議生成模塊所生成的協(xié)議類型生成挑戰(zhàn)并將挑戰(zhàn)發(fā)送給終端。
4.根據(jù)權(quán)利要求1所述的一種基于透明代理的惡意軟件檢測(cè)系統(tǒng),其特征在于所述系統(tǒng)還包括一個(gè)分類模塊,該分類模塊與一個(gè)報(bào)表模塊連接。
5.一種權(quán)利要求1所述的基于透明代理的惡意軟件檢測(cè)方法,其特征在于該檢測(cè)方法包括以下步驟Stepl 運(yùn)行在終端機(jī)上的應(yīng)用程序通過(guò)該檢測(cè)系統(tǒng)中的數(shù)據(jù)控制模塊向遠(yuǎn)程服務(wù)器發(fā)送原始數(shù)據(jù);Step2 數(shù)據(jù)控制模塊將原始數(shù)據(jù)發(fā)送給監(jiān)控模塊,監(jiān)控模塊將數(shù)據(jù)發(fā)送給協(xié)議生成模塊;Step3 協(xié)議生成模塊利用協(xié)議指紋來(lái)識(shí)別原始數(shù)據(jù)的協(xié)議類型,并將該協(xié)議類型發(fā)送給挑戰(zhàn)生成模塊;Step4 挑戰(zhàn)生成模塊基于協(xié)議類型為應(yīng)用程序生成一個(gè)挑戰(zhàn),并通過(guò)數(shù)據(jù)控制模塊將挑戰(zhàn)發(fā)送給終端上的應(yīng)用程序;St印5 終端上的應(yīng)用程序響應(yīng)該挑戰(zhàn),響應(yīng)信息通過(guò)數(shù)據(jù)控制模塊發(fā)送給監(jiān)控模塊, 然后傳輸給響應(yīng)處理模塊;響應(yīng)處理模塊接收到應(yīng)用程序的響應(yīng),做出響應(yīng)有效或者無(wú)效的判斷結(jié)果,將結(jié)果發(fā)送給數(shù)據(jù)控制模塊;St印7 數(shù)據(jù)控制模塊根據(jù)響應(yīng)判斷結(jié)果來(lái)作出是否繼續(xù)連接遠(yuǎn)程服務(wù)器的判斷;當(dāng)檢測(cè)到響應(yīng)有效時(shí)允許應(yīng)用程序繼續(xù)連接遠(yuǎn)程服務(wù)器,當(dāng)檢測(cè)響應(yīng)無(wú)效時(shí),數(shù)據(jù)控制模塊會(huì)報(bào)告檢測(cè)到惡意軟件并阻止應(yīng)用程序繼續(xù)連接遠(yuǎn)程服務(wù)器。
6.根據(jù)權(quán)利要求5所述的一種基于透明代理的惡意軟件檢測(cè)方法,其特征在于所述 ^ep 1中數(shù)據(jù)控制模塊可以暫停由終端向遠(yuǎn)程服務(wù)器發(fā)送原始數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種基于透明代理的惡意軟件檢測(cè)系統(tǒng),該系統(tǒng)包括監(jiān)控模塊,協(xié)議檢測(cè)模塊,挑戰(zhàn)生成模塊,響應(yīng)處理模塊,數(shù)據(jù)控制模塊。該系統(tǒng)通過(guò)檢測(cè)終端發(fā)送給遠(yuǎn)程服務(wù)器的數(shù)據(jù),根據(jù)協(xié)議指紋確定數(shù)據(jù)的協(xié)議類型,并根據(jù)協(xié)議類型來(lái)生成一個(gè)挑戰(zhàn)發(fā)送給運(yùn)行在終端上的應(yīng)用程序。應(yīng)用程序?qū)?duì)挑戰(zhàn)的響應(yīng)發(fā)回給該檢測(cè)系統(tǒng),該系統(tǒng)通過(guò)響應(yīng)處理模塊在判斷響應(yīng)結(jié)果,進(jìn)而判斷是否繼續(xù)允許終端上的應(yīng)用軟件向遠(yuǎn)程服務(wù)器發(fā)送數(shù)據(jù),以此來(lái)檢測(cè)惡意軟件,具有不干擾程序的正常運(yùn)行,對(duì)用戶透明等有益效果。
文檔編號(hào)H04L29/06GK102497425SQ20111041195
公開日2012年6月13日 申請(qǐng)日期2011年12月12日 優(yōu)先權(quán)日2011年12月12日
發(fā)明者任天成, 劉新, 張振威, 景俊雙, 王大鵬 申請(qǐng)人:山東電力研究院