TCP / IP协议套件中的安全问题外文翻译资料

 2022-03-22 09:03

英语原文共 17 页,剩余内容已隐藏,支付完成后下载完整资料


附录A 译文

TCP / IP协议套件中的安全问题

摘要

如今被广泛使用的TCP / IP协议套件,是在国防部的赞助下开发的。尽管那样,不管任何实现的正确性,协议中存在一些严重的安全漏洞。我们描述一系列基于这些缺陷的攻击,包括序列号欺骗,路由攻击,源地址欺骗和身份验证攻击。我们目前也对这些攻击进行防御,并总结出广谱防御的结论,如加密。

1.介绍

TCP / IP协议套件[1] [2]今天被广泛使用,是在国防部的赞助下开发的。尽管有一些严重的安全漏洞。一些缺陷是因为主机依赖于IP源认证地址而存在的;Berkeley “r-utilities”[3]是值得注意的例子。其他存在是因为网络控制机制,特别是路由协议具有最小或不存在认证。

在描述这种攻击时,我们的基本假设是攻击者或多或少完全控制一些连接的机器互联网。这可能是由于该机器自身保护的缺陷机制,或者可能是因为该机器是微型计算机,并且本来无保护。事实上,攻击者甚至可能是流氓系统管理员。

1.1排除

我们不关心特定实现的缺陷协议,如互联网使用的协议“蠕虫”[4] [5] [6]。相反,我们讨论协议本身的通用问题。一如以往可以看出,仔细的实施技巧可以缓解或预防一些这些问题。 我们讨论的一些协议来源于伯克利版本的UNIX(R)系统; 其他都是通用互联网协议。

我们也不关心典型的网络攻击,比如物理窃听或更改或注入的消息。 我们讨论这些问题只是因为它们对于协议问题是有促进作用的或有可能的。

在大多数情况下,这里没有讨论供应商的具体情况协议。我们讨论伯克利协议的一些问题后,自从这些已经成为许多供应商的事实上的标准,而不仅仅是UNIX系统。

2.TCP序列号预测

最引人入胜的安全漏洞之一是莫里斯[7] 首先描述的。简单来说,他使用

TCP序列号预测来构建一个TCP数据包顺序而没有从服务器收到任何响应。

正常的TCP连接建立序列涉及3次握手。客户端选择并发送初始序列号ISN C,即服务器确认并发送自己的序列号ISN S,并且客户承认。 遵循这三条消息,数据传输可能发生。交换可以如下示意性地示出:

C*S:SYN(ISN C ) S*C:SYN(ISN S ) ,ACK(ISN C ) C*S:ACK(ISN S ) C*S:data and /or S*C:data

也就是说,要进行一个对话,C必须首先听到ISN S或更少的随机数。

假设有一个入侵者X预测ISN S的方法。在这种情况下,它可以发送以下序列来假冒信任拥有者T:

X*S:SYN(ISN X ) ,SRC = T S*T:SYN(ISN S ) ,ACK(ISN X ) X*S:ACK(ISN S ) ,SRC =T X*S:ACK(ISN S ) ,SRC = T,nasty – data

即使消息S * T不去X,X也能够知道它的内容,因此可以发送数据。 如果X对a执行这个攻击允许命令执行的连接(即Berkeley rsh服务器),可以执行恶意命令。

那么如何预测随机ISN? 在伯克利系统中初始序列号变量增加一次恒定量每秒一次,并且每次连接开始时的一半。因此,如果发起合法连接并观察所使用的ISN S,可以高度信心地计算出ISN S *下一次连接尝试。

莫里斯指出答复信息S*T:SYN(ISN S ) ,ACK(ISN X ) 实际上并没有消失一个黑洞; 而是真正的拥有者T将收到它并尝试重置连接。 这不严重障碍。 莫里斯发现通过假冒T上的服务器端口淹没那个端口有明显的连接请求,他可以生成队列溢出,这将使S * T消息很可能丢失。 或者,人们可以等到T停了下来维护或重启。

这个TCP序列号攻击的一个变体,没有描述莫里斯利用netstat [8]服务。 在这次攻击中,入侵者假冒一个失败的主机。 如果netstat在目标上可用主机,它可能会提供必要的序列号信息在另一个港口; 这消除了所有需要猜测1。

防御显然,这次攻击的关键是比较粗糙伯克利系统上初始序列号变量的变化率。TCP规范要求增加此变量每秒约250,000次; 伯克利使用的速度要慢一些率。 然而,关键因素是粒度,而不是平均值率。 从4.2BSD的每秒128次增加到125,000的变化在4.3BSD中每秒钟是无意义的,即使后者在一个主机。 安全方面的关切并不在于它的消除。

让我们考虑一个运营在真正的25万的计数器hz率会有所帮助。 为了简单起见,我们将忽略这个问题其他连接发生,只考虑固定变化率这个计数器。

