网络安全Chapter05

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

15
2.传输层风险

4.端口扫描

防御端口扫描方法





非标准端口:将众所周知端口的服务移到非标准端口以模糊服务类型, 但要注意哪些端口未分配给其他服务 无回答防御:因为端口扫描等待分组回答,对不活动的端口分组请求 不予回答,使扫描系统等待回答直至超时,但是对活动的端口还是要 回答 总是回答防御:活动与非活动端口总是回答,攻击者无法区别活动和 非活动端口 敲打协议(knock-knock protocol):敲打服务器不打开端口,而是 监控其他端口或网络协议,观察到期望的分组序列,服务才启动。如 SSH服务器先不和端口绑定,直到观察到具有700字节不规则数据字 长的ICMP分组才和端口绑定 主动扫描检测:入侵检测系统观察扫描主机的一系列连接并阻断访问 故意延迟

9
1.传输层核心功能

2.排序
传输层从高层接收数据块,并将其分成分组,每个分组赋予一个唯 一的序列标识,用来跟踪分组。传输层保持一些已经用于端口的序 列号表,以防止序列号重复。 因为序列号用于保持传输层的分组传输有序,这构成普遍的攻击因 素,排序能用于传输层拦截攻击

10
1.传输层核心功能

3.序列拦截
攻击者要观察传输层分组必须识别序列,以插入或拦截连接。假如 伪造者具有有效的序列号,就好似经身份鉴别并被目标系统接收, 因此序列号的产生最好不要依次渐增,否则攻击者易于预测下个分 组编号 序列号通常起始于随机值,以防止攻击者猜得到第一个分组,但真 个会话过程中逐一增加。观察者很容易识别序列号并拦截会话,但 盲目攻击者不能识别初始序列号,这样盲目攻击者无法决定序列号 以及危害传输层连接 很多传输层协议使用伪随机数发生器,就成为可预测的。随机数发 生器的复杂性决定分组序列的预测性,攻击者能建立很多传输连接, 并决定初始序列号的型式,这个弱点导致盲目攻击者能危害传输层 连接
要通过互联网进行通信,至少需要一对套接字,一个运行于客户机 端,另一个运行于服务器端。 套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请 求,连接确认。 服务器监听:服务器端套接字并不定位具体的客户端套接字,而是 处于等待连接的状态,实时监控网络状态。 客户端请求:客户端的套接字必须首先描述它要连接的服务器的套 接字,指出服务器端套接字的地址和端口号,然后就向服务器端套 接字提出连接请求。 连接确认:是指当服务器端套接字响应客户端套接字的请求,建立 一个新的线程,把服务器端套接字的描述发给客户端,一旦客户端 确认了此描述,连接就建立好了。而服务器端套接字继续处于监听 状态,继续接收其他客户端套接字的连接请求。

2.传输层风险

2.一个端口和多个端口的比较

减少端口数量能减少攻击因素。服务器一般应该将开放地端口数量 减少到只有基本服务,如,Web服务器只打开HTTP(80/TCP)端口, 而远程控制台只打开SSH(22/TCP)端口
13
2.传输层风险

3.静态端口赋值和动态端口赋值

远程客户连接到服务器需要两个条件,服务器的网络地址,传输协 议及端口号 客户端连接服务器时,通常连接到服务器的众所周知端口,但客户 本身可能使用选自动态端口范围内的端口 防火墙使用端口信息控制网络访问,如E-mail服务器前的防火墙允 许外部请求路由到特定内部主机的25/TCP端口 某些高层协议不使用固定端口号,如RPC,FTP的数据连接以及Net meeting,控制服务使用众所周知端口,数据传输则用动态端口 动态端口带来不安全的风险,因为大范围的端口都必须可访问网络。 如FTP生成第二个动态端口传输数据,如果防火墙不打开所有端口, FTP数据连接会被阻断

20
3.TCP侦察

2.端口扫描
TCP端口扫描用来识别运行的服务,对连接请求一般有四种类型的 回答





