写点什么

腾讯朱雀实验室推出 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:012459

评论

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

挑战10的1,143,913次方种算法组合:这都不是事儿!

华为云开发者联盟

华为 算法 进化 华为云

随着并发压力的增加,系统响应时间和吞吐量如何变化,为什么?

chenzt

创新监管首批8个试点应用公示 其中7个涉及区块链

CECBC

技术​选型的艺术

YourBatman

技术选型 湖北

【数据结构】Java 常用集合类 ConcurrentHashMap(JDK 1.8)

Alex🐒

Java 源码 数据结构 并发编程

架构感悟 7- 性能优化何为

旭东(Frank)

原生Ingress灰度发布能力不够?我们是这么干的

BoCloud博云

云计算 容器 云原生 PaaS

创业使人成长系列 (4)- 常用账号申请

石云升

支付宝 微信商户 商标

【数据结构】Java 常用集合类 HashMap(JDK 1.8)

Alex🐒

Java 源码 数据结构

为啥Underlay才是容器网络的最佳落地选择

BoCloud博云

云计算 容器

百度大脑OCR技术助力钢铁物流实现智能管理

百度大脑

人工智能 百度大脑 文字识别

Java如何调用Python(二)

wjchenge

程序设计理念-CentOs7实践Nginx-带来安装服务的通用法则

图南日晟

nginx 架构设计 环境安装

第7周总结:性能

慵秋

为什么我们要自主开发一个稳定可靠的容器网络

BoCloud博云

云计算 容器 PaaS fabric

API网关——Kong实践分享

BoCloud博云

云计算 容器 PaaS API

数字货币并不能完美诠释区块链金融

CECBC

区块链技术 社会价值 打通数据孤岛 重建产业信用

Self-Compassion,对自己好一点

霍太稳@极客邦科技

创业 个人成长 自我管理 创业心态

web压力性能测试

周冬辉

压力测试

BIGO海量小文件存储实践

InfoQ_3597a20b53cc

Netty-物联网设备Channel管理

凸出

Java Netty ConcurrentHashMap 物联网 channel

超详细讲解网络中的数据链路层~

程序员的时光

前浪出新招,996已过时,互联网员工都开始住公司了!(爆公司信息)

程序员生活志

加班 996 007 互联网公司

PV与UV你的网站也可以

北漂码农有话说

Kubernetes的拐点助推器:左手开源,右手边缘计算

华为云开发者联盟

Kubernetes 容器 边缘计算 华为云

关于数据库索引的知识点,你所需要了解的都在这儿了

鄙人薛某

MySQL 索引结构 索引 MySQL优化

进击的 Flink:网易云音乐实时数仓建设实践

Apache Flink

flink

Java如何调用Python(一)

wjchenge

web 性能压测工具

Z冰红茶

Django Models随机获取指定数量数据方法

BigYoung

django 数据 random 随机 Models

漫画:如何证明sleep不释放锁,而wait释放锁?

王磊

Java Wait Sleep

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