如何分析和检测恶意软件?
分析和检测恶意软件
瞻博网络 ATP 云使用管道方法来分析和检测恶意软件。如果分析显示该文件绝对是恶意软件,则没有必要继续管道来进一步检查恶意软件。请参阅 图 1。
的瞻博网络 ATP 云管道方法示例
每种分析技术都会创建一个判定编号,该判定编号组合在一起以创建介于 0 和 10 之间的最终判定编号。判定编号是一个分数或威胁级别。数字越大,恶意软件威胁就越大。SRX 系列防火墙将此判定编号与策略设置进行比较,并允许或拒绝会话。如果会话被拒绝,则会向客户端发送重置数据包,并将数据包从服务器中删除。
缓存查找
分析文件时,会生成文件哈希,并将分析结果存储在数据库中。将文件上传到瞻博网络 ATP 云时,第一步是检查之前是否有人看过此文件。如果有,则存储的判定将返回到 SRX 系列防火墙,无需重新分析文件。除了瞻博网络 ATP 云扫描的文件外,还会存储有关常见恶意软件文件的信息,以便提供更快的响应。
缓存查找是实时执行的。所有其他技术都是离线完成的。这意味着,如果缓存查找未返回判定,则文件将发送到客户端系统,而瞻博网络 ATP 云云继续使用其余管道技术检查文件。如果后续分析返回恶意软件判定,则会标记文件和主机。
防病毒扫描
防病毒软件的优势在于可以抵御大量潜在威胁,例如病毒、特洛伊木马、蠕虫、间谍软件和 rootkit。防病毒软件的缺点是它总是落后于恶意软件。病毒是第一位的,病毒的补丁是第二位的。与零日威胁相比,防病毒软件更擅长防御熟悉的威胁和已知的恶意软件。
瞻博网络 ATP 云利用多个防病毒软件包(而不仅仅是一个)来分析文件。然后将结果输入机器学习 (ML) 算法,以克服误报和漏报。
静态分析
静态分析在不实际运行文件的情况下检查文件。基本静态分析简单快速,通常约为 30 秒。以下是静态分析检查的区域示例:
-
元数据信息 - 文件的名称、此文件的供应商或创建者,以及编译文件的原始数据。
-
使用的指令类别 - 文件是否修改了 Windows 注册表?是否触及磁盘 I/O API?。
-
文件熵 - 文件的随机性如何?恶意软件的一种常见技术是加密部分代码,然后在运行时对其进行解密。大量加密强烈表明此文件是恶意软件。
静态分析的结果被输入到机器学习算法中,以提高判定的准确性。
动态分析
检查文件所花费的大部分时间是在动态分析中。通过动态分析(通常称为 沙盒),在安全环境中执行文件时对其进行研究。在此分析期间,将设置作系统环境(通常在 VM 中),并启动工具来监视所有活动。文件将上载到此环境,并允许运行几分钟。分配的时间过后,活动记录将被下载并传递给 ML 算法以生成裁决。
由于沙盒环境缺乏人机交互(如鼠标移动),复杂的恶意软件可以检测到沙盒环境。瞻博网络 ATP 云使用多种 欺骗技术 来诱骗恶意软件,使其确定这是一个真实的用户环境。例如,瞻博网络 ATP 云可以:
-
生成真实的用户交互模式,例如鼠标移动、模拟击键以及安装和启动常用软件包。
-
在客户端中创建虚假的高价值目标,例如存储的凭据、用户文件和具有互联网访问权限的现实网络。
-
在作系统中创建易受攻击的区域。
欺骗技术本身可以大大提高检测率,同时减少误报。它们还提高了运行文件的沙盒的检测率,因为它们让恶意软件执行更多活动。文件运行的次数越多,获得的数据就越多,以检测它是否为恶意软件。
ML 算法
瞻博网络 ATP 云使用自己专有的机器学习实施来协助进行分析。机器学习可识别模式并关联信息,以改进文件分析。机器学习算法使用来自数千个恶意软件样本和数千个好软件样本的特征进行编程。它了解恶意软件的构成,并定期重新编程,以随着威胁的发展变得更智能。
威胁级别
瞻博网络 ATP 云会分配一个介于 0-10 之间的数字,用于表示扫描的恶意软件文件的威胁级别和受感染主机的威胁级别。请参阅 表 1。
| 威胁级别 |
定义 |
|---|---|
| 0 |
干净;无需执行任何作。 |
| 1 - 3 |
低威胁级别。 |
| 4 - 6 |
中等威胁级别。 |
| 7 -10 |
高威胁级别。 |
有关威胁级别的详细信息,请参阅瞻博网络 ATP 云 Web UI 联机帮助。