第二章:网络攻击原理与常用方法

本章首先讲述网络攻击相关概念,总结网络攻击的技术特点、发展趋势和网络攻击的一般过程;然后系统的给出了网络攻击的常见技术方法和黑客常用工具;最后分析了分布式拒绝服务攻击、网络蠕虫、网络安全导致停电事件等典型的网络攻击案例

2.1网络攻击概述

本节主要阐述网络攻击概念分析网络攻击发展趋势

2.1.1网络攻击概念

网络攻击是指损害网络系统安全属性的危害行为
危害行为导致网络系统的机密性、完整性、可用性、可控性、真实性、抗抵赖性等受到不同程度的破坏
常见的危害行为有四种基本类型:
(1)信息泄露攻击
(2)完整性破坏攻击
(3)拒绝服务攻击
(4)非法使用攻击
网络攻击由攻击者发起,攻击者应用一定的攻击工具(包括攻击策略与方法),对目标网络系统进行(合法与非法的)攻击操作达到一定的攻击效果实现攻击者预定的攻击意图
下表为网络攻击原理表:

攻击者 黑客 间谍 恐怖主义者 公司职员 职业犯罪分子 破坏者
攻击工具 用户命令 脚本或程序 自治主体 电磁泄漏
攻击访问 本地访问 远程访问
攻击效果 破坏信息 信息泄密 窃取服务 拒绝服务
攻击意图 挑战 好奇 获取情报 经济利益 恐怖事件 报复
1.攻击者

根据网络攻击来源。攻击者可分为两大类:内部人员和外部人员。根据网络攻击的动机与目的,常见的攻击者可分为六类:间谍、恐怖主义者、黑客、职业犯罪分子、公司职员和破坏者

2.攻击工具
  • 用户命令:攻击者在命令行状态下或者以图形用户接口方式输入攻击命令。

  • 脚本或程序:利用脚本和程序挖掘弱点。

  • 自治主体:攻击者初始化一个程序或者程序片段,独立执行漏洞挖掘。

  • 电磁泄漏:通过电子信号分析方法,实施电磁泄漏分析。

3.攻击访问

为达到攻击目的,一定要访问目标网络系统(合法和非合法访问)。
攻击过程主要依赖于非法访问和目标网络资源的使用,即未授权访问或未授权使用目标系统的资源
攻击者能够进行未授权访问和使用系统的资源的前提是:目标网络和系统存在安全弱点,包括设计弱点、实现弱点和配置弱点
进入目标系统后,攻击者就开始执行相关命令,如修改文件、传送数据等,实施各类不同的攻击。

4.攻击效果
  • 破坏信息:删除或修改系统中存储的信息或者网络中传送的信息;
  • 信息泄密:窃取或公布敏感信息;
  • 窃取服务:未授权使用计算机或网络服务;
  • 拒绝服务:干扰系统和网络的正常服务,降低网络和系统性能,甚至使系统和网络崩溃。
5.攻击意图
  • 黑客:攻击的动机与目的是表现自己或技术挑战
  • 间谍:攻击的动机与目的是获取情报信息
  • 恐怖主义者:攻击的动机与目的是获取恐怖主义集团的利益
  • 公司职员:攻击的动机与目的是好奇,显示才干
  • 职业犯罪分子:攻击的动机与目的是获取经济利益
  • 破坏者:攻击的动机与目的是报复或发泄不满情绪

2.1.2网络攻击模型

掌握网络攻击模型有助于更好地分析网络攻击活动,以便对目标系统的抗攻击能力进行测评。
目前,常见的网络攻击模型如下:

1.攻击树模型

攻击树方法起源于故障树分析方法。故障树分析方法主要用于系统风险分析和系统可靠性分析,后扩展为软件故障树,用于辅助识别软件设计和实现中的错误。
Schneier首先基于软件故障树方法提出了攻击树的概念,用AND-OR形式的树结构对目标对象进行网络安全威胁分析。
例如,侵害路由器攻击树描述如下图:

攻击树方法可以被Red Team用来进行渗透测试,同时也可以被Blue Team用来研究防御机制。
攻击树的优点: 能够采取专家头脑风暴,并且将这些意见融合到攻击树中;能够进行费效分析或概率分析;能够建模非常复杂的攻击场景。
攻击树缺点: 由于树结构的内在限制,攻击树不能用来建模多重尝试攻击、时间依赖及访问控制等场景;不能用来建模循环事件;对于现实中的大规模网络,攻击树方法处理起来将会特别复杂。

2.MITRE ATT&CK模型

MITRE根据真实观察到的网络攻击数据提炼形成攻击矩阵模型MITRE ATT&CK,该模型把攻击活动抽象为初始访问(Initial Access)、执行(Execution)、持久化(Persistence)、特权提升(Privilege Escalation)、躲避防御(Defense Evasion)、凭据访问(Credential Access)、发现(Discovery)、横向移动(Lateral Movement)、收集(Collection)、指挥和控制(Command and Control)、外泄(Exfiltration)、影响(Impact),然后给出攻击活动的具体实现方式,详见 MITRE 官方。基于MITRE ATT&CK常见的应用场景主要有网络红蓝对抗模拟、网络安全渗透测试、网络防御差距评估、网络威胁情报收集等。

3.网络杀伤链(Kill Chain)模型

