前言
由于本校所用教材为:张玉清主编,清华大学出版社出版的《网络攻击与防御技术》
,因此本文是基于此书进行学习及总结的,本文章着重于理论知识,没有实战应用。
《网络攻击与防御技术》PDF 下载地址:蓝奏云
第一章 网络安全概述
1.网络安全基础知识
网络安全的基本需求
可靠性、可用性、保密性、完整性、不可抵赖性、可控性、可审查性、真实性
网络安全内容
网络安全的主体是保护网络上的数据和通信的安全 数据安全性是一组程序和功能,用来阻止对数据进行非授权的泄漏、转移、修改和破坏 通信安全性是一些保护措施,要求在电信中采用保密安全性、传输安全性、辐射安全性的措施,并依要求对具备通信安全性的信息采取物理完全性措施
网络安全的特征
保密性、完整性、可用性、可控性
攻击类型
主动攻击
主动攻击包括对数据流进行篡改或伪造数据流可分为4类:伪装、重放、消息篡改和拒绝服务。
被动攻击
被动攻击采取的方法是对传输中的信息进行窃听和监测,主要目标是获得传输的信息。有两种主要的被动攻击方式:信息收集和流量分析。
社会工程学
2.网络安全的重要性
- 信息系统自身安全的脆弱性
- 信息系统面临的安全威胁
- 安全管理问题
- 黑客攻击
- 网络犯罪
- 为什么会感染恶意代码
3.网络安全威胁及根源
网络安全基本威胁
安全的基本目标是实现信息的机密性、完整性、可用性。对信息系统这三个基本目标的威胁就是基本威胁
- 信息泄露:敏感数据被泄露给未授权实体
- 完整性破坏:通过未授权的创建、修改、删除和重放
- 拒绝服务:系统被利用,造成服务能力下降或丧失
- 受到攻击,攻击者通过对系统进行非法的访问尝试而产生过量的系统负载,从而导致系统的资源对合法用户的服务能力下降或丧失
- 信息系统或组件在物理上受到破坏而中断服务
- 未授权服务:未授权实体非法访问系统资源或授权用户超越权限访问资源
威胁系统的主要方法
冒充、破坏信息的完整性、破坏系统的可用性
重放、辐射侦测、后门、木马、抵赖
威胁存在的根源
- 内部操作不当
- 内部管理不严
- 来自外部的威胁
- TCP/IP协议族的漏洞
- ARP欺骗
- SYN FLOOD攻击
4.网络攻击过程
入侵系统的常用步骤
较高明的入侵步骤
5.防护措施
第三章 扫描与防御
扫描的三个阶段
一个完整的网络安全扫描分为三个阶段:
第一阶段:
发现目标主机或网络第二阶段:
发现目标后进一步搜集目标信息,包括操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息第三阶段:
根据收集到的信息判断或者进一步测试系统是否存在安全漏洞
扫描技术
主机扫描(涉及到的原理)
向目标系统发送ICMP回显请求报文,并等待返回的ICMP回显应答,然后打印出回显报文.收到返回的ICMP报文,就说明主机存活。
目的:找出网段内活跃主机
端口扫描(涉及到的原理)
端口扫描是通过向连接到目标系统的 TCP 端口或 UDP 端口发送消息,记录目标系统的响应,搜集到很多关于目标主机的各种有用的信息。
目的:找出主机上所开放的网络服务
全扫描(TCP Connect)
优点:不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connec()函数来实现这个操作
缺点:这种扫描方法会在日志文件中留下大量密集的连接和错误记录,很容易被发现,并过滤掉。
半扫描(TCP SYN扫描)
优点:采用这种 “半打开扫描”,目标系统并不对它进行登记, 因此比全扫描扫描更隐蔽。 即使日志中对于扫描有所记录, 对尝试连接的记录也要比全扫描的记录少得多。
缺点:但在大部分操作系统中,发送主机需要构造适用于这种扫描类型的IP包, 通常只有超级用户或得到授权的用户才有权限访问专门的系统调用, 构造这种专门的SYN数据包.
秘密扫描(TCP FIN扫描)
优点:由于这种技术不包含标准的TCP三次握手协议的任何部分,无法被记录下来, 这样就比SYN扫描要隐蔽得多。
缺点:与SYN扫描类似, 秘密扫描也要用户具有特殊权限以构造IP包。 另外, 由于这种技术是利用了某些操作系统实现TCP/IP协议时的漏洞,因此,并不是对所有的操作系统都有效,通常只在基于UNIX的TCP/IP协议栈上可以成功地应用,而在Windows NT 环境下,该方法无效, 因为不论目标端口是否打开操作系统都会发送RST 。 利用这一点 来区分UNIX和WindowsNT, 也是十分有用的.
远程主机OS指纹识别(涉及到的原理)
识别主机安装的操作系类型,以选择不同渗透攻击代码及配置
漏洞扫描(涉及到的原理)
找出主机/网络服务上所存在的安全漏洞,作为破解通道
扫描的防御
反扫描技术的原理
- 是针对扫描技术提出的
- 扫描技术一般分为主动扫描和被动扫描,共同点在于在其执行的过程中,都需要与受害主机互通正常
主动扫描
- 主动向目标机发送各种探测包,根据其回应判断扫描结果
- 防范:
- 减少开放端口,做好系统防护
- 实时监测扫描,及时做出告警
- 伪装知名端口,进行信息欺骗
被动扫描
与目标机建立正常连接,发送的数据包也属于正常范畴,被动扫描不会向受害主机发送大规模的探测数据,因此防范方法较难,目前只能采用信息欺骗
方法
防火墙技术
审计技术
第四章 网络嗅探与防御
监听的概念
- 又名网络嗅探,是一种在他方未察觉的情况下捕获其通信报文或通信内容的技术
- 网络监听是一把双刃剑,对于攻防双方都有重要的意义
- 网络监听技术的能力范围只限于局域网,主机可以接收到本网段在同一条物理通道上传输的所有信息,而不管这些的发送方和接收方是谁
监听的技术
- 共享式局域网的监听技术及原理
- 交换式局域网的监听技术及原理
监听的防御
- 安全的拓扑结构
- 数据加密(SSL、VPN)
- 共享式网络下的防监听
- 网络和主机响应时间测试
- ARP检测(检测对方是否在混杂模式下)
- 交换式网络下的防监听
- 防止ARP欺骗
第五章 口令破解
口令的弱点
- 口令过于简单,容易被人猜出来
- 口令过于复杂,用户往往需要抄下来(不好记忆),这样使得口令反而更不安全
- 安全性仅依赖于口令
- 口令可被进行字典式攻击
建立口令遵循的规则
1、不使用和用户名相同的口令
2、不使用日期口令
3、不使用英文单词
4、尽量选择长的口令
5、经常更换口令
6、不使用有自己相关信息的口令
字典攻击原理
字典攻击使用的是一个包含大多数词典单词的文件,利用这些单词来猜测口令
如何对口令进行破解(口令破解工具的原理)
口令破解方式:
词典攻击、强行攻击、组合攻击等
口令破解工具的原理:
口令破解器通常由候选口令产生器 、 口令加密模块和口令比较模块组成。
候选口令产生器用来产生认为可能是口令的单词, 在口令加密模块, 使用知道的加密算法对候选口令加密, 将加密后的候选口令密文与实际口令的密文一起送到口令比较模块进行比较,如果一致, 那么,当前候选口令发生器中送出来的单词就是要寻找的口令,如果不一致, 那么候选口令产生器再生成下一个候选口令。
第六章 欺骗攻击
IP欺骗
什么是IP欺骗?
TCP/IP网络中的每一个数据包都包含源主机和目的主机的IP地址, 攻击者可以使用其他主机的IP地址,井假装自己来自该主机,以获得自己未被授权访问的信息。 这种类型的攻击称为IP欺骗
基本的IP欺骗技术
- 基本地址变化
- 使用源站选路截取数据包
- 利用信任关系
IP欺骗高级应用—TCP会话劫持
ARP欺骗
原理
通过虚假请求或响应报文,使得其他主机的ARP列表发生改变而无法正常通信的攻击行为。
如何实施
通过伪造IP地址和MAC地址实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
防范
1.MAC地址绑定。 使网络中每一台计算机的lP地址与硬件地址一一对应, 不可更改. 2.使用静态ARP缓存。 手动更新缓存中的记录, 使ARP欺骗无法进行。 3.使用ARP服务器,通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。 这里要确保这台ARP服务器不被攻击者控制。 4.使用ARP欺骗防护软件, 如ARP防火墙。 5.及时发现正在进行ARP欺骗的主机, 并将其隔离。
DNS欺骗
原理
当客户主机向本地DNS服务器查询域名的时候,如果服务器的缓存中已经有相应记录,DNS服务器就不会再向其他服务器进行查询,而是直接将这条记录返回给用户。攻击者正是利用这一点,通过在DNS服务器的本地Cache
中缓存一条伪造的解析记录
来实现DNS欺骗的。
实现步骤
第七章 拒绝服务攻击与防御
拒绝服务攻击的概念
拒绝服务攻击(DoS,Denial of Service)是指攻击者利用系统的缺陷,通过执行一些恶意的操作,使得合法的系统用户不能及时得到应得的服务或系统资源
,如CPU处理时间、存储空间以及网络带宽等
DoS最本质的特征是延长服务等待时间,使用户无法忍受而放弃服务
拒绝服务攻击的基本模式
- 资源消耗型
- 消耗网络带宽
- 消耗磁盘空间
- 消耗CPU和内存资源
- 配置修改型:如破坏系统的配置信息,阻止其他合法用户登录
- 基于系统缺陷型:故意输入错误口令一定次数后导致系统锁定该用户账户
- 物理实体破坏型:对通信路由设备的破坏
典型拒绝服务攻击技术
死亡之Ping(Ping of Death)
Ping之所以会造成伤害源于ICMP协议
ICMP协议报文长度(64KB)
是固定的。早期的很多操作系统在处理ICMP协议数据报文时,只开辟了64KB的缓存区
用存放接收到的ICMP数据包。 一旦发送过来的ICMP数据包超过64KB, 操作系统将收到的数据报文向缓存区中填写时,就会产生一个缓存溢出,引起内存访问错误,导致TCP/IP协议堆栈崩溃,造成主机的重启动或者死机。
早期的Ping程序有一个”-l”参数可指定发送数据包的尺寸, 在使用Ping命令时利用这个参数指定数据包的尺寸大于64KB(65536字节)。
Ping -l 65540 192.168.1.140
如果对方主机存在这样一个漏洞,就会因接收的ICMP数据包长度过大导致缓存溢出,形成一次拒绝服务攻击。这种攻击被称为Ping of Death, 又叫 “死亡之Ping”。
泪滴(Teardrop)
SYN FLOOD
Smurf
分布式反射拒绝服务攻击
分布式拒绝服务攻击(DDoS)
分布式
“分布 ” 是指把较大的计算量或工作量分成多个小任务,交由连接在一起的多个处理器或多个节点共同协作完成。
分布式拒绝服务攻击
Distributed Denial of Service 是攻击者寻找网络上有漏洞的主机,进入系统后在其上面安装后门程序,控制大量的被入侵主机同时对目标发起DoS攻击。 如图7-6所示, 攻击者控制分布在世界各地的众多主机同时攻击某一个受害者。
第九章 Web攻击与防御技术
WEB服务器指纹识别
通过对服务器上的HTTP应用程序安装和配置等信息进行远程刺探,从而了解远程Web服务器的配置信息,然后根据不同版本的Web服务器进行有目的的攻击。
指纹识别是为了判断服务器的版本,从而找到服务器的漏洞。
WEB页面盗窃
Web盗窃的目的是通过对各个网页页面源码的详细分析,找出可能存在于代码、注释或者设计中的关键缺陷和脆弱点,以此来确定攻击的突破点。
盗窃web服务器的两种方法:逐页手工扫描和自动扫描。
防御
- 提高Web页面代码的质量
- 监视访问日志中快速增长的GET请求
- 在Web站点上设置garbage.cgi脚本
- 经常注意网络上新出现的web扫描脚本的攻击内容
网页验证码的作用和重要性
1、为了确保用户提交的请求是在线进行的正常操作
2、防止用户使用程序自动进行提交注入
3、防止暴力破解、恶意注水等
4、保证服务器系统的稳定性和用户信息的安全
SQL注入
。。。
XSS攻击
XSS是跨站脚本攻击(Cross Site Script)。它指的是恶意攻击者往Web页面里插入恶意JS代码,当用户浏览该网页时,嵌入其中Web里面的htmI代码会被执行,从而达到恶意用户的特殊目的。
第十章 木马攻击与防御技术
木马的危害
木马病毒对计算机的直接破坏方式是改写磁盘,对计算机数据库进行破坏,给用户带来不便。当木马破坏程序后,使得程序无法运行,给计算机的整体运行带来严重的影响。另外一些木马可以通过磁盘的引导区进行,病毒具有强烈的复制功能,把用户程序传递给外部链接者。还可以更改磁盘引导区,造成数据形成通道破坏。病毒也通过大量复制抢占系统资源,对系统运行环境进行干扰,影响计算机系统运行速度。
木马攻击的过程
攻击者利用木马进行网络入侵的攻击过程一般为:首先将木马植入目标系统
; 然后木马程序必须能够自动加载运行
,并且能够很好地隐藏自己
;最后木马必须可以实现一些攻击者感兴趣的功能,例如远程控制
。
- 植入技术
- 自加载技术
- 隐藏技术
- 远程控制
防御
木马检测:
- 端口扫描和连接检查
- 检查系统进程
- 检查ini 文件、 注册表和服务
- 监视网络通信
木马防范:
- 及时修补漏洞, 安装补丁
- 运行实时监控程序
- 培养风险惹识
- 即时发现, 即时清除
总复习
1.Web页面盗窃
原理
Web盗窃的目的是通过对各个网页页面源码的详细分析,找出可能存在的代码、注释或者设计中的关键缺陷和脆弱点,以此来确定攻击的突破点。
盗窃web服务器的两种方法:逐页手工扫描和自动扫描。
防御
- 提高Web页面代码的质量
- 监视访问日志中快速增长的GET请求
- 在Web站点上设置garbage.cgi脚本
- 经常注意网络上新出现的web扫描脚本的攻击内容
2.特洛伊木马
木马的危害
自动搜索已中木马的计算机 管理对方资源,如查看文件内容、上传文件等 跟踪监视对方屏幕和运行的任务 远程监测和操纵计算机
木马攻击的过程
攻击者利用木马进行网络入侵的攻击过程一般为:首先将木马植入目标系统
;然后木马程序必须能够自动加载运行
,并且能够很好地隐藏自己
;最后木马必须可以实现一些攻击者感兴趣的功能,例如远程控制
。
涉及技术:植入技术、自加载技术、隐藏技术、远程控制技术
木马的特点
有效性、隐蔽性、顽固性、易植入性
防御
木马检测:
- 端口扫描和连接检查
- 检查系统进程
- 检查 ini 文件、 注册表和服务
- 监视网络通信
木马防范:
- 及时修补漏洞, 安装补丁
- 运行实时监控程序
- 培养风险意识
- 即时发现, 即时清除
3.服务可用性
计算机软件系统处于可工作的时间比例,就是服务的可用性
4.字典攻击
字典攻击使用的是一个包含大多数词典单词的文件,利用这些单词来猜测口令
5.网络嗅探
- 是一种在他方未察觉的情况下捕获其通信报文或通信内容的技术
- 网络嗅探技术的能力范围只限于局域网,主机可以接收到本网段在同一条物理通道上传输的所有信息,而不管这些的发送方和接收方是谁
嗅探的技术
- 共享式局域网的监听技术
- 交换式局域网的监听技术
嗅探的防御
- 安全的拓扑结构
- 会话加密
共享式网络下的防监听
- 网络和主机响应时间测试
- ARP检测(检测对方是否在混杂模式下)
交换式网络下的防监听
- 防止ARP欺骗
6.访问控制
访问控制是网络安全防范和保护的主要资源,它的主要任务是保证网络资源不被非法使用和非法访问。
7.DoS攻击
拒绝服务攻击(DoS,Denial of Service)是指攻击者利用系统的缺陷,通过执行一些恶意的操作,使得合法的系统用户不能及时得到应得的服务或系统资源
,如CPU处理时间、存储空间以及网络带宽等
DoS最本质的特征是延长服务等待时间,使用户无法忍受而放弃服务
8. 被动攻击
攻击者对传输中的信息进行窃听和监测,获得传输的信息。
被动攻击方式:信息收集和流量分析。
9. 主动攻击
攻击者访问他所需信息的故意行为,一般会改变系统资源或影响系统运作。
主动攻击方式:包括对数据流进行篡改或伪造数据流,可分为四类:伪装、重放、消息篡改和拒绝服务。
10. OS指纹识别
通过对不同操作系统的TCP/IP协议存在的细微差异,识别主机安装的操作系类型,以选择不同渗透攻击代码及配置
分为:主动协议栈指纹识别、被动协议栈指纹识别
11. IP欺骗
什么是IP欺骗?
TCP/IP网络中的每一个数据包都包含源主机和目的主机的IP地址, 攻击者可以使用其他主机的IP地址,井假装自己来自该主机,以获得自己未被授权访问的信息。 这种类型的攻击称为IP欺骗
基本的IP欺骗技术
- 基本地址变化
- 使用源站选路截取数据包
- 利用信任关系
IP欺骗高级应用—TCP会话劫持
12. 弱口令
- 口令过于简单,容易被人猜出来
- 口令过于复杂,不好记忆,这样使得口令反而更不安全
- 安全性仅依赖于口令
- 口令可被进行字典式攻击
13. XSS攻击
XSS是跨站脚本攻击(Cross Site Script)。它指的是恶意攻击者往Web页面里插入恶意JS代码,当用户浏览该网页时,嵌入其中Web里面的JS代码会被执行,从而达到恶意用户的特殊目的。
14. Web服务器指纹识别
通过对服务器上的HTTP应用程序安装和配置等信息进行远程刺探,从而了解远程Web服务器的配置信息,然后根据不同版本的Web服务器进行有目的的攻击。
指纹识别是为了判断服务器的版本,从而找到服务器的漏洞。
15.网络信息安全四要素
保密性、完整性、可用性、可控性
16.ARP欺骗攻击的原理与防范
原理
通过虚假请求或响应报文,使得其他主机的ARP列表发生改变而无法正常通信的攻击行为。
防范
1.MAC地址绑定。 使网络中每一台计算机的lP地址与硬件地址一一对应, 不可更改. 2.使用静态ARP缓存。 手动更新缓存中的记录, 使ARP欺骗无法进行。 3.使用ARP服务器,通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。 这里要确保这台ARP服务器不被攻击者控制。 4.使用ARP欺骗防护软件, 如ARP防火墙。 5.及时发现正在进行ARP欺骗的主机, 并将其隔离。
17.建立口令遵循的规则
1、不使用和用户名相同的口令 2、不使用日期口令 3、不使用英文单词 4、尽量选择长的口令 5、经常更换口令 6、不使用有自己相关信息的口令
18.端口扫描的原理与目的
端口扫描是通过向连接到目标系统的 TCP 端口或 UDP 端口发送消息,记录目标系统的响应,搜集到很多关于目标主机的各种有用的信息。
目的:找出主机上所开放的网络服务
19.SYN Flood
原理
SYN Flood是当前最流行的DoS(拒绝服务攻击)与DDoS(分布式拒绝服务攻击)的方式之一,它是利用TCP三次握手的缺陷,发送大量伪造的TCP连接请求,从而使得被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式
目的
导致系统或服务器宕机。
20.DDoS的工作方式
Distributed Denial of Service 是攻击者寻找网络上有漏洞的主机,进入系统后在其上面安装后门程序,控制大量的被入侵主机同时对目标发起DoS攻击。
21.共享式网络和交换式网络
共享式网络监听的方法
既可以用软件的方式实现,也可以用硬件设备的形式实现
- 由于集线器会广播所有数据,网卡在混杂模式下,所有流经网卡的数据帧都会被网卡驱动程序上传给网络层
- 通过混杂模式嗅探到的数据包上传到网络层后,网络层处理程序还要对其目的IP进行判断,如果不是本地IP,丢弃
- 所以,如果没有一个特定的机制,上层应用也无法抓到不属于自己的数据包
共享式网络监听的原理
- 如果网卡设置成混杂模式,那么在这个局域网内传输的任何信息都可以被该网络接口接收到,主机的这种状态就是监听模式
- 处于监听模式下的主机可以监听到同一个网段下的其他主机发送的数据包
交换式网络监听的方法
通过对交换机、主机、网关等进行欺骗可以实现对网络的监听。如溢出攻击、采用ARP欺骗、MAC欺骗
交换式网络监听的原理
每块网卡都对应唯一的硬件MAC地址, 它有两种工作模式:普通模式和混杂模式。在普通模式下, 网卡只能接收发送给自己的数据包, 其它经过的数据包都自动丢弃;在混杂模杂下, 网卡则会接收在同一网段上传输的所有数据包。因为监听只会发生在共享式网络中, 在交换式网络中, 这种简单地将网卡设置为混杂模式是不能监听整个网络的, 因为交换机是工作在数据链路层, 每个端口对应不同的MAC地址, 当有数据到达交换机时, 会从特定的端口转发数据包。
22.口令破解软件的工作原理
口令破解器通常由候选口令产生器 、 口令加密模块和口令比较模块组成。
候选口令产生器用来产生认为可能是口令的单词, 在口令加密模块, 使用知道的加密算法对候选口令加密, 将加密后的候选口令密文与实际口令的密文一起送到口令比较模块进行比较,如果一致, 那么,当前候选口令发生器中送出来的单词就是要寻找的口令,如果不一致, 那么候选口令产生器再生成下一个候选口令。
23.网页验证码的作用及重要性。
1、防止用户使用程序自动进行提交注入
2、防止暴力破解、恶意注水等
3、保证服务器系统的稳定性
24.端口扫描
目的:找出主机上所开放的网络服务
全扫描(TCP Connect)
优点:不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connec()函数来实现这个操作
缺点:这种扫描方法会在日志文件中留下大量密集的连接和错误记录,很容易被发现,并过滤掉。
半扫描(TCP SYN扫描)
优点:采用这种 “半打开扫描”,目标系统并不对它进行登记, 因此比全扫描扫描更隐蔽。 即使日志中对于扫描有所记录, 对尝试连接的记录也要比全扫描的记录少得多。
缺点:但在大部分操作系统中,发送主机需要构造适用于这种扫描类型的IP包, 通常只有超级用户或得到授权的用户才有权限访问专门的系统调用, 构造这种专门的SYN数据包.
秘密扫描(TCP FIN扫描)
优点:由于这种技术不包含标准的TCP三次握手协议的任何部分,无法被记录下来, 这样就比SYN扫描要隐蔽得多。
缺点:与SYN扫描类似, 秘密扫描也要用户具有特殊权限以构造IP包。 另外, 由于这种技术是利用了某些操作系统实现TCP/IP协议时的漏洞,因此,并不是对所有的操作系统都有效,通常只在基于UNIX的TCP/IP协议栈上可以成功地应用,而在Windows NT 环境下,该方法无效。
25.网络安全
实现的基本目标
网络安全的基本目标是实现信息的完整性、机密性、可用性、合法性
网络存在安全威胁的原因
- 内部操作不当
- 内部管理不严
- 来自外部的威胁
- TCP/IP协议族的漏洞
- ARP欺骗
- SYN FLOOD攻击
26.黑客入侵的过程
入侵系统的常用步骤
较高明的入侵步骤