前端设计除了做网站还能做什么,一个网站建设大概需要多少费用,0735郴州网,wordpress 专题全世界只有3.14 % 的人关注了爆炸吧知识转自#xff1a;大数据文摘编译#xff1a;邢畅、张睿毅、钱天培你有没有想过当黑客呢#xff1f;破解手机密码#xff0c;黑入公司系统#xff0c;甚至…控制全球电脑。打住打住#xff01;违法犯罪的念头显然不能有。再退一步讲大数据文摘编译邢畅、张睿毅、钱天培你有没有想过当黑客呢破解手机密码黑入公司系统甚至…控制全球电脑。打住打住违法犯罪的念头显然不能有。再退一步讲咱也不一定有这本事。尤其是在今天AI安防早已司空见惯想要当黑客的难度也越来越高了。有趣的是网络安全平台EndgameMRG-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.pdfEmberEmber其实是Endgame维护的一个数据集。和数据集一起发布的还有一个训练好的基准模型也称为Ember。Ember是一个lightgbm模型增强决策树的集合它根据Windows PE文件解析的几个特征训练得到。Ember特征解析的源代码在GitHub上可以找到。代码链接https://github.com/endgameinc/ember/blob/master/ember/features.py了解如何解析特征对制造攻击非常有用。提取的特征包括字节直方图字节熵Section信息名称、大小、熵、属性导入表库及入口信息导出函数一般文件信息各种文件的大小和数量文件头信息机器码、结构、链接器、版本号字符串信息文件中字符串的各种统计信息数据目录数值特征可以直接使用其他特征如p的名称可用哈希转换为数值向量。乍一看Ember似乎难以愚弄它解析的许多特征都与文件结构或者与我们无法更改的特征相关。我们必须在维持原功能的同时还要避免被检测到Ember的漏洞是攻击者可以任意控制某些特征。lightgbm模型在集成树的多个位置使用这些特征。我们可以利用模型的复杂性通过操纵特征来推动导致逃避的决策。前期准备竞赛代码附带了一个脚本用于在一个文件中运行三个模型。我修改了脚本以评估整个恶意软件目录并使用altair添加了一个有趣的可视化记分板原始恶意软件文件的初始扫描。表情符号骷髅代表模型检测到恶意软件而笑脸则代表一次躲避。有趣的是49号文件本身就躲过了MalConv所以我们免费得到1分。计划棘手的部分是找到同时影响三个模型的有效操作或者至少影响一个模型而不挑战其他模型。我决定专注于有望同时影响三个模型的攻击。附加数据Overlay如上所述PE文件可以附加任意内容。这些额外的字节被称为Overlay当Windows执行文件时它们不会被加载到内存中。因此在这里添加字节不会改变恶意软件的功能。冗余空间Slack Space除了Overlay之外每个p的末尾还有空间来添加额外的字节。PE p需要与2的幂次方的内存空间对齐。当实际内容没有填满整个空间时该p将被Slack Space填充。这部分内存不会被可执行文件访问所以我们也可以自由地改变它。新的p我们不仅可以向现有p添加字节也可以创建新的p。新的p不会破坏文件的功能因为现有代码没有引用它们。这给了我们足够的空间来添加任何我们想要的任何内容。重点关注的特征因为MalConv模型将所有内容都视为字节不考虑上下文所以我们只需要专注于它们归因良性文件的模式以压倒它们的决定。然而Ember特征的结构要求我们仔细思考可能会阻碍它的细节。我们可以操作的最明显的特征是字节直方图和字节熵。字节直方图只计算文件中每个字节值的归一化频率。因为我们可以添加包含任何内容的p所以可以很简单将字节分布强制改为按任何目标的分布。我们也可以很好地控制Section Info特征。我们可以利用slack space来改变p的熵。我们还可以更改p的名称使得我们在Ember的决策树中可以删除不同的分支。最后处理字符串特征也非常容易。同样也是因为我们可以添加包含任何内容的新p所以我们可以自由更改字符串的统计数据。开始攻击我的计划是从简单开始并根据需要增加复杂性。增加新的p似乎是最有希望的攻击途径因为它使我们能够对Ember的功能以及文件的原始字节进行更大的更改。我在每个部分添加之后重建了PE以便lief为我处理所有的寻址也可以手动分配地址。作为一个实验我在每个文件中添加了一个带有100000个常量字节的新部分并在迭代常量0-255时监视逃逸率。几个不同的值已成功但值1690xA9导致最大的逃避通过向每个文件添加一个填充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点「在看」的人都变好看了哦