洛克希德·马丁公司提出的网络杀伤链模型(简称Kill Chain模型),该模型将网络攻击活动分成目标侦察()、武器构造()、载荷投送()、漏洞利用()、安装植入()、指挥和控制()、目标行动()等七个阶段
(1)目标侦擦。 研究、辨认和选择目标,通常利用爬虫获取网站信息,例如会议记录、电子邮件地址、社交关系或有关特定技术的信息。
(2)武器构造。 将远程访问的特洛伊木马程序与可利用的有效载荷结合在–起。例如,利用 Adobe PDF或Microsoft Office文档用作恶意代码载体。
(3)载荷投送。 把武器化有效载荷投送到目标环境,常见的投送方式包括利用电子邮件附件、网站和USB可移动介质。
(4)漏洞利用。 将攻击载荷投送到受害者主机后,漏洞利用通常针对应用程序或操作系统漏洞,会触发恶意代码功能。
(5)安装植入。 在受害目标系统上安装远程访问的特洛伊木马或后门程序,以持久性地控制目标系统。
(6)指挥和控制。 构建对目标系统的远程控制通道,实施远程指挥和操作。通常目标系统与互联网控制端服务器建立C2通道。
(7)目标行动。 采取行动执行攻击目标的任务,如从受害目标系统中收集、加密、提取信息并将其送到目标网络外;或者破坏数据完整性以危害目标系统;或者以目标系统为“跳板”进行横向扩展渗透内部网络。

2.1.3网络攻击发展

随着网络信息技术的普及与应用发展,越来越多的人能够使用和接触网络,网民可从因特网上学习攻击方法并下载黑客工具。网络信息环境受到不同类别的攻击者的威胁,如黑客、犯罪、工业间谍、普通用户、超级用户、管理员、恐怖组织等攻击者从以前的单机系统为主转变到以网络及信息运行环境为主的攻击。攻击者通过制定攻击策略,使用各种各样的工具组合,甚至由软件程序自动完成目标攻击。攻击方法多种多样,如网络侦听获取网上用户的账号和密码、利用操作系统漏洞攻击、使用某些网络服务泄露敏感信息攻击、强力破解口令、认证协议攻击、创建网络隐蔽信道、安装特洛伊木马程序、拒绝服务攻击、分布式攻击等。
归纳起来,网络攻击具有以下变化趋势。

1.网络攻击工具智能化、自动化

网络攻击者利用已有的攻击技术编制能够自动攻击的工具软件,网络攻击软件集成多种攻击功能,具有信息搜集、漏洞利用、复制传播、目标选择等能力。“红色代码”“冲击波”“永恒之蓝”等网络蠕虫可在网络信息系统中自动扩散,导致网络瘫痪、服务及数据不可用等严重安全问题。

2.网络攻击者群体普适化

由于自动化网络攻击软件的出现,网络攻击者可利用软件工具完成复杂攻击。网络攻击者由技术人员向非技术人员变化。非技术人员通过使用工具实施对网络目标系统的攻击,极易导致网络攻击技术的滥用。

3.网络攻击目标多样化和隐蔽性

网络攻击目标日趋多样性,网络攻击对象以操作系统为主转向网络的各个层面,包括网络通信协议、安全协议、域名服务器、路由设备、网络应用服务,甚至网络安全设备等,均成为攻击目标。除此之外,网络攻击目标的隐蔽性增强,网络内容、网络业务系统、网络物理环境以及网络关联对象也成为攻击对象之一, 网络攻击对象扩展到物理 空间和社会空间。

4.网络攻击计算资源获取方便

攻击者利用因特网巨大的计算资源,开发特殊的程序将分布在不同地域的计算机协同起来,向特定的目标发起攻击。例如,基于僵尸网络发起DDoS攻击。另外,网络攻击者利用云计算、高性能计算以提高攻击计算能力。例如,基于GPU计算加速口令破解速度

5.网络攻击活动持续性强化

高级持续威胁(简称APT)日趋常态化,国外APT组织对国内的金融、政府、教育、科研等目标系统持续发动攻击。网上已发现和公布的高级网络安全威胁行为主体主要有 “方程式”“白象”“海莲花”“绿斑” “蔓灵花” 等。某些网络攻击活动持续长达十年以上,直到被发现。

6.网络攻击速度加快

网络中的漏洞往往是攻击者先发现、先利用,网络安全防御处于被动局面。如果网络安全防御者未补上新公布的漏洞,网络攻击者就有机可乘。网络攻击者掌握主动权,而防御者被动应付。

7.网络攻击影响扩大

网络信息安全攻击的影响日益增大,其影响可延伸到物理空间、社会空间,严重时可导致城市停电停水停气、交通瘫痪、工厂停产、社会混乱等。

8.网络攻击主体组织化

早期的网络攻击通常由技术爱好者发起,其目的在于炫耀技术。而目前的网络攻击主体日益复杂化,各种利益团体参与网络攻击活动。例如,通过“震网”病毒的网络攻击能力显示国家力量的存在。网络空间成为各个国家的重要保护领域,一 些网络信息科技发达的国家已经建立起网军,并研制系列化网络武器。
总而言之,网络信息系统面临日益严重的安全威胁,网络安全问题全面影响社会的各个领域,威胁着社会安全和国家安全。

2.2网络攻击一般流程

本节把网络攻击过程归纳为以下几个步骤:
(1)隐藏攻击源。 隐藏黑客主机位置使得系统管理无法追踪。
(2)收集攻击目标信息。 确定攻击目标并收集目标系统的有关信息。
(3)挖掘漏洞信息。 从收集到的目标信息中提取可使用的漏洞信息。
(4)获取目标访问权限。 获取目标系统的普通或特权账户的权限。
(5)隐蔽攻击行为。 隐蔽在目标系统中的操作,防止入侵行为被发现。
(6)实施攻击。 进行破坏活动或者以目标系统为跳板向其他系统发起新的攻击。
(7)开辟后门。 在目标系统中开辟后门,方便以后入侵。
(8) 清除攻击痕迹。 避免安全管理员发现、追踪以及法律部门取证。

