tcpip协议安全性研究内容摘要:
其实地址空间缺乏并不单是亚洲存在,全世界都存在这样的问题。 所以现在世界各国都在积极的推动 IPv6 和下一代网络的发展。 由于 IPv4的开发是在可信赖的网络环境下进行的,缺乏安全方面考虑造成了 IPv4的先天不足。 IPv6 在 IPv4的基础上在安全方面做了很多的考虑,但 IPv6 的实现需要 硬件的支持,所以在短时间内无法大范围的推广。 所以在目前的情况下针对 IPv4 的攻击仍然是网络安全的主要威胁。 本文在后续章节中所有的论述也是主要针对 IPv4。 9 2 TCP/IP 协议安全性分析 Inter 是基于 TCP/IP 协议的, TCP/IP 协议具有网络互连能力强、网络技术独立,支持 FTP, TELNET, SMTP 和 HTTP 等标准应用协议等特点,是目前能够满足不同种计算机之间、异构网络之间互连要求的网络互连协议。 但是,由于它主要考虑的是异种网间的互连问题,并没有考虑安全 性,因此协议中存在着很多安全问题。 另一方面由于大量重要的应用程序都以 TCP 作为它们的传输层协议,因此 TCP 的安全性问题又会给网络带来严重的后果和影响。 TCP/IP 协议主要安全隐患 TCP/IP 协议的安全隐患主要有 : ( 1) TCP/IP 协议数据流采用明文传输,因此数据信息很容易被窃听、篡改和伪造。 特别是在使用 FTP 和 TELNET 时,用户的帐号、口令是明文传输,所以攻击者可以截取含有用户帐号、口令的数据包,进行攻击,例如使用 SNIFFER 程序、 SNOOP 程序、网络分析仪等。 ( 2) 源地址欺骗 (Source address spoofing), TCP/IP 协议是用 IP 地址来作为网络节点的唯一标识,但是节点的 IP 地址又是不固定的,因此攻击者可以直接修改节点的 IP 地址,冒充某个可信节点的 IP地址,进行攻击。 下面分别来举例两种源地址欺骗攻击 [3]。 方式一:假设主机 A是攻击主机,它伪装成 B主机和 C主机对话。 A主机在发出数据包的时候,入侵者可以用软件把源地址从 A主机的地址改成 B主机的地址。 虽然 C 主机的数据包仍然会发送到B 主机而不是 A主机,但是这对于一些黑客来说无关紧要,他们不用看到结果就能 实施攻击。 方式二:这是一种“中间人”式的欺骗。 它会截获目标主机返回给真实主机的数据包。 这种欺骗下,攻击主机可以和被攻击主机进行完整的对话,入侵者也可以看到结果,即要能截获返回的数据包。 为此,攻击主机需要做到:攻击主机潜入目标主机和真实主机之间的路径上,这在路径的末段最容易做到。 在中间是最难的,因为根据 IP 网络的路径选择特点,“中间”路径的选择变化是非常大的。 在机器之间改变路径,从而引导攻击机器,这取决于网络的拓扑结构以及你的网络、远程网络和其他网络之间的 ISP 使用的路由系统,这可能十分容易,也可能十分困难。 ( 3) 源路由选择欺骗 (Source Routing spoofing),TCP/IP 协议中, IP 数据包为测试目的设置了一个选项 — IP Source Routing,该选项可以直接指明到达节点的路由,攻击者可以利用这个选项进行欺骗,进行非法连接。 攻击者可以冒充某个可信节点的 IP 地址,构造一个通往某个服务器的直接路径和返回的路径,利用可信用户作为通往服务器的路由中的最后一站,就可以向服务器发请求,对其进行攻击。 在 TCP/ IP 协议的两个传输层协议 TCP 和 UDP 中,由于 UDP 是面向非连接的,因而没有初始化的 连接建立过程,所以 UDP 更容易被欺骗。 ( 4) 路由选择信息协议攻击 (RIP Attacks)。 RIP 协议用来在局域网中发布动态路由信息,它10 是为了在局域网中的节点提供一致路由选择和可达性信息而设计的。 可是各节点对收到的信息是不检查它的真实性的, TCP/IP 协议没有提供这个功能。 ICMP 协议存在有安全缺口,攻击者可利用 ICMP重定向报文破坏路由,并以此增强其窃听能力。 ( 5) 鉴别攻击 (Authentication Attacks). TCP/IP 协议只能以 IP 地址进行鉴别,而不能对节点上的用户进行有效的身 份认证,因此服务器无法鉴别登录用户的身份有效性。 目前主要依靠服务器软件平台提供的用户控制机制,比如 UNIX系统采用用户名、口令。 虽然口令是密文存放在服务器上,但是由于口令是静态的、明文传输的,所以无法抵御重传和窃听。 而且在 UNIX 系统中常常将加密后的口令文件存放在一个普通用户就可以读的文件里,攻击者也可以运行己准备好的口令破译程序来破译口令,对系统进行攻击。 ( 6) TCP 序列号欺骗 (TCP Sequence number spoofing)。 由于 TCP 序列号可以预测,因此攻击者可以构造一个 TCP 包序列,对 网络中的某个可信节点进行攻击。 ( 7) TCP 序列号轰炸攻击( TCP SYN Flooding Attack), 简称 SYN 攻击( SYN Attack),又称作拒绝服务攻击。 TCP 是一个面向连接、可靠的传输层协议。 黑客可以不断向服务器发送连接请求,而又不返回应答包,使得服务器总处于等待状态,而无法释放资源。 ( 8) IP 栈攻击 利用操作系统缺陷,伪造某种数据包发到主机,导致目标主机 TCP/IP 协议栈锁死,甚至系统崩溃。 以 Linux上的一个实现为例来说明: Linux操作系统在它的 IP 数据包重装模块有一个严重的 错误,当 Linux收到一个 IP 包送到 IP 层进行组装,以还原 IP 包,它将进入一个循环中,将列队 的数据包的有效数据复制到一个新分配的缓冲区去。 在程序中,检查了每段数据区是否过长,但没检查有效数据长度是否过小。 当表示有效数据长度的量变成了一个负数的时候( length0),系统不会进行检查,结果是是将过多的数据复制到内核中去。 我们可以准备这样的包,让前后包中的“ fragment offset”字段交叠在一起,这样计算出来的 length 值变成了一个负数。 因为系统的计数器是一个反码,这会造成一个非常大的数值。 根据使用 的内存管理机制不同,将会导致系统重启或者停机。 针对 TCP/IP 安全漏洞进行攻击的 理论分析 TCP/IP 协议的连接是通过三次握手实现的。 图 15 是 TCP/IP 连接的建立和撤消的过程。 关于连接的过程有一个非常形象的比喻叫做两军定理。 A军和 B军将敌人夹在了中间, A军欲联合 B 军夹击敌人,于是 A排出信使联系 B军。 B军同意夹击之后,信使返回 A军。 可能有人觉得到了这里,联络过程已经完成,可以发动攻击了。 其实不然,虽然 A 军已经知道 B 军同意了夹击,但是 B 军却不知道 A军是否已经知道自己同意了夹击。 所以信使需要再返回 B军告诉 B军, A军已经收到了信息,攻击在这个时候才能确定的展开。 说到这里,问题也出现了。 如果信使回到 A军之后因为种种原因没有再回到 B 军那会出现什么11 样的情况呢。 B 军会一直等待而不敢轻易发动进攻,因为他不确定 A 军已经得知 B 军已经同意夹击计划。 将这个问题转换到 TCP/IP 连接的过程中,这个问题就是这样的: A主机向 B主机发出连接请求, B 主机返回同意连接请求并在内存中开辟出一个缓存之后, A 主机却不再向 B 主机返回确认信息。 于是 B 主机将一直等待,处于“半连接”状态直到超时。 当大量这样的数据包涌向某台主机的时候, 受害主机会为了维持大量的这样的半连接而耗尽资源。 这便形成了一次 SYN flooder 攻击。 主 机 B主 机 AS Y N s e q = XS Y N s e q = Y , A C K = X = + 1A C K = Y + 1 建立过程 主 机 A主 机 B发 送 F I N s e q = X接 收 F I N发 送 A C K = x + 1接 收 A C K接 收 F I N发 送 A C K = x + 1发 送 F I N s e q = X接 收 A C K 撤消过程 图 21 TCP连接建立和撤消过程 TCP 连接的撤消过程使用改进的三次握手撤消连接。 TCP 连接是一个全双工的,可以看作是两个不同方向上的独立的数据流传输。 当某个应用程序通知本端 TCP 软件,数据传输已完成时,该机器上的 TCP 软件将撤消本方向的连接。 为了撤消自己一放的连接, TCP 软件首先将剩余数据传输完毕并确认报 文的返回,然后它发送一个带 FIN 标志的报文给对方,接收方对 FIN 报文进行确认,并通知本方 TCP 应用程序停止接收数据。 但是反方向上数据仍然可以发送,直到该方向上的连接也撤消。 当两个方向上的的连接都关闭以后,在该连接的两个端点上的 TCP 软件就删除该连接的记录。 ( 1) TCP/IP 状态转移图和定时器 TCP 状态转移图控制了一次连接的初始化、建立和终止,如 22 图所示: 图 22 由定义的状态以及这些状态之间的转移弧构成。 TCP 状态转移图与定时器密切相关,不12 同的定时器对应于连接建立或 终止、流量控制和数据传输。 几类主要的定时器及其功能如下: ① 连接定时器:在连接建立阶段,当发送了 SYN 包后,就启动连接定时器。 如果在 75 秒内没有收到应答,则放弃连接建立。 ② FINWAIT2 定时器:当连接从 FINWAIT1 状态转移到 FINWAIT2 状态时,将一个FINWAIT2 定时器设置为 10 分钟。 如果在规定时间内该连接没有收到一个带有置位 FIN 的 TCP 包,则定时器超时,再定时为 75 秒。 如果在第二个时间段内仍无 FIN 包到达,则放弃该连接。 ③ 维持连接定时器:其作用是预测性地检测连 接的另一端是否仍为活动状态。 如果设置了SOKEEPALIVE 套接字选择项,则 TCP 状态是 ESTABLISHED 或 CLOSEWAIT。 C L O S EL I S T E N S Y N S E N TS Y N R C V D E S T A D L I S H E D C L O S E W A I TL A S T A C KC L O S I N CF I N W A I T 1F I N W A I T 2 T I M E W A客 户 机 正 常 运 转服 务 器 正 常 运 转 图 22 TCP状态转移图 ( 2) 网络入侵方式 ① 伪造 IP 地址 入侵者使用假 IP 地址发送包,利用基于 IP 地址证实的应用程序联接到目的主机。 其结果是未授权的远端用户进入带有防火墙的主机系统。 TCP 协议把通过连接而传输的数据看成是字节流,用一个 32 位整数对传送的字节编号。 初始序列号 (ISN)在 TCP 握手时 产生,产生机制与协议实现有关。 攻击者只要向目标主机发送一个连接请求,即可获得上次连接的 ISN,再通过多次测量来回传输路径,得到进攻主机到目标主机之间数据包传送的来回时间 RTT。 已知上次连接的 ISN 和 RTT,很容易就能预测下一次连接的 ISN。 若攻击者假冒信任主机向目标主机发出 TCP 连接,并预测到目标主机的TCP 序列号,攻击者就能伪造有害数据包,使之被目标主机接受。 假设有两台主机 A, B 和入侵者控制的主机 C。 假设 B 授予 A 某些特权,使得 A 能够获得对 B所执行的一些操作。 C 的目标就是获得与 A 相同的权利。 为了 实现该目标, C 必须执行两步操作:13 首先,与 B 建立一个虚假连接;然后,阻止 A 向 B 报告网络证实的通信。 主机 C 必须假造 A 的 IP地址,从而使 B 相信从 C 发来的包的确是从 A发来的。 主机 C 伪造 IP 地址步骤如下:首先, C冒充 A,向主机 B 发送一个带有随机序列号的 SYN包。 主机 B 响应,向主机 A 发送一个带有应答号的 SYN+ACK 包、该应答号等于原序列号加 1。 同时,主机 B 产生自己发送包序列号,并将其与应答号一起发送。 为了完成三次握手,主机 C 需要向主机B 回送一个应答包,其应答号等于主机 B 向主机 A 发送的包序列号加 1。 假设主机 C 与 A 和 B 不同在一个子网内,则不能检测到 B的包,主机 C只有算出 B 的序列号,才能创建 TCP 连接。 其过程描述如下: CB: SYN(序列号 =M), SRC=A BA: SYN(序列号 =N), ACK(应答号 =M+1) CB: ACK(应答号 =N+1), SRC=A 同时,主机 C应该阻止主机 A响应主机 B 的包。 为此, C可以等到主机 A因某种原因终止运行,或者阻塞主机 A 的操作系统协议部分,使它不能响应主机 B。 一旦主机 C 完成了以上操作,它就可以向主机 B 发送命令。 主机 B 将执行这些命令,认为他 们是由合法主机 A发来的。 ② TCP 状态转移的问题 C L O S EL I S T E N S Y N S E N TS Y N R C V D E S T A D L I S H E D C L O S E W A I TL A S T A C KC L O S I N CF I N W A。tcpip协议安全性研究
相关推荐
a)平房仓 :安全粮在温度 15℃ 以下时, 10d内至少巡测一次。 在温度 15℃ 以上时, 7d内至少巡测 一次。 b)立筒仓、浅圆仓、砖圆仓 :若粮情稳定,且在低温季节,可每 3d5d巡测一次。 若粮情不稳定, 或在高温季节、或是新仓储粮,应每天巡测 1次。 若遇温升过快、测温点有不稳定现象,或对某些部位的测量值有疑问时,应进仓进行人工现场检测,如出现异常情况,应立即采取相应措施进行处理
等 )达到视觉平 衡 ,采用视觉理论进行设计 ,如界面中大批文字进行左对齐设计 ,右面位置就要视情况采用亮色的颜色或图片给予补充或留白 ,使其达到均衡与统一 ,但又不失简洁与简易。 (4)个性与创新。 应用程序的功能能吸引一批用户关注 ,但整体风格和气氛同样8 能使用户驻足。 设计师可以在风格和视觉元素上突破创新 ,塑造属于自己的文化属性。 在千篇一律的 App 中如何脱颖而出
ivate int id。 13 private int message_id。 public String getTimeString() { return ()。 } public String getAuthor() { return author。 } public void setAuthor(String author) { = author。 } public String
能够访问和实例化 JavaBeans组件,设置或者检索组件属性,下载 Applet,以及执行用其他方法更难于编码或耗时的功能。 通过开发定制标识库, JSP技术是可以扩展的。 今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。 这使得 Web页面开发人员能够使用熟悉的工 具和如同标识一样执行特定功能的构件来工作。 ⑷ JSP能提供所以的 Servlets功能 与 Servlets相比
图 20 拉伸槽结构 在夹具体上设计出放置夹紧元件的槽,槽的尺寸效果图如下图 21 所示: 图 21 添加压紧槽 在夹具体上设计出压紧元件中的螺纹孔,效果图如下图 22 所示 图 22 压紧螺纹孔 夹具中的相关附件的设计过程 压紧垫块的设计 图 23 压紧垫块 压紧垫块的相关尺寸没有严格的标准,它在夹紧工件的过程中起到传递力的作用,所以它只要与工件和压紧螺栓的接触表面光洁平整
认真制定班主任工作计划, 有计划地开展班级的各种活动。 期末做好工作总结,不断总结经验,改进工作,提高教育效果。 经常联系和协调本班的科任教师,了解、 研究学生的思想和学习情况,采取有效措施,提高学生的思想觉悟和学习的自觉性,提高学习成绩。 认真做好家访工作,密切与家长联系,共同教育好学生。 有计划地培养学生干部,健全班委会组织,指导班委会的工作,充分发挥班干部的作用,努力使本班成为遵守纪律