破局傳統算法痛點,騰訊安全首提基於跨模態檢索的二進位代碼-源...

2020-12-13 AI科技大本營

整理 | 高衛華

出品 | AI科技大本營

頭圖 | CSDN付費下載自視覺中國

近日,在NeurIPS 2020正式發布的論文入選名單中,騰訊安全科恩實驗室聚焦解決二進位安全問題的《CodeCMR: Cross-Modal Retrieval For Function-Level Binary Source Code Matching》,憑藉首次提出基於AI的二進位代碼/原始碼端到端匹配算法的創新研究入選。

該論文首次提出了基於AI的二進位代碼/原始碼端到端匹配算法,與傳統算法相比,準確率大幅提升,並為逆向分析領域提供了新的思路,可提升工業部署方面的效率。

目前,該論文成果已在騰訊安全科恩實驗室研發的代碼檢索工具BinaryAI實現了落地應用。

論文背景

在AAAI 2020中,騰訊安全科恩實驗室提出了一項利用圖神經網絡解決二進位程序函數相似性分析問題的技術,得到廣泛關注。

在此基礎上,科恩實驗室將研究方向擴展到二進位代碼與原始碼的交叉領域,進一步實現其在AI+安全新興方向中的全新探索與突破。

二進位代碼-原始碼匹配是信息安全領域的重點研究方向之一。在給定二進位代碼的情況下,逆向分析的研究人員希望可以找到它對應的原始碼,從而提升逆向分析的效率和準確率。

B2SFinder和BinPro等傳統算法提取原始碼和二進位代碼的字符串、立即數等特徵進行匹配,而函數級別的原始碼與二進位代碼的特徵非常少,匹配準確率不高。另外,要設計合適的特徵,需要大量的專家經驗。

圖1展示了一個函數的原始碼與二進位代碼,從中可看出,除了字符串和立即數特徵,代碼中隱藏的語義特徵也很關鍵。

因此,該論文設計了一種端到端的模型,可以自動提取代碼間的語義特徵,從而提升匹配的準確率。

圖1 - 二進位代碼與對應的原始碼

CodeCMR框架介紹

二進位代碼-原始碼間的檢索任務中,把兩種代碼當作兩個模態輸入,可類比到圖文互搜等跨模態檢索場景。

對此,科恩實驗室基於AI設計了CodeCMR框架,以解決傳統算法匹配準確率不高的問題。

計算最終向量前,兩個模態之間沒有信息傳遞,在實際應用時可預先計算向量,節省線上計算時間以及存儲空間。

圖2 - CodeCMR整體框架

整體結構

模型輸入中有原始碼特徵和二進位代碼特徵兩部分,其中原始碼特徵是字符級別的原始碼、從原始碼中提取的字符串和立即數,二進位代碼特徵是控制流圖、二進位代碼的字符串和立即數。

CodeCMR框架能夠以不同模型對原始碼特徵和二進位代碼特徵兩大模塊的語義、字符串、立即數等三大輸入特徵進行向量計算,並以在基礎上用拼接+BatchNorm方式實現高效匹配轉化,最後使用triplet loss作為損失函數。

語義模型

CodeCMR框架中,字符級原始碼使用DPCNN模型,二進位控制流圖使用端到端的GNN模型。

在函數級別,字符級原始碼的輸入通常在4096以上,DPCNN的效果遠優於TextCNN和LSTM。另外,在語義特徵識別中,端到端的GNN模型表現出更強的健壯性,可幫助破解傳統算法高專家經驗的痛點。

圖3 - 原始碼與二進位代碼的語義模型

立即數、字符串模型

原始碼和二進位代碼的字符串和立即數不完全相同,需要設計模型進行匹配。

對於立即數,科恩實驗室設計了Integer-LSTM,其輸入有integer token和integer number兩個。integer number作用在LSTM的輸入門和輸出門,以控制信息流動。

對於字符串,其採用分層模型,先通過LSTM模型得到每個字符串的向量,再使用sum pooling方法得到字符串集合的向量。

