全球“黑客大赛”冠军霸气讲述:我是如何让50个文件一起骗过AI安防系统的?

大数据文摘出品

来源:medium

编译:邢畅、张睿毅、钱天培

你有没有想过当黑客呢?

破解手机密码,黑入公司系统,甚至…控制全球电脑。

打住打住!违法犯罪的念头显然不能有。再退一步讲,咱也不一定有这本事。

尤其是在今天,AI安防早已司空见惯,想要当黑客的难度也越来越高了。

有趣的是,网络安全平台Endgame,MRG-Effitas和VM-Ray在近日联手发起了一场“黑客征集”大赛。号召机器学习工程师们一起来攻击他们的安防系统。

比赛的目标是,让50个恶意Windows可移植可执行文件(PE)逃避三个机器学习恶意软件分类器的检测。这些文件不仅需要躲避检测,而且还能实现它们原来的功能和行为。

在这场比赛中,一位名叫William Fleshman的小哥拔得头筹——他成功让所有50个文件都逃过了AI模型的过滤。

他是怎么做到的呢?让我们一起来听听他的分享。知己知彼这是一场白盒比赛,这意味着我可以访问所有模型的参数和源代码。因此,要做的第一件事就是看看模型后台发生了什么。

MalConv

第一个模型是基于Windows可执行文件的原始字节训练的神经网络。

表示文件字节的整数序列(0-255)被传递给MalConv。MalConv中的嵌入层将每个字节映射到一个数字向量。然后通过另外的神经网络层处理向量序列。该模型输出两个数字,分别表示输入是良性和恶意的概率。

关于MalConv的研究早已层出不穷。最简单的攻击就是在可执行文件的末尾添加一些字节。这是一个特别好的技巧,因为添加的数据(即Overlay)不会在恶意软件执行时加载到内存中。因此,我们可以在不改变文件功能的情况下在Overlay中放入任何我们想加的内容。

MalConv同时查找良性和恶意字节的不同模式,以便做出决策。Overlay攻击的目的是用与良性文件相关的模式包装它。

非负MalConv

第二个模型实际上与第一个模型相同,但分配给各层的权重不同。

顾名思义,非负MalConv在训练过程中被限制为具有非负权重矩阵。这样做是为了防止针对MalConv创建的攻击。如果处理得当,非负权重使二元分类器单调;这意味着添加新内容只会增加恶意得分。这将使规避模型变得非常困难,因为大多数规避攻击确实需要向文件添加内容。

“幸运”的是,非负MalConv的实现有一个微小但关键的缺陷。

非负防御只适用于二分类器,其输出分数表示样本的恶意程度。然而,这个版本将输出分成两个分数,分别表示恶意和良性。之后,一个softmax函数将每个类的分数转换为概率。这种结构使得非负权重的训练变得毫无意义。附加内容仍然可以将良性评分推到任意高。当良性评分越高,即使存在相同数量的恶意内容,softmax函数也会将把恶意评分推得越低。因此所有针对MalConv的攻击在这里也会起作用。

论文:

http://ci.louisville.edu/zurada/publications/chor-zur-tnnls.pdf

Ember

Ember其实是Endgame维护的一个数据集。和数据集一起发布的还有一个训练好的基准模型,也称为Ember。Ember是一个lightgbm模型(增强决策树的集合),它根据Windows PE文件解析的几个特征训练得到。

Ember特征解析的源代码在GitHub上可以找到。代码链接:

https://github.com/endgameinc/ember/blob/master/ember/features.py

了解如何解析特征对制造攻击非常有用。提取的特征包括:

  • 字节直方图
  • 字节熵
  • Section信息(名称、大小、熵、属性)
  • 导入表库及入口信息
  • 导出函数
  • 一般文件信息(各种文件的大小和数量)
  • 文件头信息(机器码、结构、链接器、版本号)
  • 字符串信息(文件中字符串的各种统计信息)
  • 数据目录

数值特征可以直接使用,其他特征(如section的名称)可用哈希转换为数值向量。乍一看,Ember似乎难以愚弄,它解析的许多特征都与文件结构,或者与我们无法更改的特征相关。我们必须在维持原功能的同时还要避免被检测到!Ember的漏洞是攻击者可以任意控制某些特征。lightgbm模型在集成树的多个位置使用这些特征。我们可以利用模型的复杂性,通过操纵特征来推动导致逃避的决策。

前期准备

竞赛代码附带了一个脚本,用于在一个文件中运行三个模型。我修改了脚本以评估整个恶意软件目录,并使用altair添加了一个有趣的可视化记分板:

原始恶意软件文件的初始扫描。