SYN-ACK:假如一个服务在端口运行,那么SYN-ACK返回给客户,这 是正常的识别。为了阻止扫描,一些防火墙无论该端口有没有服务总 是返回一个SYN-ACK,使扫描器不能识别 RST:假如没有服务在运行,很多系统返回一个RST,这提供一个快 速确认:该端口没有服务 ICMP不可达:假如主机不可达,那么ICMP分组返回以指示失败,这 使端口未知。很多防火墙用这种方法迷惑扫描器 不应答:假如分组没有到主机,就没有回答,SYN请求得不到SYNACK并超时。虽然这通常意味着主机不可达或不在线,但一些防火墙 有意忽略发送的分组并关掉端口

3
1.传输层核心功能

1.端口和套接字(Socket)
需要注意的是,端口并不是一一对应的。比如你的电脑作为客户机 访 问一台WWW服务器时,WWW服务器使用“80”端口与你的电脑 通信,但你的电脑则 可能使用“3457”这样的端口,如图1所示。

4
1.传输层核心功能

1.端口和套接字(Socket)

5
1.传输层核心功能

1.端口和套接字(Socket)
应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个 应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进 程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用 程序进程和连接,计算机操作系统为应用程序与TCP/IP协议交互提 供了称为套接字 (Socket)的接口,区分不同应用程序进程间的网络 通信和连接。 套接字主要有3个参数:通信的目的IP地址、使用的传输层协议 (TCP或UDP)和使用的端口号。Socket原意是“插座”。通过将这3 个参数结合起来,与一个“插座”Socket绑定,应用层就可以和传 输层通过套接字接口,区分来自不同应用程序进程或网络连接的通 信,实现数据传输的并发服务。

6
1.传输层核心功能

1.端口和套接字(Socket)
Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序 将一段信息写入Socket中,该Socket将这段信息发送给另外一个 Socket中,使这段信息能传送到其他程序中。如图:

7
1.传输层核心功能

1.端口和套接字(Socket)
21
3.TCP侦察

3.日志
为了检测系统扫描和网络攻击,日志是重要的。很多网络服务有连 接日志,包括时间戳、客户网络地址以及相关的连接信息。少数系 统支持未加工的TCP通信,由高层执行日志。在握手完成以前,高层 并不支持TCP连接,结果使部分端口扫描(在握手完成以前)常常没 有日志。 网络监控工具如IDS和IPS,一般监控并把SYN请求以及任何包括部 分建立连接的通信记录日志,SYN分组被记录,未请求的ACK和RST 也被记录,基于这些分组的频率,类型和次序,一些工具能识别网 络扫描,如果是IPS在扫描完成以前能作出反应,阻止更多信息泄露 以及限制服务检测。
18
3.TCP侦察

1.操作系统框架

3)序列号

虽然所有系统用同样的方法增加序列号,但是初始序列号是各个操作 系统特定的。初始SYN和SYN-ACK分组交换用于连接初始的序列号, 虽然单个TCP连接不能泄露可识别信息,但是一系列快速连接能泄露 用来建立初始连接的模型,序列号能用来识别操作系统、版本,以及 补丁版本信息 服务用用固定TCP端口号,但客户可选择任何可用的端口号用于连接, 服务器可从TCP报头决定客户动态端口号。从客户到一个或多个服务 器重复的连接将显示对每个连接的不同端口号,不同的系统使用不同 的动态端口范围供客户选择,观察动态端口范围,可帮助识别操作系 统
端口:如果把一个IP地址比作一间房子,端口就是出入这间房子的 门。一个IP地址的端口可以有65536个之多,范围是从0 到65535。 端口有什么用呢?一台拥有IP地址的主机可以提供许多服 务,比如 Web服务、FTP服务、SMTP服务等,这些服务完全可以通过1个IP地 址来实现。那么,主机是怎样区分不同的网络服务呢?显然不能只 靠IP地址,因为IP 地址与网络服务的关系是一对多的关系。实际上 是通过“IP地址+端口号”来区分不同的服务的。
16
2.传输层风险

5.信息泄露
传输层对传输的数据不进行加密,因此传输层协议本身并不对信息 保护,监控分组通信的观察者能观察到传输层内容。通常传输层上 面的高层提供身份鉴别和加密

17
3.TCP侦察