Norm weighted sampling

在兩大模塊的向量採樣階段,Norm weighted sampling 與隨機採樣和distance weighted採樣方法相比,表現出更好的匹配效果。

distance weighted sampling採樣方法可解決hard樣本在訓練早期收斂到局部極小值的問題,在分布中選擇各個概率的樣本。

在此基礎上,科恩實驗室又提出改進,增加超參數s,幫助調整概率的分布,從而適應不同的任務和數據集。

這種融合訓練的方法可大幅提升二進位代碼/原始碼的匹配準確率,從而提升工業部署效率。

實驗結果

與傳統算法僅提取字符串、立即數特徵進行匹配的做法不同,CodeCMR模型能夠實現對代碼間隱藏語義特徵的自動提取,從而達到提升二進位代碼-原始碼跨模態檢索匹配效率的目的。

從實驗結果中可以看出,在語義模型中,DPCNN+HBMP取得最優效果,表示在二進位側採用端到端訓練優於預訓練的node embedding;此外,與隨機採樣、distance weighted採樣相比,norm weighted的採樣效果更好。

表1 - 實驗結果

train/valid loss曲線也證明了這一點,當s=5時,norm weighted sampling的train loss更高,valid loss更低。

圖4 - 訓練與驗證的損失函數曲線

論文連結:

https://keenlab.tencent.com/zh/whitepapers/neurips-2020-cameraready.pdf