2.2.1隐藏攻击源

在因特网上的网络主机均有自己的网络地址,根据TCP/IP协议的规定,若没有采取保护措施,攻击主机很容易被反查到位置,如IP地址和域名。因此,实施攻击时的首要步骤就是隐藏自己的位置,使调查者难以发现真正的攻击者来源。
攻击者常用以下的技术隐藏他们的真实IP地址或域名:

  • 利用被侵入的主机作为跳板;
  • 免费代理网关;
  • 伪造IP地址;
  • 假冒用户账号。

2.2.2收集攻击目标信息

在发动一些攻击之前,攻击者一定要先确定攻击目标并收集目标系统的信息。
攻击者常常收集的目标系统的信息如下:

  • 目标系统一般信息,主要有目标系统的IP地址、DNS服务器、邮件服务器、网站服务器、操作系统软件类型及版本号、数据库软件类型及版本号、应用软件类型及版本号、系统开发商等;
  • 目标系统配置信息,主要有系统是否禁止root远程登陆、缺省用户名/默认口令等;
  • 目标系统的安全漏洞信息,主要是目标系统的有漏洞的软件及服务;
  • 目标系统的安全措施信息,主要是目标系统的安全厂商、安全产品等;
  • 目标系统的用户信息,主要是目标系统用户的邮件账号、社交网帐号、手机号、固定电话号码、照片、爱好等个人信息。

2.2.3挖掘漏洞信息

系统中漏洞的存在是系统受到各种安全威胁的根本原因
外部攻击者的攻击主要利用了系统网络服务中的漏洞,内部人员则利用了系统内部服务及其配置上的漏洞。
拒绝服务攻击主要是利用资源的有限性及分配策略的漏洞,长期占用有限资源不释放,使其他用户得不到应得的服务;或者是利用服务处理中的漏洞,使该服务程序崩溃。
攻击者攻击的重要步骤就是尽量按掘出系统的漏洞,并针对具体的漏洞研究相应的攻击方法。
常用的漏洞挖掘技术方法有如下内容:

1.系统或应用服务软件漏洞

攻击者可以根据目标系统提供的不同服务,使用不同的方法以获取系统的访问权限
如系统提供了finger 服务,攻击者就能因此得到系统用户信息,进而通过猜测用户口令获取系统的访问权;如果系统还提供其他的一些远程网络服务,如邮件服务、WWW服务、匿名FTP服务、TFTP服务,攻击者就可以使用这些远程服务中的漏洞获取系统的访问权。

2.主机信任关系漏洞

攻击者寻找那些被信任的主机,通常这些主机可能是管理员使用的机器,或是一台被认为很安全的服务器。
比如,攻击者可以利CGI的漏洞,读取/ect/hosts.allow文件等。通过这个文件,就可以大致了解主机间的信任关系。下步,就是探测这些被信任的主机中哪些存在漏洞。

3.目标网络的使用者漏洞

尽量去发现有漏洞的网络使用者,这样就能达到事半功倍的效果,从内部攻破。
常见的攻击方法主要有网络邮件钓鱼、用户弱口令破解、U盘摆渡攻击、网页恶意代码等

4.通信协议代码

通过分析目标网络所采用的协议信息寻找漏洞,如IP协议中的地址伪造漏洞、Telent/Http/Ftp/POP3/SMT等协议的明文传输信息漏洞。

5.网络业务系统漏洞

通过掌握目标网络的业务信息发现漏洞,如业务服务申请登记非实名漏洞。

2.2.4获取目标访问权限

一般账户对目标系统只有有限的访问权限,要达到某些目的,攻击者必须拿到更多的权限。因此在获得一般账户之后, 攻击者经常会试图去获得更高的权限,如系统管理账户的权限。
获取系统管理权限通常有以下途径:

  • 获得系统管理员的口令,如专门针对root用户的口令攻击;
  • 利用系统管理上的漏洞,如错误的文件许可权,错误的系统配置,某些SUID程序中存在的缓冲区溢出问题等;
  • 让系统管理员运行一些特洛伊木马, 如经篡改之后的LOGIN程序等;
  • 窃听管理员口令

2.2.5隐蔽攻击行为

在进入系统之后,聪明的攻击者要做的第一件事就是隐藏自己的行踪。
攻击者隐藏自己的行踪通常要用到下面这些技术:

  • 连接隐藏,如冒充其他用户、修改LOGNAME环境变量、修改utmp日志文件、使用IP SPOOF技术等。
  • 进程隐藏,如使用重定向技术减少ps给出的信息量、用特洛伊木马代替ps程序等。
  • 文件隐蔽,如利用字符串相似麻痹系统管理员,或修改文件属性使得普通显示方法无法看到;利用操作系统可加载模块特性,隐瞒攻击时所产生的信息。

2.2.6实施攻击

不同的攻击者有不同的攻击目的。
一般来说,实施攻击的目标可归纳为以下几种:

  • 攻击其他被信任的主机和网络;
  • 修改或删除重要数据;
  • 窃听敏感数据;
  • 停止网络服务;
  • 下载敏感数据;
  • 删除数据账号;
  • 修改数据记录;

2.2.7开辟后门

一次成功的入侵通常需要花费大量时间和精力,因此,精于算计的攻击者在离开之前会在系统中开辟一些后门。
攻击者设计后门时通常会考虑以下方法:

  • 放宽文件许可权;
  • 重新开放不安全的服务,如REXD、TFTP等;
  • 修改系统的配置,如系统启动文件、网络服务配置文件等;
  • 替换系统本身的共享库文件;
  • 修改系统的源代码,安装各种特洛伊木马;
  • 安装嗅探器;
  • 建立隐蔽信道。

