互联网并不安全,这一点在咖啡馆无线网络、移动网络等开放网络环境中尤为明显。这个道理广为人知,却鲜有人真正理解并付诸行动。用户知道这些网络缺乏保护,却往往不清楚这究竟意味着什么,也不清楚自己的哪些信息正面临风险。

对普通用户而言,自然会认为只要用专属用户名和个人密码登录了某个 Web 应用,会话就是安全的——但事实并非如此。登录行为本质上只是打开了一条到网络的连接,而这条连接能否保持安全并无任何保证。开放网络通常没有任何保护,而明文 HTTP 连接又是未加密的,因此一旦黑客通过该连接侵入系统,便可利用你的连接入侵你的账户、窃取信息、篡改密码,顺带还能访问同一网络上的其他开放连接。这种会话劫持被称为"Sidejacking"(旁路劫持)。

漏洞所在

无线网络的 802.11 系列标准在安全方面有着糟糕的记录。早期的无线网络依赖 WEP(Wired Equivalent Privacy,有线等效加密),这套认证机制本意是提供与有线网络同等级别的安全,但事实证明 WEP 自身存在固有缺陷,任何 WEP 实现都极易被攻破。此外,有线网络远比大多数人以为的更不安全,因此即便达到了"等效"的安全级别,进行网银、电子商务或其他敏感在线交互时仍蕴含着巨大风险。

WPA2(Wi-Fi Protected Access 2,Wi-Fi 保护访问第二版)是 WEP 的继任者,它通过结合加密与认证提升了安全性。尽管 WPA2 的安全性更高,但由于易用、易连接,仍普遍存在仅以 WEP 保护的 Wi-Fi 公共热点。这些热点往往依赖本地路由器通过某种代理认证方式提供的访问控制,而该认证过程是未加密、运行在不受保护的 HTTP 之上的。

Wi-Fi 网络天生不安全,因为信号无需物理连接即可被截获,但人们普遍误以为有线网络是安全的——事实绝非如此。通过社会工程、黑客工具、嗅探器以及暴力计算,有线网络同样面临风险。安全专家已经证明,有线网络同样易受旁路劫持攻击。

移动通信中也存在额外的漏洞。尽管移动设备的安全意识与实现正在提升,但多数移动站点仍未采用 SSL 证书等安全措施,即便它们已兼容更多移动浏览器。此外,许多人的移动设备并非最新版本,使其暴露于本不应存在的漏洞之中。即便是访问应用商店也存在被黑客利用的机会——浏览与购买行为可能泄露密码,或让黑客在下载环节用恶意软件替换你刚购买的合法应用。

安全套接层(SSL)及其继任者传输层安全(TLS)是建立互联网上安全加密链路的标准协议。用户可以通过地址栏中显示的协议来判断某网页是否实现了增强的安全:显示为 HTTPS 而非 HTTP,通常还会显示绿色地址栏与锁形图标。遗憾的是,许多网站即便在电子商务及其他理应注重隐私的应用中,仍在使用作为 Web 原始应用协议的 HTTP。即便使用 TSL/SSL 建立了链路,会话的其余部分仍可能运行在开放的、未加密的 HTTP 之上,这意味着所有流量都以明文形式在本地网络中传输,同一网络上的任何人都能读取。

Cookie 带来的特定漏洞

使用 Cookie 的网站存在一种常见漏洞。HTTP 被认为是无状态的、无连接的、无会话的,意味着每条消息的交换都会建立和终止一次连接。基于互联网提供的应用(如购物车或银行账户)必须自行提供机制来追踪用户及其会话数据——包括用户凭据、用户活动、已提交的信息、正在查看的页面以及正在进行的操作。网站通过使用 Cookie(存储在用户机器上的一类信息)来追踪会话细节。

尽管 Cookie 可以附带一个"secure"标志,但它并未被广泛使用,很大程度上是因为它会干扰用户体验。该标志会指示浏览器仅通过 HTTPS(TLS/SSL)连接发送 Cookie。监控开放网络的人可以看到通过 HTTP 发送的 Cookie 数据,进而利用这些数据冒充用户。这种攻击被称为旁路劫持,是会话劫持的一种形式,也正是黑客工具 Firesheep 的所作所为。

Firesheep 攻击工具

Firesheep 由安全专家 Eric Butler 开发,是 Firefox 浏览器的一款扩展。它于 2010 年 10 月在圣迭戈的 ToorCon 12 黑客大会上发布。Butler 表示,他发布该工具是为了提升公众对开放无线网络安全问题的意识。

Firesheep 使用数据包嗅探器,显示开放本地网络上的用户名以及他们正在连接、且使用不安全 Cookie 的服务。黑客只需双击该用户名,便能"搭便车"接管那些会话。黑客一旦接入本地网络,就能监控同一开放网络上其他用户的 Web 会话,甚至接管他们的会话。这一切对任何普通黑客都触手可及——只需使用一个作为通用浏览器扩展、随处可得的工具。

Firesheep 本意是针对开放 Wi-Fi 网络,但 Cookie 漏洞即便在传统的、有线的以太网中同样存在。

