2011-05-21 28 views
3

我正在處理受防火牆保護的應用程序,並且只允許從某些IP地址(這是應用程序Web服務器)進行訪問。應用程序安全問題:僞造IP地址有多容易?

它有點微妙,引入另一個認證/保護層會很麻煩。

我的網絡的理解是不是很大,因爲它不是我的問題,但在我的腦海我提出了以下方案:

  • 有人知道我們的應用程序服務器的IP地址和要假冒它來訪問他知道監聽套接字和協議的其他應用程序。

  • 因此,他改變了他的IP數據包的標題,使Web服務器IP作爲發送器。

接下來會發生什麼?

  • 答:他的ISP拒絕數據包並說:「嘿,那是不是你離開我分配的IP地址。」 - Problema解決

  • B:該ISP傳遞到下一個級別的數據包(其上行鏈路...)

讓我們假設的ISP已經受損或數據包被傳遞,而不檢查(我不知道是否是這種情況)

接下來會發生什麼?

  • 答:承運人拒絕數據包並說:「嘿,那IP是不是在我們同意你所操作的IP範圍!」 - 現在,如果我的網絡服務器不是由我的攻擊者所攻擊的同一ISP運營的 - 問題已解決

  • B:ISP不檢查數據包或被盜用,並將其轉發給他的上行鏈路。

現在我很確定IP地址在通過路由器時被檢查和過濾。否則,這將是完全無政府狀態。

所以說得直白:一個想要僞造我的IP地址的攻擊者需要破壞我的Web服務器負責運行的IP範圍的非常相同的ISP,或者這個ISP不會執行數據包檢查。

  • 這是正確的嗎?

好吧,現在我想象我的服務器位於辦公室,它的ISP是一個區域性有線電視公司。

將數據包從我的IP地址發送到另一個互聯網IP需要什麼步驟?

(當然,我只是要求瞭解風險並選擇適當的保護!)

我想象一下,路由站通常位於街道旁邊的一個小容器中,而這個小容器只受鎖的保護。去那裏。交換電纜或將自己插入。

如果您知道自己在做什麼,或者是否存在使用真實辦公室調制解調器上存儲的密鑰進行一些加密握手,那麼建立經過身份驗證的連接需要這種方式嗎?

我在談論今天的有線互聯網標準。

最後一個想法:所以如果我的原始服務器不是某個家庭的ISP,它的站點在大街上容易受到攻擊,我應該很安全,對吧?

我記得NFS服務器只依賴IP身份驗證作爲默認設置。因爲這很常見 - 是否有任何NFS服務器因僞造IP地址而被黑客攻擊的例子?

我意識到,這個問題是非常非常非常迷惑。這是因爲我不確定我在這裏說什麼。我只是想給出一些我認爲洞穴食物可能存在的意見,所以他們可以被證實或消除。

總的來說,我很感激任何評論和你對這個問題的個人想法!

回答

5

現在我很確定IP地址在通過路由器時被檢查和過濾。

這個假設是不正確的,儘管你的水平是確定的。 「出口過濾」,這就是這個名字,一般是不是完成。

針對IP地址廣泛欺騙的主要保護措施是,攻擊者不會收到任何響應數據包 - 它們都將被路由回合法使用被欺騙IP地址的主機。這種攻擊被稱爲「盲目欺騙」,因爲攻擊者正在盲目工作。

爲了在TCP連接上發送數據,您必須能夠完成TCP「三次握手」。這需要知道對端使用的初始序列號 - 並且由於TCP初始序列號被合理地隨機選擇,所以這可以防止盲目欺騙攻擊能夠做到這一點。 (還要注意,這不是而是適用於UDP-沒有某種應用層預防,UDP由於盲目欺騙而面臨重大風險)。

如果攻擊者能夠看到回覆(例如,因爲他正在嗅探服務器的上行鏈路或本地網絡),那麼這也不適用 - 在這種情況下欺騙TCP連接不僅是可能的,不重要的。


1.無論如何 - 這並非總是如此。

+0

我很清楚你知道你在說什麼。谷歌在谷歌上通過TCP進行IP欺騙時會帶來多少垃圾,真是太棒了。謝謝 – wlf 2013-05-02 18:53:02

+1

@wlf:是的,它很可能是日誌中的地址對應於正在進行連接的實際機器 - 也就是說,該機器可能是受攻擊者入侵併用於啓動的第三方機器攻擊。 – caf 2013-05-03 03:49:23

1

在局域網內部,它取決於您的路由器/交換機/集線器如何配置。但我認爲欺騙應該可能經常發生。


我不認爲IP地址被檢查。因此您可以發送帶有僞造發送方IP的UDP數據包。但是你不會收到答案,因爲服務器會將它發送給該IP的真正擁有者。

這意味着你不能簡單地僞造TCP中的IP,因爲建立連接需要握手。


如果響應會通過路由器,您可以僞造某人的IP。因此,網絡管理員可以僞造他局域網內的所有IP,他網內的ISP所有IP,並且運營商可以在許多國際連接上僞造IP,只要他們通過他路由。


最後有濫用BGP修改路線爲IP要經過計算機的可能性。但不是每個人都可以訪問BGP,你可能需要成爲一個ISP來獲取它。然後,可能會檢測到操縱,因爲BGP路由更改受到監視。

+0

這是非常有趣的。所以底線是這個漏洞是一箇中間人的攻擊。它在適當的時候會使例如基本http認證無效。所以我可以依靠ip身份驗證到目前爲止,但如果我想進一步使它更進一步我需要執行加密與共享密鑰或異步與確認的公鑰。你同意嗎? – 2011-05-21 13:18:28

+0

如果幾個不相互信任的人(但信任路由器/代理)共享IP(NAT,代理,...),那麼IP認證失敗,但攻擊者仍然不能攔截TCP連接。 – CodesInChaos 2011-05-21 14:04:07

+0

我只是使用https與已知的公鑰。這對公共/不可信WLAN也有幫助,這是一種比較常見的情況。 – CodesInChaos 2011-05-21 14:07:18