← 返回蜂巢洞察

人工智能如何改变恶意软件检测方式:从传统的杀毒技术到下一代防护机制

过去,恶意软件的结构通常非常简单:病毒会附着在某个文件上,而杀毒软件则会将其清除。 但那种情况已经一去不复返了。如今,一次攻击就能窃取你的密码、锁定你的照片、监视你输入的内容,甚至隐藏在你信任的软件之中。 更严重的问题在于恶意软件的数量。根据 AV-TEST研究所的数据,每天都有超过450,000种新的恶意程序出现 。没有任何安全团队能够手动检查这么多文件,因此这项工作不得不交给机器来完成,而杀毒软件的决策机制也随之发生了变化。 在这篇文章中,我们将探讨签名扫描技术的工作原理,以及为什么这种技术会逐渐失效;同时也会介绍机器学习为反病毒防护带来了哪些帮助,行为分析是如何在恶意软件运行过程中将其捕

过去,恶意软件的结构通常非常简单:病毒会附着在某个文件上,而杀毒软件则会将其清除。

但那种情况已经一去不复返了。如今,一次攻击就能窃取你的密码、锁定你的照片、监视你输入的内容,甚至隐藏在你信任的软件之中。

更严重的问题在于恶意软件的数量。根据AV-TEST研究所的数据,每天都有超过450,000种新的恶意程序出现。没有任何安全团队能够手动检查这么多文件,因此这项工作不得不交给机器来完成,而杀毒软件的决策机制也随之发生了变化。

在这篇文章中,我们将探讨签名扫描技术的工作原理,以及为什么这种技术会逐渐失效;同时也会介绍机器学习为反病毒防护带来了哪些帮助,行为分析是如何在恶意软件运行过程中将其捕获的,云技术又是如何让每一台设备都成为“传感器”的,还有人工智能在哪些方面仍然会犯错。

我们将涵盖以下内容:

签名扫描技术有效,直到恶意软件学会了变通

早期的杀毒软件都是依靠签名识别来检测恶意文件的。所谓“签名”,其实就是从已知的恶意文件中提取出来的一种特征代码,有点像指纹。

研究人员会找出某种恶意软件的特征代码,并将其添加到数据库中。当你的杀毒软件下载这个数据库后,就会将其中的内容与你硬盘上的所有文件进行比对;如果匹配成功,那么该文件就会被立即阻止。

这种检测方法速度快、成本低,而且也容易让人信任。但它也存在一个严重的缺陷:

攻击者只需对恶意文件稍作修改——比如更改文件名、添加一些无关内容,或者改变代码的压缩方式——这些变化就会导致原来的特征代码不再匹配,从而让旧的杀毒签名失效。

这就产生了一个漏洞。新的威胁会在人们花费数小时甚至数天的时间来编写相应的防御代码之前就开始传播开来。如今,攻击者会故意制造出同一程序的数千种变体,因此针对每一个变体都编写相应的防御代码,实际上是一场注定失败的比赛。

签名仍然值得保留。它们能在几毫秒内检测出已知的威胁,但它们不可能成为保护你免受攻击的唯一手段。

为什么如今的恶意软件如此难以被发现

现代恶意软件会竭力让自己看起来毫无威胁性。

它可能会在数天内保持静止状态,不采取任何行动;也可能以看似无害的脚本形式出现,随后再下载真正的攻击代码。有些恶意软件甚至根本不会在硬盘上生成任何文件,因此微软将这类威胁称为无文件威胁。

更糟糕的是,许多攻击都会利用你电脑上已有的工具。一旦攻击者获得了访问权限,他们就可以通过PowerShell这种常见的Windows管理工具来执行命令。LOLBAS项目记录了数百种可能被恶意利用的合法Windows程序。

其实并没有什么恶意的程序在被安装,只是这些合法的工具被用在了错误的用途上。因此,安全软件需要询问的问题也发生了变化:不再是“我之前见过这个文件吗?”而是“这个程序到底在做什么?”

机器学习为安全防护带来了什么帮助

机器学习并不会赋予软件“第六感”,但它能让软件根据现有的证据做出判断。

