基于日志的Windows系统安全威胁识别技术

2022-10-15 08:39魏峰
微型电脑应用 2022年9期
关键词:攻击者阳性率漫游

魏峰

(国网甘肃省电力公司电力科学研究院, 甘肃,兰州 730070)

0 引言

随着人类社会越来越依赖网络空间,网络攻击和网络威胁等网络恶意行为不断爆发,越来越多的大企业和关键信息设施相继被以APT为代表的新型网络攻击[1]侵害,针对APT攻击的网络防护技术已经成为各国信息安全领域的研究焦点。

2012年,沙特阿拉伯的石油行业遭受到了病毒Shamoon的攻击。石油巨头阿美石油公司超过3万台设备上的数据被恶意擦除。2016年,Shamoon病毒变种卷土重来,导致包括沙特阿拉伯民航总局在内的6个重要机构的计算机遭受严重破坏。2018年韩国平昌奥运会期间,主办方计算机系统遭受到了Olympic Destoryer病毒攻击,直接导致了奥运会网站的服务中断,在此次事件中,攻击者利用和模仿了多个黑客团队的特征,迷惑安全人员并误导其对攻击来源归属地的判断。据AV-test报告显示[2],仅2017年就发生了15.97万起网络安全事事件。然而,超过44%的受害公司没有部署安全运营中心(SOC)来监控内网环境[3]。专业从事网络安全服务的火眼公司报告称,入侵者被企业安全人员发现的平均时间为101天[4],72%的入侵超过1个月未被发现,28%甚至超过1年。这些现象表明大多数企业都无法及时察觉攻击者对其网络的入侵。

已有的入侵检测研究主要关注基于主机的数据上,因为攻击者经常通过利用内网主机作为跳板,获得有效的登录凭证在内网中横向渗透。因此,相较于网络层流量威胁识别,主机层日志数据为企业安全人员提供了更加全面的异常行为和安全威胁信息。从主机层日志中检查各种用户的登录行为是安全人员的重要工作,并且主机层日志也是企业SIEM系统感知网络态势的重要数据来源。因此本文决定研究两种基于异常的检测方法,基于Windows主机日志来检测内网横向渗透,着重关注于各类异常登录事件。

1 相关工作

1.1 内网漫游技术研究

攻击者在入侵企业的网络后,为了长时间不被安全人员发现并渗透更高级的目标主机,内网漫游是攻击者常常使用的策略。

(1) APT高级持续威胁

进行内网漫游的攻击者往往十分狡猾,拥有明确的动机和渗透主机目标,具备很强的入侵技术。正如前文所述,FireEye报告攻击者在企业网络中的驻留时间平均为101天。这种具有长期隐蔽性的入侵行为被称为高级持续威胁(APT),Chen等人的研究中介绍了APT具备的四个显著特征:

① 明确的攻击目标和具体的攻击目的;

② 有组织的攻击团队和资源丰富的情报库;

③ 反复尝试的长期渗透活动;

④ 隐蔽性强的攻击技术。

这些可以区分APT和普通网络入侵,能够帮助安全人员了解攻击者如何隐蔽地入侵目标网络。APT攻击通常针对特定组织或企业,对目标进行全面细致的侦查,依仗有组织的攻击团队和充足的情报资源,对目标网络进行长期且隐蔽地渗透尝试。因此,APT攻击是安全人员难以对付的劲敌,为企业网络安全带来严重威胁。

(2) 攻击生命周期

网络安全是攻击者和防御者之间的猫捉老鼠游戏,防御者长期以来被认为处于劣势地位。直到HUTCHINS E等[5]定义了攻击者杀链模型(attacker kill chain model)的概念,引导了攻击模型的发展,通过对APT进行结构化建模来帮助进行检测防御工作。Mandiant攻击生命周期[6]以稍微不同的方式刻画了网络攻击的不同阶段。与攻击者杀链的连锁阶段不同,Mandiant将网络攻击定义为生命周期[7-9],如图1所示。攻击者在最初的入侵阶段进入目标的网络环境并建立立足点。此后,攻击者绕过了位于企业网络边界的防火墙等安防设备,但内网中部署的种种监控工具仍有可能检测它们。攻击者随后采用诸如提权和内网扫描等方法来扩大其入侵范围。在内网中不断扫描出来的漏洞和对入侵环境的更深入了解使攻击者可以进行内网漫游,从而逼近高价值的信息系统或主机设备。

图1 攻击生命周期

1.2 入侵技术研究

内网漫游为攻击者提供了对目标网络的更深入访问。在大多数网络入侵中,最初都是通过鱼叉式网络钓鱼来窃取企业员工的用户账户。尽管攻击者依靠窃来的员工账户,就可以在网络中立足,但其仍远未达成其任务目标,内网漫游使攻击者能够渗透他们感兴趣的目标系统。

图2是在企业网络中检测出来的内网漫游攻击:攻击者a通过网络连接到内网员工计算机b,在文件共享服务器c中存储了攻击者要窃取的目标机密文件。机密文件可由管理员用户d访问,但不能由员工计算机b的用户访问。为了获得对这些机密文件的访问权,攻击者可以执行如图2中所示的内网漫游来完成其目标。攻击者通过内网漫游获得对管理员计算机的访问权限,之后,可以使用这些权限访问文件共享服务器上的机密文件。

