0x00 工业黑客层级定义
由于工业环境中的生产环境、设备应用场景以及面向的对象等的特殊性,致使围绕它的周边设备也具有与传统网络完全不一样的基本形态,所以在研究工业安全的同时,我们不能以传统网络环境中思维去理解它,我们需要站在更高的维度去理解它。工业黑客我们可以分为三个级别,如下:
初级工业黑客:不了解何为工业环境和设备,但具备网络知识,有传统网络安全攻击能力,这种黑客同样会导致严重的后果。
中级工业黑客:对工业设备和工业协议有一定的了解和学习,可以利用工业协议的漏洞发起有针对性的网络攻击。如控制PLC启停、工业勒索等。
高级工业黑客:了解工业协议,了解具体工业环境下的工艺,能针对具体业务实施具有高度隐蔽的攻击手段,如伊朗的震网。
0x01 实验箱介绍
该实验箱我们已经在前面多篇文章中介绍过了,这里就过多介绍了,不了解的同学可以翻看前面几期的文章。
如上图,实验箱提供三种攻击方式的演示,拒绝服务、指令攻击、数据篡改,三种攻击方式其实对应了三个级别的工业黑客初级、中级、高级,这三层攻击由浅入深依次递进。
拒绝服务,与传统互联网攻击一样,它的本质是由TCP/IP协议自身的缺陷导致的,只要使用到标准的TCP/IP协议就会面临这样的攻击,这种攻击不需要工业背景和知识,传统的黑客即可做到。所以当工业设备需要接入互联网的时候,就需要进一步考虑它的安全防护措施。
0x02 实战演示
前几篇文章我们讲了我们自研的一套工控攻击框架(ISF)的使用,以及怎样给这套攻击框架添加攻击脚本,并以实例的方式演示了ISF破解西门子S7-300密码的过程。针对ISF工控攻击框架还有很多丰富的功能,比如PLC程序注入、PLC代理等,大家可以自行研究(免责声明:该攻击框架(ISF)主要应用于工控安全研究和教学,请不用作非法用途,使用该工具产生的一切后果该公司概不负责!)。
今天我们就将网络攻击模块化,集成进我们的攻击框架ISF中,使用ISF加网络攻击模块的方式对目标设备发起攻击,观察目标设备的变化,最后分析这种攻击所带来的危害,同时,我们要从中学习到,应该采取什么的方式更好地保护工业设备。
在本示例中HMI就是实验箱的显示屏(操作屏),它内置了一些简单的工业模拟环境,如跑马灯、交通信号灯、电厂、储水罐等。当在HMI的相关界面操作“启动”或“停止”操作时,HMI会向PLC发送相关指令,然后PLC根据指令执行程序指令,并将指令返回给HMI用于显示执行。
如果工业环境中的设备(包括但不限于HMI、PLC等设备)遭受到拒绝服务攻击后,使它们之间不能正常通信,那么就会导致不堪设想的后果,如接收不到控制指令,接收到错误的指令,接受到恶意指令等等。在工业环境中任何一个不正确的指令都有可能导致严重的后果,这应该得到大家的重视。下面我们就用一个简单的示例展示一下,拒绝服务攻击对HMI与PLC之间通信的攻击影响。
演示视频:
https://pan.baidu.com/s/1J1nBAO4izdKdiij2jst80Q 提取码: bqtu
0x03 攻击原理分析
向上面介绍的那样,拒绝服务攻击有多种形式,带宽占用、服务器资源占满导致不能响应正常的网络请求。为了使实验简单明了,我们可以向目标网络发送大量的垃圾数据,阻塞HMI和PLC之间的正常通信,使“交通信息号灯”失效。
使用的方法和之前一样,我们将写好的脚本集成进ISF框架中(不懂的同学可以翻看前几期的文章,ISF框架添加模块这里不再赘述),通过ISF加载拒绝服务攻击脚本,以达到暂停“交通信息号”的演示效果。
环境介绍:
HMI:人机交互接口,也就是前几篇文章中提到的实验箱中的小屏幕,它用来模拟工业环境中的操作屏,以及工业运行设备(如交通信号灯,储水罐等)。
PLC:逻辑控制器,在PLC中写好程序用来控制HMI中的交通信号灯和储水罐等。
网络攻击就是恶意攻击者向目标PLC和HMI发送大量的恶意数据,使PLC与HMI之间不能正常通信,导致HMI不能接收,或者接收错误的指令,进而造成严重的后果。
0x04 防御方案
网络攻击分为很多种,有网络带宽占用、资源占用、不安全的协议占用等等,面对多种不同的网络攻击行为,我们首先需要一个能够有效发现它的能力,其次才能拒绝恶意流量的攻击。
目前,我司就有一套可以完整的解决方案,通过采集器 厂级平台 大数据平台的方式,收集全流量数据,然后使用大数据 人工智能的方式对目标产生的日志进行关联分析,从而挖掘出异常流量。最终以多种方式进行反馈,如邮件、短信或自动处置等。给工控安全一双可以看得见的眼睛,使工控安全看得见。
0x05 下集预告
今天我们从网络层面分析了,当工业设备接入互联网后所面临的风险,以及面对这样的风险应该采取什么的防护措施。
下一章我们将分享指令攻击,如果说网络攻击和工控安全没有太大关系的话,那么指令攻击将是真正进入工控安全领域的第一步。请大家敬候下一次分享。