当今,网络系统面临着越来越严重的安全挑战,在众多的安全挑战中,一种具有组织性、特定目标以及长时间持续性的新型网络攻击日益猖獗,国际上常称之为 APT(Advanced Persistent Threat高级持续性威胁)攻击。
美国国家标准技术研究所(NIST)对APT的定义为:攻击装掌握先进的专业知识和有效的资源,通过多种攻击途径(如:网络、物理设施和欺骗等),在特定组织的信息技术基础设施建立并转移立足点,以窃取机密信息,破坏或阻碍任务、程序或组织的关键系统,或者驻留在组织内部网络,进行后续攻击。
APT攻击是一种以商业或者政治目的为前提的特定攻击,其通过一系列具有针对性的攻击行为以获取某个组织甚至国家的重要信息,特别是针对国家重要的基础设施和单位开展攻击,包括能源、电力、金融、国防等等。APT攻击常常采用多种攻击技术手段,包括一些最为先进的手段和社会工程学方法,并通过长时间持续性的网络渗透,一步步的获取内部网络权限,此后便长期潜伏在内部网络,不断地收集各种信息,直至窃取到重要情报。
对于APT攻击比较权威的定义是由美国国家标准与技术研究所( NIST)提出的,该定义给出了APT攻击的4个要素,具体如下:
(1)攻击者:拥有高水平专业知识和丰富资源的敌对方。
(2)攻击目的:破坏某组织的关键设施,或阻碍某项任务的正常进行。
(3)攻击手段:利用多种攻击方式,通过在目标基础设施上建立并扩展立足点来获取信息。
(4)攻击过程:在一个很长的时间段内潜伏并反复对目标进行攻击,同时适应安全系统的防御措施,通过保持高水平的交互来达到攻击目的。
APT攻击的原理相对其他攻击形式更为高级和先进,其高级性主要体现在APT在发动攻击之前需要对攻击对象的业务流程和目标系统进行精确的收集,在收集的过程中,此攻击会主动挖掘被攻击对象受信系统和应用程序漏洞,在这些漏洞的基础上形成攻击者所需的命令与攻击(C&C)网络,此种行为没有采取任何可能触发警报或者引起怀疑的行动,因此更接近于融入被攻击者的系统。
大数据应用环境下,APT攻击的安全威胁更加凸显。首先,大数据应用对数据进行了逻辑或物理上的集中,相对于从分散的系统中收集有用的信息,集中的数据系统为APT攻击收集信息提供了"便利";其次,数据挖掘过程中可能会有多方合作的业务模式,外部系统对数据的访问增加了防止机密、隐私出现泄漏的途径。因此,大数据环境下,对APT攻击的检测与防范,是必须要考虑的问题。接下来在分析APT攻击特征与流程的基础上,研究APT攻击检测方法和防范策略。
APT攻击特征如下:
① 极强的隐蔽性
APT攻击与被攻击对象的可信程序漏洞与业务系统漏洞进行了融合,在组织内部,这样的融合很难被发现。
② 潜伏期长、持续性强
APT攻击是一种很有耐心的攻击形式,攻击和威胁可能在用户环境存在了一年以上,他们不断收集用户信息,直到收集到重要情报。他们往往不是为了在短时间内获利,而是把"被控主机"当成跳板,持续搜索,直到充分掌握了目标对象的使用行为。所以这种攻击模式,本质上是一种"恶意商业间谍威胁";因此具有很长的潜伏期和持续性。
③ 目标性强
不同于以往的常规病毒,APT制作者掌握高级漏洞发掘和超强的网络攻击技术。发起APT攻击所需的技术壁垒和资源壁垒,要远高于普通攻击行为。其针对的攻击目标也不是普通个人用户,而是拥有高价值敏感数据的高级用户,特别是可能影响到国家和地区政治、外交、金融稳定的高级别敏感数据持有者。
④ 技术高级
攻击者掌握先进的攻击技术,使用多种攻击途径,包括购买或自己开发的0day漏洞,而一般攻击者却不能使用这些资源。而且攻击过程复杂,攻击持续过程在攻击者能够动态调整攻击方式,从整体上掌握攻击进程。
⑤ 威胁性大
APT攻击通常拥有雄厚的资金支持,由经验丰富的黑客团队发起,一般以破坏国家或大型企业的关键基础设施为目标,窃取内部核心机密信息,危及国家安全和社会稳定。
APT攻击的一般流程
APT攻击的流程一般包括如下步骤:
① 信息侦查
在入侵之前,攻击者首先会使用技术和社会工程学手段对特定目标进行侦查。侦查内容主要包括两个方面:一是对目标网络用户的信息收集,例如:高层领导、系统管理员或者普通职员等员工资料、系统管理制度、系统业务流程和使用情况等信息;二是对目标网络脆弱点的信息收集,例如:软件版本、开放端口等。随后,攻击者针对目标系统的脆弱点,研究0day漏洞、定制木马程序、制定攻击计划,用于在下一阶段实施精确攻击。
② 持续渗透
利用目标人员的疏忽、不执行安全规范,以及利用系统应用程序、网络服务或主机的漏洞,攻击者使用定制木马等手段,不断渗透以潜伏在目标系统,进一步地在避免用户觉察的条件下取得网络核心设备的控制权。
例如:① 通过SQL注入等攻击手段突破面向外网的Web服务器,② 通过钓鱼攻击,发送欺诈邮件获取内网用户通信记录,并进一步入侵高管主机,采用发送带漏洞的Office文件诱骗用户将正常网址请求重定向恶意站点 ③ 社会工程学方法,如电子邮件攻击,攻击者窃取与特定员工有关系的人员(如领导、同事、朋友等)电子邮箱,冒充发件人给该员工发送带有恶意代码附件的邮件,一旦该员工打开附件,员工电脑便感染了恶意软件。
由于这些恶意软件针对的是系统未知漏洞并被特殊处理,因此现有的杀毒软件和防火墙均无法察觉,攻击者便能逐渐获取个人电脑权限,最后直至控制个人电脑。
③ 长期潜伏
为了获取有价值信息,攻击者一般会在目标网络长期潜伏,有的达数年之久。潜伏期间,攻击者还会在已控制的主机上安装各种木马、后门,不断提高恶意软件的复杂度。以增加攻击能力并避开安全检测。
攻击者在突破防线并控制员工电脑后,在员工电脑与入侵服务器之间开始建立命令控制通道。通常,命令控制通道采用HTTP/HTTPS等协议构建,以突破电脑系统防火墙等安全设备。一旦攻击者完成通道建立,攻击者通过发送控制命令检查植入的恶意软件是否遭受查杀,并在恶意软件被安全软件检测到前,对恶意软件进行版本升级,以降低被发现的概率。
入侵和控制员工个人电脑并不是攻击者的最终目的,攻击者会采用口令窃听、漏洞攻击等多种渗透方法尝试进一步入侵组织内部更多的个人电脑和服务器,同时不断地提升自己的权限,以求控制更多的电脑和服务器,直至获得核心电脑和服务器的控制权。
④ 窃取信息
攻击者常常长期潜伏,并不断实行网络内部横向渗透,通过端口扫描等方式获取服务器或设备上有价值的信息,针对个人电脑通过列表命令等方式获取文档列表信息等。攻击者会将内部某个服务器作为资料暂存的服务器,然后通过整理、压缩、加密、打包的方式,利用建立的隐蔽通信通道将信息进行外传。在获取这些信息后,攻击者会对这些信息数据进行分析识别,并做出最终的判断,甚至实施网络攻击破坏。
目前绝大部分APT攻击的目标都是窃取目标组织的机密信息。攻击者一般采用SSL VPN连接的方式控制内网主机,对于窃取到的机密信息,攻击者通过将其加密存放在特定主机上,再选择合适的时间将其通过隐秘信道传输到攻击者控制的服务器。由于数据以密文方式存在,APT程序在获取重要数据后向外部发送时,利用了合法数据的传输通道和加密、压缩方式,难以辨别出其与正常流量的差别。

