[原创] 不安全的互联网系列(1) 局域网部分(含WLAN)

互联网从1969至今一运行了45年了,但是其安全性并不是很好。我打算列出一些我知道的安全问题。本来打算做一个零基础的科普,结果发现细节太多了,零基础科普再说吧,下面的内容需要相应的基础知识。

先从局域网开始,大约10年前的集线器就不说了,那个根本没有安全性可言。目前大部分家庭及网吧使用的交换机也是有安全问题的,ARP 攻击及 CAM 攻击是两个比较明显的安全问题。

先说一下 ARP 攻击,这个现在已经烂大街了,就是发虚假的ARP包欺骗其他计算机,使得其按攻击者的意图错误的设置自身的 ARP 表,造成攻击者可以将受害者对特定IP的访问引导至特定的网卡硬件地址(并不一定是真实的硬件地址,可以是伪造的)的计算机。典型的攻击例子是攻击者电脑开启IP转发功能,广播IP地址是网关IP、硬件地址是自身的 ARP回应包,使得局域网所有电脑会将上网的上行流量发送到攻击者电脑再由攻击者电脑转发给真实网关,使得攻击者可以截获所有明文的登录用户名及密码等数据(关于 https 加密的下面在单独说明)。

如果是仔细些其实还可以向路由器发伪造的arp包,使得下行流量也会经过攻击者。还可以同时使用js缓存投毒,将自身伪造的 Jquery 等库插入被攻击者浏览器缓存,使得 arp 虚假广播结束后也可以持续几天甚至几个月的时间控制被攻击者浏览器大部分网站,详细信息单独介绍。

受影响范围:基本上所有的家庭网络、大部分WLAN网络、很少的网吧、大部分办公电脑。解决方法:1.全局域网ARP绑定,麻烦些,需要网关和所有计算机都得双向绑定。2.VLAN端口隔离,这个有个缺陷是局域网普通电脑无法互相通信了,最常见的windows文件共享、打印机共享、局域网联机游戏对战、机顶盒等手机遥控遥控等功能全部无法使用,这个成本还可以,有不少便宜的支持 VLAN 端口隔离的交换机,但是也只能保护上行流量,无法保护下行流量(感谢 semicircle21@v2ex 补充)。3.程控交换机绑定端口IP及MAC,这个成本就高了。

然后就是 CAM 攻击了。交换机和集线器的区别就是一般转发包时会根据包的目的MAC地址将包转发到对应的端口,而不是广播到所有的包。交换机是通过各个端口发出来的包的源 MAC 来确定这个端口连接着的设备的 MAC 地址的,然后会存放到交换机的 CAM 表里面。但是如果交换机碰到的一个包的目的MAC地址在 CAM 表里面不存在怎么办?交换机就会退化为集线器,向所有端口广播这个包。所以 CAM 溢出攻击是通过发送大量的不同源MAC地址的包塞满 CAM 表,造成正常的 CAM 记录被挤掉,使得交换机退化为集线器,然后开网卡混杂模式就可以监听到整个局域网的流量提取用户名密码等数据了。

还有其实也可以仔细的操作,并不需要溢出CAM表,攻击者可以高速的以路由器MAC地址为源地址来发包,使得交换机认为攻击者持有路由器MAC地址而将发送到路由器MAC地址的数据转发给攻击者,完事后攻击者还可以广播网关IP的ARP请求包来使得路由器发ARP回应包来恢复交换机对网关的绑定。一般路由器再次发包交换机就会再次将MAC地址绑定回路由器所在的交换机端口,一般路由器都很繁忙,所以 CAM 攻击并不能完整的获得整个网络上面的数据。

受影响范围:所有的非程控交换机,所有的未用VLAN隔离或未做MAC地址和端口绑定的程控交换机。解决办法:1.还是VLAN端口隔离,缺陷和上面的ARP攻击一样,但是也只能保护上行流量,无法保护下行流量(感谢 semicircle21@v2ex 补充)。2.为交换机端口绑定MAC地址,缺点还是和ARP攻击解决办法一样,成本高,维护麻烦。

