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