2.2.8清除攻击痕迹

为避免安全管理员发现、追踪以及法律部门取证,攻击时常会消除攻击痕迹。
常用方法有:

  • 篡改日志文件中的审计信息
  • 改变系统时间造成日志文件数据紊乱以迷惑系统管理员;
  • 删除或停止审计服务进程;
  • 干扰入侵检测系统的正常运行;
  • 修改完整性检测标签。

2.3网络攻击常见技术方法

本节主要介绍常见的网络攻击技术方法。

2.3.1端口扫描

端口扫描的目的是找出目标系统上提供的服务列表
端口扫描程序挨个尝试与TCP/UDP端口连接,然后根据端口与服务的对应关系,结合服务器端的反应推断目标系统上是否运行了某项服务,通过这些服务可能获得关于目标系统的进一步的知识或通往目标系统的途径。
下面介绍端口扫描类型:

1.完全连接扫描

完全连接扫描利用TCP/IP 协议的三次握手连接机制,使源主机和目的主机的某个端口建立一次完整的连接。
如果建立成功,则表明该端口开放。否则,表明该端口关闭。

2. 半连接扫描

半连接扫描是指在源主机和目的主机的三次握手连接过程中,只完成前两次握手,不建立一次完整的连接。

3.SYN扫描

首先向目标主机发送连接请求,当目标主机返回响应后立即切断连接过程,并查看响应情况
如果目标主机返回ACK信息,表示目标主机的该端口开放。如果目标主机返回RESET信息,表示该端口没有开放。

4.ID头信息扫描

这种扫描方法需要用一台第三方机器配合扫描,并且这台机器的网络通信量要非常少,即dumb主机。
首先由源主机A向dumb主机B发出连续的PING数据包,并且查看主机B返回的数据包的ID头信息。一般而言,每个顺序数据包的ID头的值会增加1。然后由源主机A假冒主机B的地址向目的主机C的任意端口(1~65535) 发送SYN数据包。这时,主机C向主机B发送的数据包有两种可能的结果:

  • SYN|ACK表示该端口处于监听状态。
  • RST|ACK表示该端口处于非监听状态。

那么,由后续PING数据包的响应信息的ID头信息可以看出,如果主机C的某个端口是开放的,则主机B返回A的数据包中,ID头的值不是递增1,而是大于1。如果主机C的某个端口是非开放的,则主机B返回A的数据包中,ID 头的值递增1,非常规律。

5.隐蔽扫描

隐蔽扫描是指能够成功地绕过IDS、防火墙和监视系统等安全机制,取得目标主机端口信息的一种扫描方式。

6.SYN|ACK扫描

由源主机向目标主机的某个端口直接发送SYN|ACK数据包,而不是先发送SYN数据包。由于这种方法不发送SYN数据包,目标主机会认为这是一次错误的连接,从而会报错。
如果目标主机的该端口没有开放,则会返回RST信息。如果目标主机的该端口处于开放状态(LISTENING),则不会返回任何信息,而是直接将这个数据包抛弃掉。

7.FIN扫描

源主机A向目标主机B发送FIN数据包,然后查看反馈信息。如果端口返回RESET信息则说明该端口关闭。如果端口没有返回任何信息,则说明该端口开放。

8.ACK扫描

首先由主机A向目标主机B发送FIN数据包,然后查看反馈数据包的TTL值和WIN值。
开放端口所返回的数据包的TTL值一般小于64,而关闭端口的返回值一般大于64。开放端口所返回的数据包的WIN值一般大于0,而关闭端口的返回值一般等于0。
FIN:FIN(ISH)为TCP报头的码位字段,该位置为1的含义为发送方字节流结束,用于关闭连接。
当两端交换带有FIN标志的TCP报文段并且每一端都确认另一端发送的FIN包时,TCP连接将会关闭。FIN位字面上的意思是连接一方再也没有更多新的数据发送。然而,那些重传的数据会被传送,直到接收端确认所有的信息。

9.NULL扫描

将源主机发送的数据包中的ACK、FIN、 RST、SYN、URG、PSH 等标志位全部置空。
如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。

10.XMAS扫描

XMAS扫描的原理和NULL扫描相同,只是将要发送的数据包中的ACK、FIN、RST、SYN、URG、PSH等头标志位全部置成1。
如果目标主机没有返回任何信息,则表明该端口是开放的。如果返回RST信息,则表明该端口是关闭的。
网络端口扫描是攻击者必备的技术,通过扫描可以掌握攻击目标的开放服务,根描扫描所获得的信息,为下一步的攻击做准备。

2.3.2口令破解

口令机制是资源访问控制的第一道屏障。
网络攻击者通常以破解弱口令为突破口,获取系统的访问权。
据调查,20%到30%的口令可通过对字典或常用字符表进行搜索或经过简单的置换发现。
目前,有专用的口令攻击软件,这些软件能够针对不同的系统进行攻击。此外,一些远程网络服务的口令破解软件也开始出现,攻击者利用这些软件工具,进行远程猜测网络服务口令,其主要工作流程如下:

  • 第一步,建立与目标网络服务的网络连接;
  • 第二步,选取一个用户列表文件及字典文件;
  • 第三步,在用户列表文件及字典文件中,选取一组用户和口令,按网络服务协议规定,将用户名及口令发送给目标网络服务端口;
  • 第四步,检测远程服务返回信息,确定口令尝试是否成功;
  • 第五步,再取另一组用户和口令,重复循环试验,直至口令用户列表文件及字典文件选取完毕。

2.3.3缓冲区溢出