接着说一下现在大范围普及的 WLAN 吧。WLAN 分为两个方面,连接别人的 WLAN 热点有可能被钓鱼攻击,WLAN 热点本身有可能被人攻击。先说钓鱼攻击,攻击者伪造一个移动的 cmcc 的热点,受害者当成真实的移动cmcc了上去,输入了cmcc用户名密码就会被攻击者把账号密码偷到手了,受害者就有可能被攻击者盗用 wlan 账号,电话费就… 如果攻击者用心点,弄个4G上网卡或者直接用受害者的账号连接到真实的cmcc上面去,使得受害者还可以上网,那还可以捕获到用户的所有上网流量,所有明文的密码被攻击者捕获了(同上面,https 加密的问题单独在讲)。甚至还可以更进一步向ARP攻击一样做js缓存投毒,使得受害者即使断开了与虚假 wlan 网络的连接一样会收到攻击者的控制,持续时间从几天到数月不等。

不要以为不连接cmcc之类的公共网络,只连接单位的、商场的、熟悉的 wlan 就安全了,攻击者其实可以通过将真正的wlan击垮,而自己搭建一个同名的wlan来钓鱼。甚至有部分运营商定制机只要碰到名称是运营商名称的 wlan 就自动连接,更加容易被攻击。受影响范围:1.所有的无密码的 wlan 都有可能是伪造的。2.所有的密码公开的或者可被破解的 wlan 都有可能是伪造的。解决办法:实在不确定 wlan 安全性通过 wlan 上网的时候就挂vpn吧。

WLAN 热点本身也有可能被攻击。无密码 WLAN 就不用说了,WEP加密的密码可轻松被破解,WPA加密也不建议使用了。目前 WPA2 加密还是安全的,前提是关闭 WPS 功能及使用高强度密码。不过目前的问题是大部分新路由器都默认开启 WPS 功能,使得攻击者可以在数小时内破解 wlan 密码,之后是简单的蹭网还是像本文开头介绍的 ARP 攻击来攻击整个局域网或者击垮本wlan建一个同名同密码的钓鱼wlan甚至直接攻击路由器修改dns长时间控制着这个 wlan 就不好说了。关于攻击路由器的可行性下面再单独说明。也可以通过开启无线路由器的客户隔离功能来减少一些影响,但是这个相当于交换机的vlan,会像arp攻击里面介绍的一样影响很多功能,而且无法拦截对路由器的攻击,不建议家庭使用,强烈建议公共场所 wlan 使用。对了还有另一个安全隐患,wlan万能钥匙之类的软件设置不好会共享 wlan 密码,你再好的加密再复杂的密码也没用了。你可能说你不会装这类软件,但是你的家人呢,来串门的亲戚、朋友、同事呢?受影响范围:各种家庭单位wlan。解决办法:1.使用 WPA2 ,关闭 WPS 功能,公共场所wlan开启客户隔离功能,路由器使用最新的固件,路由器管理密码设置为复杂密码,wlan密码设置为复杂密码,为访客建立单独的访客 WLAN 热点(感谢 semicircle21@v2ex 补充)。但是这样也无法解决公共场所 wlan 攻击者建立同名同密码 wlan 的问题,只能客户连接 wlan 的时候挂 vpn 来解决了。

总结一下:有线局域网部分由于必须通过网线接入局域网才能攻击,大部分家庭用户只要保证自己的电脑、机顶盒、手机都使用请更新补丁就问题不大(虽然木马病毒之类的东西能攻击整个局域网,但是你只要保证有个靠谱的杀毒软件就没问题了,一般家庭用户不是重点目标,没人会费工夫做免杀的病毒单独针对你的)。WLAN 部分怎么说呢?在外边不要连接 wlan ,非要用的话需要挂 vpn ,而且 vpn 最好是自己搭建的,我只能给出这个建议了。虽然严格将来连接自己的 wlan 都要挂 vpn ,因为自己的wlan也有可能是攻击者伪造的,但是一般用户不是重点目标,没人专门攻击你的。wlan 热点间传播的病毒目前只出了实验版本,据说效果不好。

局域网部分差不多就这样了,关于路由器及js缓存投毒等之后在单独写。今天先睡了,什么时间想起来再增加一些参考链接吧。

更新:感谢 semicircle21@v2ex 的补充,为访客提供访客WLAN,Port VLAN 一样会被欺骗下行流量(https://www.v2ex.com/t/143975#reply1)。

原创文章。转载请注明:转载自GameXG,谢谢!
原文链接地址:http://www.chenwang.net/2014/11/04/%E5%8E%9F%E5%88%9B-%E4%B8%8D%E5%AE%89%E5%85%A8%E7%9A%84%E4%BA%92%E8%81%94%E7%BD%91%E7%B3%BB%E5%88%971-%E5%B1%80%E5%9F%9F%E7%BD%91%E9%83%A8%E5%88%86%EF%BC%88%E5%90%ABwlan%EF%BC%89/

  WordPress › 错误