[發明專利]基于系統調用分析的軟件行為評估方法和裝置有效
| 申請號: | 201410240265.9 | 申請日: | 2014-05-30 |
| 公開(公告)號: | CN104035866B | 公開(公告)日: | 2017-10-10 |
| 發明(設計)人: | 李寧;薛靜鋒;董驍;向恒勇;肖飛;李清俊 | 申請(專利權)人: | 中國電子科技集團公司第十五研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京市京大律師事務所11321 | 代理人: | 張璐,方曉明 |
| 地址: | 100083 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 系統 調用 分析 軟件 行為 評估 方法 裝置 | ||
技術領域
本發明涉及軟件技術,尤其涉及一種基于系統調用分析的軟件行為評估方法和裝置。
背景技術
軟件行為是指軟件程序運行時的表現形態和狀態演變的過程;從軟件程序的底層的二進制指令到高層的程序語句、系統調用、函數等都屬于不同層次的軟件行為。當軟件程序在遭到黑客攻擊、木馬攻擊篡改以及人為異常操作的時候,其內部流程往往會有所改變,即產生異常的軟件行為。
事實上,由于系統調用是操作系統提供給應用程序訪問系統資源的接口,相應地,系統調用的狀況在一定程度上能夠反映軟件程序的行為特征。這樣,當軟件程序的軟件行為發生異常時,例如,軟件程序在運行過程中可能會加載源程序中并未加載的程序庫等,往往會在系統調用上留下痕跡;而通過對系統調用的分析,可以及時發現軟件行為的異常并檢測出問題所在。
目前,現有已出現了一系列用來表示軟件程序的正常行為的基于系統調用的軟件行為模型,例如,最基本的N-gram模型、之后對其進行改進的Var-gram模型、以及后續的FSA(Inite State Automaton,有限狀態自動機)模型等。相應地,現有的基于系統調用分析的軟件行為評估方法中,主要是在獲取軟件程序的軟件行為后,基于上述現有的基于系統調用的軟件行為模型,根據其獲取的軟件程序的軟件行為與上述軟件行為模型中的正常行為之間的行為特征比對來判定軟件行為的異常與否。其中,進行比對的行為特征具體是指軟件行為模型中預先訓練的系統調用序列。
雖然上述各評估模型采用的建模方式不同,例如,有的采用動態建模方式,動態跟蹤監控軟件,獲取軟件實時運行的痕跡,并以此進行動態訓練;有的采用混合建模方式,對軟件程序代碼進行靜態分析判斷程序的內部流程的同時,還對實際監測的軟件行為進行訓練。但都主要是利用能夠在一定程度上表征軟件程序正常運行的系統調用序列來進行建模。例如,通過大量次數的正常運行,來獲取一系列較為完善的軟件程序正常運行時的正常行為軌跡,利用收集的軌跡進行知識總結,得到軟件程序正常運行時的系統調用序列,并通過這些知識建立模型。
然而,由于動態的數據存在一定的誤報幾率,且系統調用序列并不能夠全面表示軟件行為,所以,無論是動態建模還是混合建模,若僅利用軟件行為模型中預先總結出的系統調用序列來判定軟件行為的正常與否,其存在評估準確度不高的不足。因此,有必要提供一種提高評估準確度的軟件行為評估方法。
發明內容
本發明實施例提供了基于系統調用分析的軟件行為評估方法和裝置,提高評估準確度。
根據本發明的一個方面,提供了一種基于系統調用分析的軟件行為評估方法,包括:
在監控到待評估的軟件的一次軟件行為后,獲取所述軟件的監控日志中針對該次軟件行為記錄的信息,并從中提取出每個系統調用的入口地址和返回地址,以及系統調用序列;
將提取出的系統調用序列與所述知識庫中預先存儲的所述軟件的各系統調用子序列進行比較,根據比較結果確定提取出的系統調用序列的評估值;并
對于獲取的信息中涉及的每個系統調用,根據該系統調用的入口地址和返回地址計算出該系統調用的內存相對偏移后,將計算出的該系統調用的內存相對偏移與知識庫中預先存儲的該系統調用的常見內存偏移進行比較,根據比較結果確定該系統調用的評估結果;
根據確定出的每個系統調用的評估結果,以及系統調用序列的評估值,對該次軟件行為進行評估。
較佳地,所述知識庫中的各系統調用子序列是預先對所述軟件的若干次軟件正常行為進行學習獲取的;其中,對所述軟件的一次軟件正常行為進行學習的過程為:
在監控到所述軟件的一次軟件正常行為后,從所述軟件的監控日志中的針對該次軟件正常行為所記錄的系統調用信息中提取出系統調用序列,作為本次學習過程中得到的所述軟件的樣本系統調用序列記錄在所述知識庫中;
將所述知識庫中中記錄的所述軟件的各樣本系統調用序列所共有的若干個子序列作為所述軟件的系統調用子序列;
針對所述軟件的每個系統調用子序列,將該系統調用子序列在所述軟件的所有樣本系統調用序列中出現的次數總和與所述軟件的樣本系統調用序列的個數的比值作為該系統調用子序列的評估因子;并將該系統調用子序列的評估因子對應該系統調用子序列存儲在所述知識庫中。
較佳地,所述對所述軟件的一次軟件正常行為進行學習的過程中還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國電子科技集團公司第十五研究所,未經中國電子科技集團公司第十五研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410240265.9/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種腳本執行信息的展現方法及裝置
- 下一篇:氣化噴燃裝置





