2013黑帽大会:失控 – 针对工业SCADA系统的漏洞利用(一)
SCADA vs DCS
SCADA系统通常应用于不需要实时控制的场合,其设备通常会分布在一个很大的地理区域(例如石油管线),并且为了操作方便需要远程访问。
集散控制系统(DCS)通常应用于实时控制(例如工厂、组装线),其设备通常是部署在一个区域。
网络结构
Figure1标准DCS网络拓扑结构
Figure 2标准SCADA网络拓扑结构
标准的SCADA网络由多个层构成的,层与层之间形成了关键系统间的隔离,除此之外,通常能够在其业务网段发现更有危害的网络传输。SCADA网络可以采用多种传输手段来实现远程现场设备和控制网络的通信。
当标准架构没有被正确的实施时,就会出现问题,最常见的架构问题是在企业层网络和控制层网络中间没有部署防火墙,或者是部署了防火墙,但是配置的防火墙规则是允许所有的数据通过,让防火墙变成了路由器。另一个恐怖且常见的架构问题是没有将网络进行区域划分,使得所有的设备都能够互相访问,并且也没有防火墙。
SCADA设备最初的设计是用来部署在已经隔离的网络中的。
系统构成
3.1 历史数据(Historian)
历史数据是采集到的现场数据,其方便企业来查看。历史数据包含了从现场收集到所有数据信息,例如流量、生产的数量、甚至是安全记录。
3.2 人机接口(HMI)
直至最近,大多数的HMI仍然是控制室中的旋钮和按钮。
现代的HMI通常采用了基于Windows的工作站,来显示被控制的过程。其他常见的HMI一个拥有键盘的显示面板,为操作员显示数值和报警。通常HMI仅能够修改过程的设定值。
3.3 应用服务器(Application Server)
应用服务器是采用服务器级别的机器,用来采集位于控制网络上的PLC和RTU的数据。
3.4 工程师站(EWS)
工程师站使得工程师能够通过控制网络来管理和控制PLC和RTU,工程师站通常是采用安装了Windows的工作站。工程师站除具备HMI的所有功能外,还具备设计和更新控制逻辑的功能。
3.5 可编程控制器(PLC)
一个典型的PLC通常包括电源、网络通信(串口或以太网),输入、输出,这些通常封装在独立的模块中以方便扩展。PLC的运行是通过扫描输入信号,然后根据逻辑运算输入,最后将运算结果写入到输出中。PLC的输入通常是控制网络中的传感器。PLC的输出通常是连接到控制网络中的物理原件,例如电机、泵或者阀门。PLC的计算架构相当简单,处理器并没有太高的运行速度并且没使用高级功能。值得注意的是,没有内存管理,运行在PLC上的所有进程都是直接访问内存的。
3.6 远程终端(RTU)
RTU与PLC十分相似,只有一点它比PLC具备了基于逻辑的中断功能。
3.7 仪器仪表(Instrumentation)
在控制网络上,仪器仪表(例如流量计、温度表和压力表等)通常组成传感器网络。这些设备通常采用无线协议将其数据发送给控制网络
SCADA(Supervisory Control And Data Acquisition)系统,即数据采集与监视控制系统。SCADA系统是以计算机为基础的DCS与电力自动化监控系统;它应用领域很广,可以应用于电力、冶金、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。
来源于:FreebuF.COM