摘 要

通过对计算机可疑程序的相关内容和特点进行研究,将多引擎检测技术、沙箱检测技术、大数据分析技术、威胁情报和人工分析技术进行有机结合,采用“云 + 端”的设计理念,提出了一套新型的计算机可疑程序深度分析鉴定框架,并设计了合理的可疑程序鉴定流程,从而最大限度发挥多种检测技术的优势,提升可疑程序的识别与鉴定能力。

内容目录:

1 架构设计

1.1 框架架构

1.2 功能组成

1.3 工作原理

2 技术实现

2.1 多引擎分析组件

2.2 沙箱分析组件

2.3 黑白名单管理组件

2.4 威胁情报组件

2.5 样本存储管理组件

2.6 Web 查询组件

3 结 语

网络空间对抗形势日趋严峻,网络攻防已成为各国网络攻防对抗的主要战场。网络环境已由单纯互联发展到了泛在网络空间,攻击方式也由单一模式朝着复杂的高级可持续威胁攻击(Advanced Persistent Threat,APT)方向发展。通过对过去的APT攻击事件进行汇总分析发现,几乎所有的攻击事件中,攻击者在实施攻击时,为了逃避杀毒软件等现有安全产品的查杀,均会采用免杀木马或特种木马,再通过摆渡、邮件投递、欺骗下载等手段,给目标植入恶意程序。然而传统的大部分可疑程序检测手段都是基于已知程序的特征码匹配或签名的方式,由于同一类型的可疑软件特征码相同,且字符串匹配速度极快,因此这种方式以易用、高效的优势获得了业界的推崇。但由于特征码匹配的方式需要预先在数据库中针对可疑程序存储对应的特征码,因此这种方式只能检测已知的可疑程序,且一旦可疑程序对其源码进行了混淆或加密,就无法被这种方式检测。随着网络攻防技术的不断发展,传统的可疑程序检测方法已逐渐被取代,基于行为的动态检测方式成为主流。动态检测主要以虚拟环境实时监控为主,通过模拟用户运行程序时的环境,对可疑程序进行实时监测与跟踪,因具有极高的检测准确率而广受业界推崇,但也因此增加了检测过程的时间成本与系统开销。对于具有反沙箱机制的可疑程序,其会在执行过程中对系统进程进行监控,一旦发现沙箱或虚拟机进程就不再执行高威胁函数,从而躲避动态检测 。

特征码检测技术面对变种木马或者新出现的病毒,是无法发现并确认的,只有在确认该可疑程序是病毒之后,提取它的特征码并更新特征码库,才能够检测出来 ,而基于行为的动态检测方式需要对可疑程序在系统中的动作进行记录并且对所有的动作综合起来进行分析,无论是记录动作还是分析动作都会占用系统资源,同时也增加了检测的时间 ,无法满足短时间内大量样本的同时检测。因此,为了实现对网络中大量可疑程序自动、准确和快速的识别与鉴定,本文提出了一种新型的计算机可疑程序深度分析鉴定框架,其主要任务是贯彻新形势下积极防御战略思想,通过可疑程序发现,利用能力的提升,驱动构建网络空间积极防御体系,利用多引擎检测查杀技术、沙箱动态检测技术、大数据分析技术和情报分析人员的有机结合,充分挖掘网络威胁情报价值,为国家政治、外交、军事和网络空间积极防御提供技术支撑。

架构设计

1.1 框架架构

计算机可疑程序深度分析鉴定框架主要由4 个层次构成,自下而上依次是基础设施层、数据支撑层、核心能力层和终端应用层,上下层模块间包含数据流通、相辅相成、共同支撑、协同响应、逻辑架构设计等,框架如图 1所示。

图 1 计算机可疑程序深度分析鉴定框架

1.1.1 基础设施层

计算机可疑程序深度分析鉴定框架支持私有云化部署,可兼容适配云环境或服务器硬件环境,通过构建“云 + 端”立体化病毒防御体系,实现本地终端病毒在云端的有效检测、查杀,全面保障内网终端安全。

