0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Wireshark与Nmap的工业控制系统安全联合分析方法

智能制造之家 来源:智能制造之家 2023-12-12 16:36 次阅读

写在前面

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

工控信息安全的现状分析

74d7097c-98c3-11ee-8b88-92fbcf53809c.png

工业控制系统的风险监测

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

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

74f41486-98c3-11ee-8b88-92fbcf53809c.png

2.2工控网络安全分析方法

2.2.1工业协议网络报文分析

74ff7e34-98c3-11ee-8b88-92fbcf53809c.png

WireNmap的开发与实现

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

3.1Wireshark源码结构

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

75126b3e-98c3-11ee-8b88-92fbcf53809c.png

图1Wireshark源码框架

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

表1Wireshark各模块功能

75231af6-98c3-11ee-8b88-92fbcf53809c.png

3.2Nmap源码结构

752dfac0-98c3-11ee-8b88-92fbcf53809c.png

基于WireNmap的工业协议分析

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

4.1S7协议解析插件

753a8e20-98c3-11ee-8b88-92fbcf53809c.png

754aa2ec-98c3-11ee-8b88-92fbcf53809c.png

图2S7协议报文结构

7555ef44-98c3-11ee-8b88-92fbcf53809c.png

表2空间类型对照表

75607ef0-98c3-11ee-8b88-92fbcf53809c.png

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

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

756fcf40-98c3-11ee-8b88-92fbcf53809c.png

图3S7原生Wireshark未解析报文

7573947c-98c3-11ee-8b88-92fbcf53809c.png

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