缓冲区溢出攻击可以使攻击者有机会获得一台主机的部分或全部的控制权。
据统计,缓冲区溢出攻击占远程网络攻击的绝大多数。缓冲区溢出成为远程攻击主要方式的原因是,缓冲区溢出漏洞会给予攻击者控制程序执行流程的机会。
攻击者将特意构造的攻击代码植入有缓冲区溢出漏洞的程序之中,改变漏洞程序的执行过程,就可以得到被攻击主机的控制权。
下图为通过缓冲区溢出获取主机的控制权示意图:

2.3.4恶意代码

恶意代码是网络攻击常见的攻击手段。常见的恶意代码类型有计算机病毒、网络蠕虫、特洛伊木马、后门、逻辑炸弹、僵尸网络等。
其中,网络蠕虫程序是1988年由小莫里斯编制的,该程序具有复制传播功能,可以感染UNIX系统主机,使网上6000多台主机无法运行;
2001年8月,红色代码蠕虫病毒利用微软Web服务器IIS4.0 或5.0中index服务的安全缺陷,通过自动扫描感染方式传播蠕虫;
2010 年“震网”网络蠕虫是首个专门用于定向攻击真实世界中基础(能源)设施的恶意代码。

2.3.5拒绝服务

拒绝服务攻击是指攻击者利用系统的缺陷,执行一些恶意的操作,使得合法的系统用户不能及时得到应得的服务或系统资源,如CPU处理时间、存储器、网络带宽等。
拒绝服务攻击最本质的特征是延长服务等待时间。当服务等待时间超过某个阈值时,用户因无法忍耐而放弃服务。拒绝服务攻击延迟或者阻碍合法的用户使用系统提供的服务,对关键性和实时性服务造成的影响最大。
拒绝服务攻击具有以下特点:

  • 难确认性,拒绝服务攻击很难判断,用户在自己的服务得不到及时响应时,并不认为自己(或者系统)受到攻击,反而可能认为是系统故障造成一时的服务失效。
  • 隐蔽性,正常请求服务隐藏拒绝服务攻击的过程。
  • 资源有限性,由于计算机资源有限,容易实现拒绝服务攻击。
  • 软件复杂性,由于软件所固有的复杂性,设计实现难以确保软件没有缺陷。因而攻击者有机可乘,可以直接利用软件缺陷进行拒绝服务攻击,例如泪滴攻击。
1.同步包风暴(SYN Flood)

攻击者假造源网址(Source IP)发送多个同步数据包(Syn Packet)给服务器(Server) ,服务器因无法收到确认数据包( Ack Packet) ,使TCP/IP 协议的三次握手( Three-Way Hand-Shacking)无法顺利完成,因而无法建立连接。
其原理是发送大量半连接状态的服务请求,使Unix等服务主机无法处理正常的连接请求,因而影响正常运作。

2. UDP洪水(UDP Flood)

利用简单的TCP/IP服务,如用Chargen和Echo传送毫无用处的占满带宽的数据。通过伪造与某一主机的Chargen服务之间的一次UDP 连接,回复地址指向开放Echo服务的一台主机,生成在两台主机之间的足够多的无用数据流。

3.Smurf攻击

一种简单的Smurf攻击是将回复地址设置成目标网络广播地址的ICMP应答请求数据包,使该网络的所有主机都对此ICMP应答请求作出应答,导致网络阻塞,比ping of death洪水的流量高出一或两个数量级。
更加复杂的Smurf攻击是将源地址改为第三方的目标网络,最终导致第三方网络阻塞。

4.垃圾邮件

攻击者利用邮件系统制造垃圾信息,甚至通过专门的邮件炸弹(mail bomb)程序给受害用户的信箱发送垃圾信息,耗尽用户信箱的磁盘空间,使用户无法应用这个信箱。

5.消耗CPU和内存资源的拒绝服务攻击

利用目标系统的计算算法漏洞,构造恶意输入数据集,导致目标系统的CPU或内存资源耗尽,从而使目标系统瘫痪,如Hash DoS。

6.死亡之ping ( ping of death)

早期,路由器对包的最大尺寸都有限制,许多操作系统在实现TCP/IP堆栈时,规定ICMP包小于等于64KB,并且在对包的标题头进行读取之后,要根据该标题头中包含的信息为有效载荷生成缓冲区。当产生畸形的、尺寸超过ICMP上限的包,即加载的尺寸超过64KB上限时,就会出现内存分配错误,导致TCP/IP堆栈崩溃,使接收方停机。

7.泪滴攻击(Teardrop Attack)

泪滴攻击暴露出IP数据包分解与重组的弱点。当IP数据包在网络中传输时,会被分解成许多不同的片传送,并借由偏移量字段(Offset Field) 作为重组的依据。泪滴攻击通过加入过多或不必要的偏移量字段,使计算机系统重组错乱,产生不可预期的后果。

8.分布式拒绝服务攻击( Distributed Denial of Service Attack)

分布式拒绝服务攻击(DDoS)是指植入后门程序从远程遥控攻击,攻击者从多个已入侵的跳板主机控制数个代理攻击主机,所以攻击者可同时对已控制的代理攻击主机激活干扰命令,对受害主机大量攻击。分布式拒绝服务攻击程序,最著名的有Trinoo、TFN、TFN2K和Stacheldraht四种。

2.3.6网络钓鱼

网络钓鱼(Phishing) 是一种通过假冒可信方(知名银行、在线零售商和信用卡公司等可信的品牌)提供网上服务,以欺骗手段获取敏感个人信息(如口令、信用卡详细信息等)的攻击方式。
目前,网络钓鱼综合利用社会工程攻击技巧和现代多种网络攻击手段,以达到欺骗意图。最典型的网络钓鱼方法是,网络钓鱼者利用欺骗性的电子邮件和伪造的网站来进行诈骗活动,诱骗访问者提供一一些个人信息, 如信用卡号、账户和口令、社保编号等内容,以谋求不正当利益。例如,网络钓鱼攻击者构造一封所谓 “安全提醒”邮件发给客户,然后让客户点击虚假网站,填写敏感的个人信息,这样网络钓鱼攻击者就能获取受害者的个人信息,并非法利用。

