[0055]a、打開(kāi)服務(wù)控制管理器;
[0056]b、創(chuàng)建驅(qū)動(dòng)所對(duì)應(yīng)的服務(wù);
[0057]C、建立設(shè)備連接。
[0058]該層導(dǎo)出了 monitor和unmonitor兩個(gè)函數(shù),分別用來(lái)啟動(dòng)監(jiān)測(cè)和停止監(jiān)測(cè)。Monitor 實(shí)現(xiàn):
[0059](I)打開(kāi)驅(qū)動(dòng)程序的符號(hào)鏈接,發(fā)送啟動(dòng)控制碼,通知驅(qū)動(dòng)程序開(kāi)啟hook ;
[0060](2) Monitor在發(fā)送啟動(dòng)控制碼后,還創(chuàng)建了一個(gè)接受內(nèi)核信息的線(xiàn)程MonitorThreadProc0
[0061](3)線(xiàn)程MonitorThreadProc循環(huán)接受驅(qū)動(dòng)程序發(fā)送的信息,進(jìn)行適當(dāng)處理(轉(zhuǎn)換盤(pán)符等)后以消息的形式發(fā)送至用戶(hù)界面層程序。
[0062](4)關(guān)鍵數(shù)據(jù)結(jié)構(gòu)m_MyBuff.m_dwKenelReturn (檢查驅(qū)動(dòng)程序是否發(fā)送來(lái)新的信息),在信息處理后,dll層將其置為false,m_MyBuff.m_dwUserReturn (使用者是否同意程序通過(guò)),始終置為true (因?yàn)樵摮绦蜻€不是主動(dòng)防御型的,只做行為分析)。
[0063](5)相對(duì)應(yīng)的,在驅(qū)動(dòng)程序中也要控制一下if( ! g_pMyBuf f->m_dwKene I Return)break,如果ring3層程序沒(méi)有把消息處理完就等下去,一直到消息處理完復(fù)制消息的函數(shù)才返回,進(jìn)行下一次消息復(fù)制。
[0064]四、用戶(hù)應(yīng)用
[0065]用戶(hù)應(yīng)用模塊的功能是滿(mǎn)足用戶(hù)簡(jiǎn)單操作并分析所需監(jiān)測(cè)程序的監(jiān)測(cè)行為過(guò)程。具體實(shí)現(xiàn)流程如下:
[0066]在程序初始化時(shí),加載控制層的dll文件,同時(shí)打開(kāi)access數(shù)據(jù)庫(kù)的連接。
[0067]出現(xiàn)操作界面后,打開(kāi)需要監(jiān)測(cè)的程序可執(zhí)行文件。
[0068]點(diǎn)擊“開(kāi)始鑒定”,會(huì)把該可執(zhí)行文件打開(kāi)。在此過(guò)程中,驅(qū)動(dòng)程序已經(jīng)開(kāi)始監(jiān)測(cè)該可執(zhí)行文件的各種行為,并動(dòng)態(tài)地把監(jiān)測(cè)到的行為發(fā)送到控制層,控制層以消息的形式發(fā)送給界面,界面接收并顯示。
[0069]點(diǎn)擊“停止鑒定”后,驅(qū)動(dòng)程序監(jiān)控停止。此過(guò)程中的所有監(jiān)測(cè)到的行為已被保存,會(huì)在生成日志過(guò)程中記錄到數(shù)據(jù)庫(kù)中。
[0070]“生成日志”:會(huì)產(chǎn)生txt格式的記錄,并同時(shí)記錄的數(shù)據(jù)庫(kù)中,供分析。
[0071]“生成報(bào)告”:會(huì)在doc目錄下生成一個(gè)以系統(tǒng)時(shí)間命名的html文件,而且自動(dòng)打開(kāi),把經(jīng)過(guò)優(yōu)化的記錄顯示出來(lái),并分析了比較可疑的行為,供用戶(hù)參考分析。
[0072]“添加規(guī)則”:可以方便用戶(hù)添加允許通過(guò)的行為,同時(shí)也可以刪除一些過(guò)時(shí)的行為。
[0073]五、應(yīng)用遺傳算法
[0074]本系統(tǒng)采用了遺傳算法來(lái)實(shí)現(xiàn)規(guī)則的自動(dòng)生成,該算法主要采納了生物學(xué)物種進(jìn)化的原理模型,借助于選擇、交叉、變異等生物學(xué)遺傳操作。
[0075]遺傳算法的一般步驟:先隨機(jī)初始化一個(gè)種群,然后利用適應(yīng)度計(jì)算函數(shù)計(jì)算該種群中的每一個(gè)個(gè)體的適應(yīng)度,之后,根據(jù)制定的規(guī)則計(jì)算個(gè)體是否滿(mǎn)足優(yōu)化準(zhǔn)則的判定標(biāo)準(zhǔn)。如果滿(mǎn)足,那么算法停止,當(dāng)前的種群就是最優(yōu)個(gè)體。
[0076]如果不滿(mǎn)足準(zhǔn)則,那么算法將選取適應(yīng)度高的個(gè)體,對(duì)這個(gè)種群的個(gè)體進(jìn)行生物學(xué)的遺傳操作,比如選擇、交叉、變異等,遺傳操作的目的就是要進(jìn)化得到更優(yōu)秀的子代種群,經(jīng)過(guò)演化之后的子代種群,需要利用已有的規(guī)則,重新判定優(yōu)化準(zhǔn)則的滿(mǎn)足程度,進(jìn)而進(jìn)化生成新的種群。
[0077]通過(guò)遺傳算法,把以往監(jiān)測(cè)到的一些被定義為危險(xiǎn)的行為,自行添加到規(guī)則文件,并根據(jù)這些行為作為判定的依據(jù)。同時(shí),還能根據(jù)以往的經(jīng)驗(yàn),設(shè)定一些行為序列或集合為某種危險(xiǎn)操作。
[0078]在本程序中,若所分析的軟件的行為存在于白名單中,則該軟件行為被認(rèn)為是安全的,否則被認(rèn)為是危險(xiǎn)的,借鑒遺傳算法的思想,將白名單的控制權(quán)交給用戶(hù),由用戶(hù)添加白名單,隨著用戶(hù)不斷豐富白名單,本軟件的識(shí)別能力變得越完善。白名單隨著樣本數(shù)量的增加而逐步完善,說(shuō)白了就是,用戶(hù)所添加的白名單越多,白名單越豐富,軟件的識(shí)別行為越完善。
[0079]基于遺傳算法的系統(tǒng)異常行為分析程序的一般結(jié)構(gòu)如下所示:
[0080]1、量化異常行為規(guī)則,適時(shí)調(diào)整算法的設(shè)計(jì);
[0081]2、把編碼規(guī)則記錄問(wèn)題,用數(shù)據(jù)結(jié)構(gòu)表示基因,染色體的方式表示行為規(guī)則記憶空間;
[0082]3、設(shè)計(jì)、復(fù)制、交叉和變異操作算子;
[0083]4、適應(yīng)度函數(shù)及成本函數(shù)的設(shè)計(jì);
[0084]5、規(guī)則記憶記錄處理(如:設(shè)置白名單、拉入黑名單以及自動(dòng)識(shí)別黑白名單上的行為等)
[0085]雖然以上描述了本發(fā)明的【具體實(shí)施方式】,但是熟悉本技術(shù)領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,我們所描述的具體的實(shí)施例只是說(shuō)明性的,而不是用于對(duì)本發(fā)明的范圍的限定,熟悉本領(lǐng)域的技術(shù)人員在依照本發(fā)明的精神所作的等效的修飾以及變化,都應(yīng)當(dāng)涵蓋在本發(fā)明的權(quán)利要求所保護(hù)的范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種基于Windows系統(tǒng)的軟件程序異常行為分析方法,其特征在于:包括如下步驟: 步驟1、用戶(hù)選定一軟件程序,對(duì)該軟件程序的軟件行為信息進(jìn)行捕獲; 步驟2、建立白名單庫(kù)、黑名單庫(kù)及危險(xiǎn)行為庫(kù); 步驟3、根據(jù)白名單庫(kù)、黑名單庫(kù)及危險(xiǎn)行為庫(kù),將捕獲到的軟件行為信息通過(guò)遺傳算法進(jìn)行分析,得到分析結(jié)果; 步驟4、將分析結(jié)果進(jìn)行顯示。2.根據(jù)權(quán)利要求1所述的基于Windows系統(tǒng)的軟件程序異常行為分析方法,其特征在于:所述步驟I進(jìn)一步具體為:用戶(hù)選定一軟件程序,在Windows系統(tǒng)中建立鉤子程序,通過(guò)鉤子程序?qū)υ撥浖绦虻能浖袨樾畔⑦M(jìn)行捕獲。3.根據(jù)權(quán)利要求1所述的基于Windows系統(tǒng)的軟件程序異常行為分析方法,其特征在于:所述步驟I中,將捕獲的軟件行為信息進(jìn)行存儲(chǔ)。4.根據(jù)權(quán)利要求1或3所述的基于Windows系統(tǒng)的軟件程序異常行為分析方法,其特征在于:所述軟件行為信息包括進(jìn)線(xiàn)程行為、注冊(cè)表行為、文件行為、網(wǎng)絡(luò)行為和驅(qū)動(dòng)行為。5.根據(jù)權(quán)利要求1所述的基于Windows系統(tǒng)的軟件程序異常行為分析方法,其特征在于:所述步驟4進(jìn)一步具體為:將分析結(jié)果進(jìn)行顯示,并將分析結(jié)果存儲(chǔ)至對(duì)應(yīng)的庫(kù)中。
【專(zhuān)利摘要】本發(fā)明提供一種基于Windows系統(tǒng)的軟件程序異常行為分析方法,用戶(hù)選定一軟件程序,對(duì)該軟件程序的軟件行為信息進(jìn)行捕獲;建立白名單庫(kù)、黑名單庫(kù)及危險(xiǎn)行為庫(kù);根據(jù)白名單庫(kù)、黑名單庫(kù)及危險(xiǎn)行為庫(kù),將捕獲到的軟件行為信息通過(guò)遺傳算法進(jìn)行分析,得到分析結(jié)果;將分析結(jié)果進(jìn)行顯示,大大降低了由于內(nèi)部引起的網(wǎng)絡(luò)安全隱患。
【IPC分類(lèi)】G06N3/12, G06F21/52
【公開(kāi)號(hào)】CN104966018
【申請(qǐng)?zhí)枴緾N201510340007
【發(fā)明人】柳培忠, 駱炎民
【申請(qǐng)人】華僑大學(xué)
【公開(kāi)日】2015年10月7日
【申請(qǐng)日】2015年6月18日