网络攻击与防护
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 网络攻击

网络攻击指综合利用目标网络存在的漏洞和安全缺陷对该网络系统的硬件、软件及其系统中的数据进行攻击,主要包括信息收集、漏洞扫描、获取权限/提升权限、维持权限和清除痕迹等步骤。

1.2.1 网络攻击简介

近年来,网络攻击事件频发,互联网上的木马、蠕虫、勒索病毒层出不穷。目前,网络攻击技术已经形成基本的攻击路径、攻击流程,并划分为不同的攻击类型。

1.网络攻击路径

典型的网络攻击路径可以分为两种:互联网攻击路径和内网攻击路径。

(1)互联网攻击路径

攻击者处在开放的互联网上,对于攻击者而言,他能直接访问到的企业资源是企业面向互联网提供服务的业务系统,例如,门户网站、办公自动化(Office Automation,OA)系统或者其他对外的业务系统。这种情况下,攻击者往往通过这些业务系统的漏洞,获取服务器权限,进一步以这些服务器为跳板,再发起对内网中其他服务器或计算机的攻击。

(2)内网攻击路径

在这种情况下,攻击者通过各种方法接入内网(例如,通过无线网络、分/子公司的网络)。由于攻击者处于内网当中,如果企业的安全策略设置得不严格,攻击者可以轻松访问内网的服务器或计算机;此外,网络中大多数防护设备部署在互联网出口,对于内网的防护往往不足,攻击者可以轻易发现服务器的漏洞,获取服务器权限,进而横扫整个网络。相比互联网攻击路径,内网攻击路径可采用的攻击手段更简单、更直接。

2.网络攻击流程

从网络入侵的角度看,入侵成功是一项系统性很强的工作,攻击者往往要花费大量的时间和精力,进行充分的准备才能侵入他人的计算机系统。尽管攻击的目标不同,但是攻击者采用的攻击方式和手段却有一定的共同性。网络攻击的流程可以概括为信息收集、漏洞扫描、获取权限/提升权限、维持权限和清除痕迹几个步骤,如图1-3所示。

图1-3 网络攻击流程

(1)信息收集

信息收集的目的是得到所要攻击的目标网络的相关信息,为下一步行动做好准备。攻击者会利用相关公开协议或工具,收集网络系统中目标机器的IP地址、操作系统类型和版本、系统管理人员的邮件地址等,根据这些信息进行分析,从而了解目标系统可能存在的漏洞。

(2)漏洞扫描

收集到攻击目标的有关网络信息之后,攻击者会探测网络上的每台主机,以寻求该系统的安全漏洞或安全弱点,攻击者可能使用自编程序或利用公开的工具两种方式自动扫描网络上的主机。

(3)获取权限/提升权限

攻击者使用上述方法收集或探测到一些“有用”信息之后,就会对目标系统实施攻击。通过猜测程序可对用户账号和口令进行破解,利用破译程序可对截获的系统密码文件进行破译,利用网络和系统本身的薄弱环节或安全漏洞可实施电子引诱,如安装特洛伊木马等。大多数攻击利用了系统软件本身的漏洞,通常是利用缓冲区溢出漏洞来获得非法权限。在该阶段,攻击者会试图扩大一个特定系统上已有的漏洞,例如,试图发现一个Set-UID根脚本,以便获取根访问权。获得一定的权限后,进一步发现受损系统在网络中的信任等级,从而以该系统为跳板展开对整个网络的攻击。

(4)维持权限

攻击者在获取权限后,往往会通过植入后门、木马等方式,实现对服务器的长期控制,并以此为跳板,进行横向攻击,扩大战果。

(5)清除痕迹

由于攻击者的所有活动一般都会被系统日志记录在案,为避免被系统管理员发现,攻击者会试图毁掉入侵攻击的痕迹。攻击者还会在受损系统上建立新的安全漏洞或后门,以便在先前的攻击点被发现之后,能继续访问该系统。

3.网络攻击类型

目前的网络攻击模式呈现多方位、多手段化,让人防不胜防。网络攻击有不同的分类标准,一般分为两大类:主动攻击和被动攻击。

(1)主动攻击

主动攻击体现的是攻击者访问所需要信息的故意行为。主动攻击会导致某些数据流的篡改和虚假数据流的产生。这类攻击可分为篡改消息、伪造消息和拒绝服务。

1)篡改消息。篡改消息是指一个合法消息的某些部分被改变、删除,导致消息被延迟或改变顺序,通常用以产生一个未授权访问的效果。例如,修改传输消息中的数据,将“允许甲执行操作”改为“允许乙执行操作”。

