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