[發(fā)明專利]基于軟件功能層對(duì)軟件異常行為溯源的方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201410018348.3 | 申請(qǐng)日: | 2014-01-16 |
| 公開(公告)號(hào): | CN103744786A | 公開(公告)日: | 2014-04-23 |
| 發(fā)明(設(shè)計(jì))人: | 賴英旭;霍淑嘯;楊震;李健 | 申請(qǐng)(專利權(quán))人: | 北京工業(yè)大學(xué) |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京思海天達(dá)知識(shí)產(chǎn)權(quán)代理有限公司 11203 | 代理人: | 劉萍 |
| 地址: | 100124 *** | 國(guó)省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 軟件 功能 異常 行為 溯源 方法 | ||
技術(shù)領(lǐng)域:
本發(fā)明旨在建立軟件功能模型,判別出異常軟件行為,并對(duì)異常行為溯源的過(guò)程。
背景技術(shù):
軟件的行為是指軟件運(yùn)行表現(xiàn)形態(tài)和狀態(tài)演變的過(guò)程。軟件行為定義為軟件運(yùn)行時(shí)作為主體,依靠其自身的功能對(duì)客體的施用、操作或者動(dòng)作。軟件存在的不可信行為會(huì)對(duì)社會(huì)造成不同程度的損壞,所以研究軟件行為的可信性成為一種必要。軟件的行為可以從底層的二進(jìn)制指令到高層的程序語(yǔ)句、函數(shù)、系統(tǒng)調(diào)用等不同層次刻畫軟件行為,根據(jù)某一層次的行為信息而構(gòu)建的行為狀態(tài)序列以及狀態(tài)變遷,可以表征軟件的正常行為特征,并用于軟件行為的異常檢測(cè)。一般的軟件行為研究方法分為靜態(tài)和動(dòng)態(tài)兩種。靜態(tài)方法直接分析程序的源代碼或二進(jìn)制代碼,建立相應(yīng)的行為模型。源代碼通過(guò)對(duì)程序代碼的執(zhí)行路徑進(jìn)行分析來(lái)建立程序正常行為模式?;蛘咄ㄟ^(guò)分析軟件的二進(jìn)制文件,不僅可以得到程序的控制流圖并且可以模擬程序運(yùn)行棧機(jī)制。動(dòng)態(tài)方法是通過(guò)分析程序運(yùn)行過(guò)程中的參數(shù)來(lái)表征軟件的行為的方法。主要是基于系統(tǒng)調(diào)用的方法,利用定長(zhǎng)或者不定長(zhǎng)的序列來(lái)發(fā)現(xiàn)系統(tǒng)調(diào)用序列的基本模式為軟件行為進(jìn)行建模分析。
現(xiàn)有的方法已經(jīng)從不同的角度表征了軟件的行為過(guò)程,可以在一定程度上檢驗(yàn)出軟件的異常行為,增強(qiáng)了軟件行為的可信性。但是,沒有從根源上發(fā)掘軟件異常行為產(chǎn)生的根源,即軟件異常行為的根源在其源代碼中。
發(fā)明內(nèi)容:
基于軟件功能層對(duì)軟件異常行為溯源的方法,其特征在于,所述方法包括:
監(jiān)視軟件運(yùn)行時(shí)的系統(tǒng)調(diào)用序列,在每一個(gè)單獨(dú)的軟件功能執(zhí)行過(guò)程中提取出軟件功能的標(biāo)準(zhǔn)操作序列;
從待檢測(cè)狀態(tài)序列中匹配出相關(guān)軟件功能序列的方法;
使用計(jì)算兩個(gè)字符串之間距離的方法來(lái)確定此軟件功能的測(cè)試序列和標(biāo)準(zhǔn)操作序列之間的相似度以判斷該功能是否異常;具體為:計(jì)算測(cè)試序列和標(biāo)準(zhǔn)操作序列之間多組相似度,對(duì)多組相似度進(jìn)行數(shù)理統(tǒng)計(jì),估算正常操作序列的相似度范圍;正常相似度序列符合正態(tài)分布,求出此正態(tài)分布的置信區(qū)間;如果落在此范圍區(qū)間則判斷為正常操作,如果未落在此區(qū)間范圍則為異常操作;
以軟件功能和功能參數(shù)為程序切片規(guī)則,基于此規(guī)則在源代碼中抓取軟件功能相關(guān)的程序切片;
將建立的軟件正常運(yùn)行時(shí)的模型圖和待測(cè)功能序列做匹配,檢測(cè)是否存在異常狀態(tài);確定所監(jiān)視的軟件行為是否為可信行為或者異常行為;如果出現(xiàn)軟件異常行為,則回溯到可能發(fā)生錯(cuò)誤的源代碼中。
本文通過(guò)挖掘軟件運(yùn)行時(shí)的系統(tǒng)調(diào)用序列轉(zhuǎn)換為狀態(tài)層狀態(tài)序列,通過(guò)檢測(cè)軟件行為的狀態(tài)序列檢測(cè)出軟件異常行為,并通過(guò)設(shè)置興趣點(diǎn)對(duì)軟件的異常行為在源代碼中溯源,找出軟件異常行為的根源,以求從根源上解決軟件的異常行為。
附圖說(shuō)明
圖1RSS軟件正常狀態(tài)轉(zhuǎn)移圖。
圖2圖2為判斷相似度的流程圖。
圖3為軟件架構(gòu)圖,是一個(gè)軟件的建模過(guò)程以及基于圖示的檢測(cè)軟件行為為正常行為或者異常行為的過(guò)程。
具體實(shí)施方式:
本發(fā)明是一種基于軟件系統(tǒng)調(diào)用序列經(jīng)過(guò)狀態(tài)層處理后得到的狀態(tài)序列,判斷出軟件功能序列和使用程序切片對(duì)軟件功能序列做程序切片進(jìn)行溯源的方案。該方案包含四個(gè)模塊,即1頻繁項(xiàng)集挖掘模塊、2軟件功能判定模塊、3軟件功能狀態(tài)序列相似度計(jì)算、4程序切片生成模塊。
定義1場(chǎng)景SC(Sence):SC指軟件運(yùn)行過(guò)程中在操作后對(duì)軟件的當(dāng)時(shí)狀態(tài)的完整性度量,當(dāng)軟件運(yùn)行到檢查點(diǎn)位置時(shí)采集場(chǎng)景信息。該模型通過(guò)引入場(chǎng)景這一概念來(lái)描述軟件運(yùn)行路徑上各階段功能實(shí)現(xiàn)的完整性,并結(jié)合數(shù)據(jù)挖掘領(lǐng)域中關(guān)聯(lián)規(guī)則和序列模式算法,從已知的場(chǎng)景信息集合中提取潛藏的有價(jià)值的關(guān)聯(lián)信息用于軟件行為可信檢測(cè)。
定義2狀態(tài)序列SS(State?Seqence):用來(lái)描述軟件的運(yùn)行狀態(tài)。軟件運(yùn)行時(shí)截取到的系統(tǒng)調(diào)用序列推導(dǎo)出狀態(tài)層的狀態(tài)序列,以代替系統(tǒng)調(diào)用序列來(lái)表達(dá)軟件的行為。
SS=<s1,s2,……sn>,其中s1,s2,……sn為狀態(tài)層的狀態(tài)
定義3標(biāo)準(zhǔn)操作序列SO(Standard?Operation):表示每一個(gè)操作的標(biāo)準(zhǔn)狀態(tài)序列。軟件每一個(gè)操作都會(huì)有其相對(duì)應(yīng)的狀態(tài)序列,但是由于軟件的操作環(huán)境以及多種因素的影響,得到的狀態(tài)序列會(huì)有一定程度的誤差,為了消除這種誤差需要找出一個(gè)標(biāo)準(zhǔn)操作狀態(tài)序列。標(biāo)準(zhǔn)操作序列SO屬于一種特殊的狀態(tài)序列,需要對(duì)多組操作序列分析得到。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京工業(yè)大學(xué),未經(jīng)北京工業(yè)大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410018348.3/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 一種基于應(yīng)用軟件散布的軟件授權(quán)與保護(hù)方法及系統(tǒng)
- 一種用于航空機(jī)載設(shè)備的軟件在線加載系統(tǒng)及方法
- 軟件構(gòu)建方法、軟件構(gòu)建裝置和軟件構(gòu)建系統(tǒng)
- 惡意軟件檢測(cè)方法及裝置
- 一種基于軟件基因的軟件同源性分析方法和裝置
- 軟件引入系統(tǒng)、軟件引入方法及存儲(chǔ)介質(zhì)
- 軟件驗(yàn)證裝置、軟件驗(yàn)證方法以及軟件驗(yàn)證程序
- 使用靜態(tài)和動(dòng)態(tài)惡意軟件分析來(lái)擴(kuò)展惡意軟件的動(dòng)態(tài)檢測(cè)
- 一種工業(yè)控制軟件構(gòu)建方法和軟件構(gòu)建系統(tǒng)
- 可替換游戲軟件與測(cè)驗(yàn)軟件的裝置與方法
- 異常檢測(cè)裝置、異常檢測(cè)方法
- 異常檢測(cè)方法、異常檢測(cè)裝置及異常檢測(cè)系統(tǒng)
- 異常檢測(cè)裝置、異常檢測(cè)方法以及異常檢測(cè)系統(tǒng)
- 異常檢測(cè)裝置、異常檢測(cè)方法以及異常檢測(cè)系統(tǒng)
- 異常檢測(cè)裝置、異常檢測(cè)方法及異常檢測(cè)系統(tǒng)
- 異常探測(cè)裝置、異常探測(cè)方法以及計(jì)算機(jī)可讀取的存儲(chǔ)介質(zhì)
- 異常檢測(cè)裝置、異常檢測(cè)方法及記錄介質(zhì)
- 異常檢測(cè)裝置、異常檢測(cè)系統(tǒng)以及異常檢測(cè)方法
- 異常檢測(cè)系統(tǒng)、異常檢測(cè)裝置和異常檢測(cè)方法
- 異常檢測(cè)方法、異常檢測(cè)裝置及異常檢測(cè)系統(tǒng)





