APP下载

APT检测防御系统的设计与实现

2021-12-14任艳李旭张蕾

网络安全技术与应用 2021年11期
关键词:内核进程静态

◆任艳 李旭 张蕾

APT检测防御系统的设计与实现

◆任艳 李旭 张蕾

(新疆财经大学 信息管理学院 新疆 830012)

针对目前高级持续性威胁(Advanced Persistent Threat,APT)的攻击给各大企业带来的威胁,本文提出了APT的检测防御系统的设计与实现。本文采用恶意代码检测和入侵检测相结合的模式进行设计和实现,APT检测包括传统的IPS检测、静态检测和动态检测三个部分。传统的IPS检测包括特征匹配、av检测等;静态检测包括Yara检测、暴力破解等;动态检测是APT防御系统的关键,从虚拟机的选型到检测系统的分析,本文给出了详细的说明,动态检测即通过虚拟机模拟运行来判断文件是否安全,并可以导出结果进行分析。

APT;入侵检测;动态检测;静态检测

1 绪论

高级持续性威胁(Advanced Persistent Threat,APT),是以盗取核心资料和数据为目的发起的网络侵袭行为,利用先进的复合式攻击手段经过策划对特定的目标数据进行长期持续性网络攻击的形式[1]。APT其攻击途径跟其他攻击方式相比更具有隐蔽性,是一种高级持续的攻击,具有检测难、持续时间长和攻击目标明确等特征。在发动APT攻击前,会搜索攻击对象受信系统和应用程序的漏洞以对攻击对象和目标进行精确的数据收集。因此传统基于攻击特征的入侵检测和防御方法在检测和防御APT方面效果很不理想。

2 APT检测和防御方案分类

纵观整个APT攻击过程发现,有几个步骤是APT攻击目标时实施的重点:首先就是信息的非法收集,攻击者通过将恶意代码植入私人电脑,进行单点攻破,使用网络和社会工程学收集关于系统和使用者等关键信息,通过网络流量特点、软件版本缺陷、网络端口等信息的整理并分析出系统可能存在的安全缺口。第二步,入侵目标,内部横向渗透,通过构建的控制通道获取攻击者指令,一般采用较多的诱骗手段是钓鱼网站,电子邮件病毒,以欺骗手段远程在后台运行木马程序,或者直接进行SQL注入攻击等。第三步,潜伏及敏感数据外传,攻击者成功入侵后,可能会先隐藏自身进一步寻找最佳时机。也可能直接通过跳板电脑访问目标服务器,再利用0day漏洞等方式,窃取有用信息。然后将窃取的数据重新分割成细小的碎片分时段逐步回传。第四步,清理痕迹,以窃取信息为目的APT类攻击一旦完成任务,需要对其网络中存留的各类痕迹进行销毁。根据入侵对象之前所收集的各类系统个人数据,将入侵对象访问过的机器进行还原,恢复各种系统配置及个人用户参数,清除系统及安全软件日志数据[2]。

当前的APT攻击检测和防御方案其实都是围绕这些步骤展开,根据对APT攻击发生的不同,大致分以下四类[3]:

(1)利用恶意代码检测的防御方案:此类防御方案主要应用于APT攻击过程中的单点攻击突破阶段。由于APT攻击多为利用恶意代码攻击个人电脑,以此为突破口,继而横向攻击主机所在网络的整个防御系统的。因此对恶意代码的检查和及时拦截是对APT攻击的防御前哨,至关重要。

(3)网络入侵检测类方案:此类方案主要针对APT攻击过程中的控制通道构建阶段的防御需求。根据对以往大量案例分析可知,攻击者控制通信通道的方法相似性较大,特征较单一,易被识别。因此可以采用传统的入侵检测方法来检测APT攻击中对通道的控制命令和方法的特征。此方案的重点在于及时获取并建立相关的攻击特征库。

(4)大数据分析检测类方案:此类方案主要针对网络流量以及终端和服务器上的日志文件进行特征提取和分析,发现异常数据并进一步分析其行为的合法性,而非针对APT攻击的某一特定环节进行。该方案可以通过学习海量正常数据和异常数据,并建立正常行为特征库和异常行为特征库,并利用大数据分析方法,对海量实时流量和日志数据进行深入分析。