表情符号骷髅代表模型检测到恶意软件,而笑脸则代表一次躲避。有趣的是,49号文件本身就躲过了MalConv,所以我们免费得到1分。

计划

棘手的部分是,找到同时影响三个模型的有效操作,或者至少影响一个模型,而不挑战其他模型。我决定专注于有望同时影响三个模型的攻击。

附加数据(Overlay)

如上所述,PE文件可以附加任意内容。这些额外的字节被称为Overlay,当Windows执行文件时,它们不会被加载到内存中。因此,在这里添加字节不会改变恶意软件的功能。

冗余空间(Slack Space)

除了Overlay之外,每个section的末尾还有空间来添加额外的字节。PE section需要与2的幂次方的内存空间对齐。当实际内容没有填满整个空间时,该section将被Slack Space填充。这部分内存不会被可执行文件访问,所以我们也可以自由地改变它。

新的section

我们不仅可以向现有section添加字节,也可以创建新的section。新的section不会破坏文件的功能,因为现有代码没有引用它们。这给了我们足够的空间来添加任何我们想要的任何内容。

重点关注的特征

因为MalConv模型将所有内容都视为字节(不考虑上下文),所以,我们只需要专注于它们归因良性文件的模式,以压倒它们的决定。然而,Ember特征的结构要求我们仔细思考可能会阻碍它的细节。

我们可以操作的最明显的特征是字节直方图和字节熵。字节直方图只计算文件中每个字节值的归一化频率。因为我们可以添加包含任何内容的section,所以可以很简单将字节分布强制改为按任何目标的分布。

我们也可以很好地控制Section Info特征。我们可以利用slack space来改变section的熵。我们还可以更改section的名称,使得我们在Ember的决策树中可以删除不同的分支。

最后,处理字符串特征也非常容易。同样也是因为我们可以添加包含任何内容的新section,所以我们可以自由更改字符串的统计数据。

开始攻击!

我的计划是从简单开始并根据需要增加复杂性。增加新的section似乎是最有希望的攻击途径,因为它使我们能够对Ember的功能以及文件的原始字节进行更大的更改。

我在每个部分添加之后重建了PE,以便lief为我处理所有的寻址,也可以手动分配地址。作为一个实验,我在每个文件中添加了一个带有100000个常量字节的新部分,并在迭代常量(0-255)时监视逃逸率。几个不同的值已成功,但值169(0xA9)导致最大的逃避:

通过向每个文件添加一个填充100,0000xA9的部分来成功逃避。

这种简单的攻击破坏了两种神经网络检测模型。如果我们没有弄清楚非负模型中的bug,那么这个结果应该会让我们非常惊讶。照理说,单调分类器不应受这种简单添加的影响。多亏了这个bug…

Ember很好地防御这种朴素的攻击。我必须想出一个更聪明的方法来改变它的分数。

加料

接下来,我去了微软的下载页面并抓取了一份随机的良性的可执行文件。我用模型检测了文件,以确认它的评分非常低。我的计划是模仿这个文件的功能,希望能够避免对Ember的躲避。

我在文件上运行了命令行实用程序字符串。该实用程序从二进制文件中解析出所有可打印的字符串。我发现了大量的字符串似乎包含微软的最终用户许可协议(EULA)。我抓住这部分并将其保存到文本文件中。

显然,一些最常见的Windows PE文件碰巧是由微软制作的。因此,在训练恶意软件分类器时,训练集可能有一堆标记为良性的Microsoft文件。我的想法是通过将我下载的文件中的内容添加到我们的恶意软件中来利用这种可能性。Microsoft EULA之类的东西可能出现在许多良性文件中。这应该使字符串统计结果,字节分布和信息熵更像是良性文件。

我使用此攻击为每个文件添加了75个新部分(比赛有一个文件大小限制,我必须保持数量不高)。结果显示非常好

Evasion是由“字符串攻击”和“常规攻击”组合而成的。

最后一击

还剩几个文件没有逃过检测。

经过进一步分析,我发现其中一些文件被打包,但是我的操作搞乱了他们的拆包程序,因此破坏了一些功能。更糟糕的是,至少有一个文件似乎还有特定的代码来检测自己是否被操作过:

这个文件有代码检测自己是否被动过

我的第一个想法是在调试器中打开文件并修补程序集指令检查修改。不幸的是,该文件还具有反调试代码,基本的“反反调试程序”无法绕过。

这个文件也有反除虫机制感觉我就像掉进了危险的深坑,所以我决定退一步重新思考。

天无绝人之路,我发现防篡改机制只是检查加载到内存中的PE部分。所以虽然我无法添加新的部分,但我仍然可以操作叠加层!

