路由安全起底之无线篇:WPA2、字典、无密码验证
这是路由安全系列的第一篇:无线安全,后续两篇分别是路由系统安全、内网安全。
关于安全,真是个老生常谈的话题。
这次来聊的是(普通用户的)网络安全。网络安全究其根本,其实就是控制中心——路由器的安全问题。在这个问题上,网络上已经有足够多的讨论,这篇的目的是希望把路由安全问题整体组织再分割,有逻辑、易理解的讲述一遍。在这之上,我们还将畅想一下“下一代路由”在安全方面将可以如何改进。
话题从知道创宇的Evi1m0开始,他最近在知乎上回答一个问题“ 蹭网之后,能做什么? ”。这个回答非常详细的讲解了在一个测试场景攻破Wi-Fi、攻破路由后台登陆密码、嗅探获取个人账号密码以及私密信息、攻击局域网内的其它设备等等Hack手段。如果看完Evi1m0的科普长文你仍有兴趣,那么你正是这篇文章的目标受众。
把路由安全拆解开,第一块是无线安全。这应该是大家最常听到但并不了解的地方,面对“蹭网”,我们是不是把无线安全等级设置为最高强度的WPA2-PSK就好了呢?
如果你真的这么想,那你就错了。
“普通难度密码即便使用最高等级的WPA2加密,破解率也接近100%。”Evi1m0向雷锋网确认说。
为什么WPA2可以被破解呢?这里边有一个小的背景知识在里边。大凡密码,我们都可以通过穷举的方式来破解,只是看穷举所需要时间是否等得起。比如无线最早的WEP加密,这个在当年可是无论如何都没法破解的,但在今天只需要几十分钟而已。WPA2也是一样,它在使用多年后也迎来这个大限。
上边所说的穷举速度加快,不是(计算机的)计算能力提升N倍,而是说 通过对WPA2安全机制的深度Hack,制作出针对性的字典。 字典可以使得破解速度有数量级的提升,并且它具备可复用的特点,规模越大破解成功率越高。Hacker们交流各自的字典,可以构建出一个极大的字典库。这里说的是个大致的概念,有余力的读者可以看看51CTO对“WPA针对性字典”的技术科普。
列一组 51CTO的实战数据 :在2009年普通方式破解WPA,大概每秒可穷举300个密码;而字典方式在一些优秀Hacker手里可提升到每秒15万个密码。lastbit.com有一个 密码计算器 ,大家可以算算自己的密码需要多久能被破解掉(speed是指每秒可匹配密码数)。
那么,面对这种安全状况,我们可以怎么做呢?
根据安全专家们的建议,我整理了以下几点:
1)购买防暴力破解功能的路由,它可以限定1小时试错多少次后就不能再试。一般在企业路由上有。
2)无线密码设置的复杂些,比如15位密码、20位密码(用密码生成器生成)。
3)隐藏无线网络的SSID,可以应对入门级Hacker。
4)时常在路由后台检查是否有陌生设备接入。
以上几点,其实非常麻烦。带防暴力功能的路由少且贵,密码复杂了输入的时候受不了,隐藏SSID效果不大,时常检查根本不太可能。所以这些建议都只能针对对安全有很高需要的用户,普通用户完全没法操作。
现在的“智能”路由,在这方面有什么进展吗?
有,但是不大。
防暴力上,目前已经发布的几款基本基于OpenWRT,它会有内建的防火墙机制,但不一定是默认打开的(有些可能没有包含这个模块);密码验证上,小米路由做了一定革新,它采用NFC感应验证,密码再复杂也不怕;其它方面就不多了。
下一代路由,可以做些什么?
我认为,无密码验证一定是未来方向之一。密码本身是个无意义的产物,逼迫人们记住长密码是工业时代的作风,互联网时代我们有更好手段。小米的NFC验证是个不错的设定,如果更进一步,去感知设备在哪、使用者是谁是不是会更好呢?
这是有可能的。无线是可以做定位用途,只是精确度不像专门的地理围栏技术如iBeacon那样准确,位置感应可以结合现有的技术实现。感知使用者是谁,可以做像CMCC那样的验证,连接网络时输入“我的名字”即可使用,这只是举例,其实也挺麻烦的,感知身份应该会有更好的方法。如果能感知到“谁在哪儿使用”,这样一条信息相信是对网络安全的提示已经足够(隐私、智能家居中控等将在后续系列文章中讨论)。
一台新设备接入,首先它会被放置在一个隔离的虚拟子网(VLAN)内,可以有限度的联网但无法做攻击。通过路由他可以直接给主人发送信息确认身份提高在网络中的权限,这就像一个家庭中,家主给亲人配钥匙一样,是一个授信过程。
到此,我觉得“蹭网”的风险基本已经解除。而且接入设备的“个人信息”还可以作为智能家庭的入手点,如果要感知人的存在,这不是最直接的方法吗?