本文是根据第1方案和第3方案制定APT攻击及防御方案的。

3 APT检测方法

APT检测分为传统的IPS检测、静态检测和动态检测。IPS进程是一个包含了各种基于特征检测相关功能及文件还原功能的进程;APT进程是一个包含了各种静态检测相关功能及文件识别和解析的进程;Vm进程是一个用于调度虚拟机进行动态检测的进程。

3.1 IPS检测

特征检测子系统包括报文重组、协议解析、特征检测、文件还原、网络异常行为检测、av检测等模块。

图1 IPS检测

进程初始化:进程启动的时候,通过从配置文件获取相关配置信息,进行进程的初始化。

配置的更新:当进程的配置发生变化时,由配置线程通过负责接收配置命令并更新本进程的相关信息。

4.落实收入分配的改革措施,促进经济社会发展更加协调。东营工业化进程的推进,最终的目标是进入到后工业社会和现代社会,这不仅意味着工业发展阶段的提升,更重要的是发展成果为社会公众所共享,市民都过上富裕文明的幸福生活。这就需要针对当前收入分配中的突出矛盾,落实十八届三中全会的精神,努力推进收入分配改革,努力做到“两个同步”。

进程的执行:进程内的业务线程循环处理报文并根据会话缓存文件,url信息,判断网络异常行为。

3.2 APT静态检测

静态检测能够对文件等对象进行类型识别、文件解析、特征匹配、模拟执行等工作。静态检测主要是基于特征匹配的。

图2 静态检测

静态检测首先会对文件类型进行识别,做解压缩等预处理。识别结果是后续检测的依据,也是动态检测的输入模块。解压缩支持zip、rar、7zip等格式,文件解析支持pdf、rtf、doc、docx、exl、swf、ppt等格式。

文件的解析是一个递归循环解析,并把解析出的片段进行模块检测的过程。Yara是基于特征的,在加壳的情况下,Yara是发挥不了威力的,PEid可以快速识别程序使用的加壳软件。分析文件的PE结构,PE文件内包含的已知的特征码,PE文件各个段,导入导出信息等。

3.3 APT动态检测

动态检测是本系统的主要模块,是判断未知文件是否恶意的有效手段,但执行效率比较低。动态检测需要选取合适的虚拟机,然后再通过虚拟机管理模块进行调度检测。

3.3.1虚拟机的选取

VMware是商业化最成功的虚拟化方案,被各大厂商应用、收费,不予考虑。

KVM[4]是基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施。KVM目前支持Intel VT及AMD-V的原生虚拟技术。

优点:1)开源;2)KVM是内核的一部分,与内核结合的最好;3)目前最火的linux平台虚拟化方案,redhat,ibm主推

缺点:图形处理方面不是很好。

Xen是一个开放源代码虚拟机监视器。可在单个计算机上运行多达128个有完全功能的操作系统。

优点:1)开源;2)可移植性强;3)独特类虚拟化支持,提供接近于物理机的性能

缺点:1)需要改内核,易用性差

VirtualBox[5]是一款开源虚拟机软件。使用者可以在VirtualBox上安装并且执行Solaris、Windows、DOS、Linux、OS/2 Warp、BSD等系统作为客户端操作系统。

优点:1)使用方便;2)图形处理突出

缺点:1)版权受限;2)没有商业案例

Linux平台下,虚拟化方案选择不多,入围的只有Xen、KVM、VBOX。性能上,Xen的类虚拟化速度接近裸机。类虚拟化只使用linux主机上运行linux虚拟机。全虚拟化环境下,Xen、KVM、VirtualBox性能是没有太大差别。KVM本身就是内核的一部分,可以直接使用内核的进程调度,内存管理,IO等模块,而Xen需要修改内核;KVM有商业案例很多,背后有OVA支持,开源免费,而VBOX没有任何的商业案例,且其版权受限。所以经对比可以看出KVM是最佳选择。

3.3.2检测过程