相關焦點

  • AI 算法解決二進位安全問題,騰訊安全NeurIPS 2020論文有新方法
    機器之心發布 機器之心編輯部 騰訊安全科恩實驗室使用 AI 算法解決二進位安全問題的一項研究被 NeurIPS 2020 接收,該研究首次提出了基於 AI 的二進位代碼 / 原始碼端到端匹配算法,與傳統算法相比效果非常出色
  • 騰訊實驗室使用AI 算法解決二進位安全問題
    本文轉載自【微信公眾號:零點有數科技,ID:Dataway-Dataway】經微信公眾號授權轉載,如需轉載與原文作者聯繫◆零點有數為您帶來◆數字新基建觀察日前,為推動傳統產業智能升級圖文無關;圖片來源:攝圖網數據算法騰訊安全科恩實驗室使用 AI 算法解決二進位安全問題的一項研究被 NeurIPS 2020 接收,該研究首次提出了基於 AI 的二進位代碼 / 原始碼端到端匹配算法,與傳統算法相比效果非常出色,準確率大幅提升。
  • Cross-Modal & Metric Learning 跨模態檢索專題-1
    >去年在跨模態檢索/匹配 (cross-modal retrieval/matching) 方向開展了一些研究與應用,感覺比較有意思,所以想寫點東西記錄一下。並沒有時間和能力寫綜述,思來想去就以研究較多的圖文跨模態檢索為切入點來介紹下相關工作。本專題計劃分3個部分介紹圖文跨模態檢索的一些工作與思考。
  • 基於RFID的二進位防碰撞算法的改進
    2 傳統二進位算法   2.1 傳統二進位算法的基本原理   在二進位搜索算法中,要能夠檢測出多張卡的存在,卡片的返回數據必須具有唯一性,且卡片在傳輸其UID(Ubiquitous Identifications,身份識別標籤)時必須準確、快速、同步,這是防碰撞檢測的關鍵。
  • 51單片機整數二一十進位轉換的快速算法
    提出的快速算法思路是,首先求出整數中包含的1000的個數,方法是採用二進位整數的高6位作為其預估,再通過2次校正得到準確值。算法的關鍵是充分利用89C51單片機的兩條特殊指令――單字節乘和單字節除。其耗費時間不及使用sprintf()函數的1/10。
  • 歐氏距離是否仍是跨模態/單模態Re-ID度量學習的最佳選擇?
    /單模態Re-ID的度量學習問題上未必是最優的,並提供了一個適用於跨模態/單模態人體目標重識別任務的即插即用的方案(「expAT Loss」),基於餘弦度量實現了更優的學習效果。而基於歐氏度量的度量學習損失函數無法保證這點。
  • NeurIPS 2019|騰訊AI Lab詳解入選論文,含模仿學習、強化學習、自動機器學習等主題
    大量實驗表明,這種新方法相比傳統 LfO 方法更有優勢。強化學習是近年來大放異彩的機器學習技術之一,基於這種技術開發的人工智慧模型已經在圍棋、撲克、視頻遊戲和機器人等領域取得了非常多的裡程碑式的進步。騰訊 AI Lab的 NeurIPS 2019 入選論文中有三篇與強化學習有關,這三篇論文針對不同方向的任務分別提出了兩種不同的新的算法以及一種新的多智能體學習策略。
  • Milvus 實戰 | 基於 Milvus 的食譜檢索系統
    由於單一模式的數據分析已經不能滿足日益複雜的查詢需求,如何高效利用這些多模態數據變得至關重要。跨模態檢索是指用一種類型的數據去查詢另一種不同類型的數據。處理跨模態檢索問題通過把不同模態的數據映射到同一高維向量空間進行比較來完成檢索任務。跨模態檢索有著豐富的應用場景,如使用圖像與文本檢索監控視頻,電商網站搜索商品等問題。
  • 2020 Techo Park:騰訊安全攜手全球頂級安全專家揭秘前沿安全技術
    在12月20日北京舉行的2020 Techo Park開發者大會上,由騰訊安全主辦的「揭秘前沿安全技術」分論壇匯聚了來自中國科學院信息工程研究所、頂級開源項目Rizin團隊、滴滴出行、騰訊安全雲鼎實驗室等國內外多位安全專家,攜手帶來了二進位安全、AI+安全、漏洞挖掘等多項安全研究成果,共同推進億萬用戶數據安全生態建設。層出不窮的軟體漏洞如何實現規模化檢測?
  • 基於二進位搜索的RFID標籤防碰撞算法研究
    TDMA法由於應用簡單,容易實現大量標籤的讀寫,所以一般的防碰撞算法主要以TDMA方式實現。對RFID系統來說,TDMA構成了防碰撞算法最大的一類。  最靈活的和應用最廣泛的是「二進位搜索法」。本文對基於二進位搜索的算法做了詳細介紹,包括基本的二進位搜索算法。,動態二進位搜索算法和後退式動態二進位搜索算法。  2 基於二進位搜索的算法  2.1 基本的二進位搜索算法  實現「二進位搜索」算法系統的必要前提是能辨認出在閱讀器中數據碰撞的比特的準確位置。為此,必須有合適的位編碼法。
  • ECCV 2020 Oral | TCGM:基於資訊理論的半監督多模態學習框架
    如何利用少量的多模態標註數據來高效地訓練分類器成為一個關鍵問題。本文將這個問題轉化為等價的半監督+多模態學習問題。在這個背景下,我們關注如何在訓練中利用好未標註的多模態數據。本文的貢獻在於,設計一個全相關(Total Correlation)的下界作為在未標註的多模態數據上的目標函數,來更好地融合跨模態的信息。
  • 二進位上的明文算法
    接下來三天去桂州玩,所以這周就記錄一篇明文算法吧。零、背景上周起開始看書:經濟學、文學、歷史。是的,沒有看技術書。最近也在梳理自己的知識圖譜,看到了以前記錄的base64算法,這篇文章就來聊聊base64的本質吧。一、二進位的缺點所謂二進位可以理解為數據進行了加密或壓縮後的一種表示。加密和壓縮的好處大家根據自己的理解,可以想到對應的優點與缺點。
  • 機器推理文本+視覺,跨模態預訓練新進展
    本文將介紹微軟亞洲研究院在跨模態預訓練領域的研究進展。近年來,自然語言處理(NLP)和計算機視覺(CV)兩大領域不斷碰撞和融合,衍生出很多跨模態研究課題(例如圖片檢索和圖片問答等)。接下來,本文首先簡要介紹 Unicoder-VL 的模型,然後通過其在圖片檢索和圖片推理問答中的應用,說明該模型對跨模態推理任務的作用。
  • 京東高級算法工程師34頁PPT詳解基於分布式向量檢索系統Vearch的大...
    出品 | 智東西公開課講師 | 邸志惠 京東高級算法工程師導讀:6月10日,京東高級算法工程師邸志惠在智東西公開課進行了CV前沿講座第八講的直播講解,主題為《大規模圖像檢索系統的挑戰與實踐》。目前落地環節都是針對各自場景自己訓練深度學習算法,在開發對應的向量檢索系統,存在大量重複工作,這對算法工程師也不友好。目前尚沒有通用的在線解決方案,我們開源的vearch專門針對上述問題開發的在線易用的,用以解決海量特徵向量的存儲、計算、相似向量檢索問題。
  • Techo Park聚焦前沿安全技術,騰訊安全攜手中科院、滴滴披露重磅...
    在12月20日北京舉行的2020 Techo Park開發者大會上,由騰訊安全主辦的「揭秘前沿安全技術」分論壇匯聚了來自中國科學院信息工程研究所、頂級開源項目Rizin團隊、滴滴出行、騰訊安全雲鼎實驗室等國內外多位安全專家,攜手帶來了二進位安全、AI+安全、漏洞挖掘等多項安全研究成果,共同推進億萬用戶數據安全生態建設。層出不窮的軟體漏洞如何實現規模化檢測?
  • PPC和MIPS指令集下二進位代碼中函數參數個數的識別方法
    原始碼經過編譯器編譯丟失了如高級語言C/C++中的數據類型、數據結構、語義以及控制結構等信息,這給研究者分析二進位代碼造成了諸多障礙。因此,如何從二進位代碼中恢復出丟失的信息成為二進位分析的關鍵。對二進位程序進行逆向分析的第一步是對函數的識別,確定函數的起始位置、結束位置、函數的調用方式,以及函數的參數個數。二進位代碼逆向分析的準確率影響後續安全分析的正確性。
  • 彌補傳統惡意代碼檢測短板,機器學習技術還能這樣做?
    在這樣的形勢下,傳統的惡意代碼檢測方法已經無法滿足人們對惡意代碼檢測的要求。比如基於籤名特徵碼的惡意代碼檢測,這種方法收集已知的惡意代碼,以一種固定的方式生成特定的籤名,維護這樣的籤名庫,當有新的檢測任務時,通過在籤名庫中檢索匹配的方法進行檢測。暫且不說更新、維護籤名庫的過程需要耗費大量的人力物力,惡意代碼編寫者僅僅通過混淆、壓縮、加殼等簡單的變種方式便可繞過這樣的檢測機制。
  • Cross-Modal & Metric Learning 跨模態檢索專題-3(下)
    也有一些基於此的變種,比如 triplet center loss 等等,但其本質思想都是一樣的,讓 anchor 與正例positive 之間的距離小於 anchor 與 negative 之間的距離。
  • Cortex―M0單片機二-十進位整數轉換的快速算法
    摘要:為了提高Cortex—M0系列單片機應用系統的二進位到十進位BCD碼整數轉換代碼的執行效率,採用除十求餘數法來實現。該快速算法的核心內容是通過高效的彙編語言來實現常數除法,無論在程序代碼的運行時間和存儲空間上,都遠勝於sprintf函數。
  • 今日Paper | 跨模態行人重識別;對抗時尚遷移;學會注意錯誤;凸混合...
    from=leiphonecolumn_paperreview0311推薦原因本文主要是解決紅外線-RGB跨模態行人重識別的問題。由於Specific feature在對面模態中是不存在的,所以目前工業界大部分跨模態行人在識別算法通常只關注shared feature learning,很少關注Specific feature,比如在紅外線圖片中是沒有彩色顏色信息的。主要創新點:利用近鄰信息:給定一紅外線query。