徐 嬋,劉 新,吳 建,歐陽(yáng)博宇
(湘潭大學(xué)a.信息工程學(xué)院;b.智能計(jì)算與信息處理教育部重點(diǎn)實(shí)驗(yàn)室,湖南湘潭,411105)
基于BP神經(jīng)網(wǎng)絡(luò)的軟件行為評(píng)估系統(tǒng)
徐 嬋a,b,劉 新a,b,吳 建a,歐陽(yáng)博宇a
(湘潭大學(xué)a.信息工程學(xué)院;b.智能計(jì)算與信息處理教育部重點(diǎn)實(shí)驗(yàn)室,湖南湘潭,411105)
針對(duì)當(dāng)前國(guó)內(nèi)信息安全領(lǐng)域?qū)τ趷阂廛浖呐袛嘀悄芑潭容^低的現(xiàn)狀,分析不同類型的惡意軟件,提取典型的危險(xiǎn)行為特征,對(duì)這些行為進(jìn)行整合并建立一個(gè)行為映射庫(kù),將軟件行為映射成數(shù)據(jù),設(shè)計(jì)算法將其轉(zhuǎn)換成可用于實(shí)際神經(jīng)網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)。通過(guò)反復(fù)實(shí)驗(yàn),給出一個(gè)適用于訓(xùn)練該類型樣本的BP神經(jīng)網(wǎng)絡(luò),并確定其中各個(gè)算子和參數(shù)值。通過(guò)訓(xùn)練該神經(jīng)網(wǎng)絡(luò),建立一個(gè)判斷可疑軟件是否為惡意軟件的行為評(píng)估系統(tǒng)。實(shí)驗(yàn)結(jié)果證明了上述設(shè)計(jì)的正確性,系統(tǒng)的漏報(bào)率和誤報(bào)率僅為1%和3.7%。
信息安全;智能;危險(xiǎn)行為;惡意軟件;BP神經(jīng)網(wǎng)絡(luò);行為評(píng)估
隨著互聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,各式各樣不同功能的軟件不斷涌現(xiàn),推進(jìn)了數(shù)字化時(shí)代的發(fā)展進(jìn)程。但是在軟件發(fā)展同時(shí),安全隱患也越來(lái)越大,越來(lái)越多的病毒、木馬、間諜軟件(以下簡(jiǎn)稱惡意軟件)嚴(yán)重威脅國(guó)家、單位、個(gè)人的隱私和財(cái)產(chǎn)安全。《2012年中國(guó)互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢(shì)綜述》[1]報(bào)告顯示,我國(guó)網(wǎng)站被植入后門等隱蔽性攻擊事件呈增長(zhǎng)態(tài)勢(shì),2012年,國(guó)家互聯(lián)網(wǎng)應(yīng)急中心共監(jiān)測(cè)發(fā)現(xiàn)中國(guó)境內(nèi)52 324個(gè)網(wǎng)站被植入后門,其中政府網(wǎng)站3 016個(gè),較2011年月均分別增長(zhǎng)213.7%和93.1%。2012年,國(guó)家互聯(lián)網(wǎng)應(yīng)急中心共監(jiān)測(cè)發(fā)現(xiàn)針對(duì)中國(guó)境內(nèi)網(wǎng)站的釣魚頁(yè)面22 308個(gè)。網(wǎng)絡(luò)釣魚日漸猖獗嚴(yán)重影響在線金融服務(wù)和電子商務(wù)的發(fā)展,危害公眾利益。利用病毒實(shí)施的可持續(xù)攻擊活動(dòng)頻現(xiàn), 2012年,我國(guó)境內(nèi)至少有4.1萬(wàn)余臺(tái)主機(jī)感染了此類特征的木馬程序,對(duì)國(guó)家和企業(yè)的數(shù)據(jù)安全造成嚴(yán)重威脅。
這些惡意軟件通常會(huì)偽裝成正常軟件,甚至?xí)邆湟欢ǖ恼9δ?從而達(dá)到隱藏惡意行為的目的。因此,軟件安全專家必須通過(guò)各種方法來(lái)發(fā)現(xiàn)這些隱藏的惡意行為。由于惡意軟件數(shù)目增長(zhǎng)太快,僅靠有限的人力難以承擔(dān),研究一種快速而準(zhǔn)確的自動(dòng)分析技術(shù)成為了目前的熱點(diǎn)問(wèn)題。因此,本文使用BP神經(jīng)網(wǎng)絡(luò)對(duì)軟件行為進(jìn)行自動(dòng)分析,根據(jù)實(shí)際需要建設(shè)病毒行為庫(kù),通過(guò)實(shí)驗(yàn)結(jié)果選擇合適的算子并反復(fù)調(diào)整神經(jīng)網(wǎng)絡(luò)中的各個(gè)因子,最終得到一個(gè)可用的軟件行為評(píng)估系統(tǒng)。
目前對(duì)于惡意軟件代碼分析的研究,在專家級(jí)別層面,主要采用的是動(dòng)態(tài)分析法。動(dòng)態(tài)分析法,是指讓軟件在真實(shí)或者虛擬環(huán)境中運(yùn)行,觀察其行為動(dòng)作,從而判斷其是否包含惡意代碼[2-3]。動(dòng)態(tài)分析[4-5]有2類方法,一種白盒跟蹤法,即由分析人員逐條跟蹤程序運(yùn)行情況,并予以記錄。這種跟蹤方法最準(zhǔn)確,但卻完全依賴分析人員的專業(yè)水平,這種手工分析的方法,效率很低;另一類是黑盒分析法,即只記錄程序運(yùn)行的結(jié)果,而不考慮這些結(jié)果是由何種代碼產(chǎn)生。在如何獲取程序運(yùn)行結(jié)果的方式上,又有兩類方法,其一是在可疑程序運(yùn)行前后對(duì)系統(tǒng)分別取快照,比較兩者的不同。但是當(dāng)惡意代碼的行為是非持久性動(dòng)作時(shí),如讀取某些文件內(nèi)容并將其發(fā)送出去,或是將本機(jī)設(shè)置為臨時(shí)服務(wù)器,這類行為不會(huì)對(duì)系統(tǒng)造成永久的改變,因此,這種方法具有失效的可能性。另一種是介入到可疑程序運(yùn)行的過(guò)程中,監(jiān)視其調(diào)用的系統(tǒng)API函數(shù),將行為記錄結(jié)果與行為特征庫(kù)進(jìn)行比對(duì),當(dāng)樣本行為的特征類似于病毒行為特征時(shí),就判定該樣本存在惡意代碼。這種方法可以完全實(shí)時(shí)地檢測(cè)到惡意代碼運(yùn)行過(guò)程中的全部行為,因此,被稱為基于行為的動(dòng)態(tài)檢測(cè)方法。
這種基于行為的動(dòng)態(tài)檢測(cè)法易于實(shí)現(xiàn)自動(dòng)化分析,其難點(diǎn)主要集中于對(duì)捕獲的行為進(jìn)行綜合分析上。目前主流的方法是利用行為規(guī)則庫(kù)來(lái)匹配一個(gè)軟件是否存在危險(xiǎn)行為[6-7],從而進(jìn)一步判斷是否為惡意軟件。然而不同的危險(xiǎn)行為,對(duì)于系統(tǒng)的危害等級(jí)存在著較大的差別,如同為危險(xiǎn)行為,在系統(tǒng)目錄下寫一個(gè)普通的文本文件與寫PE文件相比,對(duì)于系統(tǒng)的危害程度差別很大。并且某些危險(xiǎn)行為僅由一個(gè)動(dòng)作完成,而有些危險(xiǎn)行為卻需要很多個(gè)動(dòng)作的協(xié)同合作,才能達(dá)到破壞系統(tǒng)或者竊取隱私的目的。而且即便是某些正常的軟件也可能存在一些對(duì)系統(tǒng)有危險(xiǎn)的行為,典型的例子就是各類安全軟件。這種差異導(dǎo)致單純通過(guò)分析一個(gè)軟件是否具有某一單一的危險(xiǎn)行為來(lái)判斷整個(gè)軟件是否為惡意軟件存在較大的誤差。比較穩(wěn)妥的辦法是對(duì)所有捕獲的危險(xiǎn)行為進(jìn)行綜合評(píng)定打分,最后給出評(píng)判結(jié)果,這一過(guò)程完全要模擬安全專家的人工分析過(guò)程,這需要較高的人工智能水平,目前仍處于研究階段。
本文通過(guò)查找已有的研究資料,使用現(xiàn)有的行為抓取工具,建立了一個(gè)較為完善的危險(xiǎn)行為特征庫(kù)。然后結(jié)合BP神經(jīng)網(wǎng)絡(luò)的相關(guān)知識(shí),建立了一個(gè)軟件行為評(píng)估系統(tǒng),通過(guò)對(duì)已知樣本的訓(xùn)練達(dá)到對(duì)于未知軟件是否為惡意軟件的判斷。
人工神經(jīng)網(wǎng)絡(luò)是由大量簡(jiǎn)單的處理單元連接組成的非線性系統(tǒng),由于其具有良好的非線性映射能力,自學(xué)習(xí)能力以及泛化性,在模式識(shí)別、智能控制等領(lǐng)域得到了成功的應(yīng)用[8]。BP神經(jīng)網(wǎng)絡(luò)是應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)之一,其學(xué)習(xí)過(guò)程分為前向傳播與反向傳播兩部分[9],采用梯度下降算法調(diào)整系統(tǒng)參數(shù)。前向傳播使輸入信息在相應(yīng)權(quán)值、閾值與激活函數(shù)的作用下傳遞到輸出層,當(dāng)輸出結(jié)果與期望值的誤差大于指定精度時(shí),將敏感性進(jìn)行反向傳播,逐級(jí)修正各層的權(quán)值與閾值;如此反復(fù)迭代。最后使誤差達(dá)到指定精度。BP神經(jīng)網(wǎng)絡(luò)是多層結(jié)構(gòu),由網(wǎng)絡(luò)節(jié)點(diǎn)和節(jié)點(diǎn)之間的連接組成,整個(gè)神經(jīng)網(wǎng)絡(luò)由一個(gè)輸入層,一個(gè)輸出層和至少一個(gè)隱層組成,每層包含若干個(gè)節(jié)點(diǎn),其中隱層節(jié)點(diǎn)以及輸出層節(jié)點(diǎn)都有對(duì)應(yīng)的閾值,網(wǎng)絡(luò)間各節(jié)點(diǎn)之間具有連接權(quán)值。整個(gè)BP算法的過(guò)程,就是通過(guò)誤差函數(shù)計(jì)算實(shí)際輸出與樣本期望輸出之間的誤差,以此進(jìn)行反向傳播,通過(guò)反復(fù)調(diào)整權(quán)值和閾值,使誤差達(dá)到可接受范圍。
定義1 危險(xiǎn)行為
針對(duì)病毒,蠕蟲,木馬的特點(diǎn),將在系統(tǒng)關(guān)鍵位置進(jìn)行添加或者刪除項(xiàng)操作,調(diào)用、注入系統(tǒng)特殊進(jìn)程,打開特定端口,監(jiān)控鍵盤鼠標(biāo)消息,修改、替換或刪除系統(tǒng)文件,修改可執(zhí)行文件路徑,向特殊地址發(fā)送系統(tǒng)文件等行為,劃分為危險(xiǎn)行為。
定義2 惡意軟件
具有一個(gè)或多個(gè)危險(xiǎn)行為,通過(guò)這些危險(xiǎn)行為的組合或者疊加最終達(dá)到破壞系統(tǒng),竊取系統(tǒng)用戶信息,監(jiān)控用戶動(dòng)作的目的的軟件。
根據(jù)危險(xiǎn)行為的定義,將軟件可能對(duì)系統(tǒng)產(chǎn)生危害的動(dòng)作分為8大類,包括注冊(cè)表操作、文件操作、進(jìn)程創(chuàng)建或關(guān)閉、系統(tǒng)函數(shù)調(diào)用、服務(wù)操作、網(wǎng)絡(luò)操作、消息截取、鍵盤鼠標(biāo)等設(shè)備監(jiān)控。其中,注冊(cè)表的操作分為特殊注冊(cè)表項(xiàng)的刪除,更改,添加;文件操作分為特殊文件的創(chuàng)建,讀,寫,刪除操作;函數(shù)調(diào)用為系統(tǒng)API函數(shù)的特殊調(diào)用;服務(wù)操作分為服務(wù)的創(chuàng)建、關(guān)閉和刪除;網(wǎng)絡(luò)操作分為惡意網(wǎng)站的訪問(wèn)、打開特殊端口、特殊鏈入、鏈出;特征屬性主要有添加自啟動(dòng)、創(chuàng)建、修改、添加、刪除注冊(cè)表項(xiàng)、在系統(tǒng)文件夾創(chuàng)建文件、刪除系統(tǒng)文件、更改系統(tǒng)文件、注入系統(tǒng)進(jìn)程、創(chuàng)建、替換、刪除、關(guān)閉系統(tǒng)進(jìn)程、打開特定網(wǎng)絡(luò)端口、訪問(wèn)特殊網(wǎng)站、向特定網(wǎng)站傳送文件、關(guān)閉或刪除服務(wù)、開啟鼠標(biāo)鍵盤鉤子等。
3.1 行為歸納
本文利用WSyscheck,SReng,Regmon,Filemon等行為捕獲工具,跟蹤了數(shù)千個(gè)惡意軟件,采集到大量的危險(xiǎn)行為。通過(guò)綜合分析與去重,最后歸納為602項(xiàng)典型的危險(xiǎn)行為,其中注冊(cè)表行為93項(xiàng),文件行為191項(xiàng),函數(shù)調(diào)用行為56項(xiàng),hook行為2項(xiàng),消息行為5項(xiàng),網(wǎng)絡(luò)行為25項(xiàng),進(jìn)程行為155項(xiàng),服務(wù)行為75項(xiàng)。這602項(xiàng)行為中的某些行為項(xiàng)還代表具有相同特征的一類行為。
在將這些行為整合建立了一個(gè)危險(xiǎn)行為特征庫(kù)后,為了方便將軟件的各行為表示成一個(gè)樣本,本文建立了一個(gè)映射表,映射表中的每一項(xiàng)代表一種行為動(dòng)作,整個(gè)映射表包含得到的總共602項(xiàng)行為以及這8類行為的正常表示,總計(jì)有610項(xiàng)。這樣對(duì)于任意一個(gè)軟件,其任一行為都可以通過(guò)映射表中的某項(xiàng)來(lái)表示,由于篇幅的限制,本文只給出部分行為的特征映射,如表1所示。

