HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

腾讯朱雀实验室推出 Deep Puzzling,利用 AI 技术进行代码防护

  • 2021-11-29
  • 本文字数:1313 字

    阅读完需:约 4 分钟

腾讯朱雀实验室推出Deep Puzzling,利用AI技术进行代码防护

AI 技术不断演进,黑客利用 AI 来进行网络攻击的事件屡见不鲜,传统攻防手法往往乏力应对,在此背景下,通过 AI 进行代码防护,开始成为行业的技术趋势。

代码防护技术 Deep Puzzling


近日,全球顶级的信息安全峰会 HITB+Cyberweek 2021 正式举办,腾讯朱雀实验室专家研究员 Jifeng Zhu 和研究员 Keyun Luo 受邀参加,并进行了题为《Deep Puzzling: Binary Code Intention Hiding based on AI Uninterpretability》(《基于 AI 不可解释性的二进制代码意图隐藏》)的议题分享。会上,腾讯朱雀实验室展示了如何利用 AI 模型的特性,实现二进制代码的意图隐藏,有效防止代码被黑客逆向分析,从而保障核心代码的安全。


据了解,相比传统攻防技术,AI 算法具有诸多优势,例如,在复杂特征建模、内容生成、概率容错、不可解释性等方面拥有强大的能力。此次腾讯朱雀实验室推出的 Deep Puzzling(深度迷惑)技术正是利用了 AI 的这些特点,对代码进行深层次的安全布防。


据介绍,Deep Puzzling 通过将多种载荷编码到 AI 模型的参数中,实现高强度的代码意图隐藏,由此来“迷惑”黑客,令其无法反向分析其中的代码逻辑。这样即使黑客取得了 AI 模型文件,也很难猜透代码的真实意图。这项技术有效地提高了代码的破解难度,可以帮助更多代码拥有者守护自己的知识产权和信息安全,抑制 AI 型网络攻击的滋长。


Deep Puzzling核心能力


目前,朱雀实验室已将这项技术面向全球开发者开源,方便研究团队灵活取用,用前沿的 AI 技术助力网络安全的升级。


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

Deep Puzzling 工作原理


在 Deep Puzzling 技术框架里,有多个互相连接的模型,通过技术适应,保证让黑客无法通过修改输入数据的方式,来推测输出代码之间的逻辑关联,进而加大了逆向分析代码的难度,提高了核心代码的安全级别。


不仅如此,朱雀实验室还设计了一个检测模块,来验证这种方法的有效性。


Deep Puzzling工作原理演示


首先,通过读取海量的普通环境数据,构建一个“触发-生成-纠错”模型,端到端地实现了“目标定位-代码执行”步骤,然后直接生成载荷。


值得一提的是,这个系统还具备反调试能力。这种反调试能力并非传统的进程状态查看、时间分析、异常处理等,而是利用网络构造出没有任何“显式 if”判断含义的计算过程,这个计算过程处于黑盒中,很难得知其因果关联性,因而具有良好的数据密封性。


此外,由于 AI 模型产生的代码有一定的错误率,研究员们还设计了一种纠错模型,来进一步降低局部解码的错误率,使得 AI 模型大概率地输出精确的结果,以确保被计算机正确地执行。


大量反复稳定性测试有力地佐证了 Deep Puzzling 的可行性。朱雀实验室的研究员透露,“我们邀请过业界多位资深的逆向工程研究人员来尝试破解,均无法解出,更加验证了这是一个非常值得关注的新方向。”


据了解,早在 2018 年,就有前人尝试过利用 AI 技术来完成代码的意图隐藏。当时有研究人员提出了一种基于 AI 密钥的“包装”思路——DeepLocker,其工作原理为,只有特定目标经过 AI 模型产生的密钥才能解锁意图代码。这项研究展示了 AI 在意图隐藏方面的巨大潜力。


DeepLocker工作原理


不过,由于密钥解密代码的逻辑是暴露的,黑客仍然可以找到过程中的漏洞来盗取核心代码。而随着 AI 技术与网络安全结合得越来越紧密,基于 AI 技术的网络攻防手段也在日益完善成熟。

2021-11-29 14:012348

评论

发布
暂无评论
发现更多内容

[数据分析实践]-文本分析-U.S. Patent Phrase-1

浩波的笔记

数据分析

读《Software Systems Architecture》(27)—— The Availability and Resilience Perspective

术子米德

架构师成长笔记

c语言选择,循环语句概述

工程师日月

6月月更

远程办公-如何提高开会效率?| 社区征文

石云升

远程办公 开会 会议 6月月更 初夏征文

字符串

Jason199

js 字符串 6月月更

gogs使用webhook部署react单页应用

Nick

ci 持续集成 React 6月月更 gogs

【协程】LifecycleScope源码解析

yechaoa

android 协程 6月月更 LifecycleScope

InfoQ 极客传媒 15 周年庆征文|漫谈公网网络延迟

耳东@Erdong

运维 6月月更 InfoQ极客传媒15周年庆 网络延迟

读《Software Systems Architecture》(22)—— The Operational Viewpoint

术子米德

架构师成长笔记

读《Software Systems Architecture》(28)—— The Evolution Perspective

术子米德

架构师成长笔记

flutter系列之:Material中的3D组件Card

程序那些事

flutter 程序那些事 6月月更

读《Software Systems Architecture》(18)—— The Information Viewpoint

术子米德

架构师成长笔记

读《Software Systems Architecture》(20)—— The Development Viewpoint

术子米德

架构师成长笔记

读《Software Systems Architecture》(23)—— Archiving Consistency Across Views

术子米德

架构师成长笔记

中台的细节

卢卡多多

中台 6月月更

读《Software Systems Architecture》(21)—— The Deployment Viewpoint

术子米德

架构师成长笔记

读《Software Systems Architecture》(26)—— The Performance and Scalability Perspective

术子米德

架构师成长笔记

力扣每日一练之二维数组上篇Day4

京与旧铺

6月月更

莫把功能当能力!从企业架构视角看警察在火锅店站岗

涛哥 数字产品和业务架构

企业架构

【愚公系列】2022年06月 通用职责分配原则(三)-低耦合原则

愚公搬代码

6月月更

Java中检查字符串是否是有效日期

okokabcd

Java

读《Software Systems Architecture》(24)—— Introduction to the Perspective Catalog

术子米德

架构师成长笔记

读《Software Systems Architecture》(25)—— The Security Perspective

术子米德

架构师成长笔记

Java Core 「8」字节码增强技术

Samson

学习笔记 Java core 6月月更

python停车时间计算,时分秒计算(split()函数)

写代码两年半

Python 6月月更

CentOS环境基于nginx搭建负载均衡

乌龟哥哥

6月月更

读《Software Systems Architecture》(16)—— The Context Viewpoint

术子米德

架构师成长笔记

读《Software Systems Architecture》(17)—— The Functional Viewpoint

术子米德

架构师成长笔记

读《Software Systems Architecture》(19)—— The Concurrency Viewpoint

术子米德

架构师成长笔记

在线JSON转TSV工具

入门小站

工具

JVM调优简要思想及简单案例-JVM是什么?

zarmnosaj

6月月更

腾讯朱雀实验室推出Deep Puzzling,利用AI技术进行代码防护_文化 & 方法_凌敏_InfoQ精选文章