[發(fā)明專利]一種軟件堆棧區(qū)域非法篡改監(jiān)控系統(tǒng)及方法有效
| 申請?zhí)枺?/td> | 202011356623.4 | 申請日: | 2020-11-27 |
| 公開(公告)號: | CN112463536B | 公開(公告)日: | 2022-08-05 |
| 發(fā)明(設計)人: | 劉金行;金軍;鄭鴻云;蔣開洪 | 申請(專利權)人: | 寧波拓普集團股份有限公司 |
| 主分類號: | G06F11/30 | 分類號: | G06F11/30;G06F21/52 |
| 代理公司: | 上海泰能知識產(chǎn)權代理事務所(普通合伙) 31233 | 代理人: | 宋纓 |
| 地址: | 315800 浙江*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 軟件 堆棧 區(qū)域 非法 篡改 監(jiān)控 系統(tǒng) 方法 | ||
本發(fā)明涉及一種軟件堆棧區(qū)域非法篡改監(jiān)控系統(tǒng),包括:用于監(jiān)控軟件異常行為的堆棧保護區(qū)裝置,所述堆棧保護區(qū)裝置通過數(shù)據(jù)總線與數(shù)據(jù)總線訪問地址更新裝置連接,所述數(shù)據(jù)總線訪問地址更新裝置與數(shù)據(jù)訪問地址循環(huán)裝置連接,所述數(shù)據(jù)訪問地址循環(huán)裝置通過數(shù)據(jù)總線與輸出映射裝置連接;所述數(shù)據(jù)總線訪問地址更新裝置用于根據(jù)地址步長和前一次訪問地址記錄,得到當前目標訪問地址。本發(fā)明還涉及一種軟件堆棧區(qū)域非法篡改監(jiān)控方法,本發(fā)明可以在軟件本身已無法正常工作時仍然保持監(jiān)控功能,使軟件全生命周期中的堆棧行為都處于監(jiān)控之下,使堆棧監(jiān)控具備獨立性和客觀性。
技術領域
本發(fā)明涉及安全系統(tǒng)監(jiān)控技術領域,特別是涉及一種軟件堆棧區(qū)域非法篡改監(jiān)控系統(tǒng)及方法。
背景技術
軟件運行時需要使用堆棧用于保存函數(shù)調用前和調用后的現(xiàn)場數(shù)據(jù),如局部變量數(shù)據(jù)、函數(shù)返回地址等,有些單片機嵌入式軟件還需要保存計算單元寄存器數(shù)據(jù),用于在硬件中斷發(fā)生時保存計算單元的數(shù)據(jù),并在中斷服務函數(shù)結束時將這些數(shù)據(jù)讀回計算單元,繼續(xù)運行被中斷暫停的計算任務。與軟件設計的復雜度相關,軟件運行過程中在不同的時刻實際使用的堆棧空間的是不固定的。但一般都能夠根據(jù)軟件設計推理出一個理論空間需求,為了確保堆棧空間肯定夠用,往往在理論空間需求的基礎上再額外增加一個空間,這個空間叫做堆棧保護區(qū)。
常用的堆棧保護區(qū)檢查機制是通過軟件讀取的方式進行循環(huán)檢查,通過在軟件中設置專用的讀取和判斷機制,將堆棧保護區(qū)的數(shù)據(jù)從隨機存儲器中讀出,然后判斷堆棧保護區(qū)的數(shù)值是否被修改過,依據(jù)判斷的結果,得到軟件是否有異常的結果。
傳統(tǒng)技術實現(xiàn)成本較低,有一定的有效性,但是無法識別所有的工況,尤其是當堆棧區(qū)溢出已經(jīng)對軟件產(chǎn)生嚴重影響,使軟件完全無法正常運行的工況,此時無法依賴軟件本身檢測堆棧區(qū)的問題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術問題是提供一種軟件堆棧區(qū)域非法篡改監(jiān)控系統(tǒng)及方法,當軟件檢測不可信時,通過硬件系統(tǒng)來解決監(jiān)控堆棧區(qū)域被非法篡改的問題。
本發(fā)明解決其技術問題所采用的技術方案是:提供一種軟件堆棧區(qū)域非法篡改監(jiān)控系統(tǒng),包括:用于監(jiān)控軟件異常行為的堆棧保護區(qū)裝置,所述堆棧保護區(qū)裝置通過數(shù)據(jù)總線與數(shù)據(jù)總線訪問地址更新裝置連接,所述數(shù)據(jù)總線訪問地址更新裝置與數(shù)據(jù)訪問地址循環(huán)裝置連接,所述數(shù)據(jù)訪問地址循環(huán)裝置通過數(shù)據(jù)總線與輸出映射裝置連接;
所述數(shù)據(jù)總線訪問地址更新裝置用于根據(jù)地址步長和前一次訪問地址記錄,得到當前目標訪問地址;
所述數(shù)據(jù)訪問地址循環(huán)裝置根據(jù)所述當前目標訪問地址、堆棧保護區(qū)開始地址AddrS和堆棧保護區(qū)結束地址AddrE,得到最終目標訪問地址;
所述堆棧保護區(qū)裝置將所述最終目標訪問地址在堆棧保護區(qū)開始地址AddrS與堆棧保護區(qū)結束地址AddrE之間來回循環(huán);
所述輸出映射裝置用于將數(shù)據(jù)總線讀出的值通過輸出映射器映射至電平中。
所述數(shù)據(jù)總線訪問地址更新裝置根據(jù)所述地址步長和前一次訪問地址記錄,通過地址加法器得到當前目標訪問地址,并將所述當前目標訪問地址保存在目標地址存儲器中。
所述數(shù)據(jù)訪問地址循環(huán)裝置通過地址比較器將所述當前目標訪問地址和堆棧保護區(qū)結束地址AddrE進行比較,若所述當前目標訪問地址大于堆棧保護區(qū)結束地址AddrE,則通知地址選擇器選擇堆棧保護區(qū)開始地址AddrS存入訪問地址存儲器;若所述當前目標訪問地址小于等于堆棧保護區(qū)結束地址AddrE,則所述地址選擇器將所述當前目標訪問地址存入訪問地址存儲器。
所述輸出映射裝置與并聯(lián)正向二極管電路裝置連接,所述并聯(lián)正向二極管電路裝置用于將每個電平對應的硬件電平信號通過二極管陣列輸出至保護信號。
所述電平的數(shù)目為8的倍數(shù)。
本發(fā)明解決其技術問題所采用的技術方案是:提供一種軟件堆棧區(qū)域非法篡改監(jiān)控方法,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于寧波拓普集團股份有限公司,未經(jīng)寧波拓普集團股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011356623.4/2.html,轉載請聲明來源鉆瓜專利網(wǎng)。





