用AI給黑客出啞謎!騰訊朱雀實驗室新研究Deep Puzzling守衛程式碼安全

Editor 發表於 2021-11-26
人工智慧 騰訊

隨著AI技術與網路安全結合得越來越緊密,基於AI技術的網路攻防手段也在日益更替。

 

11月26日,全球頂級的資訊保安峰會HITB+Cyberweek 2021於近日舉辦,騰訊朱雀實驗室專家研究員Jifeng Zhu和研究員Keyun Luo受邀參加,並進行了題為《Deep Puzzling: Binary Code Intention Hiding based on AI Uninterpretability》(《基於AI不可解釋性的二進位制程式碼意圖隱藏》)的議題分享。

 

會上,騰訊朱雀實驗室展示瞭如何利用AI模型的特性,實現二進位制程式碼的意圖隱藏,有效防止程式碼被黑客逆向分析,從而保障核心程式碼的安全。目前,朱雀實驗室已將這項技術面向全球開發者開源,方便研究團隊靈活取用,用前沿的AI技術助力網路安全的升級。

 

讓黑客猜不透的“程式碼包裝高手”


AI技術不斷演進,黑客利用AI來進行網路攻擊的事件屢見不鮮,傳統攻防手法往往乏力應對,在此背景下,通過AI進行程式碼防護,開始成為行業的技術趨勢。

 

相比傳統攻防技術,AI演算法具有諸多優勢,例如,在複雜特徵建模、內容生成、概率容錯、不可解釋性等方面擁有強大的能力。此次騰訊朱雀實驗室推出的Deep Puzzling(深度迷惑)技術正是利用了AI的這些特點,前瞻性地對程式碼進行深層次的安全佈防。

 

Deep Puzzling猶如一個“包裝高手”,將多種載荷編碼到AI模型的引數中,實現高強度的程式碼意圖隱藏,由此來“迷惑”黑客,令其無法反向分析其中的程式碼邏輯。這樣即使黑客取得了AI模型檔案,也很難猜透程式碼的真實意圖。這項技術有效地提高了程式碼的破解難度,可以幫助更多程式碼擁有者守護自己的智慧財產權和資訊保安,抑制AI型網路攻擊的滋長。

 

用AI給黑客出啞謎!騰訊朱雀實驗室新研究Deep Puzzling守衛程式碼安全

(Deep Puzzling核心能力)

 

讓“意圖隱藏”研究更具有實用性


其實早在2018年,就有前人嘗試過利用AI技術來完成程式碼的意圖隱藏。當時有研究人員提出了一種基於AI金鑰的“包裝”思路——DeepLocker,其工作原理為,只有特定目標經過AI模型產生的金鑰才能解鎖意圖程式碼。這項研究展示了AI在意圖隱藏方面的巨大潛力。

 

用AI給黑客出啞謎!騰訊朱雀實驗室新研究Deep Puzzling守衛程式碼安全

(DeepLocker工作原理)

 

不過,由於金鑰解密程式碼的邏輯是暴露的,黑客仍然可以找到過程中的漏洞來盜取核心程式碼。

 

而此次騰訊朱雀實驗室提出的Deep Puzzling在同一研究方向上進行了突破性的嘗試,在這個技術框架裡,有多個互相連線的模型,通過技術適應,保證讓黑客無法通過修改輸入資料的方式,來推測輸出程式碼之間的邏輯關聯,進而加大了逆向分析程式碼的難度,提高了核心程式碼的安全級別。

 

不僅如此,朱雀實驗室還設計了一個檢測模組,來驗證這種方法的有效性。

 

用AI給黑客出啞謎!騰訊朱雀實驗室新研究Deep Puzzling守衛程式碼安全

(Deep Puzzling工作原理演示)

 

首先,通過讀取海量的普通環境資料,構建一個“觸發-生成-糾錯”模型,端到端地實現了“目標定位-程式碼執行”步驟,然後直接生成載荷。

 

值得一提的是,這個系統還具備反除錯能力。這種反除錯能力並非傳統的程式狀態檢視、時間分析、異常處理等,而是利用網路構造出沒有任何“顯式if”判斷含義的計算過程,這個計算過程處於黑盒中,很難得知其因果關聯性,因而具有良好的資料密封性。

 

此外,由於AI模型產生的程式碼有一定的錯誤率,研究員們還設計了一種糾錯模型,來進一步降低區域性解碼的錯誤率,使得AI模型大概率地輸出精確的結果,以確保被計算機正確地執行。

 

經過大量反覆穩定性測試,有力地佐證了Deep Puzzling的可行性。朱雀實驗室的研究員還透露,“我們邀請過業界多位資深的逆向工程研究人員來嘗試破解,均無法解出,更加驗證了這是一個非常值得關注的新方向。”

 

Deep Puzzling開源地址:https://github.com/aisecstudent/DeepPuzzling