卡巴斯基:人工智能在IT安全领域应用

互联网 | 编辑: 黄蔚 2010-11-06 00:00:00转载-投稿

人工智能(AI)目前所面临的只要任务是创建一个自主的具有学习能力并能够根据外界刺激进行判断从而修改自身行为模式的AI设备。目前,要创建高度专业化的系统是可能的,要创建通用以及复杂的AI系统也是可能的。但这些系统都是基于人类的经验和知识。需要人类以行为样本、规则或算法等形式提交给人工智能系统。

为什么创造一个自主的人工智能系统如此困难呢?这是因为机器不具备人类的一些能力,如意识、直觉、判断和区分重要事情以及不重要事情的能力。但最重要的是,机器不会对新知识有所渴求。所有上述这些能力,使得人类在遇到问题时可以找到解决方案,甚至解决遇到的非线性问题。为了使人工智能系统执行任务,需要由人类预先设定算法。尽管这样,人们还是在不停地尝试创建真正的人工智能系统,而且一些研究和应用似乎开始显示成功的迹象。

非自动处理的成本

在计算机上检测恶意软件,并将系统参数恢复正常一般需要三个步骤。上述规则适用于任何人或机器。第一步是收集被分析计算机的目标数据以及其所运行的程序信息。实现这一步的最佳方案是使用高度自动化的设备,让机器在没有人干预的情况下,生成机器可读的报告。

第二步则是将收集到的数据进行仔细分析。例如,如果报告中显示发现可疑对象,则该对象必须被隔离,并进行仔细分析,确定此对象对系统造成何种威胁以及应该采取什么样的措施对其进行处理。

第三步其实是处理整个问题的最关键一步,这一步要求使用一种特殊的脚本语言。其中包括用于清除恶意软件文件以及恢复计算机系统参数的命令。

几年前,来自IT安全公司以及专业安全论坛上的分析人员在从事上述的第二步和第三步处理时,几乎均未采用自动化处理分析系统。但是,随着越来越的用户成为恶意软件的牺牲者,他们迫切需要帮助,这就导致情况变得更严重。从而产生了以下问题:

在手动处理协议以及被隔离文件时,病毒分析专家需要面对海量的持续变化的信息,使得他们很难吸收和完全理解,所以导致处理过程不可能较快。

人类天生具有心理和生理局限。任何专家都可能会疲劳或犯错。所要处理的任务越复杂,犯错的几率也越高。例如,一个过度疲劳的病毒分析师很可能遗漏计算机中的恶意程序,或者相反地,将合法程序删除。

对于被隔离文件的分析是一项很费时的工作,因为分析专家需要考虑每个样本中的独特特征。即恶意程序在哪里?恶意程序是如何出现的以及恶意程序的可疑之处是什么?

上述问题只有通过全自动恶意软件分析和处理系统才能解决。但是,在经过多种不同的算法尝试后,目前还没有发现任何有效的结果。造成失败的主要原因是由于恶意软件每天都在不断变化,每天互联网上都会出现几十种采用更为复杂的嵌入技术和伪装技术的恶意软件。所以,我们所用的检测算法也需要特别复杂,更为重要的是,由于这些算法很快就变得过时,这就需要我们不断更新和调试。另一个问题是算法的有效性取决于其编写者的能力。

在病毒“捕获”方面使用人工智能专家系统似乎更为有效。专家反病毒系统开发者所面临的问题同上述问题非常类似,即其开发的系统的效率取决于其所使用的算法规则和知识库。此外,这些知识库还必须要持续进行更新,这意味着更多的人力资源投入。

网络帮手系统的基本原则

尽管困难重重,但随着时间的推移,在此领域所做的一些尝试似乎逐渐产生成果。其中就包括卡巴斯基实验室创建的网络帮手系统。该系统利用独立的AI对抗恶意软件。大部分网络帮手的自主子系统都能够进行同步,进行数据交换,从而共同协作,好像是一个整体。像大多数传统程序一样,该系统同样包含一些“硬”算法。但是,其主体均是利用模糊逻辑进行操作,从而在解决各种不同的难题时定义自己的行为模式。