1.1.2 数据支撑层

数据支撑层提供知识库功能,包括多引擎查杀病毒库与威胁情报库,为认知和衡量恶意代码检测提供基准规则。威胁情报库持续为多引擎查杀病毒库赋能,增强云端查杀能力,提高检出率与查杀效率。

1.1.3 核心能力层

核心能力层是计算机可疑程序深度分析鉴定框架能力不断进化的核心,包括多引擎分析组件、沙箱分析组件、威胁情报组件、黑白名单管理组件和样本存储管理组件。

(1)多引擎分析组件。基于强大的样本库、全链进程行为库、多维信息溯源库,以多类型、多平台的 AI+ 启发式引擎智能调度策略为支撑,可实现云端在全网范围内实时对木马病毒及样本文件进行有效的多维检测、鉴定和查杀。

(2)沙箱分析组件。采用动态检测引擎、HASH 检测引擎、CVE 检测引擎、杀软内容检测引擎、YARA 规则检测引擎、机器学习检测与分类引擎和综合威胁研判等技术,对多引擎分析组件上报的免杀、高级恶意代码进行有效查杀和降低误报率。

(3)威胁情报组件。通过本地化部署为沙箱分析组件提供安全威胁情报支撑能力,为安全分析人员提供安全威胁情报分析、管理及运营工具。

(4)黑白名单管理组件。提供全网黑白名单存储管理服务,接收沙箱分析组件、多引擎分析组件、威胁情报分析组件上报的黑白文件MD5、MD5+SHA1等哈希值并对外提供赋能服务,可供其他平台进行调用。

(5)样本存储管理组件。针对用户上报文件、正常文件和恶意样本等进行存储管理。

1.1.4 终端应用层

在全网部署终端病毒防护客户端,系统采用 B/S(网页)+C/S(客户端)设计,具备设备分组管理、策略制定下发、全网健康状况监测、统一杀毒、统一漏洞修复、非法外联、终端准入、桌面管控以及各种报表和查询等能力。恶意代码查杀模块将统一调用多引擎分析组件以及沙箱分析组件进行检测,进而解决本地管理中心病毒库资源有限、误报、查杀效率低等问题。

1.1.5 安全运营

计算机可疑程序深度分析鉴定框架需要进行日常安全运维,包括定期的安全评估、检查配置是否满足安全防护的需求,定期检查运行状态和漏洞情况,及时修补漏洞,对新上线的功能模块进行安全评估、代码审计,并在上线后定期进行安全测试。

1.1.6 可疑程序研究分析服务

依托国际领先的威胁情报和攻防实战能力,提供专业的人工可疑程序研究分析服务,包括已知威胁与未知威胁。通过人工智能结合大数据知识以及攻击者的“多维度”特征,还原攻击者的全貌,包括程序形态、不同编码风格和不同攻击原理的同源木马程序、恶意服务器等,通过全貌特征跟踪攻击者,持续发现未知威胁。

1.2 功能组成

计算机可疑程序深度分析鉴定框架的核心部分主要由多引擎分析组件、沙箱分析组件、黑白名单管理组件、威胁情报组件、样本存储管理组件和 Web 查询组件 6 个组件组成,功能组成如图 2 所示。

图 2 系统组成

(1)多引擎分析组件。主要用于样本分析和鉴定,共包含 10 个引擎,分别为云查杀引擎、鲲鹏引擎、AVE 引擎、QVM 引擎、QEX 引擎、YARA 引擎、大蜘蛛引擎、Avast 引擎、Clamav引擎和 F-Secure 引擎。

