站内公告:

亲友传真---海外信息直接看 https://qycz.org

Main Menu

回覆帖子

发送站内短信时发生以下错误:
警告: 该贴已经至少 180 天没有更改。
除非你一定要回复,否则也许考虑发一个新贴会更好。
Note: this post will not display until it has been approved by a moderator.
Attachments: (Clear attachments)
限制: 每篇帖子 3 (3 remaining), maximum total size 8.00 MB, maximum individual size 2.00 MB
请将要删除的附件取消勾选
Click or drag files here to attach them.
进阶选项(包含帖子状态和附件)...
验证码:
请将此框留空:
《九评共产党》一共有几评?(请用阿拉伯数字回答):
Shortcuts: ALT+S post or ALT+P preview

帖子总览

作者 20140415
 - 六月 16, 2014, 09:49:50 上午
这是仅仅一篇讨论网络安全的PO ,现实世界中还 没有 人将这种技术用于攻击,然而这是一个理论上的可能性,还是需要写一下防患于未然。

https协议很好的解决了传统的中间人攻击问题,只要建立TLS会话几乎就没有被窃取或篡改的可能。然而,现实世界中却不是所有地方都使用https的,站点或功能入口往往是http,主要包括两种类型:

1. 整站已经采用https,例如github,即使用户请求http也会先重定向至https。
2. 主站是http,只有登录等含敏感信息的页面使用https,例如bing

对于第1种,虽然看起来整站https已经足够安全了,但是用户访问时,却一般是只输入域名 http://github.com 而不会输入完整url https://github.com/ 。先进行一次http请求,之后被系统重定向至https。这一次http请求给了攻击者可乘之机,攻击者可以拦截重定向,并自己作为终端而向服务器建立TLS会话,并将结果直接以http方式返回给用户。下图表示了对于这种站点的攻击通讯过程。

第2种可以用篡改页面的方式,将https的链接或表单提交action改至http,然后接下来的事情同理。

被攻击表现
这种攻击对服务器端毫无征兆,网站服务器无法察觉自己受到了攻击,在客户端会有变化,就是本应该是https的页面,变成http了。然而浏览器并不知道它原本应该是https,这是篡改之后的,不会为此发出警告。有足够网络经验的和安全意识的用户观察地址栏能够发现被攻击,而大部分普通用户不易察觉,或者看到http协议了也没有在意,简单认为是网站换用了协议。

防范措施
对于服务器,可以使用 Strict-Transport-Security 的http头部来降低被攻击的概率,这是一个强制使用https的标记,客户端收到后记下此站点,以后访问时,即使用户发出的http请求,浏览器也会用https发送。如果网站带这个头部,那么只有用户第一次访问就被劫持了的情况下才会被攻击,只要最初正常访问过一次,后面就不会再受影响。

对于用户,要留意地址栏安全图标,如果本应是https的站点,某天却发现变成http了,要给予足够的注意。