所謂的 Man In The Middle Attack 是指一種網路攻擊方式,中文為「中間人攻擊」,研究所當網管的時候,有一次計中辦了個研討會,介紹了這個有趣的東西,第一次聽到的時候還覺得滿炫的。

mitm

假設有兩台電腦透過網路在溝通(圖中的 John 主機與 Mary 主機),而駭客 (圖中 Hacker 主機) 則是同時欺騙 John 與 Mary ,告訴 John 說 Hacker 是 Mary,而告訴 Mary 說 Hacker 是 John,然後 John 與 Mary 在要傳輸資料給對方時都會將資料傳送給 Hacker,而 Hacker 再 forward 一份給另一方,這樣一來駭客就可以藉此竊取或竄改其中的資訊,而 John 與 Mary 卻以為他們是直接與對方溝通的。

這個方法有好幾種實作方式,其中一種我用過的是 OSI 第二層 (Layer 2) 的實作方式,在 Ethernet 中一般兩台電腦之間或是電腦與交換器 (switch) 之間要溝通都要透過 ARP,而 ARP 的工作就是讓傳輸資料的兩方能夠知道對方網路卡 MAC 位址,基本上實作原理就是送出假的 ARP 封包填入假的 MAC 位址以欺騙被攻擊的主機,然後再開啟 IP forward 以進行中間人攻擊。

雖然我沒那麼無聊沒事去攻擊別人,但是當一位網路管理者,這些技術也是必需要有的,有一次就真的給我碰到有人惡意盜用 IP 位址架 FTP 站,又抓不出是誰用,沒辦法只好出此下策,結果我進到他的 FTP 站裡抓出他的個人資料,我還看到他的論文,不過我只是確認是誰而已,沒有亂搞。:)

網路上關於中間人攻擊有非常多的文件與軟體,有心人士真的要用這種技術來攻擊是非常容易的,當然對於這種攻擊也有許多防範方式,欲知詳情,下回分曉。