(2)沙箱分析组件。采用杀软内容检测、动态行为检测、CVE 检测、YARA 规则检测、HASH 检测、机器学习检测与分类和综合威胁研判等技术,对高级网络攻击中广泛采用的钓鱼邮件、高级木马等恶意样本文件进行深度检测分析,可获取样本的基础信息和行为信息等,从而挖掘其中存在的或潜在的可疑行为,并通过屏幕截图和威胁行为捕获的方式记录样本威胁行为,在线查看样本检测报告,方便安全分析人员进行快速分析和调查取证。另外,组件提供丰富的数据接口,可向其他平台提供检测结果,既降低了安全分析压力,又能提升恶意文件的检测能力。

(3)黑白名单管理组件。主要提供全网黑白名单存储管理服务,接收多引擎分析组件和沙箱分析组件上报的黑白文件哈希值,并可对其他平台提供赋能服务,通过对特定的样本 / 网址进行黑白级别预置,可形成自主运营的黑白名单库。组件包括黑白名单查询统计和黑白名单管理。

(4)威胁情报组件。主要包括失陷检测(IOC)类情报、IP 信誉情报、域名信誉情报等,为沙箱分析组件提供本地化 API 查询接口(机读数据)。组件包括威胁情报服务、威胁情报管理和威胁情报统计展示。

(5)样本存储管理组件。主要用于存储正常文件、恶意样本文件、用户上报的文件、多引擎分析组件和沙箱分析组件分析后的文件,可进行分类存储并提供检索服务。组件包括样本分类存储和样本存储管理。

(6)Web 查询组件。主要提供可疑程序和病毒的在线查询及分析服务。组件包括可疑程序查询和病毒查询。

1.3 工作原理

计算机可疑程序深度分析鉴定框架的工作原理如图 3 所示。

图 3 工作原理

(1)客户端获取待鉴定文件特征值上传到框架中。

(2)由多引擎分析组件调用黑白名单库进行比对查找,若命中则向客户端返回鉴定结果;若无法鉴定黑白属性则向客户端下发上传可疑文件样本命令,客户端将样本上报到多引擎组件。

(3)多引擎分析组件调用云查杀引擎、QVM引擎、鲲鹏引擎、AVE引擎、QEX引擎、Clamav引擎、YARA 引擎、大蜘蛛引擎、Avast 引擎和 F-Secure引擎对可疑样本进行分析鉴定。若多引擎鉴定样本为恶意程序,则向终端下发查询结果,同时将该文件直接加入黑白名单库,并进行存储管理。

(4)当多引擎分析组件无法判断样本属性时,则将该样本作为可疑文件上传到沙箱分析组件,通过虚拟化沙箱运行,使用动态行为检测引擎、YARA 规则检测引擎、机器学习检测引擎和机器学习分类引擎进行深度检测,识别免杀和高级恶意代码,并提取样本详细行为。若样本鉴定为恶意程序,则向终端下发查询结果,同时将该文件直接加入黑白名单库,并进行存储管理。

(5)当沙箱分析组件检测结果不确定时,则将其转为人工分析处理,并再次形成分析结果。若鉴定为白文件则添加至白名单库,若鉴定为病毒或威胁文件则添加至黑名单库中,鉴定结果仍不可判定的灰文件则存于文件存储服务器中的灰名单文件夹中,等待下一次的分析研判。

技术实现

2.1 多引擎分析组件

多引擎分析组件为计算机可疑程序深度分析鉴定框架的核心组件,引擎部分包括云查杀引擎、QVM 引擎、鲲鹏引擎、AVE 引擎、QEX引擎、Clamav 引擎、YARA 引擎、大蜘蛛引擎、Avast 引擎和 F-Secure 引擎,管理部分包括引擎调度功能、引擎配置管理功能和综合研判功能。整个多引擎分析组件提供综合置信结果和各引擎扫描报告,包括判断结果和威胁类型等。当组件中≥ 5 种引擎鉴定为黑文件时,则判定该样本为恶意样本,并向终端下发查询结果;当无法判定文件属性时,则将文件传入沙箱分析组件。另外,组件设置了引擎关闭功能,引擎被关闭后不加入综合置信,技术实现原理如图 4所示。

