[發明專利]一種二進制代碼質量評估的方法在審
| 申請號: | 202110306050.2 | 申請日: | 2021-03-23 |
| 公開(公告)號: | CN112882952A | 公開(公告)日: | 2021-06-01 |
| 發明(設計)人: | 吳宗鴻 | 申請(專利權)人: | 浙江鴻城科技有限責任公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 310000 浙江省杭州市濱*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 二進制 代碼 質量 評估 方法 | ||
本發明涉及一種二進制代碼質量評估的方法,屬于軟件代碼質量管理領域,目的在于當源碼不可獲取的情況下對所述源碼生成的可執行二進制文件進行質量評估。本方法包括:反匯編可執行二進制文件,獲取函數代碼塊,計算所述函數代碼塊的代碼熵值HCODE;解析可執行二進制文件,獲取數據節,計算所述數據節的數據敏感度SDATA;獲取導入表節,計算所述導入表節的導入安全值SDLL;按線性加權的方法計算質量值QVALUE,當所述質量值QVALUE超過預定義閾值時,則觸發報警。
技術領域
本發明涉及計算機軟件代碼管理領域,尤其涉及一種二進制代碼質量評估的方法。
技術背景
軟件質量管理,尤其是代碼質量的好壞直接影響到產品運行的穩定性,現有的質量檢查方法有:圈復雜度檢查,靜態代碼檢查,安全性檢測等,常見的檢查的工具如PLINK、COVERITY等。這些方法及工具基于源碼進行分析檢查,而源碼一般位于核心位置,除軟件開發人員外,不允許其他人員查看,即使是同一項目的開發人員也只能查看自己負責的模塊部分。除了對代碼本身質量有要求外,還對代碼依賴第三方庫的安全性,數據敏感性上也提出了要求。在無法獲取源碼的情況下如何滿足上述要求無疑對質量管理人員提出了挑戰。
發明內容
有鑒于此,本發明提供了一種二進制代碼質量評估的方法,
具體地,本申請是通過如下技術方案實現的:
反匯編可執行二進制文件,根據函數調用特征,獲取函數代碼塊及所述函數代碼塊在文件中的路徑信息,所述函數調用特征包括:CALL指令、CS或ECS代碼段寄存器的修改指令、IP或EIP指令指針寄存器的修改指令;
根據所述函數代碼塊原始二進制數值計算散列值KCODE,根據所述散列值KCODE從熵權值庫中獲取對應的熵權值1,根據所述路徑信息對所述熵權值進行放大或縮減獲得熵權值2,根據所述函數代碼塊及對應的所述熵權值2采用熵值法計算代碼熵值HCODE;
靜態解析所述目標二進制文件,獲取數據節、導入表節信息;對所述的數據節獲取數據片段,根據所述數據片段從數據敏感庫中獲取對應的敏感值,根據所述數據片段的敏感值生成數據敏感度SDATA;
根據所述導入表節子節點的特征信息,從導入庫中獲取對應的安全值,根據所述子節點的安全值生成導入安全度SDLL;
按線性加權的方法對所述代碼熵值HCODE、數據敏感度SDATA、導入安全度SDLL進行計算獲取質量值QVALUE,當所述質量值QVALUE大于預定義閾值時,則觸發報警。
進一步地,查找所述函數代碼塊時,再次碰到所述CALL指令、CS或ECS代碼段寄存器的修改指令、IP或EIP指令指針寄存器的修改指令時,將當前查找信息壓入棧中,以遞歸的方式繼續查找。
進一步地,所述路徑信息,包括函數調用樹及所述函數代碼塊的統計信息。
進一步地,所述數據節按十六進制0為分割點獲取所述數據片段。
進一步地,當所述質量值QVALUE大于預定義閾值時,如果所述散列值KCODE未出現在所述熵權值庫中,則添加到所述熵權值庫中,初始化所述熵權值為0.5,并存儲所述散列值KCODE對應的所述函數代碼塊;如果所述散列值KCODE已出現在所述熵權值庫中,則對應的所述熵權值增加0.1。
進一步地,所述熵權值最大不超過5。
進一步地,當所述質量值QVALUE大于預定義閾值時,如果所述數據敏感庫未能匹配所述數據片段,則保存所述數據片段內容。
進一步地,當所述質量值QVALUE大于預定義閾值時,如果所述導入庫中不存在所述子節點的特征信息,則保存所述子節點的特征信息。
優選地,所述可執行二進制文件的格式包括:PE格式,ELF格式。
進一步地,可以從指定的區域開始反匯編可執行二進制文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江鴻城科技有限責任公司,未經浙江鴻城科技有限責任公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110306050.2/2.html,轉載請聲明來源鉆瓜專利網。