表1 部分行為映射
以上行為特征均以XML語(yǔ)言描述,具體的描述方法將另文詳述。
3.2 映射算法
取具有代表性的惡意軟件和正常軟件,當(dāng)一個(gè)軟件運(yùn)行時(shí),捕獲該軟件的所有行為,對(duì)應(yīng)行為映射表,保存相應(yīng)的行為所對(duì)應(yīng)的值。為了能夠準(zhǔn)確表示正常軟件的行為權(quán)值,在映射表中對(duì)于每類行為項(xiàng)設(shè)計(jì)了一個(gè)正常情況下的映射值。例如,若某一軟件沒有文件項(xiàng)的操作或無(wú)危險(xiǎn)文件操作行為,則置樣本文件項(xiàng)值為映射表第95項(xiàng)的值。對(duì)于同樣類型的行為具有多項(xiàng)的軟件,將這幾項(xiàng)行為一起映射成訓(xùn)練樣本,對(duì)于多次出現(xiàn)同一種行為的,只取一次。通過(guò)以上方法的使用,每一個(gè)軟件,都可以由一組數(shù)字表示成一個(gè)樣本。
對(duì)于任何一個(gè)軟件,將其行為轉(zhuǎn)換成樣本所用的映射算法如算法1所示。
算法1
(1)分析軟件的行為數(shù)目N。
(2)根據(jù)定義2,對(duì)于每一個(gè)行為Ti(1≤i≤N),分析Ti是否為惡意行為。若是惡意行為,保存其對(duì)應(yīng)的映射表中的數(shù)字,i←i+1。
(3)重復(fù)步驟(2)直到i>N。
(4)分析保存的數(shù)字,若不存在映射表中某一類行為所對(duì)應(yīng)區(qū)間的數(shù)字,保存該行為區(qū)間初始值。如:若不存在文件行為或無(wú)惡意文件行為,即保存的數(shù)字中不存在一個(gè)96~286之間的數(shù)字,則保存一個(gè)數(shù)字95,表示文件項(xiàng)的行為為正常行為。其他區(qū)間分別表示如下:注冊(cè)表(1~94),文件(95~286),網(wǎng)絡(luò)(287~312),hook (313~315),函數(shù)調(diào)用:(316~372),服務(wù)(373~448),進(jìn)程(449~605),消息(606~610)。
(5)輸出保存的數(shù)字所對(duì)應(yīng)的映射項(xiàng)的初始權(quán)值,將其作為樣本值保存。
(6)對(duì)于為正常軟件,置期望輸出為0,對(duì)于惡意軟件,置期望輸出值為1。
3.3 樣本訓(xùn)練
通過(guò)樣本采集算法,運(yùn)行具有代表性的各類軟件,得到的樣本的映射數(shù)據(jù),由于篇幅限制,本文給出部分樣本映射數(shù)據(jù),如表2所示。