图 4 多引擎分析组件技术实现原理

2.2 沙箱分析组件

沙箱分析组件主要依托深度检测和综合威胁研判这两个部分对样本进行检测。通过在安全隔离虚拟环境中运行待分析样本,从而检测样本的异常行为,进行综合置信度的判定。组件支持批量文件的分析,文件类型包括 Windows平台和 Linux 下的可执行文件、脚本文件等。

2.2.1 深度检测

(1)动态行为检测引擎。动态行为检测引擎是本组件的核心检测引擎之一,也是检测免杀木马、高级木马和变种勒索软件的主要技术手段。该引擎通过在虚拟化环境模拟运行病毒文件,捕获文件的所有执行行为,并结合内置的行为判定规则识别恶意文件,同时给出判定依据和样本的原始行为,以便分析取证,技术实现原理如图 5 所示。

图 5 动态行为检测技术实现

(2)HASH 检测引擎模块。每个文件通过计算后都可得到唯一的 HASH 值。HASH 检测利用这一特性,将待检测文件的 HASH 与威胁情报组件中的黑白 HASH 进行比较,快速识别正常的白文件和已知的恶意文件。其中,白名单中的文件可跳过后续的检测,从而加快检测效率并提升检测效果的准确性,技术实现原理如图 6 所示。

图 6 HASH 检测技术实现

(3)杀软内容检测引擎。组件集成了杀软内容检测引擎,该引擎采用特征匹配方式,可对已知的恶意文件进行进一步的检测识别。内容检测引擎具备 500 万 + 内容检测规则,可检测 2.77 亿 +已知威胁,包括后门程序和木马生成器等。

(4)CVE 检测引擎。CVE 检测引擎采用特征匹配方式,可对已知的恶意文件进行深度检测识别。CVE 检测引擎主要利用 Shellcode 特征、CVE 利用特征,识别利用已知 CVE 漏洞的恶意代码,技术实现原理如图 7 所示。

图 7 CVE 检测技术实现

(5)YARA 检测引擎。YARA 的开发目的是作为协助安全研究员分类与识别恶意程序的开源工具,基于二进制和文本模式来创建恶意程序描述语言。YARA 规则可与运行中的程序或者文件进行字符匹配,用以辅助安全研究人员判断该程序是否属于已标记的恶意程序家族。本引擎主要是通过内置 YARA 规则库和用户自定义 YARA 规则的方式,精准识别恶意文件,可自定义 YARA 规则,不断增强该引擎的检测能力,技术实现原理如图 8 所示。

图 8 YARA 检测技术实现

(6)机器学习检测与分类引擎。机器学习算法得以分类识别事物的核心在于“特征”,即分析原始数据并提取能反映原始对象特征的数据 。因此,机器学习检测与分类引擎通过预置高检出率的机器学习算法模型,预测文件的恶意程度,分为训练和检测两个阶段。在训练阶段中,主要将已分类的正常样本集合和恶意样本放在虚拟化环境中执行,抽取样本的向量特征 f(如图 9 中 fMN 表示第 N 个样本的第 M 个向量特征),不断进行训练学习,从而建立一个预测模型。然后,再将一些对应的测试样本放入预测模型持续调优,直到预测模型准确率能够达到最高的稳定数值。此时,这个预测模型就可以应用于对未知的样本进行判断分类。目前,组件已内置 3 个 PE 类文件预测模型、1 个 Office 预测模型和 1 个 PDF 预测模型,可将常见的容易携带特种木马的 PE 可执行文件、Office、PDF文件格式分别训练成预测模型,使检测结果更准确。机器学习训练过程如图 9所示。

图 9 机器学习训练过程

在检测阶段中,该引擎可提取待检测文件的向量特征,采用静态机器学习模型、动态机器学习模型和静态 + 动态机器学习模型,对样本的威胁程度进行预测,判定恶意威胁文件。通 过 样 本 多 分 类 模 型, 从 释 放 器、 木 马、 蠕虫、后门、广告 5 种能力模型维度,判定文件样本的威胁性质,机器学习检测过程如图 10所示。

