[發(fā)明專利]一種基于代碼特征的跨平臺(tái)二進(jìn)制代碼匹配方法及系統(tǒng)在審
| 申請(qǐng)?zhí)枺?/td> | 202310540859.0 | 申請(qǐng)日: | 2023-05-15 |
| 公開(公告)號(hào): | CN116578979A | 公開(公告)日: | 2023-08-11 |
| 發(fā)明(設(shè)計(jì))人: | 朱輝;劉欣鑫 | 申請(qǐng)(專利權(quán))人: | 軟安科技有限公司 |
| 主分類號(hào): | G06F21/56 | 分類號(hào): | G06F21/56;G06F21/14;G06F8/41;G06F40/216;G06F40/242;G06F18/243;G06F18/213;G06F18/214;G06F18/22 |
| 代理公司: | 成都言成諾知識(shí)產(chǎn)權(quán)代理事務(wù)所(特殊普通合伙) 51314 | 代理人: | 張川 |
| 地址: | 610000 四川省成都*** | 國(guó)省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 代碼 特征 平臺(tái) 二進(jìn)制 匹配 方法 系統(tǒng) | ||
本發(fā)明涉及一種基于代碼特征的跨平臺(tái)二進(jìn)制代碼匹配方法及系統(tǒng),包括從內(nèi)存dump出data或rdata段的數(shù)據(jù)提取里面的常量字符串特征,并通過(guò)算法生成常量字符串的哈希特征值;依次提取語(yǔ)法/文本特征,提取代碼的語(yǔ)義特征以及提取圖同構(gòu)的特征,將所有特征按照預(yù)定順序進(jìn)行首尾相接,拼接成高維的特征向量;對(duì)所有高維的特征向量進(jìn)行降維,使用分類器對(duì)降維后的特征向量進(jìn)行多分類訓(xùn)練,得到訓(xùn)練好的分類器模型,并對(duì)新的特征向量進(jìn)行分類匹配,判斷新的特征向量的二進(jìn)制代碼屬于哪種加密或者簽名校驗(yàn)。本發(fā)明能快速找到惡意app用于加密或簽名的二進(jìn)制代碼,還能廣泛用于代碼抄襲檢測(cè)、補(bǔ)丁檢測(cè)、代碼漏洞發(fā)現(xiàn)、惡意軟件族譜追蹤等。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件安全技術(shù)領(lǐng)域,尤其涉及一種基于代碼特征的跨平臺(tái)二進(jìn)制代碼匹配方法及系統(tǒng)。
背景技術(shù)
隨著智能設(shè)備的普及,基于這類設(shè)備的app日益增多,其中不乏大量的惡意app,為了更好地防范和打擊這類惡意app,需要對(duì)app進(jìn)行代碼分析,而因?yàn)檫@類app是已經(jīng)編譯過(guò)的app,因此只能分析其二進(jìn)制代碼,但是這類惡意app有很多惡意功能,一般情況下不能在真機(jī)中運(yùn)行,只能通過(guò)靜態(tài)方法或者模擬器執(zhí)行的方式分析器源碼,找到惡意功能實(shí)現(xiàn)的細(xì)節(jié)和原理;為了防止被逆向分析,很多惡意app都會(huì)使用加密算法對(duì)自身代碼進(jìn)行加密,或者對(duì)發(fā)送的數(shù)據(jù)包做加密或指紋簽名,因此,分析前必須先解密數(shù)據(jù)才能繼續(xù)對(duì)代碼進(jìn)行分析。
現(xiàn)有對(duì)惡意app用于加密或者簽名代碼的逆向分析,主要是提取特征后進(jìn)行比對(duì),比如一種是提取常量特征后轉(zhuǎn)為哈希值匹配,這種方式按照ASCII碼的方式提取常量,會(huì)提取大量無(wú)意義的字符串,這些無(wú)意義的字符串常量會(huì)反過(guò)來(lái)增加哈希值數(shù)量,加大數(shù)據(jù)存儲(chǔ)和后續(xù)計(jì)算匹配的壓力,而且判斷字符串屬于哪個(gè)函數(shù)的運(yùn)算成本很高,所以通過(guò)常量字符串方式多為匹配文件顆粒度的相似度,無(wú)法進(jìn)一步細(xì)化到代碼相似度的匹配;另一種是提取代碼特征后計(jì)算特征之間的相似度或用機(jī)器學(xué)習(xí)方法做分類,這種方式如果二進(jìn)制代碼被OLLVM(低水平虛擬機(jī)混淆器)混淆,原有代碼基本塊的跳轉(zhuǎn)關(guān)系就會(huì)被完全打亂,此時(shí)生成的CFG(控制流圖)或ICFG(過(guò)程間控制流圖)圖就無(wú)法表征原始二進(jìn)制代碼的跳轉(zhuǎn)關(guān)系特征,而且原有二進(jìn)制代碼中基本塊與函數(shù)的上下游調(diào)用關(guān)系,各種特征也會(huì)被完全打亂,原有的特征提取辦法就會(huì)失效;因此,現(xiàn)有的二進(jìn)制匹配比對(duì)思路都是提取各類特征后做對(duì)比,但都不完善,提取的特征都可能會(huì)被針對(duì)性地破壞或故意誤導(dǎo)。
需要說(shuō)明的是,在上述背景技術(shù)部分公開的信息只用于加強(qiáng)對(duì)本公開的背景的理解,因此可以包括不構(gòu)成對(duì)本領(lǐng)域普通技術(shù)人員已知的現(xiàn)有技術(shù)的信息。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺點(diǎn),提供了一種基于代碼特征的跨平臺(tái)二進(jìn)制代碼匹配方法及系統(tǒng),解決了現(xiàn)有方法存在的不足。
本發(fā)明的目的通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):一種基于代碼特征的跨平臺(tái)二進(jìn)制代碼匹配方法,所述方法包括:
S1、從內(nèi)存dump出data或rdata段的數(shù)據(jù)提取里面的常量字符串特征,并通過(guò)算法生成常量字符串的哈希特征值;
S2、依次提取語(yǔ)法/文本特征,提取代碼的語(yǔ)義特征以及提取圖同構(gòu)的特征,將所有特征按照預(yù)定順序進(jìn)行首尾相接,拼接成高維的特征向量;
S3、通過(guò)隨機(jī)森林算法對(duì)所有高維的特征向量進(jìn)行分類實(shí)現(xiàn)壓縮降維,使用分類器對(duì)降維后的特征向量進(jìn)行多分類訓(xùn)練,得到訓(xùn)練好的分類器模型,通過(guò)該分類器模型對(duì)新的特征向量進(jìn)行分類匹配,判斷新的特征向量的二進(jìn)制代碼屬于哪種加密或者簽名校驗(yàn)。
所述提取語(yǔ)法/文本特征包括:
以指令的基礎(chǔ)塊為單元,去除該單元內(nèi)所有二進(jìn)制匯編指令的操作數(shù)只保留操作碼,以此屏蔽不同的常數(shù)項(xiàng)和寄存器帶來(lái)的文本差異;
對(duì)于每個(gè)操作碼求出其tf-idf值,其值越高說(shuō)明該指令在當(dāng)前基礎(chǔ)塊內(nèi)的特征越明顯;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于軟安科技有限公司,未經(jīng)軟安科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310540859.0/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 遙控器代碼格式結(jié)構(gòu)及其收發(fā)信方法及裝置
- 在虛擬機(jī)中驗(yàn)證代碼模塊的方法及裝置
- 一種用于代碼的管理方法及裝置
- 虛擬代碼提供系統(tǒng)、生成裝置、驗(yàn)證裝置、提供方法
- 一種自動(dòng)化代碼質(zhì)量檢查方法及系統(tǒng)
- 代碼掃描方法、裝置、計(jì)算設(shè)備及計(jì)算機(jī)存儲(chǔ)介質(zhì)
- 用于更新代碼的方法和裝置
- 前端代碼打包方法、裝置、電子設(shè)備及存儲(chǔ)介質(zhì)
- 一種代碼審查服務(wù)同步方法、裝置及計(jì)算機(jī)設(shè)備
- 一種高效智能源代碼安全管理平臺(tái)





