[發明專利]傳感器網絡源代碼緩沖區溢出漏洞檢測系統和方法無效
| 申請號: | 201110052452.0 | 申請日: | 2011-03-04 |
| 公開(公告)號: | CN102129538A | 公開(公告)日: | 2011-07-20 |
| 發明(設計)人: | 張冬梅;黃文;魏更宇 | 申請(專利權)人: | 北京郵電大學 |
| 主分類號: | G06F21/22 | 分類號: | G06F21/22;G06F21/00;G06F11/36 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 夏憲富 |
| 地址: | 100876 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 傳感器 網絡 源代碼 緩沖區 溢出 漏洞 檢測 系統 方法 | ||
1.一種傳感器網絡源代碼緩沖區溢出漏洞檢測系統,其特征在于:所述系統設有下述兩種裝置:
溢出漏洞分析裝置,用于對傳感器網絡中源代碼進行緩沖區溢出分析,設有順序連接的安全威脅定位、污點分析和測試用例生成三個模塊;其中,安全威脅定位模塊負責掃描源代碼和定位源代碼中存在的安全威脅函數,并將掃描結果提交給污點分析模塊;污點分析模塊負責對該安全威脅函數進行污點分析,判斷其中是否存在緩沖區溢出安全威脅,以便確定是否需要利用測試用例對緩沖區溢出漏洞進行測試;測試用例生成模塊負責構造源代碼緩沖區溢出漏洞的觸發條件,并根據觸發條件求解與生成相應的測試用例,然后提交給緩沖區溢出測試裝置進行測試;
溢出漏洞測試裝置,用于按照來自分析裝置的測試用例,對源代碼進行是否存在緩沖區溢出漏洞的測試,并將測試結果作出告示,以便對該不安全的代碼采取改進措施;設有檢測端和被檢測端,檢測端是內部安裝測試用例的傳感器節點,用于向被檢測端發送觸發緩沖區溢出漏洞的測試數據;被檢測端是內部裝有待檢測的源代碼的傳感器節點,用于接收檢測端發送的測試數據,并根據其接收數據后的現象來判斷對應的源代碼是否存在緩沖區溢出漏洞,再作出相應的檢測結果告示。
2.根據權利要求1所述的系統,其特征在于:所述源代碼包括采用C語言以及由C語言擴展的基于組件化的NesC語言編寫的源程序。
3.一種傳感器網絡源代碼緩沖區溢出漏洞檢測系統的檢測方法,其特征在于:所述方法包括下列操作步驟:
(1)將傳感器網絡中的源代碼輸入到溢出漏洞分析裝置;
(2)溢出漏洞分析裝置中的安全威脅定位模塊對源代碼進行掃描,判斷是否存在安全威脅函數;如果不存在,結束該檢測方法;如果存在,則定位源代碼中的安全威脅函數,并將其提交到污點分析模塊;
(3)污點分析模塊對定位的安全威脅函數進行污點傳播分析,即跟蹤污點數據的流向,并運用污點傳播理論分析該威脅函數中是否發生污點傳播現象,如果未發生,結束該檢測方法;如果發生,表示該源代碼可能存在緩沖區溢出漏洞的安全威脅,需要利用測試用例對該溢出漏洞進行測試;
(4)測試用例生成模塊構造源代碼緩沖區溢出漏洞的觸發條件,根據觸發條件求解與生成測試用例,然后提交給溢出漏洞測試裝置進行測試;
(5)溢出漏洞測試裝置在被檢測端安裝被檢測的源代碼,在檢測端安裝測試用例,然后,由檢測端向被檢測端發送測試用例數據,根據被檢測端接收測試用例數據后的現象判斷該源代碼是否存在緩沖區溢出漏洞,并將測試結果作出相應告示。
4.根據權利要求3所述的方法,其特征在于:所述步驟(2)包括以下具體操作內容:
(21)在安全威脅定位模塊中預裝由設定的傳感器網絡通信協議的接收函數組成威脅函數集:因無線傳感器網絡中的傳感器節點接收的外來“不可信”數據存在安全威脅,故將其所有可能的接收函數都定義為威脅函數,組成威脅函數集;
(22)安全威脅定位模塊對源代碼進行掃描,并提取該源代碼中定義和調用的所有函數,組成源代碼函數集;
(23)將源代碼函數集中的函數名與威脅函數集的函數名依次進行比較,如果存在相同的函數名,則記錄該函數名和該函數在源代碼中的行號,再將這些參數送至污點分析模塊;反之,結束檢測流程。
5.根據權利要求4所述的方法,其特征在于:所述設定的傳感器網絡通信協議包括主動消息AM協議、Zigbee協議和IPv6低功率無線個人區域網絡6LoWPAN協議。
6.根據權利要求3所述的方法,其特征在于:所述步驟(3)包括以下具體操作內容:
(31)污點分析模塊根據安全威脅函數及其位置,采集傳感器節點的接收數據組成初始的污點數據集;其中的污點數據的注入點是威脅函數的所在位置;
(32)污點分析模塊從每個污點數據的注入點開始,依次提取各指令的源操作數和目的操作數,利用污點傳播理論對污點數據集中的元素進行添加或刪除,判斷是否發生污點傳播現象,如果發生,表示源代碼可能存在緩沖區溢出安全威脅,記錄污點傳播的指令位置;否則,結束該檢測方法。
7.根據權利要求3所述的方法,其特征在于:所述步驟(4)包括以下具體操作內容:
(41)構造路徑約束條件:為了生成威脅函數的程序流程圖,測試用例生成模塊計算從污點數據注入點到污點傳播位置的路徑條件;先在源代碼中威脅函數的起始位置標記程序指令的行號,再將該程序中包括順序結構、選擇結構、循環結構的各種分支用基本單元結構表示,生成程序控制流程圖;并在該流程圖中統計從污點注入點到污點傳播位置的所有路徑,計算路徑約束條件;
(42)構造緩沖區溢出的必要條件:為了測試緩沖區溢出漏洞,構造一段超長的包含跳轉地址和shellcode的污點數據,其中的跳轉地址用來覆蓋威脅函數的返回地址,當威脅函數執行完畢,就自動返回到跳轉地址,即跳轉到shellcode地址處執行;shellcode是待注入的一段可執行的數據代碼;
(43)求解約束條件:根據上述兩個步驟得到的路徑約束條件和緩沖區溢出的必要條件,求解與生成滿足源代碼緩沖區溢出條件的測試用例。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京郵電大學,未經北京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110052452.0/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種生態植物窗簾
- 下一篇:一種調整界面顯示內容的方法和系統





