加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 评论 > 正文

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

发布时间:2018-12-01 14:11:01 所属栏目:评论 来源:bt0sea
导读:简介 对于攻击者来说,在收集目标数据的过程当中(基础设施扫描、踩点、传递恶意软件),很容易被安全分析师发现。机器学习在防御领域的应用不仅增加了攻击者的成本,而且极大地限制了技术的使用寿命。其实攻击者已经发现了这种趋势: 防御软件以及安全分析

简介

对于攻击者来说,在收集目标数据的过程当中(基础设施扫描、踩点、传递恶意软件),很容易被安全分析师发现。机器学习在防御领域的应用不仅增加了攻击者的成本,而且极大地限制了技术的使用寿命。其实攻击者已经发现了这种趋势:

  • 防御软件以及安全分析人员可以访问大量数据收集和分析
  • 机器学习无处不在,以加速防守成熟度。

攻击者总是处于不利地位,因为我们作为人类试图打败自动学习系统,这些系统利用每一次绕过尝试来更多的了解我们,并预测未来的绕过尝试。然而,正如我们在这里所说的,机器学习不仅仅是在防守方使用。这篇文章将探讨攻击者如何利用收集的很少的数据,使用机器学习技术击溃入侵检测系统。

传统沙箱逃逸介绍

在讨论机器学习之前,我们需要更仔细的看看我们作为攻击者是如何处理信息的。攻击者在任何给定的主机或网络上收集不到1%的可用信息,并使用少于3%的所收集信息来做出明智的决定(不要太在意百分比),攻击者需要提高他们的数据利用率。

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

文本数据也使得很难描述两个进程列表之间的差异,您将如何描述不同主机上的进程列表之间的差异?这个问题的解决方法已经存在——我们可以用数字描述一个过程列表。看上面的过程列表,我们可以得到一些简单的数值数据:

  • 有11个过程
  • 进程与用户的比率为2.75。
  • 有4个可观察的用户

通过数字描述项目,我们可以开始分析差异、排序和分类项目。让我们添加一个第二个进程列表。

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

在每一个过程中,都有一个新的描述。我们现在可以确定一个程序清单,以确定任何一个问题,而不必确切的知道这些程序是什么。我们怎么解决这个问题呢?我们的解决方案是求出每列的值,然后计算主机总数的平均值。对于每个主机总数,对于沙箱,低于平均值的值被标记为1,对于正常主机,高于平均值的值被标记为0。

如何使用机器学习逃逸

1. ML&AI介绍

机器学习中使用的数学技术试图复制人类的学习。就像人类的大脑有神经元、突触和电脉冲都是相连的;人工神经网络有节点、权重,以及所有相连的激活函数。通过重复并在每次迭代之间进行小的调整,人和人工神经网络都能够进行调整,以便更接近预期的输出。有效地,机器学习试图用数学来复制你的大脑。

在机器学习中,输入被引入到人工神经网络中。输入沿着链路权重传递到节点,并在节点中传递到激活函数。激活函数的输出确定节点是否被激活。通过迭代的检查相对于目标值的输出,可以调整链路权重以减少误差。

人工神经网络(ANNs)可以具有任意的大小。本文讨论的网络有3个输入、3个隐藏层和一个输出。关于更大的ANN,需要注意的一点是每个节点之间的连接数量。每个连接表示我们可以执行的附加计算,这既提高了网络的效率,也提高了网络的精度。此外,随着ANN大小的增加,数学不会改变,只有计算的数量。

2. 数据收集&数据处理

收集过程列表的数据集相对容易。要从沙箱或远程系统获取进程列表,宏需要收集并发布进程列表以进行收集和处理。对于处理,需要对数据集进行解析。需要计算并保存进程计数、进程对用户比率和唯一进程计数。最后,数据集中的每个项需要正确地用0或1标记。或者,宏可以从进程列表中收集数值数据并将结果发回。选择你自己的冒险方式。为了操作目的,我们更喜欢有原始清单。

我们需要对流程列表数据集进行一次转换。前面我们比较了每个过程列表的总和与每个过程列表总和的平均值。以这种方式使用平均值是有问题的,因为非常大或非常小的过程列表结果可以显著地调整平均值。重大的转变将重新分类潜在的大量主机,引入波动性的预测。为了帮助这一点,我们缩放(归一化)数据集。有一些技巧可以做到这一点。我们测试了skikit-learning中的所有缩放函数,并选择了标准标量转换。这里重要的是,过大或过小的值不再对分类有如此不稳定的影响。

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

3. 创建和训练神经网络

上面的例子中使用的数据是从我们的数据集中提取出来的。有了它,我们可以开始探索机器学习如何帮助攻击者检测沙箱。在高层次上,,为了成功地训练人工神经网络,我们将迭代地:

  • 将比例数据引入人工神经网络。
  • 计算激活函数的输出。
  • 以0或1(其标签)的形式向网络提供反馈。
  • 计算输出和反馈之间的差值。
  • 更新链路权重,以尝试减少步骤4中计算的差异。

4. 武器化神经网络

是时候让人工神经网络为黑客入侵工作了。为了测试我们的概念验证, 我们编写了一个简单的宏, 它:

  • 收集进程列表
  • 计算输入 (进程计数、进程/用户计数和用户计数)
  • 将这些值发布回我们的服务器, 并通过神经网络运行它们进行预测
  • 如果神经网络预测一个正常的主机, 存储代码, 否则什么都不做。

接下来, 我们将恶意文档上传到多个在线恶意软件扫描仪 (病毒扫描程序、恶意软件分析等) 并等待。我们在非沙箱上执行了宏 (在后面后突出显示了第一个宏), 然后几分钟后, 2个不同的沙箱执行了该宏并将计算值发布回来。通过神经网络运行后返回值提供了准确的预测!

最终形成一个分类预测模型,做沙箱逃逸。

【编辑推荐】

  1. 黑客的“攻”与“受”之防火墙
  2. 黑客入侵电脑常用的5种手段,如果你电脑里有秘密,做好3件事
  3. 黑客怎么利用安卓手机去做渗透测试
  4. 黑客入门之手机WiFi定位原理
  5. 黑客向热门JavaScript库注入恶意代码 窃取Copay钱包的比特币
【责任编辑:赵宁宁 TEL:(010)68476606】
点赞 0

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读