APT攻击具有不同于传统网络攻击的5个显著特征:针对性强、组织严密、持续时间长、高隐蔽性和间接攻击。
1. 针对性强
APT攻击的目标明确,多数为拥有丰富数据/知识产权的目标,所获取的数据通常为商业机密、国家安全数据、知识产权等。
相对于传统攻击的盗取个人信息,APT攻击只关注预先指定的目标,所有的攻击方法都只针对特定目标和特定系统,针对性较强。
2. 组织严密
APT攻击成功可带来巨大的商业利益,因此攻击者通常以组织形式存在,由熟练黑客形成团体,分工协作,长期预谋策划后进行攻击。他们在经济和技术上都拥有充足的资源,具备长时间专注APT研究的条件和能力。
3. 持续时间长
APT攻击具有较强的持续性,经过长期的准备与策划,攻击者通常在目标网络中潜伏几个月甚至几年,通过反复渗透,不断改进攻击路径和方法,发动持续攻击,如零日漏洞攻击等。
4. 高隐蔽性
APT攻击根据目标的特点,能绕过目标所在网络的防御系统,极其隐藏地盗取数据或进行破坏。在信息收集阶段,攻击者常利用搜索引擎、高级爬虫和数据泄漏等持续渗透,使被攻击者很难察觉;在攻击阶段,基于对目标嗅探的结果,设计开发极具针对性的木马等恶意软件,绕过目标网络防御系统,隐蔽攻击。
5. 间接攻击
APT攻击不同于传统网络攻击的直接攻击方式,通常利用第三方网站或服务器作跳板,布设恶意程序或木马向目标进行渗透攻击。恶意程序或木马潜伏于目标网络中,可由攻击者在远端进行遥控攻击,也可由被攻击者无意触发启动攻击。