2)伪造消息。伪造消息指的是某个实体(人或系统)发出含有其他实体身份信息的数据信息,假扮成其他实体,从而以欺骗方式获取一些合法用户的权利和特权。

3)拒绝服务。拒绝服务会导致通信设备的正常使用或管理被中断,通常是对整个网络实施破坏,以达到降低性能、中断服务的目的。这种攻击也可能有一个特定的目标,如阻止到某一特定目的地的所有数据包。

(2)被动攻击

被动攻击主要体现攻击者是收集信息而不是进行访问,攻击目标对这种攻击活动一般不会有所觉察。被动攻击中攻击者不对数据信息做任何修改,截取和窃听往往是攻击的主要目的。被动攻击通常包括流量分析、窃听等攻击方式。

1)流量分析。流量分析攻击方式适用于一些特殊场合,例如,敏感信息都是保密的,攻击者虽然从截获的消息中无法得到消息的真实内容,但攻击者还是能通过观察这些数据包的模式,分析通信双方的位置、通信的次数及消息的长度,获知相关的敏感信息,这种攻击方式被称为流量分析。

2)窃听。窃听是最常用的被动攻击手段。应用最广泛的局域网上的数据传输是基于广播方式进行的,这就使一台主机有可能收到所在子网上传输的所有信息。而计算机的网卡工作在混杂模式时,可以将网络上传输的所有信息传输到上层,以供进一步分析。如果数据传输时没有采取加密措施,通过协议分析,可以完全掌握通信的全部内容。

被动攻击不会对被攻击的信息做任何修改,因而非常难以检测,所以防御这类攻击的重点在于预防,具体措施包括VPN、加密技术保护信息,以及使用交换式网络设备等。被动攻击不易被发现,但它常常是主动攻击的前奏。

1.2.2 网络攻击模型

网络攻击模型是用于描述网络攻击的各个阶段以及攻击者使用的战术的框架,能够综合描述复杂多变环境下的网络攻击行为,是常用的网络攻击分析与应对工具之一。网络杀伤链(Cyber Kill Chain)和MITRE ATT&CK是分析网络攻击事件的主流参考模型。

1.网络杀伤链模型

“网络杀伤链”是洛克希德·马丁公司(Lockheed Martin)提出的描述网络攻击各个阶段的模型。网络杀伤链包括成功的网络攻击所需的7个阶段:侦察跟踪、武器构建、载荷投递、漏洞利用、安装植入、命令与控制和目标达成。网络杀伤链如图1-4所示。

图1-4 网络杀伤链

(1)侦察跟踪

侦察跟踪阶段,是指攻击者进行探测、识别及确定攻击对象的阶段。一般通过互联网进行信息收集,内容包括网站、邮箱、电话等一切可能相关的情报。

(2)武器构建

武器构建阶段,是指通过侦察跟踪阶段确定目标、收集足够的信息后,准备网络武器的阶段。网络武器一般由攻击者直接构建或使用自动化工具构建。

(3)载荷投递

载荷投递阶段,是指攻击者将构建完成的网络武器向目标投递的阶段。投递方式一般包括钓鱼邮件、物理USB投递等。

(4)漏洞利用

漏洞利用阶段,是指攻击者将网络武器投递到目标系统后,启动恶意代码的阶段。一般会利用应用程序或操作系统的漏洞或缺陷等。

(5)安装植入

安装植入阶段,是指攻击者在目标系统设置木马、后门等。

(6)命令与控制

命令与控制阶段,是指攻击者建立目标系统攻击路径的阶段。一般使用自动和手工相结合的方式进行,一旦攻击路径确立后,攻击者将能够控制目标系统。

(7)目标达成

目标达成阶段,是指攻击者达到预期目标的阶段。攻击的预期目标呈现多样化特点,包括侦察、收集敏感信息、数据破坏和系统摧毁等。

2.ATT&CK模型

ATT&CK(Adversarial Tactics,Techniques,and Common Knowledge)是一个反映各个攻击生命周期的攻击行为的模型和知识库。

目前,ATT&CK模型分为三部分,分别是PRE-ATT&CK、ATT&CK for Enterprise和ATT&CK for Mobile。其中,PRE-ATT&CK覆盖网络杀伤链模型的前两个阶段,包含了与攻击者在尝试利用特定目标网络或系统漏洞进行相关操作时有关的战术和技术。ATT&CK for Enterprise覆盖网络杀伤链的后五个阶段,由适用于Windows、Linux和macOS系统的技术和战术组成。ATT&CK for Mobile包含了适用于移动设备的战术和技术。ATT&CK模型与网络杀伤链的对应关系如图1-5所示。