2.3.7网络窃听

网络窃听是指利用网络通信技术缺陷,使得攻击者能够获取到其他人的网络通信信息。
常见的网络分听技术手段主要有网络嗅探中间人攻击
一般的计算机系统通常只接收目的地址指向自己的网络包,而忽略其他的包。但在很多情况下,一台计算机的网络接口可能收到目的地址并非指向自身的网络包,在完全的广播子网中,所有涉及局域网中任何一台 主机的网络通信内容均可被局域网中所有的主机接收到,这就使得网络窃听变得十分容易。
网络攻击者将主机网络接口的方式设成 “杂乱”模式,就可以接收整个网络上的信息包,从而可以获取敏感的口令,甚至将其重组,还原为用户传递的文件。

2.3.8SQL注入

在Web服务中,一般采用三层架构模式: 浏览器+Web 服务器+数据库。
其中,Web脚本程序负责处理来自浏览器端提交的信息,如用户登录名和密码、查询请求等。但是,由于Web脚本程序的编程漏洞,对来自浏览器端的信息缺少输入安全合法性检查,网络攻击者利用这种类型的漏洞,把SQL命令插入Web表单的输入域或页面的请求查找字符串,欺骗服务器执行恶意的SQL命令。

2.3.9社交工程

网络攻击者通过一系列的社交活动,获取需要的信息。
例如,伪造系统管理员的身份,给特定的用户发电子邮件骗取他的密码口令。有的攻击者会给用户送免费实用程序,不过该程序除了完成用户所需的功能外,还隐藏了一个将用户的计算机信息发送给攻击者的功能。
很多时候,没有经验的网络用户容易被攻击者欺骗,泄露相关信息。例如,攻击者打电话给公司职员,自称是网络安全管理成员,并且要求获得用户口令。攻击者得到用户口令后,就能够滥用合法用户的权利。

2.3.10电子监听

网络攻击者采用电子设备远距离地监视电磁波的传送过程。
灵敏的无线电接收装置能够在远处看到计算机操作者输入的字符或屏幕显示的内容。

2.3.11会话劫持

会话劫持是指攻击者在初始授权之后建立一个连接, 在会话劫持以后,攻击者具有合法用户的特权权限。例如,一一个合法用户登录一台主机, 当工作完成后,没有切断主机。然后,攻击者乘机接管,因为主机并不知道合法用户的连接已经断开。于是,攻击者能够使用合法用户的所有权限。
典型的实例是“TCP会话劫持”。

2.3.12漏洞扫描

漏洞扫描是一种自动检测远程或本地主机安全漏洞的软件,通过漏洞扫描器可以自动发现系统的安全漏洞。
网络攻击者利用漏洞扫描来搜集目标系统的漏洞信息,为下一步的攻击做准备。常见的漏洞扫描技术有CGI漏洞扫描、弱口令扫描、操作系统漏洞扫描、数据库漏洞扫描等。- -些黑客或安全人员为了更快速地查找网络系统中的漏洞,会针对某个漏洞开发专用的漏洞扫描工具,例如RPC漏洞扫描器。

2.3.13代理技术

网络攻击者通过免费代理服务器进行攻击,其目的是以代理服务器为“攻击跳板”,即使攻击目标的网络管理员发现了,也难以追踪到网络攻击者的真实身份或IP地址,如图所示。
为了增加追踪的难度,网络攻击者还会用多级代理服务器或者“跳板主机”来攻击目标。在黑客中,代理服务器被叫作“肉鸡”,黑客常利用所控制的机器进行攻击活动,例如DDoS攻击。

2.3.14数据加密

网络攻击者常常采用数据加密技术来逃避网络安全管理人员的追踪。
加密使网络攻击者的数据得到有效保护,即使网络安全管理人员得到这些加密的数据,没有密钥也无法读懂,这样就实现了攻击者的自身保护。
攻击者的原则是任何与攻击有关的内容都必须加密或者立即销毁。

2.4黑客常用工具

本节主要介绍网络攻击者常常采用的工具,主要包括有扫描器、远程监控、密码破解、网络嗅探器、安全渗透工具箱等。

2.4.1扫描器

扫描器正如黑客的眼睛,通过扫描程序,黑客可以找到攻击目标的IP地址、开放的端口号、服务器运行的版本、程序中可能存在的漏洞等。
现在网络上很多扫描器在功能上都设计得非常强大,并且综合了各种扫描需要,将各种功能集于一身。
根据不同的扫描目的,扫描类软件又分为地址扫描器端口扫描器漏洞扫描器三个类别。利用扫描器,黑客收集目标信息的工作可轻松完成,从而可以让黑客清楚地了解目标,将目标“摸得一清二楚”,这对于攻击来说是至关重要的。
下面列出几种经典的扫描软件:

  • NMAP NMap (Network Map)即网络地图,通过NMap可以检测网络上主机的开放端口号、主机的操作系统类型以及提供的网络服务。
  • Nessus Nessus早期是免费的、开放源代码的远程安全扫描器,可运行在Linux操作系统平台上,支持多线程和插件。目前,该工具已商业化。
  • SuperScan SuperSsen 是一款具有TCP connect端口扫描、Ping和域名解析等功能的工具,能较容易地对指定范围内的IP地址进行Ping和端口扫描。

2.4.2远程监控