模型会在大量文件上接受训练,这些文件既包括安全的,也包括有害的。通过训练,模型能够了解哪些特征会出现在不同类型的文件中。它会研究文件的结构、代码的打包方式、程序会调用哪些系统函数、它会在网络上与哪些服务进行交互,以及它与其他程序是如何协作的。

当有新的恶意软件出现时,模型会根据这些特征来评估其风险。虽然模型可能从未见过这个具体的文件,但它已经熟悉过这类攻击的模式。

对于变种恶意软件来说,这一点尤为重要。攻击者往往会修改代码的表面部分,而保留其核心功能。签名识别方法很难发现这种变化,但基于行为和结构进行训练的模型却能够成功捕捉到这些差异。

观察软件的实际行为,而不仅仅是它的外观

防病毒防护方式的最大变革,就是从单纯扫描文件转变为监控程序的实际操作行为。

想象一下,某个未知程序在笔记本电脑上启动后,会在几秒钟内打开数百个文档,修改它们的内容,更改文件的扩展名,删除备份文件,然后向某个陌生的服务器发送请求。

可能根本不存在针对这个程序的签名文件,但这种行为模式很明显属于勒索软件。

微软在行为阻断与遏制技术的相关文档中介绍了这种方法。在这种机制下,机器学习模型会分析一系列连续的操作行为,而不仅仅是单个文件。虽然其中每个单独的动作看起来可能都很无害,但结合起来看,它们就能揭示出程序的真实意图。

优势在于时机把握。这类软件并不需要事先接触过特定的恶意软件,它只需要在攻击行为出现之初就察觉到其特征,从而及时将其阻止即可。

在勒索软件仍在运行时将其制止

正是勒索软件的存在,使得这一点比其他任何类型的威胁都更为重要。

对于那些已知的勒索软件变种,依赖特征识别技术就能轻松将其检测出来;但全新的变种往往能够逃过这些检测手段。而这恰恰就是制造新变种的初衷所在。

行为监控为人们提供了第二次机会。这类软件会监视多个文件夹中文件发生的快速变化、试图删除备份文件或影子副本的行为,以及那些企图关闭安全工具的进程。美国联邦政府在CISA勒索软件防范中心发布的指导建议中也强调了这些监测指标的重要性,同时还推荐使用可以实际恢复数据的离线备份机制。

一旦出现了足够的警告信号,这类软件就可以立即终止相关进程,或者将设备从网络中隔离出来。即使只能阻止部分攻击行为,也意义重大——在50个文件被加密之后才采取行动,与在5万个文件被加密之后才进行干预,其效果绝对是截然不同的。

针对普通用户的各类安全产品也在朝着这个方向发展。NordVPN提供的下一代杀毒软件能够在恶意下载内容或诈骗页面到达用户设备之前就将其拦截,这充分说明了消费者级安全工具已经超越了单纯的文件匹配检测机制,发展出了更先进的功能。

云技术让每一台设备都成为监测工具

到目前为止,所有的安全防护措施都集中在“安全软件检查什么”这一问题上:先是检查文件内容,然后分析行为特征。但另一个重要的变化在于“这些检查是在哪里进行的”。

过去,特征扫描完全是在用户的设备上完成的:杀毒软件会下载数据库,在本地对比文件内容,然后据此做出判断。

而现代的安全防护机制则采取了不同的处理方式。简单的检测任务仍然在设备上完成,因此响应速度非常快;而对于那些更复杂的分析工作,则由供应商的云服务器来承担——这些云服务器拥有的处理能力远远超过了任何一台个人电脑。

具体的操作流程如下:首先,安装在用户设备上的安全软件会记录所有与安全相关的事件,比如进程的启动、进程之间的关联关系、注册表的修改内容、出站连接信息以及文件的内容摘要。当遇到无法自行识别的情况时,它会通过加密通道将相关元数据(通常是文件的哈希值、文件的结构特征以及周围发生的活动等,而不是整个文件内容)发送给供应商的云服务器。

