作为一个只喜欢纸上谈兵的家伙,最近曝出 WPA/WPA2 协议存在漏洞(可被 KRACK 密钥重装攻击)的时候,我还是有那么点小激动的——毕竟这么多年了,被无数人验证安全性有保证的 WPA2,竟然此刻也被曝出了漏洞,这不是人生一大乐事吗?而且,或许非安全行业的同人并不知道,协议被曝出漏洞也算得上是难得。
三年前,我们曾经写过一篇蹭邻居家 WiFi 网的文章,作为“黑客入门(一)”系列的开篇之后就再也没有下文了。这篇文章现在看来虽有诸多值得商榷之处,不过却很明确地提到,无线网络的数据传输就在空气中进行,遭遇数据劫持的情况比有线肯定要严重得多。想想,我们在星巴克上个 WiFi,有个黑客和你一起坐在店里,从空气中劫持你的数据——他知道你在做什么,你下单买个东西,他连银行卡密码都知道了,这不是很恐怖么?所以说无线传输最基本的诉求就是数据加密,早年 WEP 加密协议被曝出严重漏洞后,如今最常见的 WiFi 加密协议就是 WPA/WPA2 了,看看你家路由器的 WiFi 设置项有没有这玩意儿。
所以在 WEP 加密年代,华强北销售的“破解王”们才能如此猖獗地让你蹭邻居家的网,因为由于加密机制缺陷,那时候的 WiFi 密码破解太简单了。现如今 WPA/WPA2 也曝出漏洞了,我们是不是该写篇如何蹭邻居家 WiFi 下篇了?咳…别这么不严肃,WPA2 协议本身曝出漏洞,听来可以是震惊全球的大事,因为现如今大量接入 WiFi 的设备都在用这货,不管你是高端大气上档次的 Netgear,还是低调奢华有内涵的小米路由器。如果我们坐在家里用手机连 WiFi,刷个淘宝,付账的功夫,支付密码就因为 WPA2 协议漏洞的问题被盗了,又岂止是被邻居蹭网如此单纯的事?更何况如果是企业网络呢?
不过可能事情并没有这么严重,至少就这次的漏洞来看,上面说的这些可能都不会发生。
做安全生意的人,以及安全研究人员都喜欢将某个漏洞或缺陷的危害无限放大,并告诉你:我最近发现了一个超级牛逼的漏洞,可能影响全人类。别听他们的,随便一个 Apache 低危漏洞,在他们那里都恨不得吹成很快人类就要毁灭的国际大事。不过这次来自鲁汶大学(KU Lenven)imec-DistriNet 研究团队的两名研究人员 Mathy Vanhoef 和 Frank Piessens 却实实在在发现了属于协议层面的漏洞,听起来很高级啊。
协议漏洞是什么意思?平常我们听到的不少漏洞,比如 Windows、Linux 被曝出漏洞,都是可以由厂商修复的;其中有一些比较严重的漏洞,比如说 TCP 连接利用漏洞(CVE-2016-5696)[1],还有各种 3G 网络可被窃听,数据可被解密的漏洞,虽然和协议似乎还挺有关系,但大部分都是具体实施层面(implemention)的漏洞。即这些漏洞都算不上是协议本身的漏洞,而是某些厂商,在遵循该协议具体应用到实际软件或硬件产品的过程中,产生的漏洞。
而且就当代的实际情况来看,标准设立都越来越注重安全性,这和早年很不一样。比如 2G 通讯时代,GSM 的数据加密算法 A5 很多年前就被曝出安全问题[2];加上 2G 身份认证机制缺陷,伪基站、电信诈骗都显得相当稀松平常。到 3G/4G 时代,尤其 LTE 标准的安全性让大部分黑客都知难而退,选择主攻运营商或终端设备实施层面的漏洞。
实施层面的漏洞,绝大部分是可以通过打补丁来修复的(虽然对某些领域而言,情况可能会比较复杂,比如医疗领域的 IoT 设备,修复漏洞的成本就相当高)。而协议层面的漏洞是怎样一副面貌呢?好比 GSM A5 加密本身的安全问题,以 GSM 通讯在世界上的实施广度,这样的安全问题是几乎没有机会得到解决的。
再比如前两个月,趋势科技的研究人员发现 CAN 协议漏洞 [3]。CAN 是汽车网络各部分组件进行通讯的协议,问题出在 CAN 标准的信息系统中,设备读取 CAN 信息的特定值时会生成错误消息——利用这些错误消息的处理流程,攻击者就能让系统过载,让汽车组件进入 Bus Off 状态。比如说可以因此关闭安全气囊之类的关键系统。这样的漏洞是无法通过固件升级修复的,需要修改 CAN 标准才行——就已经生产的汽车而言,几乎是个无解的存在。
而这次打破 WPA2 安全性的 KRACK 攻击,涉及到的是一连串漏洞,CVE 漏洞编号 CVE-2017-13077/13078/13079……13088,几乎都可以认为是协议层面的漏洞。不过这些漏洞并非组合起来的一条攻击链,而是不同密钥方案中 4 次握手的密钥重装漏洞(或者接受请求重传漏洞)。这么说来,是协议漏洞,且既然这个星球上这么多人都在用 WiFi,那人类安全性岂不全面完蛋了?你家的路由器,你的苹果手机,你的 ThinkPad 笔记本,还有你的银行账号…问题是,以 CVE-2017-13077 漏洞为例,其基本情况如下:
这个漏洞在 NVD 漏洞库的危害程度定义为“Medium”(危害程度有 Low、Medium、High 和 Critical 四档),且攻击难度略“High”(后续可能会有调整)。What?不是说好了协议漏洞都很牛掰吗?
要发表评论,您必须先登录。
安卓7.0之后的版本对指令加密了吗?