最近在微博上一个名为奥卡姆剃刀的博主和信息安全界众多人争吵了两天,固然包括我。php
原由是央视节目说wifi的不安全性,银行密码也可被窃取,可能博主有对国内媒体的天生不信任感,因此他站出来了,说银行密码是密文传输的,无法窃取的,是不负责任的。html
他没想到,随后一群安全研究员,包括tombkeeper、yuange等大牛不但不跟他一块儿指责媒体夸大宣传,还指出各类利用无线wifi窃取密码的手段,固然这种人是不可能被说服的。ios
更详细和精彩的过程仍是本身去翻他的微博吧,惋惜是昨天晚上他本身删除了几条微博。web
而后话说回来使用https究竟是不是安全的?浏览器
https基于可信证书和证书链,但如今问题是你能保证全部的证书颁发都是经过合法的证书链?谷歌和微软已经不是第一次发现一些流氓证书颁发机构发不合法证书了而紧急吊销证书链颁发机构了,并且你能保证全部证书颁发机构密钥都没泄露过?并且在天朝,大家懂得。各类滥发的数字证书和第三方被利用的数字证书。安全
上面说的证书还至少是真的,可是有时候若是黑客真的去劫持你的流量的话,可能就会使用本身的证书,这样的话,你的浏览器就会提示这是不可信的,可是多少人又选择了继续呢,尤为是在12306出现之后。最近据说了大规模的针对微软帐户的攻击,颁发者是CN = hotmai.com O = hotmail.com C = cn
服务器
那么有什么技术能让你在没有察觉的状况下,窃取https传输的信息么?
直接去攻击https协议,找到漏洞?貌似有点不大可能(虽然出了heart bleed和goto fail漏洞),可是咱们能不能绕过https,让你去使用http呢?这就是MITM中间人攻击。app
用户HTTP=>hacker的代理=>HTTPS网站网站
当服务器要求重定向到HTTPS网站,那么这个应答就不返回给用户了,而是模拟用户去访问HTTPS资源,而后把数据放回给用户,这样,在用户看来,他访问的就是个HTTPS的站点,但数据返回都是明文传输的,以此来达到截获明文信息的目的。简单的说就是让你的https变成了http。这时候给你植入一个js或者替换一下密码框,so easy。url
昨晚亲测,十分有效,固然分辨的办法就是之前使用https的网站变成了http,你就应该提升警戒。360安全研究员redrain给出的demo视频可能就是使用的这个技术。技术细节参考http://www.freebuf.com/articles/web/5929.html
而后大量外包的银行的app就是安全的么?上面提到浏览器在访问https网站的时候会去判断鉴定对方使用的证书,可是app访问https呢,这个鉴定是谁来作的呢,不少app的开发商绕过了安卓的安全机制,本身实现了一套,结果漏洞百出。这个能够看腾讯安全应急相应中心的文章http://security.tencent.com/index.php/blog/msg/41
覆盖默认的证书检查机制后,检查证书是否合法的责任,就落到了咱们本身的代码上。但绝大多数app在选择覆盖了默认安全机制后,却没有对证书进行应有的安全性检查,直接接受了全部异常的https证书,不提醒用户存在安全风险,也不终止此次危险的链接。
咱们选取了13款使用https通信的Android app进行分析,这些app所有来自业内大公司。分析结果显示所有的13款app都存在上文描述的敏感信息泄漏漏洞。而泄漏的信息中,密码明文,聊天内容,信用卡号,CVV号随处可见。咱们甚至还发现某些app的自动升级过程当中使用的https通信存在一样的问题,劫持流量后替换升级包的url后,该app会下载恶意的升级包并自动升级,直接形成了远程代码执行。
在一篇银行app的安全审计报告中也明确的提出了存在这个安全漏洞。在http://pan.baidu.com/s/1dDd6Bap这个ppt的12页开始。做者是绿盟科技安全技术部总监。
还有你的手机真的是安全的么?安卓的webview挂马漏洞,ios的safair远程代码执行,各类root和越狱,混乱的app市场和山寨软件,通常人怎么知道手机上安装的是真的仍是假的银行客户端。即便你手机安全了,电脑呢,电脑上的网银大盗已经够多了吧。
最后想说的是和这种人去争论真的是浪费时间,