应用程序安全问题:伪造IP地址有多容易?

时间:2011-05-21 12:48:08

标签: security networking authentication ip spoofing

我正在处理受防火墙保护的应用程序,并且只允许从某些IP地址(应用程序Web服务器)进行访问。

它有点微妙,引入另一个身份验证/保护层会很麻烦。

我对网络的理解并不是很好,因为它不是我的主题,但是在我的脑海中,我构成了以下场景:

  • 有人知道我们其中一个应用程序服务器的IP地址,并且想要伪造它以访问他知道监听套接字和协议的其他应用程序。

  • 因此,他改变了IP数据包的标头,将Web服务器IP作为发送器。

接下来会发生什么?

  • 答:他的ISP拒绝该数据包并说:“嘿,这不是你从我那里分配的IP地址。” - Problema Solved

  • B:ISP将数据包传递到下一级别(他的上行链路......)

让我们假设ISP已被盗用或者数据包未经检查就被传递(我不知道是否是这种情况)

接下来会发生什么?

  • 答:运营商拒绝数据包并说“嘿,IP不在我们同意你正在操作的IP范围内!” - 现在,如果我的网络服务器不是由我的攻击者所攻击的同一ISP运营的 - 问题解决了

  • B:ISP不检查数据包或受到攻击,并将其转发到他的上行链接。

现在我非常确定在通过路由器时会检查和过滤IP地址。否则就会完全无政府状态。

所以说实话:一个想要伪造我的IP地址的攻击者需要破坏负责我的网络服务器运行的IP范围的非常相同的ISP - 或者这个ISP不进行数据包检查。 / p>

  • 这是对的吗?

好的,现在我想我的服务器位于办公室,其ISP是一家地区有线电视公司。

将数据包从我的IP地址发送到另一个互联网IP所需的步骤是什么?

(当然我只是要求了解风险并选择适当的保护措施!)

我想要找到路由站,该路由站通常位于街道一侧的一个小容器中,该容器仅受锁的保护。进去吧交换电缆或插入自己。

如果您知道自己在做什么,或者是否存在与构建经过身份验证的连接所需的真实办公室调制解调器上的密钥进行加密握手,那么这种情况最有可能发挥作用吗?

我在谈论今天有线互联网的标准。

最后的想法:所以如果我的原始服务器不是某些家庭ISP,它的电视台在街道上容易受到攻击,我应该非常安全,对吗?

我记得NFS服务器仅依赖IP身份验证作为默认值。因为这很常见 - 是否存在伪造IP地址导致NFS服务器入侵的任何示例?

我意识到这个问题非常暴躁。这是因为我不确定我在这里说什么。我只是想在洞穴吃的地方给出一些输入,这样就可以确认或消除它们。

总的来说,我很感激您对该主题的任何评论和个人想法!

2 个答案:

答案 0 :(得分:6)

现在我非常确定在通过路由器时会检查和过滤IP地址。

尽管你的确定程度很高,但这个假设是不正确的。 “出口过滤”,这是其名称,通常完成。

防止广泛欺骗IP地址的主要保护措施是攻击者不会收到任何响应数据包 - 它们都将被路由回到合法使用IP地址被欺骗的主机。这种攻击被称为“盲目欺骗”,因为攻击者正在盲目工作。

要在TCP连接上发送数据,您必须能够完成TCP“三次握手”。这需要知道相对端使用的初始序列号 - 并且由于TCP初始序列号被合理地随机选择 1 ,这可以防止盲目欺骗攻击能够做到这一点。 (另请注意,适用于UDP - 如果没有某种应用层预防措施,UDP会因盲目欺骗而面临巨大风险。)

如果攻击者可以看到回复(例如,因为他正在嗅探服务器的上行链路或本地网络),那么这也不适用 - 在这种情况下欺骗TCP连接不仅是可能的,而且是微不足道的


1。这些天,无论如何 - 情况并非总是如此。

答案 1 :(得分:1)

在LAN内部,它取决于您的路由器/交换机/集线器的配置方式。但我认为欺骗应该经常发生。


我认为IP地址不会被检查。因此,您可以使用伪造的发送方IP发送UDP数据包。但是您将无法收到答案,因为服务器会将其发送给该IP的真正所有者。

这意味着你不能简单地伪造TCP中的IP,因为建立连接需要握手。


如果响应将通过您的路由器,您可以伪造某人的IP。因此,网络管理员可以伪造其局域网内的所有IP,一个ISP内部网络中的所有IP,并且运营商可以在许多国际连接上伪造IP,只要它们通过他进行路由。


最后,有可能滥用BGP来修改该IP通过您的计算机的路由。但并非所有人都可以访问BGP,您可能需要成为ISP来获取它。然后可能会检测到操作,因为会监视BGP路由更改。