图 10 机器学习检测过程

2.2.2 综合威胁研判

组件可对恶意代码进行深度分析,提取恶意代码基本信息、签名,捕获恶意代码的详细行为,包括文件行为、进程行为、网络行为、注册表行为、接口调用行为等,提取释放物、Shellcode 和通信数据包等,提供运行截图,可快速实现对恶意代码的复核和调查取证,也可从行为中提取威胁情报,丰富威胁情报库。组件通过多种检测引擎的输出结果,对文件威胁进行综合研判(如图 11 所示),并对恶意样本进行分类,最终分为高、中、低、正常的威胁等级,辅助用户决策。基于文件威胁的检测结果,组件还提供了威胁详细报告和原始日志报告辅助人工研判。

图 11 综合威胁研判流程

2.3 黑白名单管理组件

黑白名单管理组件提供黑白名单库管理功能,是支撑计算机可疑程序深度分析鉴定框架第一步的核心组件。其中,白名单是经过权威专业机构鉴定并确认为无危险的样本,包括正版操作系统程序、系统文件、驱动文件和官方认证的安全软件等;黑名单是已经鉴定为恶意的样本,包括从云端、第三方开源社区等数据源收集的病毒样本、恶意程序和终端上报的确认为病毒的样本。通过将框架对样本的检测结果增量扩充至黑白名单库中,可减轻框架收集和分析样本的压力。

2.3.1 黑白名单查询统计

黑白名单查询统计主要提供黑白名单查询功能,可将查询结果进行统计展示。

2.3.2 黑白名单管理

黑白名单管理主要提供黑白名单的插入、删除和更新等功能。同时,为了避免内网出现误杀和漏杀等情况,组件具备自定义文件黑白名单功能,可以针对全网批量添加或导入文件名、文件哈希名单的方式,解决误杀问题,并能够在病毒库未及时更新时,仍对特种木马等问题进行有效查杀。

2.3.3 服务接口

服务接口主要提供对外的黑白名单查询接口,能够为多引擎分析组件和沙箱分析组件提供数据支撑。

2.4 威胁情报组件

2.4.1 白名单情报

白名单情报包括域名信息和 IP 地址信息等类“白名单”的数据信息。使用多源情报时,在提升检出率的情况下,可能会引入更多的误报。因此,需要有一个比较完整、合理的白名单来控制误报,并对比发现多个情报来源中哪些存在较大量的误报情况。

2.4.2 失陷检测情报

失陷检测情报(IOC 情报)通常为机器可识别的形式(机读),其作用主要是用来及时发现网络中被黑客控制的失陷主机,以保障处理的及时性。失陷检测情报覆盖的威胁类型一般包括 APT 攻击、木马后门、僵尸网络、黑客工具、挖矿木马以及勒索软件等。失陷检测情报的数据类型一般覆盖主机 IP 与端口信息、域名、URL 等多种类型,结合 DNS、HTTP 日志、TCP 会话等流量日志。

2.4.3 Sinkhole 域名

Sinkhole 域名库是安全厂商或组织为了遏制、研究网络威胁,往往会接管部分已知的恶意域名,并将其解析的 IP 地址指向自身控制的服务器。被 Sinkhole 接管的域名有很大一部分与恶意软件的远控 C2 相关,也有少部分的恶意下载、盗版等灰产相关的域名。对于恶意文件而言,域名被 Sinkhole 接管后,由于不再能和攻击者之间形成通信,因此进一步带来危害的可能性较小,微软、卡巴斯基等安全厂商使用 Sinkhole 的方法曾经遏制了多起大规模的僵尸网络事件。Sinkhole 域名情报是确定事件报警正确性、优先级的一个重要依据,同时也可以用来评判一条情报的价值高低。

