[西门子] 西门子S7、OPC等工业协议分析与工业漏洞挖掘

[复制链接]
查看43626 | 回复0 | 2024-5-14 20:31:40 | 显示全部楼层 |阅读模式
↑ 点击上方

“智能制造之家”

关注我们



会员可进入会员下载专区获取相关资料~

写在前面

前面我们分享了西门子、施耐德、三菱、罗克韦尔等工业巨头的主要工控协议及其端口:

西门子、施耐德、三菱、RA:全球主要工控协议及端口解析

也原创了很多工业协议、工业通讯相关的干活文章:

技术解读PROFINET、Ethernet/IP等7种主流工业以太网

最全整理工业通讯上的领域各种总线+协议+规范+接口—数据采集与控制

最详细的工业网络通讯技术与协议总结解读(现场总线、工业以太网、工业无线)

IT、OT 深度融合的当下,无论是OT侧,还是IT侧,各种协议都起到了至关重要的作用,比如前面我们提到的各种工控协议的解读与密码破解:

西门子、施耐德、罗克韦尔:三大工控厂商PLC密码保护突破之旅

S7-1200+SCADA:详解西门子S7协议与数据读写

TIAV17+S7-1200:解析最新西门子S7CommPlus协议

今天我们来聊一聊基于Wireshark的S7、OPC等工业协议分析与工业网络漏洞挖掘~

内容目录:
1 工控信息安全的现状分析2 工业控制系统的风险监测2.1 工控网络安全监测相关技术2.2 工控网络安全分析方法2.2.1 工业协议网络报文分析2.2.2 工业网络设备发现与漏洞挖掘3 WireNmap的开发与实现3.1 Wireshark源码结构3.2 Nmap源码结构3.3 WireNmap软件的实现4 基于WireNmap的工业协议分析4.1 S7协议解析插件4.2 OPC协议5 基于WireNmap的工业漏洞扫描技术5.1 NSE脚本简介5.2 WireNmap漏洞挖掘技术5.2.1 脚本准备工5.2.2 脚本portrule5.2.3 脚本action6 基于WireNmap的资产管理与联合分析技术7 结 语


工控信息安全的现状分析





工业控制系统的风险监测

当前工业控制系统安全面临严峻威胁,需要对工业控制系统网络进行安全监测,发现工业控制系统网络内部的安全威胁和存在的漏洞,从而采取相关的防护措施或修复相关漏洞,确保工业控制系统的设备和数据的安全。

2.1 工控网络安全监测相关技术



2.2 工控网络安全分析方法

2.2.1 工业协议网络报文分析





WireNmap的开发与实现

Wireshark与Nmap在工业协议分析与工业漏洞挖掘中是强有力的互补,而实际中两个软件是分立的,导致其使用效率偏低。在工业控制系统的应用中,Wireshark软件对工业协议支持不完整或不全面,而Nmap自带漏洞探测脚本有限,但其支持自主开发针对工业控制系统的脚本。

3.1 Wireshark源码结构

Wireshark源码软件组成,如图1所示。



图1 Wireshark源码框架

图1中,Core为核心调度模块,包括报文的捕获(Capture)、报文分析(Epan)、报文读取与存储(Wiretap)、界面交互与呈现(GTK/Qt),具体模块的具体功能如表1所示。

表1 Wireshark各模块功能



3.2 Nmap源码结构





基于WireNmap的工业协议分析

WireNmap集成了自主研发的报文解析插件,如S7协议解析插件、OPC协议TAG深度解析插件等。

4.1 S7协议解析插件





图2 S7协议报文结构



表2 空间类型对照表



拆分值段,值段前3个字节跳过,取值段第4字节为值的长度。

S7原生Wireshark未解析报文,如图3所示。以图3中数据段未解析的十六进制部分拆分为例进行方法说明,如图4所示。



图3 S7原生Wireshark未解析报文



图4 S7协议未解析段数据结构

(1)第1字节和第2字节为第一区字段的长度20(0x0014),第3字节和第4字节为第二区字段的长度14(0x000e),点表数据在第二区;

(2)从第5字节起为第一区字段,第一区字段长度为20个字节,跳过20个字节;

(3)从25字节开始,25、26字节为数据点个数,十六进制表达为0x0001,转换为十进制为1,即后续数据点个数只有1个,则地址段和值段分别只有一个点;

(4)读取地址段的空间类型,取0x22&0xf0,根据表2得到空间类型;

(5)地址值按照图中标识部分为0x00000206,换算成十进制为518;

(6)读取值段,值段的第3字节即图4中的0x02为值的长度,换算为十进制,值的长度为2;

(7)读取值为0x2acd。

根据该方法,图3中的未解析字段在经过二次开发后结果如图5所示,可以得到点的个数、地址和值。



图5 S7协议二次解析后前后对比

可见,经过开发后,S7插件可以读取空间类型、地址以及数值等更多信息。在实际工业控制系统中,这些信息可以对应实际的温度、压力以及转速等信息,因此可以更好地对工业控制系统进行指令级分析。

4.2 OPC协议

OPC是基于微软组件对象COM/DCOM/COM+等技术基础的一种接口标准,在标准下能够有效的进行信息集成和数据交换。在工业控制系统中,OPC协议规范中主要应用的是OPC DA规范。在OPC DA规范中,OPC由OPC服务器中包含OPC组,组内有一个或多个对象,其结构如图6所示。



