不可不知!如何利用机器学习来打击AI下的网络犯罪
数据安全曾是、也将持续成为不同组织中不断改进的重要领域。就像猫与老鼠的游戏,黑客总是致力于寻找新的方法去闯入安全系统;而同样地,安全系统会通过持续的自身升级来应对各种不同的攻击策略和工具。
大数据
随着人工智能的出现,许多工作岗位正在慢慢地被计算机或机器人所替代。这里并非指的是那些普通桌面上的防病毒软件,而是请想象一个场景:如果你拥有一个具有上千名员工的大型组织。该组织内部的所有电脑都会产生PB级别的日志,它们被存储在数据库中,用来记录各种日常活动,并且随后用来进行单独的和关联性的威胁分析。这些海量的结果就导致了我们称之为“大数据”的产生。
2012年,Gartner公司将大数据定义为:“需要新的处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。”如今,Gartner的这个3V定义仍然被广泛使用着,而且大家一致认为“这些具有海量、高增长率和多样化特征的信息资产,需要通过特定的技术和分析方法来转化为价值。”
机器学习
有了上述关于大数据的概念定义,摆在我们面前的下一步就是对它进行分析了。你可以采取不同类型分析的方式,让计算机能够针对某些特定目的接受训练。此类训练的过程就称为“机器学习”,它是由模式识别和有关计算学习理论的人工智能发展而来。
机器学习通过对算法结构的探索和研究,从而达到对数据进行预测。机器学习运用设计好的和预编程的算法来高效地完成一整套的计算任务。其中最常见的应用包括:邮件过滤、网络入侵检测、内部恶意人员涉及的数据泄漏行为、光学字符识别(OCR)、排序学习(learning to rank)和计算机视觉技术(computer vision)。
如今在许多情况下,组织的规模越是庞大,其网络安全的任务就越是艰巨。这也就是为什么多数大型机构都拥有自己的网络安全部门的原因。下面让我们来看看一些有关规模和威胁类型的统计吧。
恶意软件
恶意软件归类为:被专门设计用于中断、损坏、或获取计算机系统正常访问权限的软件。仅在2016年第三季度,某安全公司就捕获到了1800万个新生恶意软件样本,平均每天20万个。恶意软件不但在速度上持续增加,还在绕过反病毒保护的水平上不断进化着。这些都是你的公司、IT团队以及供应商所无法企及的。
勒索软件
顾名思义,此类软件就是通过锁定系统的屏幕或是用户的文件,以阻止或限制用户访问系统,直到他们支付赎金。自2016年以来,每天都有4000起勒索软件的攻击。相对于2015年的每天1000起来说,该数字增加了300%。
计算机病毒统计
威胁类型
泄漏类型
泄漏通道
安全信息和事件管理
既然我们已经认识到:各个大型组织的网络安全部门每天都需要面对来自各类恶意软件的数十亿次攻击,那么我们在安全配置方面不仅要提高在遭遇威胁时能及时警报的能力,而且还要能够识别与分类各种威胁,从而让用户充分了解他们所处的状况。
因此,我们的安全系统不能止步不前,而应该通过关联各类事件通知,以形成一条侦探式线索,从而引导用户,并向他们展示在其所处的动态系统中,各种发生情况的“清晰图像”。我们把实现此类目的的软件归类为SIEM(安全信息与事件管理)、SEM(安全事件管理)或SIM(安全信息管理)。
当然这些术语经常会被交替使用,用来在不同场景中指代这类软件。为了实现它们的高度可定制化和可训练化,下面让我们来看看机器学习是如何被运用到其中,进而打击网络犯罪的。注意,这些智能软件会用到深度学习(deep learning)之类的技术,我们会在下一节讨论到。
威胁智能感知系统
深度学习和人工神经网络(ANN)
通常说来,单独的恶意软件是“创建容易,检查难”。系统一旦能够对它予以识别,就能“学会”如何下次对它进行响应。但是,如果在原来恶意软件的基础上稍作修改,那么系统很可能就无法识别了。
而实际上,成百上千种新生的恶意软件就是在单一的原始软件的基础上重建而来。因此在这种情况下,我们需要用一个不同的策略,来有效地创建一个安全区域。在那里,人工神经网络通过参考各种案例来学会(逐步地提高性能)完成各项任务,而且一般不需增加针对特殊任务的编程。
例如,在图像识别的时候,它们通过已经手动标记为“是猫”或“不是猫”的多个例图,来学会分析和识别含有猫的其他图像。他们同时也发现大多数应用程序都难以使用基于规则编程的传统计算机算法来准确表示。
而在网络安全领域,我们可以根据系统已经能够识别出的、通用恶意软件类型的相似度水平来将各种软件判定为是否是恶意软件。当然,在人工神经网络尚未完成“培训”的情况下,是不可能一蹴而就的,而且深度学习本身就是一个相当耗时的过程。
人工神经网络(ANN)源自生物神经网络的启发,它是通过对所谓人工神经元(类似于生物大脑中的轴突)的已连接单元的集合来实现的。神经元之间的每个连接(突触)能够发送信号到另一个神经元处。接收端的(突触后的)神经元处理该信号,然后将其连接发送到它的下游神经元。
神经元通常可以用介于0和1之间的实数来表示其状态。随着学习的深入,神经元和突触的权重也会发生变化,而这正好可以体现它发往下游信号时的强度增减变化。另外,它们可以具有一个阈值,仅当聚合的信号低于(或高于)该值的时候,下行信号才会被发送。
通常情况下,神经元具有多层结构。不同的层面可以根据其不同的输入,执行不同类型的转换。信号从第一(输入)层开始,可能经过多次、多层穿越之后,来到最后(输出)一层。
单层的前馈人工神经网络,如下图所示:
单层前馈
而双层前馈人工神经网络,则如下图所示:
双层前馈
因此,我们必须将所有可获取的、有关恶意软件的信息提供给SIEM软件,让它能够同时识别出所有不同类型的恶意软件的存在,并且根据既定的智能标准来将各种达到一定程度的恶意软件进行分类。从而将整个学习过程提高到只需半人工监督、甚至是无需人工监督的先进程度。
用户行为分析
通过上述分析,我们已经了解到SIEM是如何从外部进行检测和保护的。但是在安全领域,我们还有另一个需要考虑的方面,那就是内部威胁。
现在我们来考虑一个例子:假设任何一名员工在使用VPN完成某项任务的时候,成为了网络钓鱼攻击的受害者,他的用户名和密码信息被盗取,系统正面临着数据泄露的攻击。那么对于SIM而言,只要当它查看到这些异常的个人行为、或是一系列活动,就应该能够将它们联系起来,进而指向并匹配那些不正常的、或是危险的数据泄漏与跨界转移的案例。
SIM必须带有一个已经足够先进的系统,能够理解并分析用户以及环境中的各种行为,通过关联不同的活动,以产生所谓的“攻击链”。这里的攻击链是指对整体事件“链条”的识别,它包括:谁、是什么、何处、何时、为什么、如何等关于当前事件的具体细节,并最终给出整个事件当前状态的清晰视图。
这些能够有助于让用户获知到诸如:发生了什么、什么已被确认了等方面的信息。系统所提供的这些信息是颇具价值的。它们能够帮助用户进一步反馈给人工智能诸如:时间线和影响程度,并最终让系统能够从数以百万计的普通事件中进行相应的分类,标注出上千条“异常事件”,然后判定出其中的几条为真正的“攻击事件”,进而提供出所有被ANN所确认的、包含关系图的“攻击链”。
结论
人工智能技术的各种优势可以被运用到当前的网络安全基础设施之中。当然在不久的将来,随着人工智能(AI)系统变得更为强大,我们也会看到有更多自动化的和日趋复杂的社会工程攻击的出现。各类具有AI的网络攻击势必会导致网络渗透和个人数据失窃的爆炸式增长,以及计算机病毒的智能蔓延。