這個安全漏洞說到底,就是一個典型的中間人攻擊,也就是Man in the middle attack?,F(xiàn)在的互聯(lián)網(wǎng)的應用程序,有一個非常重要的功能,就是自動更新的功能。如果一旦檢測到應用程序有了更新的版本發(fā)布,就會自動下載并安裝。Firefox的擴展,和Google Toolbar都采用這種更新方式。
那么,如何檢測是否有更新的版本,并下載到本地?應用程序會定時和一個指定的服務器連接,詢問服務器上的版本信息,和本地的版本比較,已確定是否需要更細本地程序的版本。
看到這里,大家是否覺得這和Windows系統(tǒng)的自動更新(Auto Update)是否很像?沒錯,它們的工作方式是類似的。
采用這種更新方式,方便是方便,但是一定需要注意一點:一定要確保連接到真正的服務器上。
如果沒有考慮到這一點的話,就會出現(xiàn)中間人攻擊的漏洞。具體來說,會出現(xiàn)以下情況:
1,應用程序試圖和服務器連接
2,一個惡意的攻擊者,截獲了這個連接請求,在網(wǎng)絡上虛假構造了一個模擬服務器的回答。
3,應用程序詢問是否有更新
4,惡意攻擊者回答,有
5,應用程序從惡意攻擊方下載程序
6,惡意程序被下載及運行
那么,如何確保自動更新不受中間人攻擊的威脅?最常用的方式就是認證(authentication)服務器的身份,以確保不會被一個虛假構造的服務器騙到。
大家如果在自己開發(fā)的應用程序中也提供了自動更新的功能,不妨也看看是否有和Firefox/Google Toolbar類似的問題?