掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
中間人(man-in-the-middle,MITM)攻擊可以發(fā)送在人、用戶電腦、以及服務器等任意組合之間,而且攻擊途徑也是多種多樣,因此它在識別和防御上具有很大的難度。本文將和您深入討論中間人攻擊背后的邏輯,以及如何避免遭遇此類攻擊。

創(chuàng)新互聯(lián)于2013年開始,先為陽城等服務建站,陽城等地企業(yè),進行企業(yè)商務咨詢服務。為陽城企業(yè)網站制作PC+手機+微官網三網同步一站式服務解決您的所有建站問題。
什么是中間人攻擊?
中間人攻擊可以回溯到早期計算機網絡中,攻擊者可以將自己植入到彼此正在通信的兩方之間,開展竊聽、甚至是攻擊活動。為了更好地理解中間人攻擊的工作原理,讓我們通過下面的例子,從兩方面來進行理解。
離線中間人攻擊
離線中間人攻擊雖然比較基礎,但是其使用范圍遍布全球。例如:某中間人成功截獲了您發(fā)送的消息,對其進行了讀取和重新打包操作,然后將新的內容發(fā)回給您、或原始收件人。而當此人在不知情的情況下回復時,該中間人便可繼續(xù)截獲并閱讀原本通信雙方互發(fā)的信息。由于雙方并非面對面通信,因此信息即使被截獲和竊取,他們都不得而知。
在此基礎上,如果攻擊者能夠控制通信的方式,那么他甚至可以篡改消息,或實施其他欺騙途徑。例如,在上例中,攻擊者可以基于截獲到的消息內容,提出某些非法的請求。當然,為了做得神不知、鬼不覺,攻擊者在完成攻擊后,往往會立即刪除與此次攻擊相關的任何信息記錄,讓通信雙方無法發(fā)現(xiàn)任何異常。
在線中間人攻擊
與上述離線攻擊不同,在線攻擊往往是實時發(fā)生的。例如:您用筆記本電腦連接上了某個咖啡館的免費公共Wi-Fi,并試圖訪問某個銀行的網站。隨后,您可能遇到如下錯誤提示。
如上圖所示的證書錯誤,從字面上提示您:由于配置問題,該銀行網站不具備有效的加密證書。而真實情況是,中間人攻擊正在悄然發(fā)生。
面對此類錯誤提示,許多人只會單擊它,并繼續(xù)訪問該網站。后續(xù),他們的銀行賬戶登錄、匯款、賬單支付等操作,貌似一切如常。而實際上,攻擊者已經事先建立好了虛假的服務器。他們會將目標銀行的真實頁面略作修改,甚至另行偽造。您所有輸入的登錄詳細信息,都將被發(fā)送到中間人服務器的后臺,而不是真實的銀行服務器處。這也就解釋了上圖中出現(xiàn)的那個加密證書的錯誤信息,實際上源于中間人服務器根本就沒有與真實銀行相同的安全證書。
中間人攻擊的類型
總的說來,中間人攻擊可分為如下五種不同的類型:
上面只是五種典型的中間人攻擊方式。在現(xiàn)實情況下,此類攻擊還會有許多變種與組合。
HTTPS是否可以阻止中間人攻擊?
使用標準的HTTP連接去訪問那些未加密的網站,只會讓您在無法獲得任何警告的情況下,受到中間人的襲擊。過去,只有那些提供敏感信息的網站才會使用HTTPS的方式。據統(tǒng)計,2014年,在全球排名前一百萬的網站中,只有1-2%使用到了HTTPS。后來,Google宣布了將是否采用HTTPS納入SEO排名的參考標準。至2018年,已有超過50%的企業(yè)實施了HTTPS。
針對上述案例,如果用戶直接訪問的是帶有HTTPS://(即HTTP的安全版本)的銀行網站,那么他會看到如下圖所示的“加密證書”信息。如今,幾乎絕大部分網站都會使用HTTPS,您可以在地址欄中查看到URL前面有個帶鎖的圖標。
MITM和SSLStrip
所以說,HTTPS能夠防止基本的中間人攻擊。當然,攻擊者也會通過多種方法,來破壞HTTPS,進而消除加密的安全性。例如,SSLStrip類型的中間人攻擊,會強制將瀏覽器“卡”在舊的HTTP模式。對此,您可以通過細心觀察瀏覽器的地址欄,是否帶有紅叉或驚嘆號的通知,以發(fā)現(xiàn)HTTPS的安全性被完全“剝離”掉了。
為了應對SSLStrip實施的“協(xié)議降級攻擊”,我們可以采用HTTP嚴格傳輸安全性(HTTP Strict Transport Security,HSTS)。它能夠強制要求Web服務器與所有用戶僅使用HTTPS進行交互。
當然,HSTS并非能夠一直奏效,畢竟HSTS只能在用戶首次訪問之后,方可進行配置。因此,這種短暫的時間差,仍然會在理論上給SSLStrip攻擊留下較短的時間窗口。此外,SSLStrip往往會被組合到其他各種中間人類型中,聯(lián)合開展攻擊。
帶有MITM的惡意軟件
在實際場景中,我們還可能碰到帶有中間人模塊的惡意軟件變種。例如,某些針對Android用戶的惡意軟件類型(例如SpyEye和ZeuS),就能夠允許攻擊者截獲到,傳入和傳出智能手機的所有數據通信形式。例如,攻擊者可以在真實的安全網站上請求雙因素身份驗證碼(two-factor authentication code),然后在用戶的手機上,先用戶一步,截獲并輸入移動設備接收到的驗證碼到網站上。當然,PC機上也容易感染到此類中間人惡意軟件。
如何防范中間人攻擊?
常言道“知易行難”,下面我們來討論四種常見的防范中間人攻擊的方法:
· 運行并更新防病毒軟件:除了此外,也請考慮使用諸如Malwarebytes Premium之類的其他安全工具。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流