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 库进行了类似的研究,还发现许多网站包含过时和易受攻击的库。