ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 无线网络:社会工程的沃土(By Jim Stickley)

无线网络:社会工程的沃土(By Jim Stickley)

原创 Linux操作系统 作者:hzbook2008 时间:2011-05-31 18:34:03 0 删除 编辑
安全之美(分享卓越安全专家的思考)

本文节选自《安全之美(分享卓越安全专家的思考)》(Beautiful Security)

如今,许多人都已经听说过关于无线设备安全的问题。从2000年最初发布Wi-Fi时,无线设备安全就已经是许多安全专家所关注的领域了。早在2001年,有线等效保密(Wired Equivalent Privacy,WEP)访问协议就被发现存在严重的缺陷。虽然设计这个协议的目的就是为了阻止非法用户访问无线设备,但是攻击者在几分钟之内就可以绕过它的安全保护机制。随着2003年Wi-Fi网络安全存取(Wi-Fi Protected Access,WPA)协议的公布,无线设备的安全性已经得到了极大的提高。尽管如此,大多数偏执的系统管理员仍然对它的安全性表示怀疑。尤其是在发现了 WPA的几个新的漏洞之后,他们就更加确信这一点了。虽然它的危险程度不及WEP,但这足以让许多管理员认为他们的看法是正确的。

虽然仍然有人对无线网络的安全性持怀疑态度,但大多数人在看到无线技术给生活所带来的便利之后,都接受和认可了这项技术。比如,给百货公司的员工人手配备一台手持设备,那么他们就能够直接与机构的服务器联系,快速高效地完成一些与库存有关的工作。这可以节省大量的时间并提高客户的服务满意度。Wi-Fi也给市政公共事业注入了新的活力,从咖啡馆到公园都有它的身影。遗憾的是,人们对一些针对Wi-Fi的攻击场景仍然不是十分清楚,这种攻击将会引发企业和个人信息被盗的风潮。

本章首先介绍我作为一个专业的安全研究人员是如何探索无线安全缺陷的,并简单地描述它们所造成的威胁。接着,我继续讨论Wi-Fi的现状以及它是如何破坏安全的。

这是一个日常攻击场景。假设你在美国的一个主要机场稍作停留之后准备启程时,把目光转向登机监视器寻找自己的入口时,发现每位旅客都在哀叹:“飞机又延误了。”这时,你已经成为众多“难民”的一员,将在机场的舒适安静环境中度过接下来的6个小时。

这时你的视线离开监视器,四处搜寻可用的电源插座,以挽救快要没电的笔记本电池。我经历过很多次这样的搜寻,每次都是慢慢地在整个区域到处查找,比如每排座位的后面或者是某根杆子的背面。你可能会注意到,寻找这种隐秘插座的人在路过时,似乎是在盯着你的脚下,却又做的不是太明显。我觉得这类似于穴居人在寻找火种。每个人都想拥有它,但只有少数人能够找到,而一旦你找到了,那么你会极具占有意识。事实上,在不止一个场合,当有人走近时,我都会哼一声,然后锤打胸口以示强势。

现在,假设你是找到插座的成功人士,然后打开笔记本,将电源插到插座上,并立即开始搜索无线接入点。现在,大多数机场、宾馆、咖啡馆甚至是公园都提供了无线接入设备。你只需打开笔记本电脑,点击无线接入图标,就会弹出一个或多个可供选择的接入点。当你浏览接入点列表时,看到了一个标题为“T-Mobile”的接入点。原来,这个机场使用的是这个接入设备,因此你毫不犹豫地选择了它。几秒钟之后,你打开了一个网页浏览器。此时显示的不是你的主页,而是T-Mobile的页面,它让你选择是使用已有的T-Mobile账号登录还是创建一个新的账号。

由于你并没有账号,所以点击创建了一个新的账号,这时会发现所需价格是9.99美元一天。虽然这个价格不是太恐怖,但你刚才注意到还有其他的无线接入点,所以你决定看看其中是否碰巧有免费的。你再次点击无线图标,然后看到列表中还有其他三个接入点。其中有两个是加了锁并且需要正确的密钥才能连接,但有一个标题为WiFly的是开放的。然后你选择了WiFly,这一次重定向到的是WiFly的登录页面,上面给出的价格仅为1.99美元。让你感到高兴的是,你刚刚节省了8美元,这时你拿出信用卡,填写在线表单,然后点击提交,瞧,你现在正在浏览互联网。

别的也没有什么事可做,所以你决定通过在线网页接口来检查你的电子邮件。输入网站的网址后敲回车。突然一个错误消息弹出,告诉你网站的安全证书有问题。只有在浏览需要加密访问的网站时才会用到安全证书。这时你才会意识到这个网站是使用加密会话的,因为网站链接是以https://开头的,而不是http://。

此外,你还会注意到浏览器的状态栏上有一个闭合的锁,这表示该页面也是加密的。但是,错误消息表明这个网站的安全证书不是由可信任的认证机构颁发的,另外你所访问的网站和证书不符。