(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所示,可以得到点的个数、地址和值。

75816642-98c3-11ee-8b88-92fbcf53809c.png

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

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

4.2OPC协议

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

7599755c-98c3-11ee-8b88-92fbcf53809c.png

图6OPC对象结构组成

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

75a53770-98c3-11ee-8b88-92fbcf53809c.png

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

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

75b250f4-98c3-11ee-8b88-92fbcf53809c.png

75c7116a-98c3-11ee-8b88-92fbcf53809c.png

图8OPC二次开发前后对比

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

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

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

5.1NSE脚本简介

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

75cece0a-98c3-11ee-8b88-92fbcf53809c.png

图9NSE脚本组成

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

75e0cfb0-98c3-11ee-8b88-92fbcf53809c.png

75fab40c-98c3-11ee-8b88-92fbcf53809c.png

图10NSE脚本首部

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所示。

76076c1a-98c3-11ee-8b88-92fbcf53809c.png

图11NSE脚本主体

76118c0e-98c3-11ee-8b88-92fbcf53809c.png

图12NSE脚本运行结果

761cb250-98c3-11ee-8b88-92fbcf53809c.png

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

7636942c-98c3-11ee-8b88-92fbcf53809c.png

76505ed4-98c3-11ee-8b88-92fbcf53809c.png

图13WireNmap资产管理界面

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

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

765ae91c-98c3-11ee-8b88-92fbcf53809c.png

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

7668ae44-98c3-11ee-8b88-92fbcf53809c.png

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

表5资产详细信息

7677ddf6-98c3-11ee-8b88-92fbcf53809c.png

结语

本文提出了一种基于Wireshark与Nmap的工业控制系统安全联合分析方法,扩展了Wireshark的分析插件与Nmap的扫描插件,同时提出了将Wireshark与Nmap合并后的联合分析软件WireNmap。实际应用证明,WireNmap能更深层次解析工业协议,如S7、OPC协议,同时通过开发脚本能发现更多的漏洞,如CVE-2017-12617等。面对以窃取敏感信息和破坏关键基础设施运行为主要目的工业控制系统网络攻击,所提方法能更快速、全方位地适应工业控制系统安全威胁的需要。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制系统
    +关注

    关注

    41

    文章

    5964

    浏览量

    108717
  • 西门子
    +关注

    关注

    92

    文章

    2850

    浏览量

    113778
  • 工业网络
    +关注

    关注

    0

    文章

    81

    浏览量

    16242
  • 工业控制
    +关注

    关注

    36

    文章

    1275

    浏览量

    85457
  • Wireshark
    +关注

    关注

    0

    文章

    46

    浏览量

    6449

原文标题:西门子S7、OPC等工业协议分析与工业漏洞挖掘

文章出处:【微信号:智能制造之家,微信公众号:智能制造之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何扩展工业控制系统的网络安全终端

    理解工业控制系统的网络安全工业4.0正在改变工业控制系统的网络
    发表于 01-27 07:09

    怎么实现工业控制系统安全防护的设计?

    工业控制系统潜在的风险是什么?怎么实现工业控制系统安全防护的设计?
    发表于 05-25 06:12

    五年磨一剑 工业控制系统信息安全防护的新高度

    2011年9月,工信部印发《关于加强工业控制系统信息安全管理的通知》工信部协 [2011] 451号文(简称451号文),掀开了工业控制系统安全
    发表于 11-10 17:36 1206次阅读
    五年磨一剑 <b class='flag-5'>工业</b><b class='flag-5'>控制系统</b>信息<b class='flag-5'>安全</b>防护的新高度

    浅谈工业控制系统安全问题

    可见三种安全在定义和内涵上有很大的差别。但是在现今大力提倡“中国制造2025” “工业4.0”的大背景下,这三种安全在一套工业控制系统中集中
    发表于 05-15 16:35 2097次阅读
    浅谈<b class='flag-5'>工业</b><b class='flag-5'>控制系统安全</b>问题

    我国工控安全事件频发,加强工业控制系统安全管理尤为重要

    工信部发布《关于加强工业控制系统信息安全管理的通知》,要求加强与国计民生紧密相关的多个重点领域内工业控制系统信息
    发表于 06-21 10:40 4277次阅读
    我国工控<b class='flag-5'>安全</b>事件频发,加强<b class='flag-5'>工业</b><b class='flag-5'>控制系统安全</b>管理尤为重要

    工业控制系统安全控制应用指南,为其信息安全工作提供指导

    2016年8月29日,国家质量监督检验检疫总局、国家标准化管理委员会正式发布《GB/T 32919 信息安全技术 工业控制系统安全控制应用指南》。
    发表于 08-14 14:22 1483次阅读
    <b class='flag-5'>工业</b><b class='flag-5'>控制系统安全</b><b class='flag-5'>控制</b>应用指南,为其信息<b class='flag-5'>安全</b>工作提供指导

    工控系统安全现状和存在的问题及思想和形式说明

    本文在总结分析工控系统安全现状和问题基础上,提出基于本体安全工业控制系统安全思想方法和形式描述
    的头像 发表于 12-31 09:14 7882次阅读
    工控<b class='flag-5'>系统</b>的<b class='flag-5'>安全</b>现状和存在的问题及思想和形式说明

    等保2.0与工业控制系统安全防护

    工业控制系统(ICS)是指对工业生产过程安全(Safety)、信息安全(Security)和可靠运行产生作用和影响的人员、硬件、策略和软件的
    发表于 06-10 11:49 1239次阅读

    工业控制系统网络安全难题怎么解决

    震网病毒、乌克兰电网大停电事件、韩国核电站资料泄露、勒索病毒爆发等事件暴露了工业控制系统安全隐患对社会的危害,近年来,工业控制系统安全事件发生数持续增加,让我国的相关企业机构越来越重视
    发表于 06-17 17:22 2841次阅读

    如何提升工业控制系统安全终端认知

    随着越来越多的企业开始采用智能化程度更高的传感器,工厂连接也将向下层扩展,进一步推动了工业控制系统设备层面额外的安全需求。
    发表于 07-18 11:48 595次阅读
    如何提升<b class='flag-5'>工业</b><b class='flag-5'>控制系统安全</b>终端认知

    工业控制系统的本体安全该如何理解

    随着工业互联网的发展,新的工业生产模式和新的产品形态下,需要对工业控制系统安全的内涵和外延进行重新审视和定义。本文在总结分析工控
    发表于 07-31 17:13 2201次阅读
    <b class='flag-5'>工业</b><b class='flag-5'>控制系统</b>的本体<b class='flag-5'>安全</b>该如何理解

    加速工业4.0-扩展工业控制系统中的安全终端

    因素导致其非常复杂。此外,开发工业控制系统解决方案的工程师可能尚未看到在设备层面的重大网络安全要求。保障工业控制系统安全的传统
    的头像 发表于 12-15 03:02 385次阅读

    加速工业4.0:扩展工业 控制系统中的安全终端

    控制系统解决方案的工程师可能尚未看到在设备层面的重大网络安全要求。保障工业控制系统安全的传统方法依赖于限制对网络和设备的访问,并通过信息技术
    发表于 01-20 11:58 15次下载
    加速<b class='flag-5'>工业</b>4.0:扩展<b class='flag-5'>工业</b> <b class='flag-5'>控制系统</b>中的<b class='flag-5'>安全</b>终端

    加速工业4.0:扩展工业 控制系统中的安全终端

    导致其非常复杂。此外,开发工业控制系统解决方案的工程师可能尚未看到在设备层面的重大网络安全要求。保障工业控制系统安全的传统
    发表于 03-04 06:44 8次下载
    加速<b class='flag-5'>工业</b>4.0:扩展<b class='flag-5'>工业</b> <b class='flag-5'>控制系统</b>中的<b class='flag-5'>安全</b>终端

    加速工业4.0:扩展工业控制系统中的安全终端

    层面的重大网络安全要求。保障工业控制系统安全的传统方法依赖于限制对网络和设备的访问,并通过信息技术(IT)解决方案监控网络流量。在工厂中使用设备的产品负责人会发现如果将网络
    的头像 发表于 06-15 15:12 482次阅读
    加速<b class='flag-5'>工业</b>4.0:扩展<b class='flag-5'>工业</b><b class='flag-5'>控制系统</b>中的<b class='flag-5'>安全</b>终端