绑定到TCP端口的网络服务提供对主机系统的直接访问,通过识 别系统的类型和服务的类型,攻击者能选择相应的攻击方向 1.操作系统框架
按对应的协议类型,端口有两种:TCP端口和UDP端口。由于TCP和 UDP 两个协议是独立的,因此各自的端口号也相互独立,比如TCP 有235端口,UDP也可以有235端口,两者并不冲突。 按端口号可分为3大类: (1)公认端口(Well Known ports):从0到1023,它们紧密绑定 (binding)于一些服务。通常这些端口的通讯明确表明了某种服务 的协议。例如:80端口实际上总是HTTP通讯。 (2)注册端口(Registered ports):从1024到49151。它们松散地 绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口 同样用于许多其它目的。例如:许多系统处理动态端口从1024左右 开始。 (3)动态和/或私有端口(Dynamic and/or private ports):从 49152到65535。理论上,不应为服务分配这些端口。实际上,机器 通常从1024起分配动态端口。

11
2.传输层风险

传输层风险围绕序列号和端口
要拦截传输层连接,攻击者必须破坏分组排序 目标瞄准端口,远程攻击者可针对一个专门的高层服务 侦察攻击,包括端口扫描和信息泄露


1.传输层拦截
传输层拦截攻击需要两个条件:一是攻击者必须对某种类型的网络 层破坏,二是攻击者必须识别传输序列 分组序列号可导致传输层拦截,并有助于重构观察到的数据传输。 攻击者如果没有拦截和继续传输序列号的能力,分组无法得到回答 响应,新的分组也不能被接受 攻击者观察TCP分组头能识别序列的下一个分组以及任何需要回答 响应的分组,拦截传输层连接的能力取决于序列号质量 为完成一次拦截,攻击者必须伪装网络层通信,伪装的分组必须包 括源和目的地址,源和目的端口 12

8
1.传输层核心功能

1.端口和套接字(Socket)

端口和套接字关系

传输层生成端口,每个端口包含一个唯一的、针对特定高层服务的标 识。一个套接字可管理很多端口,但每个端口都需要一个套接字,端 口和特定高层协议相关联,或动态分配
大部分远程网络攻击针对特定端口的特定服务。但很多DoS攻击针 对很多端口或套接字,因此传输层攻击目标包括端口、套接字和专 门的协议
第五章 通信网络安全体系结构(二)
内容概要

传输层风险及缓解方法 攻击TCP和UDP的方法及缓解方法 DNS风险及缓解方法 SMTP邮件风险及缓解方法 HTTP风险及缓解方法
2
1.传输层核心功能


传输层定义网络层和面向应用层之间的接口,从应用层抽象连 网功能,包括连接管理、分组组装和服务识别。为实现这些功 能,传输层有两个核心成分,传输层端口和序列号 1.端口和套接字(Socket)

1)初始窗口大小

不同操作系统采用不同的初始窗口大小,但大部分系统还是使用默认 这,因此根据窗口大小可识别传输数据的操作系统的类型,也可以结 合窗口的变化情况判断操作系统类型

2)TCP选项

每个TCP分组包含TCP报头值的一些选项,不同操作系统支持不同的 选项、值和次序,通过观察这些选项可识别特定的系统。某种情况下, TCP选项能唯一足够识别操作系统和补丁级别,可识别未打系统补丁 的漏洞
14
2.传输层风险
百度文库
4.端口扫描
为攻击一个服务,必须识别服务端口。端口扫描的任务是企图连接 到主机的每一个端口。如果端口有回答,则活动服务正在监听端口, 如果是众所周知端口,则增加了服务识别的可能性 端口扫描的两种方法:一是目标端口扫描,用以测试特定的端口; 二是端口扫视(sweep),用以测试主机上的所有可能的端口

4)客户端口号

19
3.TCP侦察

1.操作系统框架

5)重试

当TCP分组没有收到回答响应,分组重新发送,重试次数以及间隔是 不同操作系统特定的,可以通过SYN重试、SYN-ACK重试以及ACK重 试3种方法来确定
操作系统框架对诊断技术是有用的,但对攻击者在攻击之前的侦查 也是有用的,用来识别操作系统和补丁级别 可以改变窗口大小、重试超时等默认值,可以阻止多操作系统的识 别
相关文档
最新文档