微软在关于云防护功能的文档中详细说明了这一流程:本地客户端会向云服务器发起请求,云服务器会根据数百万台设备上报的数据进行对比分析,并给出最终判断结果;在等待回复的过程中,本地客户端会暂时保留相关文件。

云服务器同时承担着两项任务:自动分析系统会将接收到的数据与大量其他设备的报告进行比对,并利用那些规模庞大、无法安装在个人电脑上的分析模型来生成最终的评估结果。

如果图片清晰,系统能在不到一秒钟的时间内给出判断结果,而且整个过程完全不需要人工干预。但如果图片质量不佳,案件就会移交给供应商的专业安全团队——这些分析师专门负责追踪这类异常行为。

正是这一点使得“数千台设备同时出现异常”的情况具有重要的参考价值。如果同样的可疑二进制文件或相同的异常操作流程在几小时内出现在数千家互不相关的组织中,任何一家机构都不会注意到这些异常。但后台系统能够立即识别出这种异常现象,并将其标记出来供人工进一步处理。分析师们会提取样本,在安全环境中进行测试,确认这些代码的具体功能,然后编写相应的检测规则。

这样,一个完整的检测循环就形成了。被确认为异常的案例会被用作训练数据,而这正是下一代安全模型所需要的。反馈信息会以两种方式传递:新的检测指标(如哈希值、域名和行为规则)会在几分钟内发送到所有受保护的设备上;而经过重新训练的安全模型则会在几天或几周后才会更新并推广。

无论哪种情况,下一个可能成为攻击目标的人都会因为你的设备发出的警报而得到保护,因此根本不需要等待大规模的数据下载才能采取行动。

在恶意软件降临之前就将其拦截

并非所有的威胁都是以程序的形式出现的。大多数威胁最初都只是一条信息而已。

网络钓鱼仍然是最常见的攻击手段。据APWG统计,仅在一个季度内,就发生了超过一百万次网络钓鱼攻击,而且这些伪造的网页看起来越来越难以被人们察觉。攻击者会精心模仿银行的标识、登录界面和通知内容,甚至让细心的人也难以分辨真假。

人工智能可以通过检查那些人类容易忽略的因素来帮助我们识别威胁:例如域名的创建时间、链接是否会被重定向到可疑地址,以及网页内容是否与已知的诈骗套路相符。

一旦阻止了这样的网页,攻击就会在第一步就被扼杀在萌芽状态。这样一来,既不会发生文件下载,也不需要分析任何恶意文件,更不需要进行后续的清理工作。

人工智能也会犯错

虽然人工智能带来了许多好处,但同时也存在一些问题,这些都需要我们清楚地了解。

误报是人工智能最常见的问题之一。异常行为并不一定意味着恶意攻击,而那些因为某些文件看起来可疑就将其阻止的软件,反而会让人习惯于关闭安全防护措施。

速度也是另一个需要考虑的因素。所有这些分析工作都必须在不会导致系统运行变慢的前提下完成。

此外,攻击者也在不断研究这些安全模型。NIST关于对抗性机器学习的报告指出,这些模型在训练过程中可能会被恶意篡改,或者在做出决策时被欺骗。因此,安全模型本身其实也是一个容易受到攻击的目标。

隐私问题也同样值得重视。由于采用了云分析技术,你的文件信息和连接数据确实会离开你的设备。因此,向供应商询问他们收集了哪些信息以及这些信息会保存多久,是完全合理的。

多层防护机制能有效应对任何攻击手段

这些方法中的任何一种都无法取代之前使用过的那些技术;最优秀的配置方案总是会有意地将多种方法结合在一起使用。

签名识别技术能够立即检测出已知的恶意软件;信誉检查功能可以阻止不良网站和不可信程序的运行;行为监控系统能够在可疑活动发生时立即将其捕获;而机器学习则能够有效应对那些尚未被人们命名的新型威胁。 MITRE ATT&CK框架在这里发挥了重要作用,因为它明确了攻击者的常用手段,从而使相关团队能够清楚地了解哪些安全防护措施能够针对具体的攻击步骤起到作用。 这些安全防护层次也为软件提供了必要的上下文信息:如果一个文件的运行历史一直正常,但突然开始表现出异常行为,那么就需要对其进行进一步检查;而那些已经被确认为恶意软件的文件,则根本不需要进行任何分析。

