人工智能如何改变恶意软件检测方式:从传统的杀毒技术到下一代防护机制
过去,恶意软件的结构通常非常简单:病毒会附着在某个文件上,而杀毒软件则会将其清除。 但那种情况已经一去不复返了。如今,一次攻击就能窃取你的密码、锁定你的照片、监视你输入的内容,甚至隐藏在你信任的软件之中。 更严重的问题在于恶意软件的数量。根据 AV-TEST研究所的数据,每天都有超过450,000种新的恶意程序出现 。没有任何安全团队能够手动检查这么多文件,因此这项工作不得不交给机器来完成,而杀毒软件的决策机制也随之发生了变化。 在这篇文章中,我们将探讨签名扫描技术的工作原理,以及为什么这种技术会逐渐失效;同时也会介绍机器学习为反病毒防护带来了哪些帮助,行为分析是如何在恶意软件运行过程中将其捕
过去,恶意软件的结构通常非常简单:病毒会附着在某个文件上,而杀毒软件则会将其清除。
但那种情况已经一去不复返了。如今,一次攻击就能窃取你的密码、锁定你的照片、监视你输入的内容,甚至隐藏在你信任的软件之中。
更严重的问题在于恶意软件的数量。根据AV-TEST研究所的数据,每天都有超过450,000种新的恶意程序出现。没有任何安全团队能够手动检查这么多文件,因此这项工作不得不交给机器来完成,而杀毒软件的决策机制也随之发生了变化。
在这篇文章中,我们将探讨签名扫描技术的工作原理,以及为什么这种技术会逐渐失效;同时也会介绍机器学习为反病毒防护带来了哪些帮助,行为分析是如何在恶意软件运行过程中将其捕获的,云技术又是如何让每一台设备都成为“传感器”的,还有人工智能在哪些方面仍然会犯错。
我们将涵盖以下内容:
签名扫描技术有效,直到恶意软件学会了变通
早期的杀毒软件都是依靠签名识别来检测恶意文件的。所谓“签名”,其实就是从已知的恶意文件中提取出来的一种特征代码,有点像指纹。
研究人员会找出某种恶意软件的特征代码,并将其添加到数据库中。当你的杀毒软件下载这个数据库后,就会将其中的内容与你硬盘上的所有文件进行比对;如果匹配成功,那么该文件就会被立即阻止。
这种检测方法速度快、成本低,而且也容易让人信任。但它也存在一个严重的缺陷:
攻击者只需对恶意文件稍作修改——比如更改文件名、添加一些无关内容,或者改变代码的压缩方式——这些变化就会导致原来的特征代码不再匹配,从而让旧的杀毒签名失效。
这就产生了一个漏洞。新的威胁会在人们花费数小时甚至数天的时间来编写相应的防御代码之前就开始传播开来。如今,攻击者会故意制造出同一程序的数千种变体,因此针对每一个变体都编写相应的防御代码,实际上是一场注定失败的比赛。签名仍然值得保留。它们能在几毫秒内检测出已知的威胁,但它们不可能成为保护你免受攻击的唯一手段。
为什么如今的恶意软件如此难以被发现
现代恶意软件会竭力让自己看起来毫无威胁性。
它可能会在数天内保持静止状态,不采取任何行动;也可能以看似无害的脚本形式出现,随后再下载真正的攻击代码。有些恶意软件甚至根本不会在硬盘上生成任何文件,因此微软将这类威胁称为无文件威胁。
更糟糕的是,许多攻击都会利用你电脑上已有的工具。一旦攻击者获得了访问权限,他们就可以通过PowerShell这种常见的Windows管理工具来执行命令。LOLBAS项目记录了数百种可能被恶意利用的合法Windows程序。
其实并没有什么恶意的程序在被安装,只是这些合法的工具被用在了错误的用途上。因此,安全软件需要询问的问题也发生了变化:不再是“我之前见过这个文件吗?”而是“这个程序到底在做什么?”
机器学习为安全防护带来了什么帮助
机器学习并不会赋予软件“第六感”,但它能让软件根据现有的证据做出判断。
模型会在大量文件上接受训练,这些文件既包括安全的,也包括有害的。通过训练,模型能够了解哪些特征会出现在不同类型的文件中。它会研究文件的结构、代码的打包方式、程序会调用哪些系统函数、它会在网络上与哪些服务进行交互,以及它与其他程序是如何协作的。
当有新的恶意软件出现时,模型会根据这些特征来评估其风险。虽然模型可能从未见过这个具体的文件,但它已经熟悉过这类攻击的模式。
对于变种恶意软件来说,这一点尤为重要。攻击者往往会修改代码的表面部分,而保留其核心功能。签名识别方法很难发现这种变化,但基于行为和结构进行训练的模型却能够成功捕捉到这些差异。
观察软件的实际行为,而不仅仅是它的外观
防病毒防护方式的最大变革,就是从单纯扫描文件转变为监控程序的实际操作行为。
想象一下,某个未知程序在笔记本电脑上启动后,会在几秒钟内打开数百个文档,修改它们的内容,更改文件的扩展名,删除备份文件,然后向某个陌生的服务器发送请求。
可能根本不存在针对这个程序的签名文件,但这种行为模式很明显属于勒索软件。
微软在行为阻断与遏制技术的相关文档中介绍了这种方法。在这种机制下,机器学习模型会分析一系列连续的操作行为,而不仅仅是单个文件。虽然其中每个单独的动作看起来可能都很无害,但结合起来看,它们就能揭示出程序的真实意图。
优势在于时机把握。这类软件并不需要事先接触过特定的恶意软件,它只需要在攻击行为出现之初就察觉到其特征,从而及时将其阻止即可。
在勒索软件仍在运行时将其制止
正是勒索软件的存在,使得这一点比其他任何类型的威胁都更为重要。
对于那些已知的勒索软件变种,依赖特征识别技术就能轻松将其检测出来;但全新的变种往往能够逃过这些检测手段。而这恰恰就是制造新变种的初衷所在。
行为监控为人们提供了第二次机会。这类软件会监视多个文件夹中文件发生的快速变化、试图删除备份文件或影子副本的行为,以及那些企图关闭安全工具的进程。美国联邦政府在CISA勒索软件防范中心发布的指导建议中也强调了这些监测指标的重要性,同时还推荐使用可以实际恢复数据的离线备份机制。
一旦出现了足够的警告信号,这类软件就可以立即终止相关进程,或者将设备从网络中隔离出来。即使只能阻止部分攻击行为,也意义重大——在50个文件被加密之后才采取行动,与在5万个文件被加密之后才进行干预,其效果绝对是截然不同的。
针对普通用户的各类安全产品也在朝着这个方向发展。NordVPN提供的下一代杀毒软件能够在恶意下载内容或诈骗页面到达用户设备之前就将其拦截,这充分说明了消费者级安全工具已经超越了单纯的文件匹配检测机制,发展出了更先进的功能。
云技术让每一台设备都成为监测工具
到目前为止,所有的安全防护措施都集中在“安全软件检查什么”这一问题上:先是检查文件内容,然后分析行为特征。但另一个重要的变化在于“这些检查是在哪里进行的”。
过去,特征扫描完全是在用户的设备上完成的:杀毒软件会下载数据库,在本地对比文件内容,然后据此做出判断。
而现代的安全防护机制则采取了不同的处理方式。简单的检测任务仍然在设备上完成,因此响应速度非常快;而对于那些更复杂的分析工作,则由供应商的云服务器来承担——这些云服务器拥有的处理能力远远超过了任何一台个人电脑。
具体的操作流程如下:首先,安装在用户设备上的安全软件会记录所有与安全相关的事件,比如进程的启动、进程之间的关联关系、注册表的修改内容、出站连接信息以及文件的内容摘要。当遇到无法自行识别的情况时,它会通过加密通道将相关元数据(通常是文件的哈希值、文件的结构特征以及周围发生的活动等,而不是整个文件内容)发送给供应商的云服务器。
微软在关于云防护功能的文档中详细说明了这一流程:本地客户端会向云服务器发起请求,云服务器会根据数百万台设备上报的数据进行对比分析,并给出最终判断结果;在等待回复的过程中,本地客户端会暂时保留相关文件。
云服务器同时承担着两项任务:自动分析系统会将接收到的数据与大量其他设备的报告进行比对,并利用那些规模庞大、无法安装在个人电脑上的分析模型来生成最终的评估结果。
如果图片清晰,系统能在不到一秒钟的时间内给出判断结果,而且整个过程完全不需要人工干预。但如果图片质量不佳,案件就会移交给供应商的专业安全团队——这些分析师专门负责追踪这类异常行为。
正是这一点使得“数千台设备同时出现异常”的情况具有重要的参考价值。如果同样的可疑二进制文件或相同的异常操作流程在几小时内出现在数千家互不相关的组织中,任何一家机构都不会注意到这些异常。但后台系统能够立即识别出这种异常现象,并将其标记出来供人工进一步处理。分析师们会提取样本,在安全环境中进行测试,确认这些代码的具体功能,然后编写相应的检测规则。
这样,一个完整的检测循环就形成了。被确认为异常的案例会被用作训练数据,而这正是下一代安全模型所需要的。反馈信息会以两种方式传递:新的检测指标(如哈希值、域名和行为规则)会在几分钟内发送到所有受保护的设备上;而经过重新训练的安全模型则会在几天或几周后才会更新并推广。
无论哪种情况,下一个可能成为攻击目标的人都会因为你的设备发出的警报而得到保护,因此根本不需要等待大规模的数据下载才能采取行动。
在恶意软件降临之前就将其拦截
并非所有的威胁都是以程序的形式出现的。大多数威胁最初都只是一条信息而已。
网络钓鱼仍然是最常见的攻击手段。据APWG统计,仅在一个季度内,就发生了超过一百万次网络钓鱼攻击,而且这些伪造的网页看起来越来越难以被人们察觉。攻击者会精心模仿银行的标识、登录界面和通知内容,甚至让细心的人也难以分辨真假。
人工智能可以通过检查那些人类容易忽略的因素来帮助我们识别威胁:例如域名的创建时间、链接是否会被重定向到可疑地址,以及网页内容是否与已知的诈骗套路相符。
一旦阻止了这样的网页,攻击就会在第一步就被扼杀在萌芽状态。这样一来,既不会发生文件下载,也不需要分析任何恶意文件,更不需要进行后续的清理工作。
人工智能也会犯错
虽然人工智能带来了许多好处,但同时也存在一些问题,这些都需要我们清楚地了解。
误报是人工智能最常见的问题之一。异常行为并不一定意味着恶意攻击,而那些因为某些文件看起来可疑就将其阻止的软件,反而会让人习惯于关闭安全防护措施。
速度也是另一个需要考虑的因素。所有这些分析工作都必须在不会导致系统运行变慢的前提下完成。
此外,攻击者也在不断研究这些安全模型。NIST关于对抗性机器学习的报告指出,这些模型在训练过程中可能会被恶意篡改,或者在做出决策时被欺骗。因此,安全模型本身其实也是一个容易受到攻击的目标。
隐私问题也同样值得重视。由于采用了云分析技术,你的文件信息和连接数据确实会离开你的设备。因此,向供应商询问他们收集了哪些信息以及这些信息会保存多久,是完全合理的。
多层防护机制能有效应对任何攻击手段
这些方法中的任何一种都无法取代之前使用过的那些技术;最优秀的配置方案总是会有意地将多种方法结合在一起使用。
签名识别技术能够立即检测出已知的恶意软件;信誉检查功能可以阻止不良网站和不可信程序的运行;行为监控系统能够在可疑活动发生时立即将其捕获;而机器学习则能够有效应对那些尚未被人们命名的新型威胁。
MITRE ATT&CK框架在这里发挥了重要作用,因为它明确了攻击者的常用手段,从而使相关团队能够清楚地了解哪些安全防护措施能够针对具体的攻击步骤起到作用。
这些安全防护层次也为软件提供了必要的上下文信息:如果一个文件的运行历史一直正常,但突然开始表现出异常行为,那么就需要对其进行进一步检查;而那些已经被确认为恶意软件的文件,则根本不需要进行任何分析。
这对您意味着什么
防病毒软件已经发生了巨大的变化——如今,它们不再只是通过将文件与恶意软件列表进行比对来进行检测。
签名识别技术仍然具有重要的作用,但它们只能回答一个问题;而人工智能与行为监控技术则能够回答更关键的问题:这款软件当前正在执行什么操作?它的行为是否合乎逻辑?
归根结底,如今良好的安全防护效果并不取决于能否识别出恶意文件,而更在于能否迅速发现那些异常行为。如果您正在选择安全软件,请务必询问它是否能够实时监控系统活动,而不仅仅是扫描文件;同时还要确认它是否能够在危险网站或下载内容出现之前就将其阻止。
随着攻击手段变得越来越快速和自动化,防御措施也必须采取同样的方式来应对这些威胁;正因如此,人工智能才成为了恶意软件检测领域的核心技术。
希望您喜欢这篇文章。您可以通过在LinkedIn上与我联系。 相关文章
Meta打造“组织第二大脑”型智能体的方法论
Meta公司阐述了如何设计人工智能代理,使其能够捕捉领域专家的逻辑思维与专业知识,而不仅仅是存储文件或检索相关信息。这一被称作“组织机构的第二大脑”的系统最初是为合规管理领域开发的,但Meta认为这种架构同样适用于安全、金融、工程和采购等领域。 作者:塞尔吉奥·德·西蒙内
阅读全文
游戏手柄API在欺骗你:一篇关于如何使用JavaScript读取控制器输入信息的实用指南
游戏手柄API是您使用过的最小的浏览器API之一。它仅有四个属性、一个函数,而且不需要任何权限请求。只需大约十五行代码,就能在屏幕上显示出一个游戏控制器的外观。 不过,这十五行代码也会“悄悄地”忽略那些出现故障的游戏控制器。 我是通过自己动手开发了一个基于浏览器的控制器测试工具才了解到这一点的。有位用户发来邮件说,尽管他在所有游戏中都发现游戏手柄的摇杆在不断漂移,但该网站却显示他的手柄是正常的。事实证明他是对的——浏览器实际上返回的是错误的数据。 这篇文章介绍了GamepadAPI中那些未在官方规范文档中提及的部分,以及这些部分是如何让我花费了大量时间进行调试的:为什么必须定期向硬件发送请求以
阅读全文
人工智能工程在实践中的应用:人工智能工程师与现场部署工程师如何利用Claude Code、Codex及Gemini来进行开发工作
METR )。 DORA )。 Stack Overflow )。 Anthropic )。 目录 先决条件 什么是AI原生SDLC? 当代码开发成本降低后,瓶颈会出现在哪里? Claude Code、Codex与Gemini CLI:同一个框架,三种不同的工具/术语体系 如何开展规划阶段的工作 如何开展设计阶段的工作 如何开展构建阶段的工作 如何开展测试阶段的工作 如何开展部署阶段的工作 如何开展维护阶段的工作 一名工程师如何负责一个五人的团队 规划阶段 设计阶段 构建阶段 测试阶段 部署阶段 维护阶段 在全面采用AI原生SDLC之前,需要检查的事项清单 结论 接下来应该探索什么 先决条件
阅读全文
了解人工智能软件开发生命周期流程——构建智能代理功能的完整指南
也许你可以理解这样的场景:本周,你用了同样的说明四次向别人解释人工智能模型的使用方法。 你反复讲解过团队是如何构建演示文稿的框架的,哪些检查步骤需要在部署之前完成,以及为什么测试数据库并不是文档中提到的那个。 每次你都要把这些内容重新写一遍,每次智能助手也能完成得不错,但每次新的会话开始时,一切都得从零开始。 而这正是 智能助手技能 所要解决的问题。 技能 实际上就是一个文件夹,其中只包含一个名为 Skill.md 的文件。智能助手在启动时会阅读其中的一行总结内容,而只有当真正需要时才会打开完整的说明文件。你只需把解释内容编写一次,将其与代码一起提交,那么团队中的每个智能助手就能访问这些信息,
阅读全文