我已经发现我的字符串攻击不够强大,无法欺骗这些文件。我需要一种不同的方法来确定应该将哪些内容添加到叠加层以逃过检测。简单就是王道,所以我编写了以下代码来系统地尝试每个字节值的行,并将它们添加到文件中,如果它们降低了Ember的分数,那么就继续,直到文件成功躲避或变得太大。

我将Ember替换为其他两个模型,并使用相同的方法添加所需的字节以避开这些模型。同样,因为我在叠加层中添加了字节,然后打包,这样,功能或防篡改检查都没有受到影响!我回去对所有文件进行了这次攻击,发现它能够很好地躲避检测。

满分!全部拿下!

结论

把这些恶意软件都伪装起来并不容易。但“幸运”的是,所有模型都存在漏洞,而且可以被利用。如果非负MalConv模型真的实施成功,我可能就无法获得满分。

找到一组可以区分良性和恶意文件的功能,同时在对抗性威胁模型下也相对安全,这可能非常具有挑战性。一个有目共睹的事实是,小细节真的很重要。

最后,希望这些安防软件也能够从我的攻击中吸取教训,再接再厉,下次别再骗!

相关报道:https://towardsdatascience.com/evading-machine-learning-malware-classifiers-ce52dabdb713

Image placeholder
find_you
未设置
  22人点赞

没有讨论,发表一下自己的看法吧

推荐文章
欧洲最大笔融资,骗过软银!印度AI公司被曝造假,自动开发背后是真人码农

大数据文摘编辑部出品AI融资有泡沫,这大家都知道。但是,这泡沫能有多大呢?一家名叫Engineer.ai的明星AI初创公司刚刚刷新了这一纪录。这家以ai作为域名的公司由两名印度创始人创建,号称可以通过

探秘ASC19:首次设置的“超级团队对抗赛”究竟是什么?

4月21日,2019ASC世界大学生超级计算机竞赛(ASC19)总决赛在大连理工大学正式拉开帷幕。根据赛程,在4月23日正式竞赛之前,所有参赛队伍的主要任务是完成竞赛系统的搭建与调试,力求在3000瓦

被美列入出口“黑名单”,华为海思凌晨发信:所有备胎芯片全转正,要科技自立

大数据文摘编辑部出品本周三,美国白宫和美国商务部双双采取行动。特朗普签署针对华为的行政令。美国商务部将华为列入管制“实体清单”,从事实上限制华为对美出售和从美采购。这些行动将禁止华为向美国市场出售技术

从300万行到50万行代码,遗留系统的微服务改造

在传统企业甚至互联网企业中往往存在大量的遗留系统,这些遗留系统大多都能够正常工作,有的可能还运行着关键业务或者持有核心数据。但是,大部分遗留系统通常经常存在技术陈旧、代码复杂、难以修改等特点。笔者曾经

准独角兽雷鸟科技出席SACC2019,讲述AI在场景互联网下的创新革命

10月31日至11月2日,由IT168旗下ITPUB企业社区平台主办的第十一届中国系统架构师大会(SACC2019)在北京召开。作为国内最具价值的技术交流盛会,也少不了今年热门的智慧大屏话题。据了解,

从MySQL到POLARDB, 三位CTO讲述迁移背后的故事!

摘要: 去年9月21日,阿里云发布了自主研发的通用云数据库POLARDB公测版,今年4月,POLARDB正式商业化。此前,POLARDB核心卖点是100%向下兼容MySQL5.6,100TB存储容量,

关于分析IT系统宕机对业务影响的10个提示

在制定灾难恢复计划时,一个非常重要的任务就是,要确定并想方设法避免潜在的威胁,同时为最坏的情况做准备。业务影响分析(BIA)提供了解决突发事件所需的信息,前提是您要事先做好万全准备。遵循详尽的业务影响

AI赌神升级!无惧bluff,6人局德扑完胜世界冠军,训练只用了8天

大数据文摘出品作者:曹培信、宁静2017年年初,BrainvsAI的德州扑克人机大战在卡耐基梅隆大学(CMU)落幕,由4名人类职业玩家组成的人类大脑不敌人工智能程序Libratus。获胜后人类还遭到了

工程师笔记:我对数据库系统云原生化的一些思考

作者|张敏(于期)阿里云智能高级技术专家划重点我眼中的云原生我认为的云原生关键能力我眼中的云原生化技术手段我对数据库云原生化的思考伴随着云原生技术越来越热门,阿里内部关于CloudNative、Ser

Onvif/RTSP海康大华网络安防摄像机网页无插件直播方案EasyNVR如何使用Excel将通道配置简单化?

进入移动互联网时代以来,企业微信公众号已成为除官网以外非常重要的宣传渠道,当3.2亿直播用户与9亿微信用户的势能累加,在微信上开启直播已成为越来越多企业的必然选择。EasyNVR核心在于摄像机的音视频