图2 内网漫游示意

1.3 Windows事件日志研究

受公开数据集的数量限制,学术界对异常检测的研究倾向于基于网络特征的检测。因此,基于Windows安全事件日志的异常检测研究相当有限,仍然有学者致力于对安全事件记录进行聚类来推断模式。Basagoiti等[10]通过对四个不同域控制器的Windows安全事件日志的分析,得出不同服务器基于频繁事件的聚类表现出不同的模式。Asanger和Hutchison[11]等关注Windows登录事件,他们使用基于全局k 近邻方法的无监督异常检测。在企业网络中,当每个员工都有自己的计算机时,在多台计算机上对同一用户进行身份验证的情况是十分可疑的,同一IP地址进行不同帐户的身份验证亦是如此,这可能是攻击者在进行密码猜测攻击。

本文基于Windows事件日志来检测内网漫游入侵行为,首先收集了一个子网下全部机器的Windows事件日志,并检查全部的登录事件。我们将一台计算机到另一台计算机的登录行为用链式结构储存,并且标记了所有异常事件,尤其是返回到该链中先前找到的主机的连接。如图3所示,不同主机之间的连接会环回到先前连接过的主机,这种情况可能代表着攻击者在内网漫游或窃取有用信息后,在网络中创建持久性。企业环境中的大多数账户都会约束在预先定义好的登陆策略里,任何违背此登录策略的行为都可能代表着攻击,从Windows事件日志里可以挖掘出违背预先定义策略的登录。

图3 通过Windows登录事件推测内网漫游

2 基于聚类和统计的异常检测方法

正如Ahmed等[12]指出,由于缺乏通用的检测技术、无处不在的噪声数据、缺乏公开的数据集以及对用户合法行为的漂移现象的有效解释,为异常检测研究的开展带来了挑战。Li等[13]提出了一种基于操作安全日志的分析框架。他们认为“企业网络中的主机受公司规定和员工职能的约束,比互联网上的主机相比,企业内网中的主机往往具有规律化的行为”,因此不符合预期、违背规律的行为都有可能是异常行为。Ahmed等人提出了基于分类、聚类和统计技术的网络异常行为检测。Buczak和Guven[14]使用聚类和统计技术检测内网中横向渗透的异常行为。入侵行为的网络行为在统计上偏离了正常用户的网络行为,聚类或统计技术能够检测到这种异常偏差。

聚类方法的主要优点是可以在无监督的情况下工作,不需要预先定义什么是异常,其主要依赖三个关键假设。

(1) 偏离良性数据构造的聚类的数据被视为异常,在基于密度的聚类算法中,这种假设会将噪声视为异常。

(2) 在包含良性和异常数据点的聚类中,异常点距离最近的聚类质心更远,因此,基于距离的阈值可以将良性和异常数据分开。

(3) 当数据聚集在多个簇中时,异常点往往属于更小、更稀疏的簇。因此,良性和异常数据簇的分离十分依赖聚类簇大小、密度的参数设置。

为了应对APT攻击并检测真实网络的攻击者,Lee等[15]认为需要分析更细粒度的日志记录。因此,本文研究Windows事件日志是否可以用于检测内网安全威胁,尤其是内网漫游行为。由于内网主机端有大量的日志数据,因此本文引入基于机器学习的异常检测技术帮助处理日志。

2.1 实验数据

实验使用的日志数据分两类:良性数据和恶意数据。良性数据从单位内网的36台员工计算机中收集了60个Windows日志文件,约185万条事件记录,总共包含52种事件类型。表1中列举了出现频率最高的15种事件和与账户登录相关的事件。恶意数据从红蓝攻防演练中1台红方使用的入侵计算机中收集,含有1个Windows日志文件,约4万条事件记录。

表1 频率最高的15种事件和账户登录事件

2.2 方法设计

(1) 特征选择

本文设计了以下特征选择方法。首先将具有常量值的属性删除,因为这些属性中不包含有关记录的其他信息。具有常量值的属性包括事件日志名称和事件通道。因为本文只使用了安全事件日志,为了防止过拟合,删除了标识属性,例如EventRecordID。表2列举了经过选择后的特征。

(2) HDBSCAN聚类算法

本文使用Python语言实现HDBSCAN方法,将最小聚类大小设置为参数m,R邻域内最小样本量设置为参数s。换句话说,当一个点的R邻域包含至少s个样本,并且得到的聚类至少包含m个点,则形成一个聚类[16]。

本文使用3种方法从无监督的聚类结果分析恶意样本:① 从归类为噪声的样本类人工分析是否存在恶意样本;② 将距聚类质心的距离超过预定义阈值的样本标记恶意样本;③ 将含有少量样本的聚类标记为恶意样本。

表2 经过选择的特征

对于第二种方法,其实分析的是HDBSCAN聚类产生的离群值。这些离群样本十分异常,远离整体样本,往往自身就很有分析的价值,因此本文把离群值单独作为一类来分析[17]。