表2 部分樣本映射數(shù)據(jù)
得到樣本數(shù)據(jù)后,再通過(guò)算法2將其轉(zhuǎn)化成樣本集合。
算法2
(1)讀取樣本個(gè)數(shù)N。
(2)定義一個(gè)N行610列的數(shù)組StudyData,將數(shù)組元素值初始化為0。(3)對(duì)于樣本S1到SN,執(zhí)行步驟(4)~步驟(6)。(4)從樣本文件中讀取樣本Si(1≤i≤N)的映射數(shù)據(jù)個(gè)數(shù)m。
(5)對(duì)于數(shù)據(jù)a1~am,執(zhí)行以下步驟:
1)對(duì)于Si中讀取的第j個(gè)數(shù)據(jù)aj,將其轉(zhuǎn)化成數(shù)字numj。
2)將樣本數(shù)組的第i行第numj列的數(shù)字賦值為1。
3)跳轉(zhuǎn)到步驟(5.1),直到j(luò)大于numj。
(6)跳轉(zhuǎn)到步驟(4),直到i大于N。
通過(guò)上述算法,N個(gè)樣本全部存在了數(shù)組StudyData中,每行就是一個(gè)樣本。
3.4 神經(jīng)網(wǎng)絡(luò)的構(gòu)建
根據(jù)參考文獻(xiàn)[10-12]的介紹,本文結(jié)合實(shí)際應(yīng)用情況,建立一個(gè)如圖1所示的BP神經(jīng)網(wǎng)絡(luò)。該神經(jīng)網(wǎng)絡(luò)由一個(gè)輸入層、一個(gè)隱層、一個(gè)輸出層組成。其中,輸入層元素個(gè)數(shù)為610,隱層元素個(gè)數(shù)為610,輸出層元素?cái)?shù)目為1,其中,Vkl(k=1,1≤l≤610)表示隱層各節(jié)點(diǎn)與輸出層的權(quán)值;Wij(1≤i≤610,1≤k≤610)表示輸入層各節(jié)點(diǎn)與隱層各節(jié)點(diǎn)的連接權(quán)值。

圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
3.5 BP神經(jīng)網(wǎng)絡(luò)中各參數(shù)的選擇
采用BP算法來(lái)訓(xùn)練樣本時(shí),BP神經(jīng)網(wǎng)絡(luò)的正向傳播通過(guò)輸出轉(zhuǎn)換函數(shù)來(lái)調(diào)整,反向傳播通過(guò)權(quán)值閾值調(diào)整實(shí)現(xiàn)。權(quán)值調(diào)整由式(1)、式(2)來(lái)調(diào)整[10]。

其中,pl為學(xué)習(xí)過(guò)的樣本集次數(shù);x″和x′分別為隱層至輸出層的輸出函數(shù)與輸入層與隱層的輸出函數(shù)的導(dǎo)數(shù);η為調(diào)整因子。在本文中,輸出層至隱層的轉(zhuǎn)換因子由a表示,隱層至輸入層轉(zhuǎn)換因子用b表示。3.5.1 輸入層到隱層的輸出函數(shù)選擇
根據(jù)參考文獻(xiàn)[11-12],本文采用了Sigmoid函數(shù):f(x)=1/(1+e-x)。
3.5.2 輸出函數(shù)的選擇
由于沒有可供借鑒的輸出函數(shù)選擇方式,對(duì)于輸出函數(shù)的選擇只能通過(guò)實(shí)驗(yàn)獲得。對(duì)于同樣的樣本,訓(xùn)練30 000次后,實(shí)驗(yàn)得出數(shù)據(jù)如表3所示。其中,f(x)=1/(1+exp(-x))為Sigmoid函數(shù),其余均為線性函數(shù)。

