到底什么是中間人攻擊,你該如何防范?
譯文【51CTO.com快譯】中間人(man-in-the-middle,MITM)攻擊可以發(fā)送在人、用戶電腦、以及服務(wù)器等任意組合之間,而且攻擊途徑也是多種多樣,因此它在識別和防御上具有很大的難度。本文將和您深入討論中間人攻擊背后的邏輯,以及如何避免遭遇此類攻擊。
什么是中間人攻擊?
中間人攻擊可以回溯到早期計算機網(wǎng)絡(luò)中,攻擊者可以將自己植入到彼此正在通信的兩方之間,開展竊聽、甚至是攻擊活動。為了更好地理解中間人攻擊的工作原理,讓我們通過下面的例子,從兩方面來進行理解。
離線中間人攻擊
離線中間人攻擊雖然比較基礎(chǔ),但是其使用范圍遍布全球。例如:某中間人成功截獲了您發(fā)送的消息,對其進行了讀取和重新打包操作,然后將新的內(nèi)容發(fā)回給您、或原始收件人。而當(dāng)此人在不知情的情況下回復(fù)時,該中間人便可繼續(xù)截獲并閱讀原本通信雙方互發(fā)的信息。由于雙方并非面對面通信,因此信息即使被截獲和竊取,他們都不得而知。
在此基礎(chǔ)上,如果攻擊者能夠控制通信的方式,那么他甚至可以篡改消息,或?qū)嵤┢渌垓_途徑。例如,在上例中,攻擊者可以基于截獲到的消息內(nèi)容,提出某些非法的請求。當(dāng)然,為了做得神不知、鬼不覺,攻擊者在完成攻擊后,往往會立即刪除與此次攻擊相關(guān)的任何信息記錄,讓通信雙方無法發(fā)現(xiàn)任何異常。
在線中間人攻擊
與上述離線攻擊不同,在線攻擊往往是實時發(fā)生的。例如:您用筆記本電腦連接上了某個咖啡館的免費公共Wi-Fi,并試圖訪問某個銀行的網(wǎng)站。隨后,您可能遇到如下錯誤提示。
如上圖所示的證書錯誤,從字面上提示您:由于配置問題,該銀行網(wǎng)站不具備有效的加密證書。而真實情況是,中間人攻擊正在悄然發(fā)生。
面對此類錯誤提示,許多人只會單擊它,并繼續(xù)訪問該網(wǎng)站。后續(xù),他們的銀行賬戶登錄、匯款、賬單支付等操作,貌似一切如常。而實際上,攻擊者已經(jīng)事先建立好了虛假的服務(wù)器。他們會將目標(biāo)銀行的真實頁面略作修改,甚至另行偽造。您所有輸入的登錄詳細信息,都將被發(fā)送到中間人服務(wù)器的后臺,而不是真實的銀行服務(wù)器處。這也就解釋了上圖中出現(xiàn)的那個加密證書的錯誤信息,實際上源于中間人服務(wù)器根本就沒有與真實銀行相同的安全證書。
中間人攻擊的類型
總的說來,中間人攻擊可分為如下五種不同的類型:
- Wi-Fi欺騙:攻擊者可以創(chuàng)建與本地免費Wi-Fi同名的虛假Wi-Fi接入點(AP)。例如,在上例的咖啡館中,攻擊者會模仿創(chuàng)建一個和墻上貼著Wi-Fi信息同名“Guest Wi-Fi”。一旦您連接上去,您的一切在線網(wǎng)絡(luò)行為,將盡在攻擊者的監(jiān)控和掌握之中。
- HTTPS欺騙:攻擊者通過欺騙您的瀏覽器,使您認(rèn)為自己訪問的是可信任站點。當(dāng)您輸入與該站點相關(guān)的登錄憑據(jù)時,您的流量將被重定向到攻擊者自建的非安全站點處。
- SSL劫持:通常,當(dāng)您嘗試連接或訪問不安全的HTTP://站點時,您的瀏覽器會自己將您重定向到安全的HTTPS://處。此時,攻擊者則可以劫持該重定向的過程,將指向其自建服務(wù)器的鏈接植入其中,進而竊取您的敏感數(shù)據(jù)、以及輸入的所有信任憑據(jù)。
- DNS欺騙:為了準(zhǔn)確地瀏覽到目標(biāo)網(wǎng)站,域名系統(tǒng)會將地址欄中的URL,從人類易于識別的文本格式,轉(zhuǎn)換為計算機易于識別的IP地址。然而,DNS欺騙則會迫使您的瀏覽器,在攻擊者的控制下,發(fā)生轉(zhuǎn)換異常,而去訪問那些被偽造的地址。
- 電子郵件劫持:如果攻擊者獲得了受信任機構(gòu)(例如銀行)的郵箱、甚至是郵件服務(wù)器的訪問權(quán)限,那么他們就能夠攔截包含敏感信息的客戶電子郵件,甚至以該機構(gòu)的身份發(fā)送各種電子郵件。
上面只是五種典型的中間人攻擊方式。在現(xiàn)實情況下,此類攻擊還會有許多變種與組合。
HTTPS是否可以阻止中間人攻擊?
使用標(biāo)準(zhǔn)的HTTP連接去訪問那些未加密的網(wǎng)站,只會讓您在無法獲得任何警告的情況下,受到中間人的襲擊。過去,只有那些提供敏感信息的網(wǎng)站才會使用HTTPS的方式。據(jù)統(tǒng)計,2014年,在全球排名前一百萬的網(wǎng)站中,只有1-2%使用到了HTTPS。后來,Google宣布了將是否采用HTTPS納入SEO排名的參考標(biāo)準(zhǔn)。至2018年,已有超過50%的企業(yè)實施了HTTPS。
針對上述案例,如果用戶直接訪問的是帶有HTTPS://(即HTTP的安全版本)的銀行網(wǎng)站,那么他會看到如下圖所示的“加密證書”信息。如今,幾乎絕大部分網(wǎng)站都會使用HTTPS,您可以在地址欄中查看到URL前面有個帶鎖的圖標(biāo)。
MITM和SSLStrip
所以說,HTTPS能夠防止基本的中間人攻擊。當(dāng)然,攻擊者也會通過多種方法,來破壞HTTPS,進而消除加密的安全性。例如,SSLStrip類型的中間人攻擊,會強制將瀏覽器“卡”在舊的HTTP模式。對此,您可以通過細心觀察瀏覽器的地址欄,是否帶有紅叉或驚嘆號的通知,以發(fā)現(xiàn)HTTPS的安全性被完全“剝離”掉了。
為了應(yīng)對SSLStrip實施的“協(xié)議降級攻擊”,我們可以采用HTTP嚴(yán)格傳輸安全性(HTTP Strict Transport Security,HSTS)。它能夠強制要求Web服務(wù)器與所有用戶僅使用HTTPS進行交互。
當(dāng)然,HSTS并非能夠一直奏效,畢竟HSTS只能在用戶首次訪問之后,方可進行配置。因此,這種短暫的時間差,仍然會在理論上給SSLStrip攻擊留下較短的時間窗口。此外,SSLStrip往往會被組合到其他各種中間人類型中,聯(lián)合開展攻擊。
帶有MITM的惡意軟件
在實際場景中,我們還可能碰到帶有中間人模塊的惡意軟件變種。例如,某些針對Android用戶的惡意軟件類型(例如SpyEye和ZeuS),就能夠允許攻擊者截獲到,傳入和傳出智能手機的所有數(shù)據(jù)通信形式。例如,攻擊者可以在真實的安全網(wǎng)站上請求雙因素身份驗證碼(two-factor authentication code),然后在用戶的手機上,先用戶一步,截獲并輸入移動設(shè)備接收到的驗證碼到網(wǎng)站上。當(dāng)然,PC機上也容易感染到此類中間人惡意軟件。
如何防范中間人攻擊?
常言道“知易行難”,下面我們來討論四種常見的防范中間人攻擊的方法:
- 使用HTTPS:確保您只訪問那些使用著HTTPS的網(wǎng)站。如前所述,HTTPS提供了額外的安全保護層。在此,您可以考慮下載并安裝Electronic Frontier Foundation的HTTPS Everywhere瀏覽器擴展程序。它是Google Chrome瀏覽器最好的隱私擴展程序之一。
- 不要忽略警告:如果您的瀏覽器提示,您正在訪問的網(wǎng)站存在著安全問題,那么就請引起足夠的重視。畢竟安全證書警告可以幫您直觀地判定,您的登錄憑據(jù)是否會被攻擊者截獲。
- · 不要使用公共Wi-Fi:如果您無法避免使用公共Wi-Fi,那么請下載并安裝安全防護,為連接增加安全性。同時,在使用公共Wi-Fi連接時,請留意瀏覽器的安全警告。如果警告的數(shù)量突然猛增,那么很可能就表明某個漏洞遭到了中間人攻擊。
· 運行并更新防病毒軟件:除了此外,也請考慮使用諸如Malwarebytes Premium之類的其他安全工具。
原文標(biāo)題:What Is a Man-in-the-Middle Attack?,作者: GAVIN PHILLIPS
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】