[發明專利]一種ShellCode檢測方法和裝置有效
| 申請號: | 201410191246.1 | 申請日: | 2014-05-07 |
| 公開(公告)號: | CN104008336B | 公開(公告)日: | 2017-04-12 |
| 發明(設計)人: | 喻民;姜建國;李敏;劉超;仇新梁;黃超;王菲飛;王冉晴;趙雙;劉坤穎;高翔;胡波 | 申請(專利權)人: | 中國科學院信息工程研究所 |
| 主分類號: | G06F21/56 | 分類號: | G06F21/56 |
| 代理公司: | 北京路浩知識產權代理有限公司11002 | 代理人: | 李迪 |
| 地址: | 100093 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 shellcode 檢測 方法 裝置 | ||
技術領域
本發明涉及網絡安全領域,尤其涉及一種ShellCode檢測方法和裝置。
背景技術
當前,緩沖區溢出是多種系統攻擊、獲取系統控制權的一個主要跳板,而具體實施緩沖區溢出攻擊,必須要通過ShellCode來進行,進行攻擊的數據中一定包含相應的ShellCode。因此,加強對緩沖區溢出等攻擊的檢測是信息安全領域的一個重要研究內容。同時,當前廣泛使用的軟件如Office、Adobe?Reader等文檔處理軟件成為很多ShellCode的攻擊跳板,許多攻擊者將ShellCode隱藏在DOC和PDF等這些常用文檔中進行攻擊。
當前對ShellCode的檢測,主要分為靜態檢測和動態檢測,靜態ShellCode檢測技術一般采用模式匹配和靜態反匯編技術,通過對數據進行掃描和分析,根據ShellCode知識庫中的特征碼,識別出可能存在的ShellCode。其特點是檢測速度快,但存在針對性不強,無法檢測未知ShellCode的問題。同時,靜態二進制分析沒有實際執行指令,無法自動捕獲指令的控制轉移,完全依賴人工分析程序的控制流圖。
動態的ShellCode檢測技術是將數據流當作可執行代碼模擬執行,其通過實際運行程序,可以自動捕獲程序指令的控制轉移,可以對程序的運行數據訪問進行監控和分析,不受代碼混淆技術的影響。但現有的基于內存搜索的ShellCode檢測技術,是在ShellCode已載入內存后才進行檢測,難以防止ShellCode所做的更改,并且在數據量大的情況下難以對內存進行準確有效的搜索;基于虛擬執行的ShellCode檢測技術,需要相應虛擬機技術的支持,在數據量大的情況下,需要部署大量的虛擬機,并且當前眾多ShellCode代碼都具有虛擬機對抗功能。
另外,當前已經實現的技術大多是針對網絡數據流的分析,但對攻擊本地程序的ShellCode的檢測方面支持不足,并且無法避免ShellCode已經對系統造成的傷害。
發明內容
(一)要解決的技術問題
本發明提供一種ShellCode檢測方法和裝置,以解決現有技術僅能在ShellCode運行之后進行檢測,無法避免對系統造成既成傷害的技術問題和混淆技術導致難以靜態檢測ShellCode的問題。
(二)技術方案
為解決上述技術問題,本發明提供一種ShellCode檢測方法,包括:
建立包含ShellCode特征序列的ShellCode指令序列特征庫;
載入待檢測文件,對所述待檢測文件進行解析,形成解析文件;
對所述解析文件進行指令的模擬執行和分析,記錄可疑指令序列并與所述ShellCode指令序列特征庫中的ShellCode特征序列進行對比,判斷所述解析文件中是否包含ShellCode;
輸出檢測結果。
進一步地,所述對所述待檢測文件進行解析,形成解析文件包括:
根據待檢測文件的類型進行解析,轉換為統一格式的解析文件。
進一步地,所述文檔類型包括:
DOC、DOCX、XLS、XLSX、PPT、PPTX、PDF中的一種或多種。
進一步地,所述對所述解析文件進行指令的模擬執行和分析,記錄可疑指令序列并與所述ShellCode指令序列特征庫中的ShellCode特征序列進行對比,判斷所述解析文件中是否包含ShellCode,包括:
步驟S1:初始化可疑指令序列步長;
步驟S2:將所述解析文件作為二進制串進行指令的模擬執行和分析,當檢測到可疑指令時,執行步驟S3,否則,執行步驟S6;
步驟S3:將所述可疑指令序列步長加1;
步驟S4:比較所述可疑指令序列步長是否達到所述ShellCode指令序列特征庫中的ShellCode特征序列的閥值,如果達到閥值,執行步驟S5,否則,執行步驟S6;
步驟S5:判定所述解析文件數據中包含ShellCode,記錄告警信息;
步驟S6:判斷是否對所述解析文件中的所有數據完成檢測,如果完成了所有數據檢測,判定所述解析文件中不包含ShellCode,否則,回到步驟S2。
進一步地,所述方法還包括:
利用ShellCode檢測結果對所述ShellCode指令序列特征庫中的ShellCode特征序列進行更新。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院信息工程研究所,未經中國科學院信息工程研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410191246.1/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種回轉式刮毛機
- 下一篇:一種馬桶上自動防尿濺裝置





