供应链安全检测的现有技术——二进制层面
文章目錄
- 一、閉源軟件中復(fù)用開(kāi)源組件檢測(cè)
- 組件復(fù)用型漏洞
- 組件復(fù)用型漏洞的檢測(cè)
- 1、代碼特征選擇
- 2、代碼特征提取
- 3、代碼相似度計(jì)算
- 4、復(fù)用類(lèi)型劃分
- 二、閉源軟件中復(fù)用開(kāi)源組件版本檢測(cè)
- 版本敏感特征選擇
- 粗匹配
- 精匹配
- 參考文獻(xiàn)
本文主要介紹軟件供應(yīng)鏈安全的檢測(cè)技術(shù)的具體細(xì)節(jié),針對(duì)閉源軟件即不開(kāi)放源代碼的軟件中的組件源代碼進(jìn)行檢測(cè),對(duì)于檢測(cè)技術(shù),分為組件本體識(shí)別和組件本體的版本識(shí)別兩個(gè)部分,其中,組件本體識(shí)別需要用到二進(jìn)制代碼相似性檢測(cè)和復(fù)用性關(guān)系相結(jié)合的方式,版本檢測(cè)需要用到全局和局部參數(shù)特征值。
一、閉源軟件中復(fù)用開(kāi)源組件檢測(cè)
組件復(fù)用型漏洞
定義:因復(fù)用含有漏洞的組件(第三方庫(kù)、開(kāi)源框架等)而引入的軟件漏洞
現(xiàn)有檢測(cè)方法:
組件復(fù)用型漏洞的檢測(cè)
核心技術(shù): 閉源二進(jìn)制軟件的開(kāi)源組件復(fù)用檢測(cè)
對(duì)于源代碼與二進(jìn)制代碼間的復(fù)用檢測(cè)受到復(fù)雜的復(fù)用關(guān)系影響,即檢測(cè)復(fù)用時(shí)對(duì)簡(jiǎn)單的復(fù)用可能有用,如zlib.dll與zlib庫(kù),而對(duì)多層調(diào)用就失去了效果。
主要用到的方法如下:
因此,識(shí)別問(wèn)題不僅僅時(shí)簡(jiǎn)單的代碼相似性檢測(cè)問(wèn)題,需要識(shí)別復(fù)雜關(guān)系,因此,復(fù)用檢測(cè)的工作變成了流行的代碼相似性檢測(cè)+復(fù)用關(guān)系識(shí)別:
現(xiàn)有工作準(zhǔn)確率不高的原因:
原因:代碼特征普遍受編譯優(yōu)化影響大,無(wú)法使用
解決方案:
- 補(bǔ)充抗編譯優(yōu)化的代碼特征,并為新特征設(shè)計(jì)合理的匹配算法和權(quán)重算法
- 對(duì)復(fù)用類(lèi)型進(jìn)行劃分,針對(duì)不同類(lèi)型進(jìn)行針對(duì)性識(shí)別
1、代碼特征選擇
常用代碼特征與新增代碼特征評(píng)估:
2、代碼特征提取
二進(jìn)制代碼特征提取方法:基于IDAPython提取導(dǎo)出函數(shù)、字符串、switch/case、if/else
結(jié)合編譯信息的源代碼特征提取方法:
源代碼特征提取方法:基于clang和llvm開(kāi)發(fā)特征提取工具
特征所對(duì)應(yīng)代碼片段:
3、代碼相似度計(jì)算
4、復(fù)用類(lèi)型劃分
- 單一復(fù)用
1 bin -> 1 src
- 混合復(fù)用
1 bin -> N src
- 部分復(fù)用
N bin <- 1 src
- 嵌套復(fù)用
1 bin -> 1 src -> N src(嵌套復(fù)用是假式復(fù)用,應(yīng)被去除)
二、閉源軟件中復(fù)用開(kāi)源組件版本檢測(cè)
在檢測(cè)復(fù)用組件的基礎(chǔ)上,檢測(cè)復(fù)用組件的版本,因?yàn)椴煌姹镜挠绊懙穆┒从邢?br />
從待檢測(cè)二進(jìn)制文件中提取代碼特征,和預(yù)先準(zhǔn)備好的從源代碼中提取的特征進(jìn)行比較,現(xiàn)有工作如下:
局限性:
版本敏感特征選擇
選擇的核心標(biāo)準(zhǔn):不同版本之間的區(qū)分度拉滿
全局特征:
區(qū)分度公式:
舉例如下:
函數(shù)級(jí)別特征:
粗匹配
全局級(jí)別特征匹配方案 -> 粗匹配階段:
特征匹配方案:精準(zhǔn)匹配——全局級(jí)別特征在編譯前后不發(fā)生變化
精匹配
函數(shù)級(jí)別特征用來(lái)定位函數(shù),整個(gè)函數(shù)作為一個(gè)整體,所以采用基于相似度的識(shí)別方案。
具體的匹配算法:
參考文獻(xiàn)
《軟件安全原理》——霍瑋
轉(zhuǎn)載請(qǐng)說(shuō)出處:from 信安科研人
總結(jié)
以上是生活随笔為你收集整理的供应链安全检测的现有技术——二进制层面的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 新华的学校计算机,新华计算机学校
- 下一篇: win10系统配置GPU版本Pytorc