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




