网络帮手系统的核心是一个称之为AVZ的工具,由本文作者于2004年开发。它能够自动从潜在的受感染计算机上收集数据,并且以机器可读的方式储存起来,供其他子系统使用。该工具还能够可以生成HTML和XML格式的报告,供机器和人类进行分析。从2008年开始,AVZ核心程序就已经被集成于卡巴斯基实验室的反病毒解决方案中,用于对受感染的计算机进行处理。。

网络帮手系统的通用执行算法 步骤1至步骤6

该系统的执行算法共分为6个步骤。第一步,核心的AVZ程序会对受感染计算机进行反病毒扫描,将扫描结果转换成XML格式,便于其他网络帮手子系统进行分析。

当一个处理请求发出时,所有同系统相关的问题都应该得到解答和处理

系统会利用已有的海量数据对接收到的协议进行分析,这些数据包括同检测对象相似的恶意程序数据、之前在类似情况下所采取的修正措施以及其他相关因素。在这种情况下,网络帮手系统就像是一个活动的人类大脑。要处理信息前,其已经积累了大量关于周遭环境的知识。尤其当它第一次激活时。同理,为了使小孩顺利成长,必须要让他们清楚发生在自己周围的事情,这样他们才能有准备同其他人进行交流。此外,机器还有一些胜过人类的优点,例如机器在一定时间内能够储存、提取和处理的信息比人类要大得多。

示例:在没有人协助的情况下,由网络帮手编写的用于处理/隔离恶意程序的指令和脚本

网络帮手和人类另一个相似点表现在网络帮手同样可以独立地在没有提示的情况下,从事协议分析任务,并且会不断提升自己,适应不断变化的环境。在自我学习方面,网络帮手主要面临三个方面的挑战:对于人类专家所犯的错误,机器不具备足够的认知力将其解决;程序信息的不完整性和不连贯性以及数据输入时的多层精炼和延迟。下面,我们将具体分析一下这些难点。

实施的难点

人类专家在处理协议和被隔离文件时,可能会犯错,或者执行一些机器无法在逻辑上理解的行为。例如:如果一个专家看到协议中包含一个未知的文件,其具有一种名为%System32%ntos.exe的恶意软件特性。该专家就会直接将此文件删除,而不是隔离。专家根据自己的经验和直觉作出了判断,而没有进一步对其进行分析。该专家得出的结论以及执行上述行为的原因,都无法直接教授给计算机。此外,用于处理受感染文件的处理信息经常不完整或者自相矛盾。例如,在寻求专业帮助前,用户可能会自己尝试解决问题,删除恶意程序的一部分,恢复受感染文件,但是未清除注册表项目。第三类典型问题是在对协议和被隔离文件分析时,只能得到关于可疑对象的metadata,在分析过程完成后,只能得到关于可疑对象的初始信息。这时候需要对对象进行分类,分类结果只有两种,一种是该对象是恶意程序,另一种是该程序是“洁净”的。这类信息一般都是通过多次重复改进和一段时间判断得出的,判断时间可能需要几分钟,甚至数月。判断过程有可能在外部分析服务实验室做出,也可能由网络帮手子系统进行。

让我们看一个典型的示例:首先,分析器会对一个文件进行分析,没有发现该文件有任何危险行为,所以将这些信息传递给网络帮手。过一段时间后,分析器进行了升级,对该对象重新进行了检查,但这次返回的结果却同上一次结果完全相反。这种情况也可能发生在病毒分析专家身上。在处理这些程序时,也会发生有争论的程序分类。例如针对那些具有远程管理功能的程序或能够记录用户行为的程序。由于上述对于被分析程序产生结论具有易变性和不确定性,所以网络帮手在最终进行判断时,都会参考超过55个不同的独立分析案例。在每一个类型的研究和其结果的意义、重点都在随着智能系统的不断自我学习而不断变化。