现在你可以选择关闭这个页面或者继续浏览下去。稍做考虑,你想可能是自己访问错了,所以选择关闭该页面。然后你打开了一个新的浏览器窗口又试了一次,结果弹出了同样的错误。此时你可能意识到页面是正确无误的,但确实又有什么地方出了问题。你可能会想这也许和你在机场所用的服务提供商有关,所以选择继续浏览下去。页面出来了,而且看起来很正常,没有什么问题,所以你就登录进去并查看电子邮件。接着你又浏览了几个小时,中间除了又跳出来几次同样的错误消息之外,其他一切看起来都正常。

最后你的飞机来了,收拾好笔记本,把电源插座留给附近其他正在耐心等待的“穴居人”,然后到达了最终目的地。

几周过去,你回到了家里,然后去支付账单。当你打开信用卡账单时,大吃一惊,先前信用卡里面还有好几百美元,现在已经被刷爆了。想了一下,然后你去问你的妻子是否去疯狂购物了。让你感到放心的是,她确实没有去,但这些消费账单依旧还在。当然,你已经完全忘记了,在从机场返回的那一天,你选择了一个廉价的无线接入公司,并向其提供了信用卡信息。遗憾的是,原来这个便宜的无线接入公司的确是一个身份窃贼(identity thief)。

我的攻击之所以能成功的主要原因之一在于用户和服务器对安全证书的处理都存在问题。大多数人在浏览互联网时都不太在意安全警告。这主要有两个原因。

一方面,一些人根本不明白这些警告的意思。我想用我父母的例子来说明。他们和世界上其他到达退休年龄的老年人一样,他们是聪明的人,非常乐于接受互联网这一新鲜事物。但是,他们从没有接受过关于互联网及其风险的专业训练,也没有在有专门的工程师负责教会员工的公司里工作。他们只是自己体验整个互联网,也只有一般的能够应付在线支付和查看股票证券信息的知识。类似于数字证书这样的东西对他们来讲就像是质子加速器对他们的意义一样。

另一方面,我发现也有一些精通技术的人不但懂得数字证书,还了解中间人攻击。有人认为这类人从不会中这样的陷阱,但恰恰相反,即使是这些人也很容易上当受骗而成为受害者。与我什么都不懂的父母所不同的是,这些专家受骗的原因是他们太了解这些知识了,以至于能够为自己失误做出合理的解释。

例如,当安全警告跳出来时,他们首先认为是这因为WiFly网站的管理员没有更新已过期的证书而导致的。或者他们认为由于这个网站是由咖啡馆或宾馆提供的,而配置这个网站的人没有经过良好的技术训练,所以没有正确地配置网站的证书。除此之外,在企业内网中你也会经常碰到证书过期的情况,而这时公司的信息技术人员会告诉员工只要忽略安全警告,然后继续使用网站就可以了。这类事件让普通用户认为证书是不重要的,而那些明白证书重要性的高级用户则对他们没有关注的地方一点都不敏感。

在完成攻击之后,我和受害者交谈时,受害者对他们的行为的普遍答案都是根本就没有关注所有弹出来的安全警告。他们大多数似乎都是被操作系统搞烦了,因为有些操作系统每天都会给你提示许多的安全警告(最糟的是微软的Vista操作系统),这使得安全警告变成了白色噪音。

虽然时刻注意你的个人信息安全确实可以起到一定的作用,但却不能真正消除这类攻击所带来的危险。为实现这一目标,业界需要解决信任关系。当我打开无线接入软件并搜索可用的无线接入点时,我需要确信一个叫做“T-Mobile”的无线路由确实是属于T-Mobile公司的。

要做到这一点,接入点和客户端之间必须能够交换可以对两者进行鉴别的核查信息。虽然在不同的系统中协调实现这种相互信任比较困难,但这种技术本身确实非常容易,而且已经出现很多年了。用于网站的证书技术同样也可以用于无线接入设备。

这种解决方案的工作流程大致是这样的。用户首先打开无线客户端并收到了一份可用的无线接入点列表。然后客户端会检查对应于每台设备的数字证书。每个证书都包含显示出来的名字、公司名称、硬件标识符以及签发证书的认证机构。由于是无线客户端列出这些设备的,所以能够指明他们是否合法(见图2-1)。

有许多建立认证中心(Certificate Authority)的方法,我所想象的最容易的办法是采用和Web认证相同的认证机制。使用一套已经建立起来的机制会让这个特殊领域的开发变得更加容易,而且利用已经部署的基础设施可减少大量的重复开发。

图2-1   假设经过认证的无线路由

我也意识到有些恶意的无线路由可能会使用伪造的证书,而且一些用户可能从未注意到合法的和非法的接入点之间的区别。但是当对人们进行这种解决方案的培训越来越多以及客户端软件会尽可能正确地指引人们时,这类攻击的风险性将大为降低。

在描绘了前沿的无线攻击技术以及如何进行相应的防范之后,我们再回过头来讨论众所周知的Wi-Fi安全问题以及使其成为日常威胁的社会条件。

