移动应用程序是否比“普通”网站更安全?

信息安全 Web应用程序 tls 移动的 网络钓鱼
2021-08-15 05:37:25

使用移动网络浏览器的未经培训的最终用户容易受到网络钓鱼攻击,并且无法轻松验证网站的真实性(或安全性)以及其他问题此外,即使是知识渊博的用户也很容易通过隐藏 HTTPS 图标、将其替换为 favicon或许多其他技巧来防止检测到 MITM,因为大多数浏览器完全隐藏了整个 URL。

  1. 原生应用程序(可能带有证书/根证书验证)真的是通过 HTTPS 与后端服务 实现可靠、安全交互的唯一方法吗?

  2. 我是否应该训练我的最终用户不使用 Web 浏览器,并使用硬编码到我的 URL 的“应用程序”,并可选择进行额外的证书验证以降低 MITM 风险?

  3. 我的网络服务器是否应该检测到移动会话并阻止它们进行身份验证?

4个回答

Web 应用程序和 Web 浏览器都有相同的问题 - 攻击者可以破坏他们发送或接收的数据。

我不鼓励强迫用户通过浏览器使用应用程序——我会认为这是一家公司试图强迫我的错误方式。作为我的安全策略的一部分,我可能不想安装应用程序。

没有绝对没有区别。

归根结底,您需要为客户提供查询信息和进行状态更改的能力。移动设备使用的 API 问题与 javascript/html 浏览器使用的 API 问题非常相似。

您仍然遇到不安全的直接对象引用sql 注入等问题。

如果您是希望保护您的用户免受网络钓鱼攻击的网站开发人员,您可以采取一些步骤。

我要采取的关键步骤是不要依赖密码例如,您可以使用通过 HTTPS 发送的安全持久 cookie 来验证用户身份。SSL 客户端证书身份验证将是用户身份验证方法的另一个示例,该方法可以抵抗网络钓鱼攻击,因为它不依赖密码。如果您愿意,您可以另外请求密码,但您不应仅依赖在移动浏览器中输入的密码。造成这种情况的原因有两个:首先,密码是可钓鱼的,正如您所说,这些套牌是针对用户的;其次,考虑到大多数软键盘的状态,在移动设备中输入密码是一种糟糕的用户体验。

如果您是希望保护自己的用户,则可以使用一组不同的防御措施,例如使用专用应用程序、从书签启动网站等等。但是,对于网站运营商来说,期望培训所有用户遵循这些步骤可能是不可行的。

是的,在某种程度上,手机可以更多地保护用户会话。

IE

  • 没有网络钓鱼的风险,因为移动应用程序只连接到自己的 API。
  • 没有跨域问题(CSRF、需要 POODLE 或 BREACH 等跨域请求的 SSL 攻击)。
  • 如果根本不使用 Web 控件,则没有 XSS 风险。
  • cookie 没有同源策略问题(因为 HTTPS 和 HTTP cookie 具有相同的来源),因此 cookie 不能通过普通 HTTP 被 MITM 毒害(有关更多详细信息,请参阅此答案)。

缺点是用户必须更加信任您,因为他们正在他们的设备上安装完全可执行的应用程序,而不是像 Web 会话这样的沙盒。