黑客入侵与机器学习沙箱逃逸

对于攻击者来说,在收集目标数据的过程当中(基础设施扫描、踩点、传递恶意软件),很容易被安全分析师发现。机器学习在防御领域的应用不仅增加了攻击者的成本,而且极大地限制了技术的使用寿命。其实攻击者已经发现了这种趋势,· 防御软件以及安全分析人员可以访问大量数据收集和分析· 机器学习无处不在,以加速防守成熟度。攻击者总是处于不利地位,因为我们作为人类试图打败自动学习系统,这些系统利用每一次绕过尝试来更多的了解我们,并预测未来的绕过尝试。然而,正如我们在这里所说的

对于攻击者来说,在收集目标数据的过程当中(基础设施扫描、踩点、传递恶意软件),很容易被安全分析师发现。机器学习在防御领域的应用不仅增加了攻击者的成本,而且极大地限制了技术的使用寿命。其实攻击者已经发现了这种趋势,· 防御软件以及安全分析人员可以访问大量数据收集和分析· 机器学习无处不在,以加速防守成熟度。攻击者总是处于不利地位,因为我们作为人类试图打败自动学习系统,这些系统利用每一次绕过尝试来更多的了解我们,并预测未来的绕过尝试。然而,正如我们在这里所说的,机器学习不仅仅是在防守方使用。这篇文章将探讨攻击者如何利用收集的很少的数据,使用机器学习技术击溃入侵检测系统。0x01、传统沙箱逃逸介绍在讨论机器学习之前,我们需要更仔细的看看我们作为攻击者是如何处理信息的。攻击者在任何给定的主机或网络上收集不到1%的可用信息,并使用少于3%的所收集信息来做出明智的决定(不要太在意百分比),攻击者需要提高他们的数据利用率文本数据也使得很难描述两个进程列表之间的差异,您将如何描述不同主机上的进程列表之间的差异?这个问题的解决方法已经存在——我们可以用数字描述一个过程列表。看上面的过程列表,我们可以得到一些简单的数值数据:· 有11个过程· 进程与用户的比率为2.75。· 有4个可观察的用户通过数字描述项目,我们可以开始分析差异、排序和分类项目。让我们添加一个第二个进程列表。在每一个过程中,都有一个新的描述。我们现在可以确定一个程序清单,以确定任何一个问题,而不必确切的知道这些程序是什么。我们怎么解决这个问题呢?我们的解决方案是求出每列的值,然后计算主机总数的平均值。对于每个主机总数,对于沙箱,低于平均值的值被标记为1,对于正常主机,高于平均值的值被标记为0。0x02、如何使用机器学习逃逸· ML&AI介绍机器学习中使用的数学技术试图复制人类的学习。就像人类的大脑有神经米、突触和电脉冲都是相连的;人工神经网络有节点、权重,以及所有相连的激活函数。通过重复并在每次迭代之间进行小的调整,人和人工神经网络都能够进行调整,以便更接近预期的输出。有效地,机器学习试图用数学来复制你的大脑。在机器学习中,输入被引入到人工神经网络中。输入沿着链路权重传递到节点,并在节点中传递到激活函数。激活函数的输出确定节点是否被激活。通过迭代的检查相对于目标值的输出,可以调整链路权重以减少误差。人工神经网络(ANNs)可以具有任意的大小。本文讨论的网络有3个输入、3个隐藏层和一个输出。关于更大的ANN,需要注意的一点是每个节点之间的连接数量。每个连接表示我们可以执行的附加计算,这既提高了网络的效率,也提高了网络的精度。此外,随着ANN大小的增加,数学不会改变,只有计算的数量。· 数据收集&数据处理收集过程列表的数据集相对容易。要从沙箱或远程系统获取进程列表,宏需要收集并发布进程列表以进行收集和处理。对于处理,需要对数据集进行解析。需要计算并保存进程计数、进程对用户比率和唯一进程计数。最后,数据集中的每个项需要正确地用0或1标记。或者,宏可以从进程列表中收集数值数据并将结果发回。选择你自己的冒险方式。为了操作目的,我们更喜欢有原始清单。我们需要对流程列表数据集进行一次转换。前面我们比较了每个过程列表的总和与每个过程列表总和的平均值。以这种方式使用平均值是有问题的,因为非常大或非常小的过程列表结果可以显著地调整平均值。重大的转变将重新分类潜在的大量主机,引入波动性的预测。为了帮助这一点,我们缩放(归一化)数据集。有一些技巧可以做到这一点。我们测试了skikit-learning中的所有缩放函数,并选择了标准标量转换。这里重要的是,过大或过小的值不再对分类有如此不稳定的影响。· 创建和训练神经网络上面的例子中使用的数据是从我们的数据集中提取出来的。有了它,我们可以开始探索机器学习如何帮助攻击者检测沙箱。在高层次上,为了成功地训练人工神经网络,我们将迭代地:1、将比例数据引入人工神经网络。2、计算激活函数的输出。3、以0或1(其标签)的形式向网络提供反馈。4、计算输出和反馈之间的差值。5、更新链路权重,以尝试减少步骤4中计算的差异。· 武器化神经网络是时候让人工神经网络为黑客入侵工作了。为了测试我们的概念验证, 我们编写了一个简单的宏, 它:1、收集进程列表2、计算输入 (进程计数、进程/用户计数和用户计数)3、将这些值发布回我们的服务器, 并通过神经网络运行它们进行预测4、如果神经网络预测一个正常的主机, 存储代码, 否则什么都不做。接下来, 我们将恶意文档上传到多个在线恶意软件扫描仪 (病毒扫描程序、恶意软件分析等) 并等待。我们在非沙箱上执行了宏 (在后面后突出显示了第一个宏), 然后几分钟后, 2个不同的沙箱执行了该宏并将计算值发布回来。通过神经网络运行后返回值提供了准确的预测!最终形成一个分类预测模型,做沙箱逃逸。

  • 发表于 2021-04-26 07:22
  • 阅读 ( 433 )
  • 分类:互联网

0 条评论

请先 登录 后评论
孤独剑客
孤独剑客

2668 篇文章

你可能感兴趣的文章