虚拟机调度从磁盘中循环读取文件,并根据静态检测中的检测结果和文件类型识别结果准备每个文件的执行环境和执行优先顺序。Win虚拟机是预先安装了特定版本的软件和Check检测工具的操作系统的快照。虚拟机调度和通讯模块在准备好执行环境后通过文件共享的方式把样本文件共享给虚拟机内的Check检测程序。Check的检测结果通过文件共享的方式返回给虚拟机调度模块。通过Check判断出恶意软件以后需要调用cockoo[6]一次检测,得到这个软件的行为分析结果。

文件黑白名单检查时,使用Ssdeep模糊哈希相似度检查,模糊哈希用于计算上下文相关的分段哈希值,可检测相似的或者自修改的恶意文件。

图3 动态检测

虚拟机的管理包括启动、暂停、恢复、关闭等,使用libvirt实现。Libvirt库的目的是为各种虚拟化工具提供一套方便可靠的编程接口。目前主流linux平台的虚拟化管理工具都是基于libvirt开发,算是虚拟机管理标准化api。

虚拟机启动:查找虚拟镜像的最近快照,然后恢复最近快照。启动快照。快照启动,比正常启动要快得多。每次恢复快照是为了清除上次运行对环境的污染。程序启动后,会根据配置文件确定虚拟机使用的是xen/kvm/vbox,以及配置了多少台可用的虚拟机。虚拟机的具体情况会使用数据库来记录。

提交分析数据使用了单独的程序。程序的功能非常简单:分析参数,将任务加入数据库。主程序会到数据库task表中提取任务。任务提交程序只负责提交任务,后续的分析有主程序去调度。主程序没有启动的情况下也可以提交任务,因为任务是保存在数据库中的,待主程序启动后再分析任务。

主程序是一个死循环。

4 不足和改进

本方案也具有一定的局限性:APT攻击检测和防御方案不能覆盖到APT攻击的各个阶段,因此可能会导致漏报。理想的APT安全解决方案应该覆盖APT攻击的所有攻击阶段,事前阶段可通过沙箱技术对可疑程序进行模拟,对可疑程序的反常行为进行分析和评估判断出系统未知文件是否存在威胁;事中阶段采用黑白名单技术在系统终端上检测所有进程和访问;事后阶段通过大数据分析、网络链路取证,将系统大数据分析技术和沙箱检测技术相结合,全方位分析APT攻击。通过三个处置阶段,深挖网络安全隐患,建立立体化检测手段,最大可能全面的检测和抵御APT攻击,维护网络安全。

[1]曾玮琳,李贵华,陈锦伟.APT入侵的网络安全防护系统模型及其关键技术研究[J].现代电子技术,2013(17):78-80.

[2]陈炜. 关于等级保护APT攻击检测技术的研究[J]. 警察技术,2014(S1).

[3]孙天一.APT攻击的特征分析与防御策略[J].电子技术与软件工程,2015(06):222.

[4]孙琳程.虚拟机KVM和XEN的性能分析[J].电脑知识与技术,2013(10).

[5]鱼泳.VirtualBox虚拟机的隐形加载探讨[J].数字技术与应用,2013(9).

[6]扬凯.病毒行为自动分析与特征库生成技术研究[D].南开大学,2011.

[7]李静轩,朱俊虎,邱菡,等.基于非零和随机博弈的APT攻击主动防御策略选取[J].计算机应用研究,2020(04).

新疆维吾尔自治区高校科研计划项目:人工智能背景下的网络攻击与检测技术研究(XJEDU2019Y036);新疆社科基金项目:大数据视域下南疆贫困地区精准脱贫监测与评估研究(No.19BTJ037);新疆财经大学校级科研项目:基于深度学习的网络攻击检测技术研究(2020XYB004)

猜你喜欢

内核进程静态
多内核操作系统综述①
最新进展!中老铁路开始静态验收
强化『高新』内核 打造农业『硅谷』
静态随机存储器在轨自检算法
活化非遗文化 承启设计内核
债券市场对外开放的进程与展望
改革开放进程中的国际收支统计
Linux内核mmap保护机制研究
油罐车静态侧倾稳定角的多体仿真计算
社会进程中的新闻学探寻