安防摄像头RTSP/Onvif协议网页无插件直播视频流媒体服务器EasyNVR之按需直播如何有效利用最大上行带宽

介绍一般情况下,直播默认的播放方式是非按需直播,但很多情况下,不少用户会选择按需直播。按需直播能够减少带宽流量和服务器性能占用,最优的提高服务器的使用效率。下面我们来系统介绍下EasyNVR中按需直播

欧盟发布2018全球企业研发费用榜单:华为超苹果跃居第5,BAT排名50开外

大数据文摘出品作者:王嘉仪、魏子敏华为的迅速增长并不是一蹴而就的,至少从近几年的研发投入上看,它比中国任何一家公司都努力。欧盟下属联合研究中心近日公布了2018年度全球企业R&D研发投资排行榜(EUI

到2025年,全球VoIP市场将达到550亿美元

基于IP的语音传输(VoIP)是当今世界许多人和企业主现代生活中不可或缺的一部分。几十年来,该技术发展迅速,延伸出了VCaaS、CCaaS、UCaaS等。然而,即使在“VoIP”已经成为常用术语的世界

黑客锁定市政系统勒索比特币,政府拒付赎金!全美最危险城市陷入瘫痪的第三周……

大数据文摘出品作者:李雷、狗小白、宋欣仪政府邮箱无法访问、所有水电费停车费无法缴纳、所有房产交易无法进行。在美国东部城市巴尔的摩市,这样的市政系统瘫痪已经持续了三周。5月初,黑客入侵并控制了美国马里兰

分片技术如何解决区块链系统的可伸缩性问题?

区块链技术的应用可能将改变组织存储数据和执行分布式事务的方式。即使在公共网络上,区块链也可以保证所有参与者都以安全、可靠和可验证的方式访问记录。但是区块链有一个非常明显的限制:可伸缩性。随着交易数量的

助力平安城市 新华三安防监控解决方案解读

大家应该都有看过警匪片,在影视片段中警察通过视频监控能够对城市的各个角落进行全局监控,并对犯罪分子进行实时追踪。为城市治安防控以及案件侦破提供了极大便利。而在现实生活中,视频监控系统也的确有着非常重要

AI+安防 聊一聊云从科技与华为的那些事儿

“尺有所短,寸有所长,物有所不足,智有所不明,数有所不逮,神有所不通。”任何的人或事物都有其长处和短处,如何做到取长补短,是每一个企业都应该关注的问题。  如今,人工智能再次爆发。这一次,不仅在技术上

Onvif/RTSP海康大华网络安防摄像机网页无插件直播方案EasyNVR中直播页面和视频列表页面的区别介绍

背景分析随着平安城市、智慧城市、雪亮工程、智能交通等各项建设的持续开展,安防逐渐得到普及,面对如此广阔的市场,对安防企业来说不仅仅是机遇更多的是挑战。现今大多数摄像头一直没能摆脱人工监控的传统监控方式

Onvif/RTSP海康大华网络安防摄像机网页无插件直播方案EasyNVR登陆用户名密码失效问题解决方案

背景分析随着互联网基础设施建设的发展,4G/5G/NB-IoT各种网络技术的大规模商用,视频随时随地可看、可控的诉求越来越多,互联网思维、架构和技术引入进传统监控行业里,成为新形势下全终端监控的基础需

安防摄像头网页无插件直播流媒体服务器EasyNVR在IE浏览器下的 pointer-events- none前端兼容性调试

背景说明由于互联网的飞速发展,传统安防摄像头的视频监控直播与互联网直播相结合是大势所趋。传统安防的直播大多在一个局域网内,在播放的客户端上也是有所限制,一般都需要OCXWeb插件进行直播。对于安防监控

RTSP-ONVIF协议安防视频监控流媒体服务解决方案EasyNVR在Windows重启时提示“进程意外终止”问题解析

什么是ONVIFOpenNetworkVideoInterfaceForum,开放型网络视频接口论坛,以公开、开放的原则共同制定开放性行业标准。是一个提供开放网络视频接口的论坛组织。ONVIF规范描述

MongoDB初学者最常用的10个命令

1.登录mongodb 以下命令可以用于登录mongodb数据库,但是需要保证用户你声明的数据库中存在对应的用户和密码 mongo--host--port-u-p--authenticationDat

制定灾备计划时要考虑的10个问题

每年的3月31日,世界各地的IT专业人士都会庆祝世界备份日,这引起了全世界对数据备份的重视,设立世界备份日的目的是通过确保实施并遵循备份计划来保护我们的数据。尽管人们已经有这方面的意识,但令人难以置信