专家模型(Expert Risk Score,简称ERS)是天空卫士内部威胁防护体系的重要组成部分,它以贝叶斯信念网络为基础,将天空卫士安全实验室专家的领域经验与安全事件和用户行为数据进行有机结合,实现针对特定内部威胁的推理分析,能够帮助其他安全设备做出更智能的决策,是对数据安全网关(DLP)、Web安全网关、邮件安全网关、终端安全软件等安全防护技术的有效补充。它能在大量安全事件报警和海量日志中,过滤出受威胁可能性最高的用户和设备,并给出其原因和证据,让安全管理人员能把有限的精力集中到最具威胁的目标上,有的放矢地调查处理,有效提升用户进行内部威胁处置的效率。
天空卫士内部威胁防护体系
随着网络安全对抗的不断发展,原来特点和功能相对明显的各种恶意代码,越来越呈现出功能相互融合的类僵尸网络特征,这些恶意代码既能接受远程操控、又能进行内部感染,并通过模块化实现快速迭代更新。依靠单纯的杀毒软件或入侵检测系统(IDS)已很难完全解决恶意代码对企业或组织的威胁,安全管理、运维人员仍然疲于应付内部防不胜防的恶意代码的肆虐,大量内部敏感信息存在被恶意代码盗取的威胁。专家模型(ERS)是天空卫士内部威胁防护(ITP)的一个重要组成部分,可通过行为数据分析实现对恶意代码的检测,能有效弥补杀毒软件和IDS的不足,更好地保护企业和组织内部的数据安全。下面,就如何基于网络行为数据来构建恶意代码检测的专家模型进行介绍。
类僵尸网络的恶意代码生命周期
一、检测模型因子
作为构建专家模型的基础,首先需要解决的问题是:我们能检测到什么?为了最大限度地检测到恶意代码在其生命周期各阶段的行为,我们综合采用了基于异常的检测、基于机器学习的检测和基于规则的检测三大类方法,从内部威胁管理服务器(ITM)的日志大数据中检测恶意代码的行为。
1、 基于异常的检测
基于异常的检测,就是以统计学方法为基础,首先建立用户(设备)行为的基线数据,包括其自身的行为基线和企业(部门)的整体行为基线(可通过均值、方差、标准差、分位数等指标来衡量)。以此为基础,再检测与基线数据偏离较大的异常行为。
如针对恶意代码在企业内部的横向传播行为,我们可通过用户设备对445、3389等端口发起的大量网络连接(与组织内其他用户设备数量进行异常对比)进行有效检测。所谓恶意代码的横向传播(Lateral Movement,也称侧向移动),是指感染恶意代码的用户设备针对企业或组织内部其他设备发起的漏洞利用和恶意代码传播行为,目的是实现恶意代码感染数量的快速扩张,为其背后的恶意操控者谋取最大利益。从以下示例可看到,通常企业内部正常设备通过445端口连接的其他设备数量并不会太多,但某企业内部的设备(192.168.0.228)在短时间内,针对大量目标地址发起了多达一万七千多次连接,大大超出了该企业整体行为基线,就被检测为疑似横向传播的异常行为。
基于异常检测横向传播行为
其他异常检测包括:针对恶意代码与C&C服务器连接中使用的HTTP user_agent和SSL指纹使用数量进行异常检测,针对C&C服务器地理位置进行异常检测,针对网络通信端口进行异常检测,等等。
2、 基于机器学习的检测
顾名思义,基于机器学习的检测就是采用机器学习算法和模型对恶意代码相关的行为数据进行检测。如针对当前大量被恶意代码与C&C服务器通信时采用的DGA(域名生成算法),我们采用经训练后的机器学习模型实现了较精准的检测。DGA(域名生成算法)利用特定算法来生成用作域名的伪随机字符串(伪随机意味着字符串序列看上去是随机的,但由于其结构可以预先确定,因此可以重复产生和复制),可以让恶意代码既能正常与其C&C服务器通信,又能有效避开基于黑名单列表的检测。以下是在某企业内部检测到的疑似DGA域名的例子:
基于机器学习检测DGA域名查询行为
其他通过机器学习进行的行为检测包括:针对通过DNS协议实现的隧道传输行为进行检测等。
3、 基于规则的检测
基于规则的检测,就是利用已知的恶意代码行为特征和相关知识进行检测。如通过天空卫士增强型Web安全网关(ASWG)提供的用户Web行为日志,我们能检测出用户设备是否访问了不安全的网站,是否从不安全的网站下载了可执行文件和可疑的word、pdf等文档,是否下载或发送过被ASWG中的杀毒引擎检测到的恶意代码等特征行为。
基于ASWG安全URL库和杀毒引擎检测恶意代码相关行为
还可以通过自定义规则进行检测,如针对恶意代码与C&C服务器通信时可能使用的可疑SSL证书,我们制定了根据server_name、subject、validation_status等多个特征数据进行判别的规则;针对Fast-flux域名,制定了根据dns answer、TTL、自治域等特征数据进行判别的规则等。
也能通过与威胁情报比对,发现用户设备是否进行了矿池域名查询(与挖矿行为有关),是否访问过返回自身外网IP地址的网站(常用于恶意代码确定自身运行环境),是否访问过与tor网关对应的域名(用于匿名通信)等。
二、建立贝叶斯信念网络
确定了能检测到的恶意代码相关行为,我们就可以进入构建专家模型的第二步:将行为节点分组,建立节点间的依赖关系,形成一个有向无环的贝叶斯信念网络。
为了方便理解,我们把模型称为“感染木马”模型,其节点被组织到五个大的节点组中,分别是:可疑终端、可疑服务、可疑通信、可疑内容和可疑行为。以下就是简化后的“感染木马”模型的贝叶斯信念网络图:
“感染木马”模型的贝叶斯网络图
三、确定网络节点概率
建立了贝叶斯信念网络后,第三步就需要根据网络图确定各节点的概率,这个工作的重点是在各子节点发生的不同概率组合情况下,计算受其直接影响的各个组节点的条件概率,直至计算出最终模型目标节点的概率。这些概率值中,有些可以通过数据统计的方式得出,但更多是需要结合安全专家的领域知识和经验,通过类似安全事件推理的过程来给出(例如针对可疑通信节点,用户设备既使用了DGA域名、又使用了其他用户很少使用的网络端口,那该用户设备网络通信的可疑程度有多高?),这也是我们称其为“专家模型”的重要原因。以下是网络图中“可疑SSL服务”节点的条件概率表(示例),它代表了“可疑证书”和“DGA
ServerName”两个子节点是否发生的不同组合条件下,“可疑SSL服务”这个组节点的条件概率。
确定了贝叶斯信念网络中所有节点的概率,并经验证和调优后,整个专家模型的构建过程就结束了。这个新增的专家模型由天空卫士实验室经过QA检测后,加入到天空卫士云端数据库中,供用户的内部威胁管理服务器(ITM)下载。ITM加载该模块后可对输入的检测数据执行模型计算,得出所有用户或节点遭受恶意代码威胁的最终概率(即模型分值)。下图即是某企业中“感染木马”模型检测到的高分值用户(满分10分,表示威胁程度最高):
“感染木马”模型检测出的高风险用户
在以上例子中,该用户设备(172.22.70.71)在445端口针对大量设备发起445端口连接,被检测为横向传播行为;针对fuzz.certainnner.tk域名发起大量DNS答复皆为127.0.0.1的异常查询(后续查证中结合威胁情报可知,此域名与某挖矿病毒有关);此外,该用户设备还在HTTPS网络通信协议中使用了可疑的SSL证书和类DGA的server_name,且在网络通信中使用了其他用户很少使用的可疑端口。综合这些行为数据,“感染木马”模型对该用户设备给出了9.4的高分。经安全管理人员查证,该用户设备确实感染了一款具有极强内部传染性的挖矿病毒。
专家模型(ERS)的应用范围并不局限在恶意软件的检测上,目前天空卫士内部威胁防护体系中还内置了很多针对其他内部威胁的专家模型,能检测包括离职风险、恶意窃密、外部渗透、垃圾邮件发送、研发数据泄漏等多种威胁和风险;并且天空卫士安全实验室还在持续不断地对其进行更新,将客户反馈或威胁情报交换的新风险场景及时推送给所有的ITP客户。天空卫士功能强大的ITP技术为各种安全网关(DLP、Web、邮件等)和终端安全软件提供了更智能的决策依据,可以大大提高对恶意动作的捕获率,降低误报率,帮助用户将核心数据资产的泄露事件扼杀在萌芽阶段。
作者简介
吴雪阳,北京天空卫士网络安全技术有限公司安全实验室总监,国防科技大学系统工程专业硕士,有超过15年的网络安全工作经验,现主要研究内部威胁分析和检测。