图6 OPC对象结构组成

在OPC DA规范中,IOPCItemMgt类型报文在客户端执行添加、删除对象时,协商客户端和服务器对象的句柄,在协商完成后,后续通信都通过句柄对该对象执行修改。由图7可知,Wireshark并未对句柄进行解析。



图7 OPC原生Wireshark未解析报文示例

本文通过以下方法可以获取句柄和句柄相关的对象名称。





图8 OPC二次开发前后对比

由图8可知,经过开发后的WireNmap软件可以获取OPC协议的TAG名字、数据类型以及数值等更多信息。在实际的工业控制系统中,该信息可以与实际物理量进行转换,从而获取更多的数量信息。



基于WireNmap的工业漏洞扫描技术

WireNmap同时集成了自主研发的漏洞扫描脚本插件,如NSE脚本。

5.1 NSE脚本简介

一个完整的NSE脚本包括描述性字段、行脚本的rule以及实际脚本指令的action等多个模块,如图9所示。它的各个模块的主要的功能如表3所示。



图9 NSE脚本组成

表3 NSE脚本各个模块的主要的功能





图10 NSE脚本首部

5.2.2 脚本portrule

这部分主要涉及一些特定的端口以及端口上的服务,在对服务器的访问中涉及到http,因此端口的选取是几个有关http服务的端口,具体如下:

portrule=shortport.port_or_service({80,8080},”http”)

一般来说,在Apache Tomcat服务器安装时会有默认的运行端口,端口一般为8080,有时会存在该端口被其他应用占用的情况,这时服务器启动后不能正常工作,可以在Apache Tomcat的文件中进行默认端口的修改。

5.2.3 脚本action

这是整个脚本的核心部分,利用put请求发送一个jsp格式的文件,之后判断服务器对http的put请求返回的响应码,若为201,说明此时服务器已经接受请求,对文件名以及一些细节输出即可,如图11所示。查看该脚本在Nmap中的运行结果,如图12所示。



图11 NSE脚本主体



图12 NSE脚本运行结果





基于WireNmap的资产管理与联合分析技术





图13 WireNmap资产管理界面

由图13可以得出网络中的IP段与资产清单,如表4所示。

表4 WireNmap报文分析与IP资产对应关系



图13中右侧框列出了当前所有的IP资产清单。点击对应的IP后,利用列举出来的与该IP地址相关的所有通信报文,可以直接分析该IP的流量,查看是否存在异常流量,同时结合已经开发的插件(如S7、OPC等),更好地对工业协议进行深度分析。图13中双击右侧IP地址,启动如图14所示的界面。对重点关注的资产IP进行深度探测,可以得出如表5所示的资产详细信息。



图14 WireNmap资产扫描与深度探测

表5 资产详细信息





结 语

本文提出了一种基于Wireshark与Nmap的工业控制系统安全联合分析方法,扩展了Wireshark的分析插件与Nmap的扫描插件,同时提出了将Wireshark与Nmap合并后的联合分析软件WireNmap。实际应用证明,WireNmap能更深层次解析工业协议,如S7、OPC协议,同时通过开发脚本能发现更多的漏洞,如CVE-2017-12617等。面对以窃取敏感信息和破坏关键基础设施运行为主要目的工业控制系统网络攻击,所提方法能更快速、全方位地适应工业控制系统安全威胁的需要。
引用本文:朱振乾,张周晶,马慧慧,等.基于Wireshark与Nmap的工业协议分析与工业漏洞挖掘的实现[J].通信技术,2021,54(3):716-726.
作者简介 >>>
朱振乾,硕士,工程师,主要研究方向为工业控制信息安全;张周晶,硕士,工程师,主要研究方向为网络安全;马慧慧,硕士,助理工程师,主要研究方向为工业控制信息安全;魏黎明,硕士,助理工程师,主要研究方向为工控系统安全、漏洞检测。选自《通信技术》2021年第3期(为便于排版,已省去原文参考文献)
会员可进入会员下载专区获取相关资料



智能制造项目-数字化工厂规划与建设完整方案

2022-01-15



中国智能制造产业图谱与典型场景完整参考|产业链全景图

2022-01-10



87页超经典智能制造方法论、整体解决方案及实践分享

2022-01-05



81页超硬核先进工业网络技术与实践

2022-01-04



西门子、达索、SAP、中控…:2021工业软件全景研究(81页下载)

2021-12-25



166页PPT搞懂智能制造数字化基础!

2021-12-06



193页全读笔记透析《数字化转型方法论》PPT

2021-11-27



智能制造+工业互联网产业链全梳理!(2份超赞PPT)

2021-11-24



当PLC遇见“IT”:MES与PLC握手5大方式详解

2021-11-22



114页数字化工厂规划、建设与技术实践

2021-11-15



欢迎关注"智能制造之家"

免责申明:本公众号所载文章为本公众号原创或根据网络搜索编辑整理,文章版权归原作者所有。因转载众多,无法找到真正来源,如标错来源,或对于文中所使用的图片,资料,下载链接中所包含的软件,资料等,如有侵权,请联系删除~----智能制造之家

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则