首页 > 代码库 > HTTPS-能否避免流量劫持
HTTPS-能否避免流量劫持
流量劫持是什么?
EtherDream在一篇科普文章《安全科普:流量劫持能有多大危害?》中详细介绍了流量劫持途径和方式。
流量劫持是一种古老的攻击方式,比如早已见惯的广告弹窗等,很多人已经对此麻木,并认为流量劫持不会造成什么损失。而事实上,流量劫持可以通过多种你无法觉察的方式,暗中窃取帐号密码、谋财盗号!
常见的流量劫持方式
Hub 嗅探、MAC 欺骗、MAC 冲刷、ARP 攻击、DHCP 钓鱼、DNS 劫持、CDN 入侵、路由器弱口令、路由器 CSRF、PPPoE 钓鱼、PPPoE 钓鱼、WiFi 弱口令、WiFi 伪热点、WiFi 强制断线、WLAN 基站钓鱼
流量劫持会带来什么危害?
不同的劫持方式,获得的流量也有所差异。DNS 劫持,只能截获通过域名发起的流量,直接使用 IP 地址的通信则不受影响;CDN 入侵,只有浏览网页或下载时才有风险,其他场合则毫无问题;而网关被劫持,用户所有流量都难逃魔掌。
Http协议下更容易发生流量劫持
1、http易致在线应用被劫持
网页技术在近些年里有了很大的发展,但其底层协议始终没有太大的改进 —— HTTP,一种使用了 20 多年古老协议。在HTTP 里,一切都是明文传输的,流量在途中可随心所欲的被控制。而在线使用的 WebApp,流量里既有通信数据,又有程序的界面和代码,劫持简直轻而易举。因此,劫持网页流量成了各路黑客们的钟爱,一种可在任意网页发起 XSS 的入侵方式。
2、公共场合使用http,不登陆也会被劫持
在自己的设备上,大家都会记住各种账号的登录状态,反正只有自己用,也没什么大不了的。然而,在被劫持的网络里,即使浏览再平常不过的网页,或许一个悄无声息的间谍脚本已暗藏其中,正偷偷访问你那登录着的网页,操控起你的账号了。
3、http状态下,Cookie 记录或浏览器自动填表单,都会导致账号密码被截获
http状态下,cookie记录的都是明文的账号密码,被劫持泄露后,即使数量不多,也能通过社工获取到用户的更多信息,最终导致更严重的泄露。
4、HTTP 缓存投毒
HTTP这种简单的纯文本协议,几乎没有一种签名机制,来验证内容的真实性。即使页面被篡改了,浏览器也完全无法得知,甚至连同注入的脚本也一块缓存起来。但凡具备可执行的资源,都可以通过预加载带毒的版本,将其提前缓存起来。
Https能避免流量劫持吗?
能!但前提是必须用受信任的SSL证书。
不同于简单的Http代理,HTTPS 服务需要权威CA机构颁发的SSL证书才算有效。自签证书浏览器不认,而且会给予严重的警告提示。而遇到“此网站安全证书存在问题”的警告时,大多用户不明白是什么情况,就点了继续,导致允许了黑客的伪证书,HTTPS 流量因此遭到劫持。
如果重要的账户网站遇到这种情况,无论如何都不该点击继续,否则大门钥匙或许就落入黑客之手。
劫持也可以参考:使用Fiddler抓取HTTPS数据包原理
这里所说的权威CA机构是指已经通过WebTrust国际认证,根证书由微软预置,受微软等各类操作系统、主流移动设备和浏览器信任的CA机构;在中国还要附加一项,就是要拿到工信部许可的CA牌照;这样的CA机构,才有权利签发各类数字证书。
自签证书是指不受信任的任意机构或个人,自己随意签发的证书,容易被黑客伪造替换。
全站Https的重要性
情况一:从http页面跳转访问https页面
事实上,在 PC 端上网很少有直接进入 HTTPS 网站的。例如支付宝网站,大多是从淘宝跳转过来,而淘宝使用的仍是不安全的 HTTP 协议。如果在淘宝网的页面里注入 XSS,屏蔽跳转到 HTTPS 的页面访问,用 HTTP 取而代之,那么用户也就永远无法进入安全站点了。
尽管地址栏里没有出现 HTTPS 的字样,但域名看起来也是正确的,大多用户都会认为不是钓鱼网站,因此也就忽视了。因此,只要入口页是不安全的,那么之后的页面再安全也无济于事。
情况二:http页面重定向到https页面
有一些用户通过输网址访问的,他们输入了 www.alipaly.com 就敲回车进入了。然而,浏览器并不知道这是一个 HTTPS 的站点,于是使用默认的 HTTP 去访问。不过这个 HTTP 版的支付宝的确也存在,其唯一功能就是重定向到自己 HTTPS 站点上。劫持流量的中间人一旦发现有重定向到 HTTPS 站点的,于是拦下重定向的命令,自己去获取重定向后的站点内容,然后再回复给用户。于是,用户始终都是在 HTTP 站点上访问,自然就可以无限劫持了。
国外各大知名网站(PayPal,Twitter,Facebook,Gmail,Hotmail等)都通过Always on SSL(全站https)技术措施来保证用户机密信息和交易安全,防止会话攻击和中间人攻击。
结语
从上面的各类劫持案例中,我们可以看出,Https是很有效的流量劫持防范措施,无论是网络服务提供商还是广大网民,为自己的帐户安全和权益,都要形成使用https访问网站的习惯和意识,重要的网站必定使用 HTTPS 协议,登陆时需格外留意!
HTTPS-能否避免流量劫持