这些问题的解决方案落在网络链条上:热点提供方、用户以及 Web 服务提供方。热点提供方应提供安全的网络;提供服务的网站应对所有连接使用 TLS/SSL,而不仅仅是那些被视为敏感的页面,而是包括首页在内的所有页面。有人认为这会带来处理性能上的开销,进而增加成本、影响性能,但真正的成本极低,收益却巨大。用户应当学习如何在开放公共网络上保护自己,但即便大多数人(这几乎不可能)都照做了,网络也只取决于最薄弱的那一环——任何人在开放网络上不采取恰当防范措施,都会让网络上所有人暴露于入侵风险之中。

面向热点提供方的防护

WPA2 是热点提供方一端不错的方案,它实现了认证、加密,甚至用户隔离,从而防止数据包嗅探。

面向 Web 服务提供方的防护

Always-On TLS/SSL(全程启用 TLS/SSL)是保护用户的最佳方案。完整使用 TLS/SSL 意味着为 Cookie 启用"secure"标志。人们曾以为只要用户用专属用户名和密码通过 HTTPS 登录账户就足以保障会话安全,但事实证明,Firesheep 攻击者或任何其他旁路劫持者都能获取未受保护的 Cookie,并篡改该账户内的信息。而 Always-On SSL(即让网站从首次访问到用户离开全程以 HTTPS 加密)甚至会加密两端之间交换的 Cookie,保障完整的用户体验,让搜索与分享都变得安全。采用 TLS/SSL 的网站还需要使用受信任的证书颁发机构(CA),以确保证书的安全。优质的证书需要付费,但这是一项固定且可预估的成本。许多组织担心问题在于硬件成本,因为使用 TLS/SSL 涉及在一端加密、在另一端解密所有流量。直觉上会认为,在大型网站上这可能意味着巨大的硬件开销,但看看 Google——它在 2010 年将 Gmail 服务整体转为 HTTPS,为此并未部署额外的机器,也没有特殊的硬件。以 Google 的情况以及许多数据驱动的在线站点为例,SSL/TLS 带来的 CPU 负载占比不到 1%,每次连接内存占用不到 10KB,网络开销不到 2%。

面向用户的防护

作为终端用户,你可以采取以下步骤,确保自己乃至他人安全努力的最终成效:

- 使用虚拟专用网络(VPN),网上有许多价格低廉的 VPN 可供选择。VPN 会在用户与互联网上的一台主机之间建立一条加密隧道,充当所有客户端通信的代理。
- 为移动设备启用 VPN 选项,它们可以加密你通过移动应用发送的数据。
- 在整个在线会话期间,从一开始就要检查网址是否以 HTTPS 开头,而不只是在登录时。许多网站在登录页和敏感电商页使用加密,但只要会话的任一部分未加密,整个账户都可能面临风险。
- 用完账户后及时退出登录,不要长期保持登录状态。
- 使用强密码管理——不同账户使用不同密码,且密码要足够长、足够复杂,难以破解。
- 如果浏览器警告你某网站为欺诈网站,千万不要访问!
- 保持浏览器与安全软件处于最新状态。
- 修改移动设备设置,确保不会自动连接公共 Wi-Fi,从而掌控自己的网络连接。
- 优先选择使用 WPA2 的咖啡馆,而非使用 WEP 的。
- 通过使用 WPA2 确保家庭无线网络的安全。
- 电子前哨基金会(EFF)发布了名为 HTTPS Everywhere 的扩展,它会尝试将 HTTP 转换为 HTTPS。问题在于它仅对"已具备 SSL 却默认使用 HTTP"的网站有效,且可能干扰某些无线网络的连接,甚至部分 Google 服务;它也无法拦截网站通过 JavaScript 以明文传输 Cookie 的用户行为。还有一个类似的扩展叫 Force-TLS,但同样无法在所有网站上生效。
- 使用移动应用时格外小心。它们没有像 HTTPS 那样的可视化指示器来告知用户信息是否加密。许多移动应用并未妥善加密信息,因此你可能不应在不受保护的 Wi-Fi 上通过移动应用购物或办理银行业务。若确实要用移动设备处理此类事务,务必连接安全的无线网络——或改用手机的数据网络(通常会产生流量费用)。
- 如果必须在开放无线网络上办理银行业务或其他交易,请使用浏览器上的移动版网站(可在网址中检查 HTTPS),而非移动应用(无法检查)。

结语

无线热点提供方、提供 Web 服务的企业,以及用户,都必须各扫门前雪,而不能假设网络中的其他参与者会提供安全。既然像 Firesheep 这样的浏览器扩展任何业余黑客都能获取,热点与应用提供方就应当尽其所能,为用户营造安全环境,尤其是防止 Firesheep 或其他手段的旁路劫持。但用户最终必须自己保障自身安全——通过审视环境、在适当时使用 VPN 等安全工具,以及在使用移动设备处理敏感业务时特别谨慎。

链条上的每个环节都有可为之事,而要让互联网成为安全的经商之地,最有效、最安全的做法,是每个人都承担起自己应有的那份责任。