01 APT防御的难点分析
APT攻击的专业性强、复杂度高,因此对其防范相对困难。攻击者在暗处通过社会工程学等手段收集大量信息,而被攻击者毫不知情,这样的信息不对称也造成了APT攻击的防御难点。
APT攻击行为特征难以提取、攻击渠道多元化、攻击空间不确定等特点恰好也形成对其防御的难点。首先,APT一般通过零日漏洞获取权限,但通过获取和分析相应攻击的特征来识别攻击行为通常具有滞后性,这将导致实时监测APT攻击变得很困难,更何况APT注重动态行为和静态文件的隐蔽性,如构建隐蔽通道、加密通道等;其次,APT攻击渠道的多元化导致很难使用单一的技术手段建立通用的防御机制;最后,APT攻击空间的不确定性,如任何一个阶段、任何一个网络、任何边缘或非核心的节点等都有可能成为攻击目标,导致其安全防护效果的不确定性。
“持续性”和“社会工程学”的混合攻击方式是防御APT的另一难点。APT的持续时间长久,就如同人体的慢性疾病,潜伏一段时间后可能随时爆发。据统计,APT攻击从产生到被发现的平均耗时约为5年,是否能够保证在5年的时间内一直关注某些数据?这在物理世界都很难坚持,更何况在数据无所不在的网络空间。大数据的特点就是数据规模大、分布无所不在,即数据的价值密度变得更小、更分散,从而导致更难聚焦于高价值的数据,这正是大数据本身所带来的攻击检测难点。然而,攻击者则恰好可能一直持续关注着某些敏感数据,这就将造成APT攻击防不胜防。
02 APT防御的基本方法
APT是多样攻击方式的组合,因此也需要对其进行多方位的检测防御。
1. 恶意代码检测
大多数APT攻击都是通过恶意代码来攻击员工个人电脑,从而突破目标网络和系统防御措施。因此,恶意代码检测对于检测和防御APT攻击至关重要。
恶意代码的检测主要分为两种:基于特征码的检测技术和基于启发式的检测技术。
基于特征码的检测技术是通过对恶意代码的静态分析,找到该恶意代码中具有代表性的特征信息(指纹),如十六进制的字节序列、字符串序列等,然后再利用该特征进行快速匹配。因此,基于特征码检测过程一般分3个步骤:第一步是特征分析,反病毒专家通过对搜集的恶意样本进行分析,抽取特征码;第二步是特征码入库,即将特征码加入特征数据库;第三步是安全检测,即对可疑样本进行扫描,利用已有的特征数据库进行匹配,一旦匹配成功,则认定为恶意代码,并输出该恶意代码的相关信息。
基于启发式的检测技术是通过对恶意代码的分析获得恶意代码执行中通用的行为操作序列或结构模式,这些行为序列和模式一般在正常文件中很少出现,如修改某个PE文件的结构、删除某个系统关键文件、格式化磁盘等,然后再把每一个行为操作序列或结构模式按照危险程度排序并设定不同的危险程度加权值,在实施检测时,若行为操作序列或结构模式的加权值总和超过某个指定的阈值,即判定为恶意代码。启发式检测技术进行检测时阈值的设定是关键,若阈值设定过大,则可能忽略某些危险操作,容易造成漏报,但若设定过小,可能把某些正常的行为序列组合判定为恶意操作,则容易误报。因此要通过实验,调整参数以达到最佳检验效果。
2. 主机应用保护
不管攻击者通过何种渠道向员工个人电脑发送恶意代码,该恶意代码必须在员工个人电脑上执行才能控制整个电脑。因此,若能加强系统内各主机节点的安全措施,确保员工个人电脑以及服务器的安全,则可以有效防御APT攻击。
3. 网络入侵检测
安全分析人员发现,虽然APT攻击所使用的恶意代码变种多且升级频繁,但恶意代码所构建的命令控制通道通信模式并不经常变化。因此,可采用传统入侵检测方法来检测APT的命令控制通道,关键是如何及时获取APT攻击命令控制通道的通信模式特征。
4. 大数据分析检测
大数据分析是一种网络取证思路,它全面采集网络设备的原始流量及终端和服务器日志,进行集中的海量数据存储和深入分析,可以在发现APT攻击的蛛丝马迹后,通过全面分析海量日志数据来还原APT攻击场景。大数据分析检测因涉及海量数据处理,因此需要构建Hadoop、Spark 等大数据存储和分析平台,并通过机器学习对数据进行分析,从而检测出是否受到攻击。例如,利用k-means聚类算法和ID3决策树学习算法进行网络异常流量检测,使用基于欧氏距离的k-means聚类算法对正常流量行为和异常流量行为进行训练,最后结合ID3决策树判断是否发生流量异常。
03 APT防御的产品路线
随着APT攻击的流行,不少安全厂商也推出了APT安全解决方案,下面介绍几个APT检测和防御产品。
1. FireEye
FireEye 的 APT 解决方案包括 MPS(Malware Protection System)和CMS(CentralManagement System)两大组件。其中,MPS是恶意代码防护引擎,是一个高性能的智能沙箱,可直接采集流量、抽取携带文件等,然后放到沙箱中进行安全检测。FireEye的MPS引擎有以下特点。
(1)支持对Web、邮件和文件共享3种来源的恶意代码检测。
(2)对于不同来源的恶意代码,采取专门 MPS 硬件进行专门处理,目的是提高检测性能和准确性。
(3)MPS支持除可执行文件之外的多达20种文件类型的恶意代码检测。
(4)MPS可支持旁路和串联部署,以实现恶意代码的检测和实时防护。
(5)MPS 可实时学习恶意代码的命令和控制信道特征,在串联部署模式可以实时阻断APT攻击的命令控制通道。
CMS是集中管理系统模块,管理系统中各MPS引擎,同时实现威胁情报的收集和及时分发分享。CMS除了对系统中多个MPS引擎进行集中管理外,还可连接到云中的全球威胁情报网络来获取威胁情报,并支持将检测到的新恶意代码情报上传到云平台,实现威胁情报的同步共享。此外,FireEye还可与其他日志分析产品融合,形成功能更强大的APT安全防御解决方案。
2. Bit9
Bit9可信安全平台(Trust-based Security Platform)采用软件可信、实时检测审计和安全云三大技术,提供网络可视、实时检测、安全保护和事后取证等四大企业级安全功能,从而实现强大的恶意代码检测和各类高级威胁的抵御能力。
Bit9解决方案核心是一个基于策略的可信引擎,管理员可以通过安全策略来定义可信软件。Bit9可信安全平台默认所有软件都是可疑并禁止加载执行,只有符合安全策略定义的软件才被认为可信并允许执行。Bit9可以基于软件发布商和可信软件分发源等定义可信策略,同时还可使用安全云提供的软件信誉服务来度量软件可信度,从而允许用户下载和安装可信度高的自由软件。基于安全策略的可信软件定义方案事实上采用了软件白名单机制,即在软件白名单中的应用软件才能在企业计算环境中执行,其他都被禁止执行,以此保护企业的计算环境安全。
Bit9解决方案中安装在每个终端和服务器上的轻量级实时检测和审计模块,是实现实时检测、安全防护和事后取证的关键部件。实时检测模块可以实现对整个网络和计算环境的全面可视,实时了解终端和服务器的设备状态和关键系统资源状态,包括终端上的文件操作和软件加载执行情况;审计模块还可审计终端上的文件进入渠道、文件执行、内存攻击、进程行为、注册表、外设挂载情况等。
Bit9解决方案还提供一个基于云的软件信誉服务,即通过主动抓取发布在云上的软件信息,包括软件发布时间、流行程度、软件发布商、软件来源、AV 扫描结果等来计算软件信誉度。同时,还支持从第三方恶意代码检测厂商(如 FireEye 等)获取文件散列列表,有效识别更多的恶意代码和可疑文件。
3. RSA NetWitness
RSA NetWitness是一款革命性的网络安全监控平台,针对APT攻击的检测和防御主要由Spectrum、Panorama和Live三大组件实现。其中,RSA NetWitness Spectrum是一款安全分析软件,专门用来识别和分析基于恶意软件的企业网络安全威胁,并确定安全威胁的优先级;RSA NetWitness Panorama通过融合成百上千种日志源与外部安全威胁情报,从而实现创新性信息安全分析;RSA NetWitness Live是一种高级威胁情报服务,通过利用来自全球信息安全界的集体智慧和分析技能,及时获得各种APT攻击的威胁情报信息,可极大缩短针对潜在安全威胁的响应时间。
总体而言,RSA NetWitness具有以下特点。
(1)网络全流量和服务对象离散事件的集中分析,实现网络的全面可视性,从而获得整个网络的安全态势。
(2)识别各种内部威胁、检测零日漏洞攻击、检测各种特定恶意代码和APT攻击事件以及数据泄密事件等。
(3)网络日志数据的实时上下文智能分析,为企业提供可读的安全情报信息。
(4)检测与防御分析过程的自动化,最小化安全事件响应时间。
04 APT防御的发展趋势
当前主流厂商提供的APT防御产品,主要存在如下问题。
(1)不能很好实现APT攻击全过程检测,容易导致攻击漏报。
(2)不能全面提供APT攻击的实时防御,难以实现主动防御。
(3)不能精准执行APT攻击的态势感知,缺乏安全预警机制。
从功能上看,一个完整的APT安全检测与防御解决方案应该覆盖APT攻击的所有阶段,即应该解决事前智能检测、事中应急响应和事后分析防御等3个层面。从技术上看,APT安全解决方案应该配置主机应用控制、实时恶意代码检测、入侵防御等关键技术,实现对APT攻击的实时检测和防御。同时,也需要将入侵检测防御和大数据分析技术相结合,实现基于大数据的安全态势感知与智能预警分析将成为APT安全解决方案的核心,实现对APT攻击事件的情报信息获取及其深度分析。随着人工智能2.0时代的到来,基于深度学习的APT主动防御服务平台也成为一种技术发展趋势。