这对您意味着什么

防病毒软件已经发生了巨大的变化——如今,它们不再只是通过将文件与恶意软件列表进行比对来进行检测。 签名识别技术仍然具有重要的作用,但它们只能回答一个问题;而人工智能与行为监控技术则能够回答更关键的问题:这款软件当前正在执行什么操作?它的行为是否合乎逻辑? 归根结底,如今良好的安全防护效果并不取决于能否识别出恶意文件,而更在于能否迅速发现那些异常行为。如果您正在选择安全软件,请务必询问它是否能够实时监控系统活动,而不仅仅是扫描文件;同时还要确认它是否能够在危险网站或下载内容出现之前就将其阻止。 随着攻击手段变得越来越快速和自动化,防御措施也必须采取同样的方式来应对这些威胁;正因如此,人工智能才成为了恶意软件检测领域的核心技术。 希望您喜欢这篇文章。您可以通过在LinkedIn上与我联系。

相关文章

技术实践

如何使用JavaScript开发一款可将基于浏览器的图像故事板转换为PDF格式的工具

在任何人开始拍摄视频、制作广告或绘制漫画的最终画面之前,通常会先画出一份故事板草图:按照拍摄顺序为每一镜头绘制一幅图片,并附上简短的说明,说明该镜头中发生了什么以及持续时间有多长。 大多数人已经拥有这些图片了——它们可能是手机照片、截图、粗略的草图,或者是通过人工智能生成的图像文件,这些文件都保存在某个文件夹里。但他们所缺乏的是一种能够将这些文件快速整理成格式规范、编号整齐的文档,并将其打印出来或发送给客户的工具。 在这个教程中,你将学习如何制作这样一个基于浏览器的工具。你需要添加一组图片,为每张图片指定标题、描述和持续时间,选择合适的布局方式,预览生成的文档,然后下载可供打印的PDF文件。

阅读全文
技术实践

数据管道中的模式漂移与语义漂移

当从源数据库或数据集中删除某列时,下一次管道运行通常会失败,因此这个问题很容易被发现。但当某个字段的名称和数据类型保持不变,但其含义发生了变化(这种现象被称为“语义漂移”)时,管道仍可能正常运行,从而导致问题被忽视。 之所以会出现这种情况,是因为数据库模式仅描述了数据的结构,并没有说明这些数据的实际含义。它告诉我们哪些字段存在、它们的数据类型是什么,以及它们是否可以包含空值,但却无法说明时间戳是否使用UTC格式、持久性得分的范围应该是多少,或者空字符串与空值是否有不同的含义。 因此,大多数管道检查机制都是为了检测那些显而易见的错误,比如缺失的列或错误的数据类型,但往往无法发现那些数据表面上看似

阅读全文
技术实践

Dropbox介绍了其内部开发的Cookie审计工具是如何在200多个网页平台上检测用户是否同意被收集这些数据的行为的。

Dropbox的工程师们介绍了一种基于Playwright技术的审计工具,该工具能够检测超过200个网页上的用户cookie同意设置相关行为。该工具会针对每个页面执行三项测试:针对美国用户的测试、针对欧盟用户的测试,以及检测全球隐私控制相关设置的测试。Cookie相关的规则并未被编写在代码中;此外还有一款辅助工具可以用于查找当前正在使用的URL地址。每周发布的报告会将可能存在的违规行为与误报区分开来。 作者:丹尼尔·柯蒂斯

阅读全文
技术实践

Azure Logic Apps Standard版本现已推出本地命令行工具测试版

微软发布了适用于Azure CLI的logicapp扩展程序的公开预览版。该扩展程序为Logic Apps Standard提供了本地项目创建、工作流编写、运行时生命周期管理、连接器配置管理、运行检查以及测试框架等功能,而这些功能此前都需要通过VS Code扩展程序来实现。产品团队将这一终端界面称为实现人工智能辅助开发的关键工具。 作者:Steef-Jan Wiggers

阅读全文