仅使用 HTTP 登录 —— 它们是否像我想象的那么不安全?

仅使用 HTTP 登录 —— 它们是否像我想象的那么不安全?

最近我在想,gmail 和 amazon 等网站在访问您的帐户时,在登录过程中如何使用 HTTPS。这显然是有道理的,因为您正在输入您的帐户用户名和密码,并且您希望它是安全的。然而,在 Facebook 和无数其他网站上,他们的登录都是通过简单的 HTTP 完成的。这是否意味着我的登录名和密码完全未加密?更糟糕的是,这意味着所有在公共场所的 wifi 热点登录 Facebook(或类似网站)的人都很容易受到任何人使用简单的数据包嗅探器(或类似工具)获取其凭据的影响?真的那么容易吗?还是我误解了互联网安全?

我是一名从事一些网络相关工作的软件工程师,虽然目前我还没有太参与到我们软件的安全方面,但我知道我应该知道这个问题的答案,因为它对网站安全来说极其重要。

谢谢!

答案1

是的。使用 HTTP 通过开放 WiFi 进行的任何操作都完全可能被拦截、重放等。

也就是说,使用 HTTPS 协商登录但通过 HTTP 交换生成的身份验证 cookie 的网站也很容易受到会话劫持,因为火羊显示。

如果您想要良好的安全性,请在 HTTPS 的保护下进行所有操作。现在服务器速度足够快,SSL 证书足够便宜(如果您货比三家),因此这是可行的;Web 开发人员再也没有理由危害其用户了。

答案2

如果您真的使用纯 HTTP 登录网站,那么它完全不安全,是的,公共 WLAN 中的任何人都可以嗅探您的数据。这就是为什么 Facebook 通过 HTTPS 进行实际登录(查看 Facebook 起始页的源代码,您就会看到它),然后继续不加密以节省计算能力。这至少可以保护您的密码,但仍然允许所有其他类型的攻击,例如会话劫持(他们嗅探您的会话 cookie 并自己使用它)。

答案3

以明文形式传递敏感数据(如凭证或充当凭证代理的 cookie)的站点会使其用户面临风险。任何可用于拦截和记录流量的方法(嗅探器、监控模式 wifi NIC 等)都适用于收集这些凭证。会话可能被劫持,远程服务器的响应可能被欺骗,等等。各种恶意行为都源于以明文形式移动数据。

仅通过 HTTPS 传输用户凭证数据还不够。如果您使用代替用户凭证的 cookie,您也不能通过 HTTP 传输它们,否则您将面临用户会话被盗用的风险。

作为开发人员,如果您不使用 HTTPS 来传输用户的凭据,那么您就是在伤害用户。这通常意味着基础设施某些层的 CPU 利用率会更高,并且流量在流向网络边缘时会变得不透明。这可能意味着创建一个软件架构,允许以明文形式交付“批量”内容(静态图像、静态脚本等),但通过允许安全传输凭据的方式交付个性化内容(即通过从远程用户接收凭据来控制其组成的内容)。

相关内容