习惯于以以太网技术为基础的局域网网络用户和管理员很难理解无线的相对不可控性。局域网使用的是非常不安全的协议(嗅探和篡改、系统伪装和实施拒绝服务攻击都是很常见的),但是有线电缆的物理限制性能够缓解一些安全问题,你不可能在网线内部部署一个恶意的系统。而无线技术故意去掉了我们习以为常的物理安全层,使得网络流量会泄露出去,甚至能够跨域有形的围墙和围栏之类的物理界限。

如果我在本章开始提到的,管理员(假设他们使用部署任何安全措施时都足够细致)一开始是采用WEP来保证接入点的安全。WEP的主要问题是黑客能够很容易地嗅探到在空气中传输的数据包,并且能够提取密钥进行解密。甚至初级黑客都能够借助于一些工具来实施这种攻击。

后来又引进了WPA技术来解决WEP问题,即解决从嗅探到的数据包中快速提取密钥的漏洞。这时,无线工程师们都很高兴。

当然,喜悦是短暂的,又有人发现仍然能够提取用于WPA预共享密钥(Pre-Shared Key,PSK)的密码短语。WPA协议首先传输的是交换包,即所谓的握手机制,它能够验证客户端和接入点。由于数据是加密的,所以即便是在无线路由附近对传输的数据包进行监控并记录整个握手过程,也没有人能够推导出密钥进而破坏整个系统。但是,黑客可以记录下这些数据,然后采用暴力破译密码的方法来进行攻击,即从一张单词列表中对每个单词进行穷举,以找到和记录数据相匹配的。

黑客要成功地实施这种攻击,需要满足几个条件。首先,黑客要必须能够从接入点接收到无线信号。我见过很多公司把这作为主要的防御点。有些时候,考虑到在墙外接收到的无线信号会很弱,管理员会把接入点安装到非常隐蔽的地方。确实,这样做的话,普通笔记本电脑中的无线设备很难再捕捉到无线信号了,但是对于那些坚定的黑客来说,他们往往都拥有非常强大的天线以接收任何弱小的信号源。

其次,黑客需要从客户端和无线接入点开始会话时就进行监控。监控会话建立后的数据包没有什么用处。虽然听起来这个要求大大减少了黑客获取初始握手信息的机会,但实际情况是这根本算不上什么。事实证明,已经出现了大量的能够终止无线会话的工具,它们能够迷惑客户端,并发送一条终止会话的命令。一旦连接断开,客户端一般会尝试重新连接。这时黑客就能够对数据包进行监控并获取初始握手信息了。

最后一条是密码短语本身的强度。在我的测试中已经出现了像tootired和bicycles这样简单的密码。密码破译软件在几分钟之内就能够找到这些密码。一个WPA密码短语可以由8到63个字符组成,但是我发现大多数人一般都只用8个或者9个字符。当然,最好的密码短语是63个字符,它可以混合字母、数字和标点符号。那么为什么没有一个管理员这么做呢?

最主要的原因是不管你为接入点设置了什么样的密码短语,每台电脑在连接的时候都需要输入这一密码。对于一个真正疯狂的密码的支持成本将成为一个噩梦,因为人们会输错字符或完全忘记了密码。所以,取而代之的是,管理员走向了另一个极端,即使用尽可能简单的密码。虽然没有完美的解决方法,但我建议可以采取皆大欢喜的折中方法。比如“This1was900yearsold!!!”这样的密码既便于记忆,又比标准字典中的单词更难破译。

如果我提到TJX,你会想到什么?如果你经常关注过去两年的主流新闻,你可能首先想到的是这家公司曾被盗过许多信用卡账号。这件事在2006年12月才被人们发现,黑客攻入了他们的网络并不断地下载了至少四千五百七十万个信用卡账号,而且据推测这个数据更接近于两亿(TJX事件在第3章中有详细介绍,作者是 Elizabeth A. Nichols)。专家预测TJX公司需要花费1亿美元左右才能弥补此事带来的后遗症,在这个时候,越来越多的证据表明,更多的公司每天都面临着同样的安全缺陷:未加保护的无线接入点。

在2007年11月,Motorola公司提供安全和无线网络监控服务的AirDefense部门发布了一项关于全国范围内的3000个商场的无线设备安全研究报告。据该报告指出,25%的无线设备根本没有使用任何加密措施,剩下的1/4仍然还在使用老的、具有安全漏洞的WEP连接协议。

在TJX案例被广泛宣传一年之后仍然还有如此之多的安全隐患,这是非常可怕的。1/4的商场比TJX的安全措施更薄弱,剩下的1/4的安全措施和TJX公司的一样容易绕过。

决定使用无线技术所带来的方便的企业除了清楚地知道它所具有的风险,还要不懈地做好无线设备的安全防护措施。TJX在初次部署无线路由的时候,也实施了当时存在的安全机制。但遗憾的是,这种安全机制很快就过时了。假如这家公司稍微花此时间来更新部署更为安全的WPA机制,很可能我们大多数人都不会听说过 TJX。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/16502878/viewspace-696818/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-10-23

  • 博文量
    209
  • 访问量
    793646