从APT攻击的过程可以看出,整个攻击循环包括了多个步骤,这就为检测和防护提供了多个契机。当前APT检测方案主要有以下几种:
① 沙箱方案
沙箱,又叫做沙盘,被认为是当前防御APT攻击的最有效技术之一。沙箱即是通过虚拟化技术形成一个模拟化的环境,同时将本地系统中的进程对象、内存、注册表等与模拟环境相互隔离,以便在这个虚拟化环境中测试和观察文件、访问等运行行为。
针对APT攻击,攻击者往往使用了0day的方法,导致特征匹配不能成功,因此需要采用非特征匹配的方式来识别,智能沙箱技术就可以用来识别0day攻击与异常行为。智能沙箱技术最大的难点在于客户端的多样性,智能沙箱技术对操作系统类型、浏览的版本、浏览器安装的插件版本都有关系,在某种环境当中检测不到恶意代码,或许另外一个就能检测到。
沙箱通过重定向技术,将测试过程中生成和修改的文件定向到特定文件夹中,避免了对真是注册表、本地核心数据等的修改。当APT攻击在改虚拟环境发生时,可以及时地观察并分析其特征码,进一步防御其深入攻击。
② 异常检测
异常检测的核心思想是流量建模识别异常。异常检测的核心技术是元数据提取技术、基于连接特征的恶意代码检测规则,以及基于行为模式的异常检测算法。其中,元数据提取技术是指利用少了的元数据信息,检测整体网络流量的异常。
基于连接特征的恶意代码检测规则是检测已知僵尸网络、木马通信的行为。而基于行为模式的异常检测算法包括检测隧道通信、可疑加密文件传输等。
信誉技术是应用于APT攻击检测具有较好辅助功能的一项技术,通过建立信誉库,包括WEB URL信誉库、文件MD5码库、僵尸网络地址库、威胁情报库等,可以为新型病毒、木马等APT攻击的检测提供强有力的技术辅助支撑,实现网络安全设备对不良信誉资源的阻断或过滤。信誉库的充分利用,将进一步提高安全新品的安全防护能力。
③ 全流量审计
全流量审计的核心思想是通过对全流量进行应用识别和还原,检测异常行为。核心技术包括大数据存储及处理、应用识别、文件还原等。如果做全流量分析,面临的问题是数据处理量非常大。
全流量审计与现有的检测产品和平台相辅相成,互为补充,构成完整防护体系。在整体防护体系中,传统检测设备的作用类似于"触发器",检测到APT行为的蛛丝马迹,再利用全流量信息进行回溯和深度分析,可用一个简单的公司说明,全流量审计+传统检测技术=基于记忆的检测系统。
④ 基于深层协议解析的异常识别
基于深层协议解析的异常识别是一种流量检测及分析技术,其采用旁路接入方式提取流量信息,可以针对帧数、帧长、协议、端口、标识位、IP路由、物理路径、CPU/RAM消耗、宽带占用等进行监测,并基于时间、拓扑、节点等多种统计分析手段,建立流量行为轮廓和学习模型来识别流量异常情况,进而判断并识别0Day漏洞攻击等。
基于深层协议解析的异常识别,可以细细查看并一步步发现是哪个协议,如:一个数据查询,有什么地方出现了异常,直到发现异常点为止。
⑤ 攻击溯源(root cause explorer)
通过已经提取出来的网络对象,可以重建一个时间区间内可疑的Web Session、Email、对话信息。通过将这些事件自动排列,可以帮助分析人员凯苏发现攻击源。
在APT攻击检测中,存在的问题包括:
基于记录的检测可以有效缓解上述问题。现在对抗APT的思路是以时间对抗时间。既然APT是在很长时间发生的,我们的对抗也要在一个时间窗来进行对抗,对长时间、全流量数据进行深度分析。针对A问题,可以采用沙箱方式、异常检测模式来解决特征匹配的不足;针对P问题,可将传统基于实时时间点的检测,转变为基于历史时间窗的检测,通过流量的回溯和关联分析发现APT模式。而流量存储与现有的检测技术相结合,构成了新一代基于记忆的智能检测系统。此外,还需要利用大数据分析的关键技术。
⑥ 主机漏洞防护技术
针对横向移动与内部资料进行挖掘和探测的防御,可采用主机漏洞防护技术,能侦测任何针对主机漏洞的攻击并加以拦截,进而保护未修补的主机。这类解决方案可实现档案 / 系统一致性监控,保护未套用修补程序的主机,防止已知和0day 漏洞攻击。
⑦ 数据防泄漏技术(DLP)
针对资料外传的风险,一般可采用加密和资料外泄防护 (DLP)技术,将关键、敏感、机密的数据加密,是降低数据外泄风险的一种方法,DLP 可提供一层额外的防护来防止数据外泄。然而,这类工具通常很复杂,而且有些部署条件,例如:数据要分类,要定义政策和规则等。
⑧ 大数据分析技术
APT攻击防御离不开大数据分析技术,无论是网络系统本身产生的大量日志数据,还是SOC安管平台产生的大量日志信息,均可以利用大数据分析技术进行大数据再分析,运用数据统计、数据挖掘、关联分析、态势分析等从记录的历史数据中发现APT攻击的痕迹,以弥补传统安全防御技术的不足。
我们熟知的APT防御产品主要针对的都是APT攻击链上的某个环节来展开防御,目前来说这是远远不够的。APT攻击防御应该是覆盖APT攻击所有环节,未来发展的趋势,是需要构建基于APT攻击链的多层次、多维度、多角度的纵深防御体系,如态势感知平台等。
目前的防御技术、防御体系很难有效应对APT攻击,导致很多攻击直到很长时间后才被发现,甚至可能还有很多APT攻击未被发现。通过前面APT攻击背景以及攻击特点、攻击流程的分析,现阶段需要一种新的安全思维,即放弃保护所有数据的观念,转而重点保护关键数据资产,同时在传统的纵深防御的网络安全防护基础上,在各个可能的环节上部署检测和防护手段,建立一种新的安全防御体系。
① 防社会工程
木马入侵、社会工程是APT攻击的第一个步骤,防范社会工程需要一套综合性措施,既要根据实际情况,完善信息安全管理策略,如:禁止员工在个人微博上公布于工作相关信息,禁止在社交网站上公布私人身份和联络信息等;又要采用新型的检测技术,提高识别恶意程序的准确性。社会工程是利用人性的弱点针对人员进行的渗透过程。因此提高人员的信息安全意识,是防止社会攻击的最基本的方法。传统的办法是通过宣讲培训的方式来提高安全意识,但是往往效果不好,不容易对听众产生触动;而比较好的方法是社会工程测试,这种方法已经是被业界普遍接受的方式,有些大型企业都会授权专业公司定期在内部进行测试。
绝大部分社工攻击是通过电子邮件或即时消息进行的。上网行为管理设备应该做到阻止内部主机对恶意URL的访问。垃圾邮件的彻底检查,对可疑邮件中URL链接和附件应该做到细致认真的检测。有些附件表面上看起来就是一个普通的数据文件,如PDF或Excel格式的文档等,恶意程序嵌入在文件中,且利用的漏洞都是未经公开的。通常仅通过特征扫描的方式,往往不能准确识别出来的。比较有效的方法是沙箱模拟真实环境访问邮件中的URL或打开附件,观察沙箱主机的行为变化,可以有效检测出恶意程序。
② 全面采集行为记录,避免内部监控盲点
对IT系统行为记录的收集是异常行为检测的基础和前提,大部分IT系统行为可以分为主机行为和网络行为两个方面,更全面的行为采集还包括物理访问行为记录采集。
③ IT系统异常行为检测
从前述APT攻击过程可以看出,异常行为包括对内部网络的扫描探测、内部的非授权访问、非法外联。非法外联,即目标主机与外网的通信行为,可分为以下3类:
(远程命令和控制服务器,目标机器可以接收来自服务器的命令,从而达到服务器控制目标机器的目的。该方法常用于病毒木马控制被感染的机器。)