表3 輸出函數(shù)選擇實(shí)驗(yàn)數(shù)據(jù)
綜合以上實(shí)驗(yàn)數(shù)據(jù),最終選擇了線性函數(shù)y= 1.0+x/5 000。
3.5.3 調(diào)整因子的選擇
輸出層至隱層的調(diào)整因子為a,隱層至輸入層調(diào)整因子為b,對(duì)于已經(jīng)選擇好的輸出函數(shù),在設(shè)置收斂到總誤差為0.75(選取該誤差能較快看到實(shí)驗(yàn)效果)時(shí),所用時(shí)間的單位選擇秒(s)時(shí),收斂所用時(shí)間的實(shí)驗(yàn)結(jié)果如圖2和圖3所示。

圖2 調(diào)整因子a對(duì)收斂時(shí)間的影響

圖3 調(diào)整因子b對(duì)收斂時(shí)間的影響
實(shí)驗(yàn)結(jié)果顯示,在取a=1.6,b=1.2時(shí),收斂速度最快。
對(duì)于所取的具有代表性的805個(gè)樣本,經(jīng)過(guò)多次實(shí)驗(yàn),在取參數(shù)a=1.6,b=1.2時(shí),能最好地滿足訓(xùn)練不趨于最小化的同時(shí)誤差在預(yù)期范圍內(nèi)。得出如輸入層與隱層之間對(duì)應(yīng)的權(quán)值如表4所示,隱層到輸出層的權(quán)值如表5所示,隱層閾值如表6所示,輸出層閾值為-14.276 027。限于篇幅,均只列出部分有代表意義的數(shù)據(jù)。
對(duì)于所得到的神經(jīng)網(wǎng)絡(luò),從國(guó)內(nèi)某著名安全網(wǎng)站的病毒樣本區(qū)[13]選取493個(gè)樣本作為測(cè)試樣本(不與實(shí)驗(yàn)樣本中的樣本重復(fù)),樣本類型及數(shù)目如表7所示。
將163個(gè)正常軟件與上述樣本混合,利用本神經(jīng)網(wǎng)絡(luò)進(jìn)行測(cè)試,誤報(bào)6個(gè),誤報(bào)率為0.037;僅漏報(bào)5個(gè),漏報(bào)率為0.01。說(shuō)明本BP神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)是成功的。另外,在大多數(shù)文獻(xiàn)中,反向調(diào)整因子b的取值應(yīng)在0.1~0.9之間,但筆者通過(guò)反復(fù)實(shí)驗(yàn)發(fā)現(xiàn)該值為1.2時(shí)效果反而最好,具體原因還有待進(jìn)一步分析。