图1-5 ATT&CK模型与网络杀伤链的对应关系

PRE-ATT&CK:攻击前的准备,包括优先级定义、选择目标、信息收集、发现脆弱点、建立和维护基础设施、构建能力等。

ATT&CK for Enterprise:攻击时的部分已知技术手段,包括访问初始化、执行、常驻、提权、防御规避、访问凭证、发现、横向移动、收集、数据获取、命令和控制等。

ATT&CK for Mobile:移动端的部分已知技术手段,和ATT&CK for Enterprise类似,只是适用的平台不同。

1.2.3 常见网络攻击技术

常见的网络攻击技术包括网络扫描、口令攻击、网络嗅探、漏洞利用、拒绝服务攻击、钓鱼网站、高级持续性威胁攻击等。

1.网络扫描

网络扫描是攻击者发起入侵前信息收集的重要手段。通过网络扫描,可以获得攻击目标主机信息、端口和服务、漏洞信息等。最著名的开源扫描工具就是Nmap,它用来扫描主机开放的网络端口,确定哪些服务运行在哪些网络端口,并且推断主机操作系统类型。Nmap主要包括主机发现、端口扫描、服务和版本探测等功能。

2.口令攻击

口令攻击是指使用某些合法用户的账号和口令登录目标主机,再实施攻击活动。这种方法的前提是必须先得到该主机上的某个合法用户的账号,再进行合法用户口令的破译。攻击者获得账号的方法非常多,例如,通过互联网收集信息、收集人员名单或员工ID,这些信息常常作为系统的登录用户名,有了用户名,就可以进一步在系统登录窗口尝试用不同的密码进行爆破登录,配合自动化程序和广泛使用的弱口令(如123456、123、123123等)可以轻松突破很多系统。口令攻击是目前互联网攻击手段中最常用也是最有效的攻击方法。

3.网络嗅探

网络嗅探可以通过将主机的网卡设置为混杂模式实现。在这种模式下,主机能够接收到所有经过该网卡的流量信息。在实际攻击中,既可以通过物理的方式将网络流量引导到监听主机,也可以通过中间人攻击的方式将网络流量引导到监听主机。对于监听的流量,只要未经过加密处理,借助网络监听工具(如Sniffer、Wireshark等)就可轻而易举地截取包括口令和账号在内的信息。虽然网络监听获得的用户账号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户账号及口令。

4.漏洞利用

许多系统,包括操作系统和应用软件,都有这样或者那样的安全漏洞(Security Vulnerability)。常见的漏洞如缓冲区溢出漏洞,它是目前远程网络攻击的主要手段。缓冲区溢出漏洞是由于系统在不检查程序和缓冲区之间变化的情况下,就接收任意长度的数据输入,把数据放在堆栈里,这样攻击者只要发送超出缓冲区所能处理长度的指令,系统便进入不稳定状态。若攻击者特别设置一串用作攻击的字符,甚至能访问根目录,就能拥有对整个主机的绝对控制权。例如,WannaCry勒索病毒就是利用CVE-2017-0143这个缓冲区溢出漏洞进行传播的,通过该漏洞,攻击者可以直接获得被攻击目标主机的最高权限。还有一些是利用协议漏洞进行攻击,例如,TCP SYN Flood攻击利用的是TCP的三次握手,攻击者发送大量SYN数据包,接收方需要消耗很多资源去接收和处理数据包,从而导致网站无法访问、网站响应速度大大降低,甚至服务器瘫痪。

5.拒绝服务攻击

拒绝服务攻击(Denial of Service,DoS)是指占据大量的共享资源,使系统没有剩余的资源给其他用户,从而使服务请求被拒绝,造成系统运行迟缓或瘫痪。拒绝服务攻击有很多途径,可以利用系统的漏洞进行攻击,例如,CVE-2012-0002漏洞可以导致Windows服务器蓝屏重启,还可以通过流量发起攻击,如SYN Flood、UDP Flood、ICMP Flood等方式。

最令防护者头疼的攻击方式是分布式拒绝服务(Distributed Denial of Service,DDoS)攻击。该攻击是指攻击者利用分布式的客户端,向服务提供者发起大量请求,消耗或者长时间占用大量资源,从而使合法用户无法正常获取服务。DDoS攻击不仅可以实现对某一个具体目标的攻击,如Web服务器或DNS服务器,而且可以实现对网络基础设施的攻击,如路由器等,利用巨大的流量攻击使攻击目标所在的网络基础设施过载,导致网络性能大幅度下降,影响网络所承载的服务。DDoS攻击就像一家超市的竞争对手,雇佣了一大群人堵在这家超市的大门口,或者让这群人占满整个超市,在每个货架前不停选购大量的商品,却不付款离开,从而使得正常顾客无法顺利到达超市购买商品,超市也无法正常为顾客提供商品等服务。