网络帮手的分析器会根据现有的信息对被分析对象得出一定数量的假设,判断该对象是否对系统造成威胁,还是可以加入数据库的“安全”文件。根据这些假设,AVZ工具会自动编写用于隔离这些可疑对象的脚本。然后将脚本发送到用户计算机进行执行。(网络帮手系统的通用算法,即第二步)

在脚本生成阶段,智能系统已经判断出数据是否是恶意的。并且在脚本中包括删除恶意程序的命令,或者应该采取特殊措施,用于修复对系统造成的已知损害。上述情况经常发生,这是由于网络帮手系统会经常同时收到几百条类似的处理请求。只所以典型,是因为多个用户遭受同一种恶意软件的侵害,同时要求协助造成的。网络帮手系统从其中一个用户计算机上接收样本文件并进行分析后,即可以提供供其他用户使用的处理脚本,从而完全省略隔离环节,节省用户的时间和数据流量。通过用户接收到的对象在网络帮手的控制下被分析,不管分析结果如何,都会增加网络帮手的知识库。这样,人工智能系统就可以检查利用通用算法得出的假设(即第一步),最后进行确认或产生判断结果。

网络帮手的技术子系统

网络帮手的主要子系统都是自主的实体,用于分析程序和文件内容以及行为。这些子系统使得网络帮手能够处理恶意程序,帮助系统从分析结果中学习。如果分析结果明确表明被分析对象是恶意的,该对象就会被送往反病毒实验室,推荐加入到反病毒数据库中。同时,还会根据其特征编写一段处理脚本,供用户使用(通用算法的第五步)。需要注意的是,虽然网络帮手系统可以用来分析对象,但其并不总能确定被分析对象应该所属的类别。当这种情况发生时,就需要将所有的初始数据和结果提交病毒分析专家进行分析(第六步)。之后,专家会给出针对此恶意软件的处理方案。网络帮手并不会参与处理过程,但是仍然会学习相关的隔离和协议规则,并为专家生成报告,使得他们可以从枯燥重复的工作中解放出来。

一旦请求生成,系统会再一次向操作者显示,使得操作者可以检查所有输入的数据是否正确

同时,在人工智能执行恶意软件分析过程中,AI系统的“不干扰政策”并不是每次都执行。在处理对象过程中,人工智能系统通过自己积累的经验以及分析对象的结果,经常能发现人类专家的错误。在这种情况下,网络帮手可能会开始打断分析以及决策步骤,在拦截脚本发送给用户之前,向专家发送一条警告信息。从系统角度来看,这可能会损害用户的计算机。例如,当某个恶意程序替换掉重要的系统组件时,就会发生这样的错误。一方面,我们需要摧毁该恶意程序,但是另一方面,这样做将会给系统带来不可修复的损坏。

VirusInfo网站上的911服务,任何人都可以使用

目前,网络帮手系统被成功整合到http://virusinfo.info的反病毒门户,并且是http://virusinfo.info/911test/ 实验性911 系统的基础。在“911系统中”,网络帮手可以直接同用户进行交互,如接收协议请求、对其进行分析、编写用户初始扫描和执行隔离分析的脚本。根据其分析结果,机器可以对被感染计算机进行处理。此外,网络帮手系统还能够辅助专家发现和减少错误,对专家放入隔离区的文件进行初始扫描,在文件被添加到“安全”文件数据库之前,处理已隔离数据。网络帮手系统以及其操作规则均属于卡巴斯基实验室,并已申请专利保护。

结论

当今恶意程序在行动和传播速度上,都非常快。为了对这些恶意程序做出快速反应,能够对大量非标准性数据进行处理的智能系统显得非常必要。人工智能非常适合执行上述任务。其数据处理速度大大超越了人类思维的速度。网络帮手是少数较为成功的自主人工智能系统中的一种。网络帮手的主要优点在于其是一个智能的“生物”,能够进行自我学习,并且独立定义自己的行为。人工智能系统和病毒分析专家能够互补,他们之间的合作使得我们对恶意软件的打击变得更为有效,同时为用户提供安全保护也更为可靠。

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