表4 輸入層與隱層權(quán)值(用二維數(shù)組存儲(chǔ))

表5 隱層至輸出層權(quán)值(用一維數(shù)組存儲(chǔ))

表6 輸出層閾值(用一維數(shù)組存儲(chǔ))

表7 惡意軟件匯總
本文嘗試將BP神經(jīng)網(wǎng)絡(luò)應(yīng)用于信息安全領(lǐng)域。先將軟件行為映射成可以用于訓(xùn)練的樣本,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)以軟件行為為輸入神經(jīng)元的BP神經(jīng)網(wǎng)絡(luò),該神經(jīng)網(wǎng)絡(luò)能較準(zhǔn)確地通過(guò)軟件的行為自動(dòng)評(píng)估該軟件是否為惡意軟件。同時(shí)編制了一個(gè)惡意軟件行為自動(dòng)分析系統(tǒng),分別實(shí)現(xiàn)了對(duì)軟件行為的抓取和對(duì)行為的分析部分。其中的行為分析部分即利用本文所述方法實(shí)現(xiàn)。目前該系統(tǒng)已用于某安全部門的實(shí)際工作中,用戶反映情況良好,具有較高的實(shí)際應(yīng)用價(jià)值。但自動(dòng)分析結(jié)果與技術(shù)人員人工分析結(jié)果相比,準(zhǔn)確性上仍然有一定的差距,下一步將嘗試應(yīng)用其他人工智能算法(如SVM,KNN,ELM等)來(lái)探索惡意行為的自動(dòng)分析方法。
[1] 國(guó)家互聯(lián)網(wǎng)應(yīng)急中心.2012年中國(guó)互聯(lián)網(wǎng)網(wǎng)絡(luò)安全態(tài)勢(shì)
綜述[EB/OL].(2013-03-19).http://VVV.cnnic.net. cn/gjymaqzx/aqzx-hydt/201303/t20130322_39118.htm.
[2] Moskovitch R,Feher C,Elovici Y.Source Unknown Malcode Detection——A Chronological Evaluation[C]// Proc.of IEEE International Conference on Intelligence and Security Informatics.[S.l.]:IEEE Press,2008:267-268.
[3] Yu Wei,Boyer C,Chellappan S,et al.Peer-to-Peer System Based Active Worm Attracks:Modeling and Analysis[C]//Proc.of ICC'05.[S.l.]:IEEE Press, 2005:295-300.
[4] 敬 銳.惡意代碼檢測(cè)系統(tǒng)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2010.
[5] 李 明.基于網(wǎng)絡(luò)行為分析的未知惡意代碼檢測(cè)系統(tǒng)的研究與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2009.
[6] 李舟軍.基于沙盒仿真的可執(zhí)行程序惡意代碼檢測(cè)工具的研究與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2008.
[7] 張小康.基于數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)的惡意代碼檢測(cè)技術(shù)研究[D].合肥:中國(guó)科學(xué)技術(shù)大學(xué),2009.
[8] 譚 駿.基于自適應(yīng)BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)流量識(shí)別算法[J].電子科技大學(xué)學(xué)報(bào),2012,41(4):580-585.
[9] Sedki A,Ouazar D,Mazoudi E E I.Evolving Neural Network Using Real Coded Genetic Algorithm for Daily Rainfall-runoff Forecasting[J].Expert Systems with Applications,2009,36(3):4523-4527.
[10] 馮 定.神經(jīng)網(wǎng)絡(luò)專家系統(tǒng)[M].北京:科學(xué)出版社,2006.
[11] 胥小波.基于并行BP神經(jīng)網(wǎng)絡(luò)的路由查找算法[J].通信學(xué)報(bào),2012,32(2):61-68.
[12] 賈立山.基于隨機(jī)參數(shù)調(diào)整的改進(jìn)反向傳播學(xué)習(xí)算法[J].同濟(jì)大學(xué)報(bào),2011,39(5):751-756.
[13] 卡飯論壇.病毒樣本[EB/OL].http://bbs.kafan.cn/ forum-31-1.html.
編輯 金胡考
Software Behavior Evaluation System Based on BP Neural Network
XU Chana,b,LIU Xina,b,WU Jiana,OUYANG Bo-yua
(a.College of Information Engineering;b.Key Laboratory of Intelligent Computing& Information Processing,Ministry of Education,Xiangtan University,Xiangtan 411105,China)
In current,since judging the malware in information security area in China has relatively low intelligence,this paper analyzes a large number of malicious softwares,and extracts the typical characteristics of dangerous behavior,then integrates these acts and builds a mapping library for these behaviors,which is used for transfering the behavior into data. It also designs an algorithm to make the data can directly be used for training.Through myriads of experiments,a BP neural network suitable for training type is designed,and each operator and parameter are determined.By training the neural network,this paper establishes a system to judge whether the suspicious one is a malware.Experimental result shows that this idea is right,and the false alarm rate and false negative rate are 1% and 3.7%.
information security;intelligence;risk behavior;malware;BP neural network;behavior evaluation
1000-3428(2014)09-0149-06
A
TP309
10.3969/j.issn.1000-3428.2014.09.030
湖南省自然科學(xué)基金資助項(xiàng)目(12JJ3066);教育部重點(diǎn)實(shí)驗(yàn)室開放課題基金資助項(xiàng)目(2013IM02);湖南省“十二五”重點(diǎn)學(xué)科建設(shè)基金資助項(xiàng)目。
徐 嬋(1988-),女,碩士,主研方向:信息安全;劉 新(通訊作者),副教授、博士;吳 建、歐陽(yáng)博宇,碩士。
2013-07-24
2013-10-28E-mail:liuxn_new@163.com