王 勇, 冯秀楠, 顾 龙, 成 云, 苏子然, 朱毅文, 周 林
(1.上海电力大学, 上海 200090; 2.上海云剑信息技术有限公司, 上海 200433)
凭借着出色的传输性能及便捷的通信方式,基于IEEE 802.11标准的无线局域网通信成为人们工作和生活中不可或缺的一部分。但由于无线网络在传输过程中不受电缆传输介质的保护,使其与有线网络相比更容易受到恶意攻击。无线局域网的广播性质使其容易受到多种类型的无线注入攻击[1],一旦攻击者找到突破点则攻击成功的可能性很大,从而造成巨大的经济损失[2]。
无线局域网的安全机制要求在利用无线局域网进行信息传输时,应将信息安全可靠地发送到目标主机,且被接收后,仅有目标主机能够对信息进行解码[3]。近年来,随着系统漏洞的出现,网络攻击的概率大大增加[4]。当前无线局域网主要有中间人攻击(Man-in-the-Middle Attack,MITM)和拒绝服务(Denial of Service,DoS)。本文将重点关注MITM攻击,因为这种类型的攻击可以包括许多单独的攻击,如干扰攻击[5-6]、DoS攻击[7]、蜜罐攻击等。
Wifi的MITM攻击一旦发生在西门子变频器驱动电机的无线通信中,可能导致电机失控,引发控制电机的正转、反转,甚至停转[8]。在这种状况下,攻击者与变频器建立单独的连接并私自建立传输,而此时监控电机的操作界面却无任何异常,整个通信过程彻底被攻击者操控,将会引发不可预知的威胁。
针对上述问题,本文采用西门子变频器V20上的西门子SINAMICS V20Wifi Module 智能连接块,实现手机或者操作员站通过Wifi连接西门子V20变频器,对西门子变频电机的转速、旋转方向、启停进行控制。
西门子变频器通过无线模块与变频电机连接实现通信过程。电机与SINAMICS V20 变频器进行连接,V20的U,V,W 3个端子与电机的U,V,W 3个端子通过动力线相连。通过SINAMICS V20变频器控制面板上的参数设置控制电机的转速、停转和正反转。 除此之外,还可以通过变频器上连接的智能无线模块,使用手机网络端控制电机的转速等参数。设置智能模块的无线网络SSID为“V20 smart access_9306”,在PC或手机浏览器的地址栏中输入地址(http://192.168.1.1),打开 V20 网页进行连接。
WebSocket是一个建立于TCP上的层,具有以下功能:提供给浏览器一个基于源的安全模型(origin-based security model);在同一个端口上可以创立多个服务,并且将多个域名关联到同一个IP,为协议提供一个选址的机制;提供关闭握手的方式,以适应存在中间件的情况;在TCP层上提供了一个类似 TCP 中的帧的机制,但是没有长度的限制。
首先,在连接上Wifi后访问192.168.1.1,打开第一个与无线模块通信的请求包。然后,无线变频器将会使用WebSocket协议发送第一个请求包,从端使用javascript脚本进行回应,当连接开始后,WebSocket将会发送一个token以保持从端的连接。接下来,当服务端接收到token时进行握手,回传一个数据包。使用SHA-1 哈希算法对上一步中新的字符串进行哈希。最后,使用 base64 编码,将最后得到的字符串,放到服务端响应客户端握手的头字段 Sec-WebSocket-Accept 中。
一方面,由于无线模块具有不断向外发射SSID信号的特征,因此很容易被恶意攻击者发现并利用。另一方面,变频机通信的代理会篡改WebSocket数据包。接下来,本文对IEEE 802标准下无线通信的安全风险进行分析。
802.11协议簇是国际电气和电子工程协会(IEEE)为无线局域网络制定的标准。IEEE 802标准下局域网体系结构如图1所示。
图1 IEEE 802标准下局域网体系结构
根据IEEE 802.11协议,MAC层帧可以分为管理帧、控制帧和数据帧3种类型[9]。只有数据帧的有效负载部分受诸如WEP和WPA /WPA2之类的安全机制保护,管理帧则容易被破坏、复制或伪造。因此,在收到伪造的取消身份验证帧后,客户端会错误地认为这些帧来自合法AP,然后与合法AP断开连接[10]。如果攻击者不断发送伪造的取消身份验证帧,则客户端将永远无法连接到合法的AP,很难区分攻击。
此外,IEEE 802.11的无线局域网访问方法和物理层规范包括IEEE 802.11a和IEEE 802.11b。其中,IEEE 802.11b使用的是2.4 GHz的频段,该无线频段被很多电子消费产品使用,攻击者可以利用这些产品造成干扰信号。此外,攻击者还可以伪造信号,解除AP和客户端的连接,使得大量客户端连接AP,造成拥塞。
MITM攻击是指攻击者在不被通信双方发现的情况下,与通信双方分别建立单独联系,控制整个通信过程,嗅探并篡改数据。
本实验网络环境配置如下。
攻击者IP 地址:192.168.1.3;
物理地址(MAC):00:0C:29:B8:32:A9;
目标主机 IP 地址:192.168.1.2;
物理地址(MAC):AC:B5:7D:E3:6601;
变频器IP地址:192.168.1.1。
其网络拓扑结构如图2所示。
图2 网络拓扑结构
变频器接入V20智能连接模块。型号为1LA7070-4AB10-Z西门子电机与西门子SIMAMICS V20变频器成功连接后,无线通信模块指示灯显示绿色,表示通信功能正常。将无线网卡插到电脑,使虚拟机能够嗅探变频器的Wifi,通过kali自带的字典文件进行暴力破解,并获取变频器密钥。
桥接虚拟机和物理主机,将变频器智能Wifi模块、攻击机、虚拟机连接到一个局域网,这样可以轻松地嗅探到目标网络的信息,减少路由过程,使攻击更容易实现。具体步骤如下。
(1) Wifi密码破解技术 用暴力破解或字典攻击技术进行Wifi密码破解。
(2) 桥接虚拟机和主机 首先得到内网段;然后在虚拟机中打开终端输入 “ifconifg-a”查看网卡;在虚拟机中打开终端输入“vi/etc/network/interfaces ”编辑 IP 地址;在终端下输入/etc/init.d/networking restart 回车,重启网卡,kali 的右上角会提示网络已断开,并会显示一个红色的 X;重启虚拟机即可完成桥接步骤。
(3) SYN洪泛攻击 利用3次握手中的确认机制,在握手过程中建立一个伪造的 IP 地址,通过让被攻击端等待而将自己的资源耗尽。将目标主机进行SYN洪泛攻击,降低目标主机的反应速度,然后再进行ARP欺骗。
通过以上步骤,Wifi模块、客户机与攻击机可以成功地连接到一个局域网内,具体如图3所示。
图3 配置同一局域网
程序部分选用Python语言编写ARP欺骗代码,并进行实际测试,验证ARP欺骗成功。变频器智能Wifi模块的ARP缓存列表变化如表1所示。
表1 攻击前后ARP表变化
从变频器无线Wifi智能模块的ARP缓存列表欺骗前后的变化可以发现,主机IP对应的MAC地址由攻击前真实的物理地址变成了攻击者的 MAC 地址,ARP欺骗成功后的运行结果如图4所示。
图4 ARP欺骗成功结果
也就是说,攻击者成功地欺骗了变频器无线Wifi智能模块和目标主机,在两者的通信过程中充当了中间人。
攻击后大约18 s,电机停止转动,中间人攻击成功。Windows主机上显示的变频信息仍然停留在攻击前的状态,具体如图5所示。
图5 主机仍显示运转
以上结果表明,MITM攻击可以导致电机停转,严重破坏西门子变频器无线通信过程,然而Windows主机并没有显示变频异常,因此很难发现变频器已经遭到严重的攻击。
由于无线模块不断向外发射SSID信号,西门子变频器无线通信过程中还容易受到无线钓鱼攻击。由于Aircrack-ng能够实现网络侦测、数据包嗅探,以及WEP和WPA/WPA2-PSK破解等功能,因此选择Aircrack-ng无线攻击套装(kali)对附近的SSID信号以及MAC地址进行嗅探,完成DHCP服务器的搭建,配置完成实验环境。设立无线钓鱼攻击的具体步骤为:搭建无线钓鱼热点 airbase-ng-e smart_access%20v20-c 1 wlo1;配置iptables进行转发;进行无线ddos攻击使目标主机掉线,连上之前创建的无线钓鱼热点。然后进入实验过程,选择网卡和钓鱼页面,并攻击测试结果。实验结果显示,钓鱼网站页面看上去与真正的登陆页面一模一样,但并不是真正想要进入的网站,一旦进入设定好的钓鱼网站页面,便面对许多未知的风险,无疑对西门子变频器无线通信的安全问题造成极大威胁。
(1) 由于此攻击基于无线Wifi,因此要从无线信号的发射着手。厂家可以改造无线模块,当有一个连接者连接上这个模块之后,自动关闭SSID信号的发射,可在一定程度上避免被钓鱼。
(2) 不轻易的主动连接Wifi。虽然受害者将因无线ddos攻击至掉线而不得不重新连接,但是一般的无线假热点认证与真实Wifi认证过程还是有所不同的。需要注意的是,一般无线钓鱼热点为了能让受害者自动连接上,都采用了先连接再认证的方式。只要明确了这一点,钓鱼热点将会不攻自破。
(3) 在websocket打开连接之前进行再次身份认证。无线变频器在连接上Wifi后甚至没有任何验证身份的过程,任何人在连上Wifi后都可以请求并控制这个变频器。这在安全性上是一个非常严重的问题。
针对西门子变频器无线通信过程中的安全性问题,本文采用西门子变频器V20上的西门子SINAMICS V20 Wifi Module 智能连接块,实现手机或者操作员站通过Wifi连接西门子V20变频器,对西门子变频电机的转速、旋转方向、启停进行控制。模拟了在西门子变频器连接模块Wifi控制变频电机运行过程中,被SYN ACK攻击导致运行状态信息被篡改而引发变频电机停机的状况,并提出了相应的预防措施。