| 从Wi-Fi使用看为何网络不安全 手机使用已经非常普通,从街景、从餐桌、尤其是社交场合上,人手一机已经不是新鲜,但是很少有人考虑手机使用安全问题 谈到安全,我们不能不谈深层次的,信息传递标准问题 ISO ISO指的是国际标准化组织,OSI指的这个组织提出的开放式系统互联规范,它把信息系统从物理层到应用层分成了七层结构。
如何理解分层的概念呢?不妨举一个你我都熟知的例子,你用微信给朋友发一条信息“在吗?”,你朋友手机上马上就出现了这个信息,这个最常见应用的技术实现却并不简单。 你在手机上打出“在吗?”这个词语,这只是应用层的实现,信息要一层接一层地组装和下传,最终通过物理层的电磁波把信号传到了对方的设备上。对方从设备的物理层开始,把信号沿着反向的顺序逐层地解析和上传,恢复出原始信息,最终在你朋友的微信APP(应用软件)上显示出来。 这种分层方法是人类处理复杂劳动时最常用的办法。例如粮食生产就分为了品种选育、耕地播种、浇水施肥、收割处理、食品加工等很多个阶段。每个阶段都有不同的工作,也都有不同的生产规范和安全标准,逐层配合协调工作粮食才能生产出来。 信息系统的构建也是如此,这不是单一工种能够完全实现的,从物理层到应用层,每个层面都有不同的功能要求和技术规范,并由不同专业的技术人员实现。 分层还有一个好处,一个设备只要符合了它所在层的接口规范,那它就具备了承接上层和衔接下层的基础,各层功能以标准模块的形式存在,搭建系统时可以像摞积木一样方便。 无论是美国的Wi-Fi,还是中国的WAPI,它们都工作于链路层。在讨论二者的安全性对比时,有些网友认为这个问题不重要,链路层机制有点问题不要紧,甚至认为没必要在链路层做安全的工作,都可以放在应用层进行处理,这是一个很常见的错误想法,根源就在于缺乏对“层”的理解。 稍有生活常识的人都知道逐级检查是最安全的,例如乘坐飞机时先要验票,可以基本排除有人假冒乘客的危险。确定是合法乘客后再进行安检,进一步筛查违禁物品。逐级就是分层,每个层的检查重点是不同的,方法和标准也都不同。如果不分层,把所有人都放在候机区只进行一次检查,那危险系数就大大增加了。 信息安全还有个规律,那就是底层漏洞靠上层很难弥补,而上层的加密防护从底层却很容易突破。例如在军事安全领域中有一种旁路攻击技术,虽然军用系统的加密方法很复杂,在应用层面上破密基本上是不可能的,但无论如何复杂,最终都要通过某个芯片的某个管脚的某种电磁波信号来实现“开启”这个动作。 攻击者找到这个管脚,偷偷安装一个很精密的信号采集探头,把正常开启的物理信号给采集下来。不管应用层的加密算法和密钥如何变化,只要把这个物理信号重新加载到这个管脚上,复杂的加密系统就被绕过去了。这就好比是偷汽车,甭管钥匙做得多么复杂,只要把发动机的点火线扯出来就能对着火。 例如厨师蒸馒头,在整个生产过程中有不同层次的安全生产标准和规范,收割的小麦先清除杂物,然后要脱壳……每一道工序都必须满足安全标准,厨子才能拿到安全卫生的面粉去蒸馒头。面没发好碱放多了导致馒头又粘又黄,这是厨子的责任,但你不能指望他去分辨面粉的来源是杂交小麦还是转基因小麦,这不是他这层工作的职责,而且他也没有这个能力。 网络信息安全也是这样,从最下面的物理层到最上面的应用层,每个层面都有不同的安全主题,也相应有不同的安全标准,各层次之间相互支撑相互配合,但是不能够相互替代。 所以说,那些提出把底层安全隐患交给上层来解决的网友们,他们缺乏对信息系统理论的基本常识,对这个问题的认识不在一个基点上,并不适合讨论这个问题。 如果我问您“谁在搞信息安全?”,估计您脑海里出现的是防病毒软件公司和提供网盘服务的公司,毕竟这些公司工作在与用户直接打交道的应用层,所以会被广泛知晓。 其实还有很多安全公司工作在信息系统的底层,他们的职责更基础更重要,只是因不跟公众直接打交道而不为公众知晓。 如果是信息网络系统底层出了安全问题,那就超出了防病毒软件公司的工作层面,他们能做的也只是尽量弥补而不是根治,好比是因肝病而导致了脸色发黄,那就该找医生去治肝,而不是找美容师往脸上抹粉。 在网络安全问题上,从物理层、链路层到应用层,每个层都有自己的安全挑战,其中链路层的安全挑战就包括假基站、非法终端接入、数据监听、重放攻击、篡改、拒绝服务攻击等等,这些挑战对于链路层上支持承载的任何应用都是存在的,包括微信、微博和支付等等。因此链路层需要自身的安全技术,不能将安全隐患遗留给上层应用去解决。 Wi-Fi的安全就是一个最明显的例子,在2015年和2016年连续两年央视315曝光了Wi-Fi的安全漏洞,国内的互联网安全公司对此高度重视,但现在这个问题依然没有完全解决。这是为什么呢?这就是因为问题出在底层,仅靠上层的修补是不能彻底解决问题的。 Wi-Fi的安全漏洞出现在链路层,终归要在链路层去解决。Wi-Fi联盟发现WEP不安全后,采用了WPA和WPA2来进行弥补,这的确算是在链路层解决链路层的问题。但结果却很令人遗憾,安全隐患只是得到了缓解,并没有得到根治,这又是为什么呢?
|