要学习当前序列号,必须发送SYN数据包并接收答复如下:

X*S: SYN(ISN X ) S*X: SYN(ISN S ) ,ACK(ISN X ) (1)

第一个欺骗包,触发下一个的生成序列号,可以立即跟随服务器对探测器的响应包:

X*S: SYN(ISN X ) ,SRC = T (2)

响应中使用的序列号ISN S:S*T: SYN(ISN S ) ,ACK(ISN X ) 由发起之间的时间唯一确定消息(1)和服务器上的消息(1)的收据。 但这个数字正是X和S之间的往返时间。因此,如果可以的话准确测量(并预测)那个时间,即使是4 u秒钟也不会击败这次攻击。

如何准确测量行程时间? 如果我们假设稳定性是好的,我们可能会在10毫秒左右的时间里限制。显然,互联网长期没有表现出这样的稳定性[9],但短期来看通常还不错。 因此有一个ISN S的可能值为2500的不确定性。 如果每次试验需要5次秒,让时间重新测量往返时间,入侵者会在7500秒内有合理的成功可能性,和a一天内接近确定。 更可预测(即更高质量)网络或更精确的测量,将进一步提高赔率在入侵者的青睐 很明显,只要遵循TCP的信规格不够好。

我们至今默认地假设没有处理在目标主机上。 其实一些处理确实发生在一个新的请求进来 该处理中的变异性是至关重要的。在6 MIPS机器上,一个刻度 - 4 u秒钟 - 约25条指令。因此,精确的指令路径具有相当大的灵敏度紧随其后。 高优先级中断,或略有不同的TCB分配顺序,对实际值有较大的影响下一个序列号。 这种随机效应具有相当大的优势到目标。 应该注意的是,更快的机器更多易受这种攻击,因为指令路径的变化将减少实时性,从而影响增量的减少。 还有当然,CPU速度正在快速增长。

这表明序列号攻击的另一个解决方案:随机化增量。 必须小心使用足够的位; 如果,说,只有低8位被随机挑选,并且粒度增量粗大,入侵者的工作因子只有乘以256.细粒度增量与小随机的组合知道网络的安全性依赖于其低质量的服务。

而不是去这样的长度,使用a更简单用于ISN S代的加密算法(或设备)。 数据电子码本模式[12]中的加密标准[11](DES)是一种有吸引力的选择作为ISN S来源,以一个简单的计数器作为输入。或者,DES可以用于输出反馈模式,而不使用附加柜台。 无论哪种方式,必须非常小心选择钥匙用过的。 开机时间不够充足; 足够好有关重启时间的信息往往适用于入侵者允许暴力攻击。 但是,如果重启时间被加密使用每个主机的密钥,发生器不能被破解合理的努力。

初始序列号生成器的性能不是问题。 每个连接只需要一个新的序列号,甚至DES的软件实现就足够了。 加密时间为2.3已经报道了1 MIPS处理器的毫秒数[13]。

额外的防御包括良好的记录和警报机制。往返时间的测量对于符合RFC的攻击至关重要主机 - 很有可能使用ICMP Ping消息进行; 一个``转发器#39;#39;功能可以记录多余的ping请求。 其他,也许更适用的时序测量技术将涉及尝试的TCP连接; 这些连接显然是短暂的,而不是甚至完成SYN处理。 同样地,欺骗一个活跃的主机会最终产生不寻常类型的RST数据包; 这些不应该发生经常,应该被记录。

3.路由机制的漏洞

滥用路由机制和协议可能是最简单的基于协议的攻击可用。 有多种方法可以做这取决于所使用的确切的路由协议。 其中一些攻击仅当远程主机进行基于源地址的身份验证时才成功;其他人可以用于更强大的攻击。

下面描述的一些攻击也可以使用通过混淆主机上的路由表来完成拒绝服务网关。 详细信息是渗透率的直接推论机制,不再进一步描述。

3.1源路由

如果可用,最简单的滥用机制是IP源路由。假设目标主机使用反向提供的源路由TCP打开请求返回流量。 这种行为是完全合理的;如果连接的发起者希望指定一个特定的路径有些理由 - 比如说因为自动路由死机 - 答复可能不行如果遵循不同的路径,请到达发起者。

攻击者可以选择所需的任何IP源地址,包括目标本地网络上受信任的计算机。 任何这种机器可用的设备可供攻击者使用。

防御防御这种攻击是相当难的。最好的想法是网关进入本地网拒绝声称来自本地网的外部数据包。 这少了比较正常的运作。 这个防御的一个变化是分析源路由,如果只有可信网关,则接受它上市; 那样的话,最终的门户就可以算了数据包只到真正的目的主机。 这个想法的复杂性是可能不值得。

一些协议(即伯克利的rlogin和rsh)允许普通用户使用扩展到远程主机/用户组合的信任。 在这种情况下,个人用户,而不是整个系统,可能是源路由的目标攻击。 4可疑网关[14]在这里不会像主机那样有帮助欺骗可能不在网关保护的安全域内。