6.钓鱼网站

所谓钓鱼网站,就是页面中含有虚假欺诈信息的网站。比较常见的钓鱼网站形式有:仿冒银行、仿冒登录、虚假购物、虚假票务、虚假招聘、虚假中奖、虚假博彩和虚假色情网站。

钓鱼网站的实质是内容的欺骗性,页面本身一般并不包含任何恶意代码,没有代码层面的恶意特征,在很多情况下,即便是专业安全人员,也很难仅从页面内容来判断网页的真实性。因此,使用传统的反病毒技术中的特征识别技术很难有效识别出钓鱼网站,更不太可能在用户计算机本地端进行识别。也就是说,尽管从制作技术来看,钓鱼网站要比木马病毒简单得多,但其识别难度更大,欺骗性更强。

7.高级持续性威胁攻击

高级持续性威胁(Advanced Persistent Threat,APT)利用先进的攻击手段对特定目标进行长期持续性网络攻击。APT攻击的原理相对于其他攻击形式更为高级和先进,其高级性主要体现在发动攻击之前需要对被攻击对象的业务流程和目标系统进行精确的收集,在收集的过程中,APT攻击会主动挖掘被攻击对象的系统和应用程序漏洞,利用这些漏洞信息组建攻击路径,并利用零日漏洞进行攻击。APT攻击一般是以窃取核心资料为目的,针对特定目标所发动的网络攻击和入侵行为,是蓄意的“恶意间谍行为”。这种行为往往经过长期的经营与策划,并具备高度的隐蔽性。

APT攻击一般受国家或大型组织操控,受国家利益或经济利益驱使,由具有丰富经验的黑客团伙实施,具有针对性强、组织严密、攻击技术高级、攻击手段多样、攻击持续时间长、隐蔽性高等特点,是近年来出现的新型综合性网络攻击手段。

(1)针对性强

APT攻击的目标明确,多数为拥有丰富数据或知识产权的组织,所获取的数据通常为商业机密、国家安全数据、知识产权等。相对于传统攻击的盗取个人信息,APT攻击只关注预先指定的目标,所有的攻击方法都只针对特定目标和特定系统,针对性较强。

(2)组织严密

APT攻击如若成功可带来巨大的利益,因此攻击者通常以组织形式存在,由高级黑客形成团体,分工协作,经长期预谋策划后进行攻击。他们在经济和技术上都拥有充足的资源,具备长时间专注APT研究的条件和能力。

(3)攻击技术高级

在APT攻击实施过程中,攻击者往往使用自己设计、具有极强针对性和破坏性的恶意程序,在恰当的时机与其他攻击手段(如尚未公开的零日漏洞)协同使用,对目标系统实施毁灭性的打击。另外,这些攻击者能够动态调整攻击方式,从整体上掌控攻击进程,且具备快速编写所需渗透代码的能力,因而与传统攻击手段和入侵方式相比,APT攻击更具技术含量,过程也更为复杂。

(4)攻击手段多样

APT攻击者的攻击方式灵活多样,既包括传统的病毒、木马植入、软件后门、零日漏洞等技术手段,也包括社会工程学、心理学等各种线下攻击手段。

(5)攻击持续时间长

APT攻击一般从一开始就具有明确的目标,通过长期不断的监控、入侵及必要的隐蔽手段逐步实施攻击步骤,其周期可能较长,但效果会更佳。攻击者在没有完全获得所需要的信息之前,会长时间对目标网络发动攻击,持续时间可能长达数月或者数年,其背后往往体现着组织或国家的意志。APT攻击具有持续性的特征,这种“持续性”体现在攻击者不断尝试各种攻击手段,以及渗透到网络内部后的长期蛰伏。

(6)隐蔽性高

APT攻击根据目标的特点,绕过目标所在网络的防御系统,极其隐蔽地盗取数据或进行破坏。在信息收集阶段,攻击者常利用搜索引擎、爬虫等手段持续渗透,使被攻击者很难察觉;在攻击阶段,基于对目标嗅探的结果,攻击者设计开发极具针对性的木马等恶意软件,绕过目标网络防御系统进行隐蔽攻击;在对外通信过程中,也会采用加密链路等手段逃脱现有的监测技术。