远程监控实际上是在受害机器上运行一个代理软件,而在黑客的电脑中运行管理软件,受害机器受控于黑客的管理端。
受害机器通常被称为“肉鸡”,其经常被用于发起DDoS拒绝服务攻击或作为攻击跳板。
常见的远程监控工具有冰河网络精灵Netcat

2.4.3密码破解

密码破解是安全渗透常用的工具,常见的密码破解方式有口令猜测穷举搜索撞库等。
口令猜测主要针对用户的弱口令。
穷举搜索就是针对用户密码的选择空间,使用高性能计算机,逐个尝试可能的密码,直至搜索到用户的密码。
撞库则根据已经收集到的用户密码的相关数据集,通过用户关键词搜索匹配,与目标系统的用户信息进行碰撞,以获取用户的密码。
密码破解工具大多数是由高级黑客编写出来的,供初级黑客使用的现成软件,使用者只要按照软件的说明操作就可以达到软件的预期目的。
密码破解的常见工具如下:

  • John the Ripper John the Ripper用于检查Unix/Linux系统的弱口令,支持几乎所有Unix平台上经crypt函数加密后的口令哈希类型。
  • LOphtCrack LOphtCrack常用于破解Windows系统口令,含有词典攻击、组合攻击、强行攻击等多种口令猜解方法。

2.4.4网络嗅探器

网络嗅探器(Network Snifer)是一种黑客攻击工具,通过网络嗅探,黑客可以截获网络的信息包,之后对加密的信息包进行破解,进而分析包内的数据,获得有关系统的信息。
如可以截获个人上网的信息包,分析上网账号、系统账号、电子邮件账号等个人隐私资料。
网络嗅探类软件已经成为黑客获取秘密信息的重要手段,常见的网络嗅探器工具有Tcpdump、DSniff、 WireShark 等。

  • Tcpdump/WireShark Tcpdump是基于命令行的网络数据包分析软件,可以作为网络嗅探工具,能把匹配规则的数据包内容显示出来。而WireShark则提供图形化的网络数据包分析功能,可视化地展示网络数据包的内容。
  • DSniff DSniff 是由Dug Song开发的一套包含多个工具的软件套件,包括dsniff、filesnarf、mailsnarf、 msgsnarf、 rlsnarf 和webspy。使用DSniff可以获取口令、邮件、文件等信息。

2.4.5安全渗透工具箱

1. Metasploit

Metasploit是一个 开源渗透测试工具,提供漏洞查找、漏洞利用、漏洞验证等服务功能。Metasploit支持1500多个漏洞挖掘利用,提供OWASP TOP10漏洞测试。

2. BackTrack5

BackTrack集成了大量的安全工具软件,支持信息收集、漏洞评估、漏洞利用、特权提升、保持访问、逆向工程、压力测试。

2.5网络攻击案例分析

本节主要分析已发生的网络攻击案例,以便大家掌握网络攻击的活动规律,更好地开展网络安全防御工作。

2.5.1DDoS攻击

DDoS是分布式拒绝服务攻击的简称。2000年春季黑客利用分布式拒绝服务攻击大型网站,导致大型ISP服务机构Yahoo的网络服务瘫痪。
攻击者为了提高分布式拒绝服务攻击的成功率,需要控制成百上千的被入侵主机。
DDoS的整个攻击过程可以分为以下几个步骤:

  • 第一步,通过探测扫描大量主机,寻找可以进行攻击的目标;
  • 第二步,攻击有安全漏洞的主机,并设法获取控制权;
  • 第三步,在已攻击成功的主机中安装客户端攻击程序;
  • 第四步,利用已攻击成功的主机继续进行扫描和攻击;
  • 第五步,当攻击客户端达到一定数目后,攻击者在主控端给客户端攻击程序发布向特定目标进行攻击的命令。

从攻击案例来看,大型或复杂的攻击并不能一步到位,而是经过若干个攻击操作步骤后才能实现最终的攻击意图。
DDoS常用的攻击技术手段有HTTP Flood攻击、SYN Flood攻击、DNS放大攻击等。

  • HTTP Flood攻击是利用僵尸主机向特定目标网站发送大量的HTTP GET请求,以导致网络瘫痪,如下图所示:

  • SYN Flood攻击利用TCP/IP协议的安全缺陷,伪造主机发送大量的SYN包到目标系统,导致目标系统的计算机网络瘫痪,如下图所示:

  • DNS放大攻击是攻击者假冒目标系统向多个DNS解析服务器发送大量请求,而导致DNS解析服务器同时应答目标系统,产生大量网络流量,形成拒绝服务,如下图所示:

2.5.2W32.Blaster.Worm

W32.Blaster.Worm是一种利用DCOM RPC漏洞进行传播的网络蠕虫,其传播能力很强。感染蠕虫的计算机系统运行不稳定,会不断重启。并且该蠕虫还将对windowsupdate.com进行拒绝服务攻击,使受害用户不能及时得到这个漏洞的补丁。
如图所示,当W32.Blaster.Worm运行时,会进行如下操作:

  • (1)创建一一个名为BILLY的互斥体。如果这个互斥体存在,蠕虫将放弃感染并退出。
  • (2)在注册表中添加下列键值:

“windows auto update”=“msblast.exe”

并且将其添加至:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
这样就可以使蠕虫在系统被重起的时候能够自动运行。

  • (3)蠕虫生成攻击IP地址列表,尝试去感染列表中的计算机,蠕虫对有DCOM RPC漏洞的机器发起TCP 135端口的连接,进行感染。
  • (4)在TCP 4444端口绑定一个cmd.exe的后门。
  • (5)在UDP port 69口上进行监听。如果收到了一个请求,将把Msblast.exe发送给目标机器。
  • (6)发送命令给远端的机器使它回联已经受到感染的机器并下载Msblast.exe。
  • (7)检查当前日期及月份,若当前日期为16日或以后,或当前月份处在9月到12月之间,则W32.Blaster.Worm蠕虫将对windowsupdate.com发动TCP同步风暴拒绝服务攻击。

