Android HTTPS中間人劫持漏洞描述
在密碼學和計算機安全領域中,中間人攻擊 ( Man-in-the-middle attack,通?s寫為MITM )是指攻擊者與通訊的兩端分別創(chuàng)建獨立的聯系,并交換其所收到的數據,使通訊的兩端認為他們正在通過一個私密的連接與對方直接對話,但事實上整個會話都被攻擊者完全控制。在中間人攻擊中,攻擊者可以攔截通訊雙方的通話并插入新的內容。
Android HTTPS中間人攻擊漏洞源于:
1. 沒有對SSL證書進行校驗; 2. 沒有對域名進行校驗; 3. 證書頒發(fā)機構(Certification Authority)被攻擊導致私鑰泄露等。攻擊者可通過中間人攻擊,盜取賬戶密碼明文、聊天內容、通訊地址、電話號碼以及信用卡支付信息等敏感信息,甚至通過中間人劫持將原有信息替換成惡意鏈接或惡意代碼程序,以達到遠程控制、惡意扣費等攻擊意圖。
在各大漏洞平臺上,有大量存在HTTPS證書不校驗漏洞,例如國內絕大部分Android APP存在信任所有證書漏洞、亞馬遜最新官方Android版存在一處信任所有證書漏洞、Yahoo雅虎在國內訪問遭遇SSL中間人攻擊、攜程旅游網最新Android客戶端https未校驗證書導致https通信內容完全被捕獲。
影響范圍
Android系統
漏洞分析
1)中間人攻擊漏洞位置:
X509TrustManager 、HostnameVerifier 、 setHostnameVerifier (X509HostnameVerifier hostnameVerifier)
2) 漏洞觸發(fā)前提條件:
自定義的X509TrustManager不校驗證書; 或實現的自定義HostnameVerifier不校驗域名接受任意域名; 或使用setHostnameVerifier (ALLOW_ALL_HOSTNAME_VERIFIER);
3) 漏洞原理:
由于客戶端沒有校驗服務端的證書,因此攻擊者就能與通訊的兩端分別創(chuàng)建獨立的聯系,并交換其所收到的數據,使通訊的兩端認為他們正在通過一個私密的連接與對方直接對話,但事實上整個會話都被攻擊者完全控制。在中間人攻擊中,攻擊者可以攔截通訊雙方的通話并插入新的內容。
小編推薦閱讀