Web和移動安全之?OAuth
OAuth
雖然開放授權(quán)(OAuth)[68]本身不是一種身份驗證機制(參見身份驗證,授權(quán)和問責(zé)制CyBOK知識領(lǐng)域[4]),但可用于隱私友好的身份驗證和授權(quán)用戶針對第三方網(wǎng)絡(luò) 應(yīng)用。OAuth 使用安全令牌,而不是要求用戶提供用戶名和密碼等登錄憑據(jù)。OAuth 服務(wù)提供商代表其用戶提供訪問令牌,授權(quán)與第三方應(yīng)用程序共享特定帳戶信息。OAuth協(xié)議的最新繼承者,包括OAuth 2 [69]或OpenID Connect [70]支持聯(lián)邦(參見身份驗證,授權(quán)和問責(zé)制CyBOK知識領(lǐng)域[4])。谷歌或Facebook等大型在線服務(wù)提供商可以充當身份提供商來驗證用戶身份,從而幫助用戶減少登錄憑據(jù)的數(shù)量和帳戶。雖然此類協(xié)議旨在提供更高的安全性,但這種復(fù)雜協(xié)議的正確和安全實現(xiàn)被證明容易出錯,并可能允許惡意用戶運行模擬攻擊[71]。
頻繁的軟件更新
頻繁的軟件更新是一項基本的安全措施,對于 Web 和移動平臺尤其重要。本節(jié)討論 Web 和移動生態(tài)系統(tǒng)中需要定期更新的不同組件、不同的更新策略及其優(yōu)缺點。傳統(tǒng)上,瀏覽器和移動設(shè)備更新要求其用戶在新版本可用時手動安裝更新。用戶必須密切關(guān)注軟件更新,并負責(zé)下載和安裝新版本。這種方法容易出錯,并導(dǎo)致許多過時且不安全的軟件組件部署。
現(xiàn)代 Web 和移動平臺上的大多數(shù)關(guān)鍵組件的發(fā)布周期都很短。包括Google Chrome和Mozilla Firefox在內(nèi)的Web瀏覽器實現(xiàn)了自動更新功能,并經(jīng)常向用戶推送新版本和安全補丁。
移動平臺還為第三方應(yīng)用程序提供自動應(yīng)用程序更新。雖然這種方法通常會導(dǎo)致更快的更新和及時分發(fā)安全補丁,但默認情況下,自動移動應(yīng)用程序更新僅對連接到 WiFi 的設(shè)備啟用。默認情況下,連接到蜂窩網(wǎng)絡(luò)(例如 3G/4G)的設(shè)備不會從自動應(yīng)用程序更新中受益。此更新行為可確保大多數(shù)第三方應(yīng)用程序更新在一周內(nèi)安裝在移動設(shè)備上[72]。第三方應(yīng)用程序自動更新在移動設(shè)備上運行良好。移動操作系統(tǒng)更新行為在很大程度上取決于平臺。特別是,許多非谷歌Android設(shè)備遭受過時和不安全的操作系統(tǒng)版本。
總體而言,現(xiàn)代Web和移動平臺認識到非自動軟件更新的缺點,現(xiàn)在在大多數(shù)情況下提供自動或半自動平臺或應(yīng)用程序更新。
過時的第三方庫雖然頻繁的軟件更新通常至關(guān)重要,但對于需要修補自己的代碼和分發(fā)更新的軟件開發(fā)人員來說,第三方庫的更新是一項特別重要的安全措施,同時還需要跟蹤他們使用的文件中的漏洞并更新它們以提高安全性。德爾等 [73] 對Android 應(yīng)用程序中的第三方庫更新頻率進行了測量研究,發(fā)現(xiàn)大量開發(fā)人員使用過時的庫,暴露了 他們的用戶在受影響的第三方庫中出現(xiàn)安全問題。Lauinger 等人 [74] 對 Web 應(yīng)用程序中的 JavaScript 庫進行了類似的研究,還發(fā)現(xiàn)許多網(wǎng)站包含過時和易受攻擊的庫。