2.5.3网络安全导致停电事件

本网络安全事件材料来源于北京安天网络安全技术有限公司(以下简称安天公司)发布的《乌克兰电力系统遭受攻击事件综合分析报告》及相关网络信息。
2015年12月23日,乌克兰多地区发生同时停电的事件。调查显示,乌克兰电厂停电是因网络攻击导致电力基础设施被破坏。
如图所示:

根据安天公司的分析报告,黑客首先利用钓鱼邮件,欺骗电力公司员工下载了带有BlackEnergy的恶意代码文件,然后诱导用户打开这个文件,激活木马,安装SSH后门和系统自毁工具Klldisk, 致使黑客最终获得了主控电脑的控制权。最后,黑客远程操作恶意代码将电力公司的主控计算机与变电站断连并切断电源;同时,黑客发动DDoS攻击电力客服中心,致使电厂工作人员无法立即进行电力维修工作。

信息安全工程师学习笔记《第二章》相关推荐

  1. 2021信息安全工程师学习笔记(四)

    第四章 网络安全体系与网络安全模型 1.网络安全体系概述 网络安全体系是网络安全保证系统的最高层概念抽象 网络安全体系特征:整体性.协同性.过程性.全面性.适应性 网络安全体系用途 有利于系统性化解网 ...

  2. 软考信息安全工程师学习笔记汇总

    软考信息安全工程师学习笔记汇总 https://www.moondream.cn/?p=178 2020年软考信息安全工程师备考学习资料包 1.<信息安全工程师教程>重点标记版 2.& ...

  3. 软考信息安全工程师学习笔记目录

    软考信息安全工程师学习笔记目录 欢迎加入最棒的信息安全工程师社群,分享信息安全工程师备考干货资料. 备考交流QQ群:39460595 2019年软考信息安全工程师备考学习资料包 1.<信息安全工 ...

  4. 《Go语言圣经》学习笔记 第四章 复合数据类型

    <Go语言圣经>学习笔记 第四章 复合数据类型 目录 数组 Slice Map 结构体 JSON 文本和HTML模板 注:学习<Go语言圣经>笔记,PDF点击下载,建议看书. ...

  5. 计算机网络(第7版)谢希仁著 学习笔记 第四章网络层

    计算机网络(第7版)谢希仁著 学习笔记 第四章网络层 第四章 网络层 4.3划分子网和构造超网 p134 4.3.1划分子网 4.3.2使用子网时分组的转发 4.3.3无分类编址CIDR(构建超网) ...

  6. Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25

    Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...

  7. 机器人导论(第四版)学习笔记——第四章

    机器人导论(第四版)学习笔记--第四章 4.1 引言 4.2 解的存在性 4.3 当n<6时操作臂子空间的描述 4.4 代数解法和几何解法 4.5 简化成多项式的代数解法 4.6 三轴相交的Pi ...

  8. 线性代数学习笔记——第四章学习指南——n维向量空间

    一.学习内容及要求 1. 内容: §4.1. n维向量空间的概念 线性代数学习笔记--第四十讲--n维向量空间的概念 线性代数学习笔记--第四十一讲--n维向量空间的子空间 §4.2. 向量组的线性相 ...

  9. 信息安全工程师学习笔记《第四章》

    第四章 网络安全体系与网络安全模型 本章内容主要包括: 第一,讲述了网络安全体系的基本概念以及相关安全模型,主要包括机密性模型.完整性模型.信息流模型.信息保障模型.能力成熟度模型.纵深防御模型.分层 ...

最新文章

  1. spring boot配置druid
  2. php mysql设计中常问_PHP开发中常见的设计模式
  3. 10道腾讯的Java面试题
  4. sc.next在java什么意思_sc.next() 和 nextLine 的原理
  5. python 判断该地址 文件创建时间2020年10月14日14时25分32秒 文件最后一次访问时间 文件最后一次修改时间
  6. perf-perf stat用户层代码分析
  7. java切面不需要接口了吗_详解Spring AOP 实现“切面式”valid校验
  8. 梦想cad控件 android,梦想CAD控件 2018.7.26更新
  9. 集群故障处理之处理思路以及健康状态检查(三十二)
  10. 大一Java课设,五子棋小游戏
  11. 《redis设计与实现(第二版)》
  12. redis中内存碎片处理
  13. MATROSKA 文件格式
  14. 弧长公式 | 微积分
  15. 已知法向量 求投影_空间直线在平面上投影方程的多种解法
  16. 构建用户画像-标签体系
  17. Excel日期变数字问题
  18. Efficient Deep Embedded Subspace Clustering
  19. 【SM2证书】签发SM2根证书 (精简、直接)
  20. 一个26岁没文凭,想去努力自学编程,有机会成为程序员吗?

热门文章

  1. 已入职今日头条!并附上8面面经
  2. 无线wifi摄像头怎样可以远程监控
  3. STC用PCA测量脉宽_超快激光脉冲测量和诊断使用自相关仪
  4. 如何在Word中创建和打印标签
  5. excel行列互换_EXCEL图表中的堆积柱形图如何行列互换
  6. nvm: node版本管理器[使用教程]
  7. 判断Linux服务器是否被攻击以及相应的预防措施
  8. 选择粘贴性无html,用好Office的选择性粘贴
  9. 关于买房的后的人生感悟
  10. Runtime error: expected scalar type Float but found Double