2.4.4 IP 地址情报

IP 地址情报是互联网上 40 多亿 IP 对应的主机情报信息,包括阻截自动化攻击 IP、对已有攻击 IP 做优先级排序和上下文富化、基于 IP基础属性判断访问行为是否可疑、协助判定发现的攻击 IP 是否可以加入动态阻截列表等。针对这些不同的用途,需要提供关于主机 IP 的不同类型信息或情报,如地理位置、所属运营商、是否僵尸主机、是否自动攻击(扫描、DDoS、Spam等)、是否有高危攻击行为、用户类型(基站、IDC、拨号用户、网关、CDN 等)、是否匿踪(含VPN、Tor 等)等,涉及近 20 个维度的数据。

IP 地址情报既可以为“白名单库”提供可信的地址信息,供机器处理,也为安全分析人员提供了可供分析的 IP 地址关联信息。

2.5 样本存储管理组件

样本存储管理组件支持多种数据文件的存储,包括恶意样本文件、正常文件、用户上报文件、系统日志文件和沙箱分析过程中产生的数据文件等,为多引擎分析组件提供样本文件。另外,组件可按处理结果对样本进行分类存储,分别建立已知病毒文件夹、安全样本文件夹和灰样本文件夹等。

2.5.1 样本分类存储

支持对客户端采集上报的样本数据进行存储,并且可按照日期和文件哈希值进行分类存储,满足样本存储容量≥ 100 万例。

2.5.2 样本存储管理

支持分布式存储,支持样本在多台服务器中联合存储,存储系统可以根据需要横向扩展、灵活扩容。

2.6 Web 查询组件

Web 查询组件提供开放的网站,用户可将可疑文件上传到网站,组件提供鉴定检测结果,组件对上传程序进行存储、分析和处理,并记录上传用户的属性信息。网站授权用户可使用恶意代码分析研究、特种病毒分析报告发布等功能。

2.6.1 病毒查询

用户可将病毒样本和 MD5 值等信息上传到网站,如图 12 所示。组件将提供检测结果和病毒类型名称等信息,如图 13 所示。

图 12 样本提交

图 13 病毒查询结果

2.6.2 可疑程序查询

用户可将可疑程序上传到网站,组件提供可 疑 程 序 查 询 结 果。另 外, 组 件 支 持 MD5、URL 样本的快速安全性检测,支持单样本、多样本、批量样本的检测,即时返回检测结果,如图 14 所示。

图 14 可疑程序查询结果

结 语

计算机可疑程序深度分析鉴定框架融合了多引擎检测、沙箱检测、大数据分析、威胁情报和人工分析等技术,并以组件和模块的方式对其进行编排和调度,通过规范、合理的可疑程序鉴定流程,极大发挥了多种检测技术的优势,减少了网络中已知恶意程序和未知恶意程序的误报和漏报情况。同时,该框架具有完备的可持续运营能力,能够将检测结果进行存储和转化,在持续加强计算机可疑程序鉴定能力的同时,还能够为其他平台进行赋能,从而可为整个网络的安全提供保障和辅助支撑。

引用格式:冯中华 , 刘飞 , 张剑 , 等 . 计算机可疑程序深度分析鉴定框架设计与实现 [J]. 信息安全与通信保密 ,2023(4):83-95.

作者简介

冯中华,男,硕士,高级工程师,主要研究方向为网络安全;

刘 飞,男,硕士,高级工程师,主要研究方向为网络安全;

张 剑,男,硕士,高级工程师,主要研究方向为网络安全;

薛东军,男,硕士,高级工程师,主要研究方向为网络安全;

冯 庚, 男, 学 士, 工 程 师,主要研究方向为网络安全;

李佳月,女,学士,工程师,主要研究方向为网络安全。

选自《信息安全与通信保密》2023年第4期(为便于排版,已省去原文参考文献)

声明:本文来自信息安全与通信保密杂志社,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。