奥卡姆剃刀在这个问题上并非完全不懂行,而是彻底的书呆子。

先不举复杂的例子,大家都知道的验证码(Captcha Code)这么个东西,就是很多网页输入页面上的一个看起来比较扭曲的字母数字,以防止程序或者爬虫轻易登录或者访问。

个中原理足够简单,一般而言也足够防范没有OCR能力的爬虫程序。但是给大家看下印度铁道部网站上的一个的奇葩实现。

不知道大家注意到没,这个验证码实际上不是图片,而是真正的文字,可以选择然后copy/paste的。

更搞笑的是,他们把这个值直接包含着网页的源代码里。

所以这是世界上对爬虫最友好的验证码,而且在印度铁道部网站上挂了至少一年多了都没改。

这个例子说明什么呢?

就是再好的技术规范也是要人来实现和遵守的,而人当中是有傻B的!

回到剃刀的观点,他认为只要用银行的手机网银客户端,同时使用HTTPS和银行的服务器通讯,那么即便连接黑客搭设的WIFI也是安全的。真的是这样么?

HTTPS作为标准本身的确足够安全,但是你能保证在程序中实现这个标准的人或者机构足够靠谱吗?食品国标还足够严格呢,但是三鹿和福喜咋回事?

virusdefender的回答里已经给了一个某手机银行被中间人劫持攻击的实际案例,以及腾讯安全中心的这篇文章 窃听风暴:Android平台HTTPS窃听嗅探劫持漏洞

简单的说,就是只要你用这个手机连上了一个黑客开设的公开WIFI,然后打开网银客户端(没错是客户端),因为客户端虽然通过HTTPS访问银行网站,但此时的银行网站完全可能是伪造的(因为WIFI被黑客控制,DNS解析什么的都不在话下),理论上HTTPS协议要求核对网站服务器的数字证书来验明身份,但是,这些客户端的实现代码里忽略了这一步,也就是说证书不对或者过期都没关系,客户端照样连接。

接下来就是典型的中间人攻击——黑客伪造的服务器面对网银客户端充当服务器,而同时又冒充客户端访问真正的银行服务器,因为客户端已经相信并接受了虚假的证书,于是用这个假证书中的公钥来对数据进行加密,由于解密用的私钥就在黑客手上,因此这个加密过程对黑客而言是完全透明的。然后黑客程序将数据解密成明文后,进行替换或者伪造等进一步的加工,再和真正银行服务器进行通信,就能干很多事情了。

这个原理对于很多安全领域从业者而言其实是常识!为什么呢,因为绝大部分的企业用杀毒软件,都是一个合法的中间人,没错如果你的公司装有企业级杀毒软件,那么你的所有HTTPS请求数据理论上公司都看得到,而且这么做不仅在中国,在美国都是完全合法的,因为你用公司的电脑和网络,照道理就不该有隐私。

作为我此言不虚的旁证,虽然我现在是个做英语教育网站和APP的,但也曾经在趋势科技研发中心打过两三年酱油,亲手做过Proxy端替换证书来对HTTPS数据进行解密然后扫描(病毒什么的)这种完!全!合!法!的事情。安全方面的知识我如今已经是弱不禁风,但是我大体能想象跟剃刀斗嘴那帮大神的水平(下限)——当他们说行的时候,你还是相信比较好。

作为结论,从安全性上说,3G>家用有线>家用WIFI>>..>>公共WIFI,伪装成公共WIFI的黑客热点上做个DNS劫持什么的完全没有技术含量,但凡你手机系统或者支付客户端有任何破绽,就是人为刀俎你为鱼肉。

实际银行客户端的案例在前文已经给了,还要盯着要实际媒体报道才肯信只能说你们对黑客手段完全不了解,就算一个黑客当时盗取了密码等信息,也不会当场作案留下马脚,况且盗号盗密只是一条很长的黑色链条中间一个环节,等你钱丢了QQ上不去了*照满天飞了的时候,压根不何时何地出的问题也不会去怪自己连过免费WIFI。

说到底网络环境是很险恶的,大家用盗版操作系统瞎刷来路不明的ROM已经毫无压力(天知道里面会预装什么)了,提醒你不要用公开WIFI,或者至少不要在这种情况下用网银,等于提醒你在一个盗匪横行的街区行走别把钱包拿手上一样,但偏有人站出来说大家别怕法律会保护你的人身财产安全!

哎~

来源:知乎 www.zhihu.com

作者:王捷

【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。
点击下载

此问题还有 74 个回答,查看全部。

分享到