(3) 主成分分类法(PCC)

本文对训练数据采取了主成分分析,保留了数据中方差较大的主成分特征。基于此PCA模型,对数据进行拟合,剔除异常值,再对剩余样本重新拟合,由此训练的PCA模型是分类预测模型的基础,对测试集中的数据点进行预测。

为了找到最佳的距离阈值,本文在构建ROC曲线时使用不同的阈值计算TPR和FPR之间的差异。通过检查所有事件日志之间以及与标准偏差有关的最大差异的平均值,确定基于主成分的分类(PCC)的阈值。

3 实验

3.1 数据统计

本文收集的单位内网Windows日志数据集中60个日志文件含有61 349条登录事件记录,平均每台计算机约有1 000条记录,其中的60%在预处理过程中被过滤。攻防演练中红方使用入侵计算机日志中含有3 000条登录时间记录,这些记录将作为恶意样本[18-19]。图4、图5是良性样本和恶意样本中不同类型登录记录的频率。

图4 良性样本的登录记录

图5 恶意样本的登录记录

我们发现,在恶意样本和良性样本中,服务登录都是主要登录事件。恶意样本和良性样本最大的区别在于解锁计算机的登录次数。这可以解释为员工在做其他工作时锁定计算机,从而使计算机在无人值守时处于非活动状态。然而,在恶意场景中,攻击者通常利用内网计算机执行入侵活动,使用NTLM身份验证建立连接登录,这种登录方式不涉及解锁行为。在使用远程桌面协议(RDP)建立连接时,会记录类型10(远程交互)和11(缓存交互)的登录记录。登录类型3和9分别表示网络登录使用新凭据登录,这两种登录方式都涉及域帐户,而域帐户可用于内网渗透,通过注册者的IP地址或计算机名称来标识登录的位置。

3.2 实验结果

我们在训练集和测试集上进行HDBSCAN聚类实验,该算法对良性记录和恶意记录进行相互关联的评估。添加新的点可能会改变聚类,从而需要重新运行聚类算法。在本实验中,当出现一个包含约5%的可用登录记录的最小集群时,我们就将所有给出离群值评分的记录归类为恶意记录。由图6可以看出,聚类方法的ROC曲线下的平均面积为0.880,标准偏差为0.034。 离群值高于0的所有记录都被标记为恶意。

图6 两种方法的ROC曲线

HDBSCAN聚类方法的平均真阳性率为85.63%,平均假阳性率为8.29%。真阳性率和假阳性率的标准差分别为6.99%和4.65%。真阳性率最高为97.14%,最低为67.5%,假阳性率为0.31%~24.77%。有5种事件日志的FPR高于15%。

根据图6中PCC方法的平均ROC曲线,曲线下面积为0.855,可以推断在TPR为60-65%时,假阳性率会显著增加。因此,我们选择3.70倍标准差的保守阈值来降低假阳性率。不同日志之间的理想阈值差别很大,因此我们尝试了全部最高阈值以选择这个保守阈值。PCC方法的平均真阳性率为59.81%,标准差为7.54%,平均假阳性率为4.70%,标准差为3.31%。真阳性率最低为43.14%,最高为72.06%。由于采用了保守的阈值,除3种事件日志外,其余日志的假阳性率均低于10%,最低为0.00%,最高为13.95%。

图6显示了PCC方法比聚类法获得了更低TRP。然而,PCC方法的FPR的增长速度要比HDBSCAN法快很多,在较高的真阳性率(TPRs)下,PCC无法正确区分良性记录和恶意记录。因此,PCC方法的检测能力较差。

综上所述,基于HDBSCAN的聚类能够获得更高的TPR,但这必然会以更多的假阳性分类为代价。然而,由于大多数被检查事件日志的FPR小于15%,平均FPR为8.29%,HDNSCAN聚类仍然具有很强的检测性能。

4 总结

随着攻击方式的不断进化,入侵检测工作的难度越来越大。为了提高对APT攻击行为的检测,本文将检测任务部署到拥有细粒度Windows事件日志的员工计算机中,并且本文实验证明了基于单计算机的Windows安全事件日志能够用来进行异常检测。本文关注的视角是攻击者已经绕过了位于企业网络边界的防火墙等安防设备,旨在寻找一种方法检测已经在企业内网中驻留的入侵行为。入侵检测一项艰巨的任务,正如火眼公司报告所言,攻击者在受害者网络中的平均存活时间是101天[4]。本文希望提出一种性能更强的检测方法来弥补这一差距。

猜你喜欢
攻击者阳性率漫游
基于贝叶斯博弈的防御资源调配模型研究
破伤风抗毒素复温时间对破伤风抗毒素皮试阳性率的影响
视频宣教结合回授法对肺结核患者病原学阳性率的影响
Parkinson and Hypericum perforatum: a medical hypothesis
破伤风抗毒素复温时间对破伤风抗毒素皮试阳性率的影响
正面迎接批判
正面迎接批判
霹雳漫游堂
霹雳漫游堂
边走边看:漫游海底 梦想成真