3.2路由信息协议攻击

路由信息协议[15](RIP)用于传播路由信息在本地网络,特别是广播媒体。通常,收到的信息是未经检查的。 这允许入侵者将伪造的路由信息发送给目标主机,并发送给每个一路上的网关,模仿一个特定的主机。 最可能的这种攻击将是要求到特定未使用主机的路由,而不是网络; 这将导致所有打包的数据包主机被发送到入侵者的机器。 (整个数据包转发)网络可能太明显; 模拟空闲工作站是相对无风险。)一旦完成,依赖的协议基于地址的身份验证被有效地损害。

这种攻击可以产生更微妙和更严重的好处,攻击者也是如此。 假设攻击者声称有一个活跃的路由主机或工作站。 该主机的所有数据包将被路由到入侵者的机器进行检查和可能的改动。 他们是然后使用IP源地址路由重新发送到预期的目的地。因此,局外人可能会捕获密码和其他敏感数据。 这种模式的攻击是独一无二的,因为它也会影响出站呼叫; 因此,用户来自目标主机的呼叫可能会被欺骗泄露密码。大多数早期的攻击都用于伪造源地址;这一个专注于目的地址。

防御一个RIP攻击比起来更容易防御源路由攻击,尽管一些防御是相似的。 偏执狂网关 - 根据源地址或目的地址过滤数据包的网关- 将阻止任何形式的主机欺骗(包括TCP序列号)攻击),因为违规数据包永远不会通过。 但在那里是处理RIP问题的其他方法。

RIP的一个防御是对它的路由更加怀疑接受。 在大多数环境中,没有理由接受新的路线到你自己的本地网络。 可以轻松进行此检查的路由器检测入侵企图。 不幸的是,一些实施依赖于听自己的广播来保留他们直接认识的知识网络。 这个想法,大概是他们可以使用其他网络绕过当地停电。 虽然容错一般是好的想法,这种技术的实际效用在许多环境中都很低与风险相比。

能够验证RIP数据包是有用的; 在没有廉价的公钥签名计划,这很困难。

3.3外部网关协议

外部网关协议(EGP)[16]用于通信核心网关和所谓的外部网关之间。 外观网关在经过邻居采集协议之后就是定期轮询核心; 它响应有关的信息它所服务的网络 这些网络必须全部成为其自主的一部分系统。 类似地,网关周期性地请求路由信息从核心网关。 数据通常不会发送,除了响应a轮询; 此外,由于每个轮询都携带必须的序列号响应的回应,入侵者注入相当困难虚假路由更新。 外部网关被允许发送一个任何两次民意调查之间的自发更新; 这也必须承担序列接收的最后一次民意调查的人数。 因此比较困难干扰正在进行的EGP对话。

一个可能的攻击将是假冒第二个外部同一个自治系统的网关。 这可能不成功,作为核心网关可以配备一个合法网关列表自治系统。 但是,此类检查目前尚未完成。 即使他们只能通过源IP地址进行身份验证。

一个更强大的攻击将是要求一些人的可达性真正的网关关闭的网络。 也就是说,如果网关G通常处理网络N的流量,G关闭,网关G *可以通告一个路由到该网络。 这将允许密码捕获由各种各样的机制。 对这种攻击的主要防御是拓扑(和相当的)限制):外部网关必须与核心在同一个网络上;因此,入侵者不仅需要颠覆任何主机,而且还会破坏现有的主机网关或主机直接在主网上。

序列号攻击类似于TCP的攻击可能试图 这里的困难在于预测什么数字的核心网关正在使用。 在TCP中,可以建立任意的探测连接供参考 在EGP中,只有少数主机可能会对核心说话。 (更多准确地说,核心只能说几个特定的主机,尽管如此注意到此类检查目前尚未实施。)因此可能难以获得这种攻击所需的原始数据。

3.4互联网控制消息协议

互联网控制消息协议(ICMP)[17]是基本网络TCP / IP协议套件的管理工具。 似乎携带丰富滥用的可能性 令人惊讶的是,ICMP攻击相当困难;仍然存在可能被利用的漏洞。

第一个也是最明显的目标是ICMP重定向消息; 它被使用通过网关向主机提供更好的路线。 因此,它通常可以以与RIP可以相同的方式滥用。 复杂的是重定向消息必须绑定到特定的现有连接; 它不能使用对主机的路由表做出主动的更改。 此外,重定向仅适用于有限拓扑; 他们可能被发送只能从沿途的第一个网关发往主机。 后来网关可能不建议主机,也不能使用ICMP重定向来控制其他网关。

超过,可用于重置现有连接。 如果入侵者知道TCP的本地和远程端口号连接,针对该连接的ICMP数据包可能会被伪造5。 这样有时通过netstat服务可以获取

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[487394],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。