版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
0引言随着工业控制系统的通用化、网络化和智能化发展,工业控制系统信息安全形势日渐严峻。一方面传统的互联网信息安全威胁正在向工业控制系统蔓延,另一方面针对关键基础设施及其控制系统,以窃取敏感信息和破坏关键基础设施运行为主要目的攻击愈演愈烈。近年来发生了一系列针对工控网络的攻击行为,如2010年伊朗核设施遭遇了前所未有的严重攻击,国际核能组织发现伊朗的浓缩铀工厂的离心机不断被破坏,报废的数量接近伊朗浓缩铀工厂离心机总数的1/4。这就是震惊全世界的著名的“Stuxnet(震网)”病毒武器的攻击,从此针对工业控制系统的网络信息安全事件引起了全世界的高度关注。震网病毒能过被感染的U盘或移动介质进入伊朗核设施网络。当U盘或移动介质插入计算机时,震网病毒通过Windows系统自动播放特性被植入伊朗核设施网络,然后在网络中不断复制并感染其他设备。震网病毒在伊朗核设施网络中寻找西门子公司的STEP7控制软件,并经过欺骗和控制该软件达到破坏的目的。西门子公司的STEP7软件用于控制伺服马达、电路开关和气体液体阀门,广泛应用于各行各业。该病毒找到西门子控制软件后,截获控制软件给可编程逻辑控制设备(ProgrammableLogicController,PLC)的指令,找出并识别应用在离心机上的软件发出虚假指令,使得离心机转速不正常而造成设备损坏。在一系列工业信息安全事件爆发后,工信部在2011年下发了《关于加强工业控制系统信息安全管理的通知》,要求各级政府和国有大型企业切实加强工业控制系统安全管理。对于工业企业而言,工业控制信息系统安全还是一个全新的领域,在技术工具、设备设施以及人员等方面缺乏储备,同时缺乏相关的标准和规范,因此迫切需要开展相关的基础研究和产品开发,以支持用户开展相关工作。Wireshark与Nmap是网络开发和信息安全技术人员最常用的工具之一,能从二进制报文中分析并提取有效信息,并结合报文插件或漏洞数据库匹配相应的结果,因此广泛应用于工控信息安全。然而,Wireshark与Nmap是两个分立的工具,两者结合使用中存在一定的不便,同时在解析工业控制系统特殊的工业协议时,Wireshark存在解析不全或不完整的情况。Nmap原生自带的脚本数量有限,但支持开发自定义的探测脚本进行自主漏洞挖掘。1工控信息安全的现状分析工业控制网络是工业控制系统中的网络部分,是一种把工厂中各个生产流程和自动化控制系统通过各种通信设备组织起来的通信网络。工业控制系统包括工业控制网络和所有的工业生产设备,而工业控制网络只侧重工业控制系统中组成通信网络的元素,包括通信节点(如数据采集与监控系统、分布式控制系统、可编程控制器、远程终端以及人机交互界面设备等)、通信网络(包括现场总线、以太网以及各类无线通信网络等)以及的通信协议(包括Modbus、Profibus等)。企业生产网部署的工业控制系统一般包括4个层次,分别是现场设备层、现场控制层、过程监控层和生产执行层。工业控制系统所在的机构或单位同时建立了与外部网络相连的生产信息网,使用户可以通过网络查询信息。现阶段,工业控制系统环境已经摆脱以往信息孤岛的模式,与IT网络相连接,实现了大范围的协同控制,以提高生产效率。同时,机构或单位通过网络与分支机构、合作伙伴、外网用户的联系越来越多,这时内部网络/工控网络的安全性将受到考验。网络上的不法分子不断寻找网络上的漏洞,企图潜入内部网络与工控网络。一旦内部网络或工控网络被人攻破,一些机密的资料可能会被盗,将破坏网络和工业生产环境。2工业控制系统的风险监测当前工业控制系统安全面临严峻威胁,需要对工业控制系统网络进行安全监测,发现工业控制系统网络内部的安全威胁和存在的漏洞,从而采取相关的防护措施或修复相关漏洞,确保工业控制系统的设备和数据的安全。2.1工控网络安全监测相关技术通过研究工业控制系统安全监测技术,形成对工业控制系统的重点区域、重点企业、重点平台及重点设备的安全监测能力。通过采集工业控制系统网络流量,对物理地址、工控协议指纹、报文方向以及协议特征等进行研究分析,识别资产的类别、厂商以及固件版本等信息,进一步识别资产可能存在的已知漏洞信息。需联合与资产关联的入侵告警、审计告警和白名单基线告警多维信息,对资产风险等级做出综合评估。对工业协议做指令级深度解析,是监测系统实现资产识别、入侵检测、创建基线以及监测与审计的技术基础,主要分析技术的以下几个层级。(1)针对工业控制系统特有的工业协议(如MODBUS、S7、FINS以及GE等),通过规格识别、逆向分析等手段,厘清报文特征与业务操作的内在关系。(2)结合工业控制系统中各作业单元网络流量数据与业务数据,针对不同的工控网络安全与业务安全异常场景,选取随机森林、决策树、K-means、神经网络等机器学习或深度学习算法或混合算法,学习生成工控系统安全异常检测模型。(3)采集工业控制系统各作业单元网络流量数据,通过工控协议深度解析技术与会话还原技术,对网络流量数据中的网络连接、工控指令、重要业务以及通信方向等关键信息生成工业控制系统安全行为基线,实现对偏离安全行为基线的异常行为的实时检测。2.2工控网络安全分析方法2.2.1工业协议网络报文分析Wireshark(前称Ethereal)是一个网络抓包分析软件。网络抓包分析软件的功能是抓取网络报文,并尽可能显示最详细的网络报文信息。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。网络管理员使用Wireshark检测网络问题,网络安全工程师使用Wireshark检查资讯安全相关问题,开发者使用Wireshark为新的通信协定除错,普通使用者使用Wireshark学习网络协定的相关知识。2.2.2工业网络设备发现与漏洞挖掘Nmap是一个免费开放的网络扫描和嗅探工具,也叫网络映射器(NetworkMapper)。它由3个基本功能,一是探测一组主机是否在线,二是扫描主机端口嗅探所提供的网络服务,三是可以推断主机所用的操作系统。通常网络管理员利用Nmap评估网络系统安全,而黑客则用其扫描网络,通过向远程主机发送探测数据包获取主机的响应,并根据主机的端口开放情况得到网络的安全状况,寻找存在漏洞的目标主机,实施下一步的攻击。Nmap扫描工具支持扩展,因此开发者可以自主开发探测脚本。通过自主开发的脚本,开发者可以对工业控制系统中的工控设备进行扫描识别,从而发现工控设备的相关信息,如厂家、型号以及版本等,再结合相关漏洞库,可以快速匹配工控设备的相关漏洞。对尚未被挖掘的漏洞,结合Wireshark对工业协议报文的分析,可以通过Nmap编写脚本直接进行探测,如拒绝服务、缓冲区溢出以及弱管理员密码等漏洞。Nmap是一个自主挖掘工业漏洞十分有用的工具。3WireNmap的开发与实现Wireshark与Nmap在工业协议分析与工业漏洞挖掘中是强有力的互补,而实际中两个软件是分立的,导致其使用效率偏低。在工业控制系统的应用中,Wireshark软件对工业协议支持不完整或不全面,而Nmap自带漏洞探测脚本有限,但其支持自主开发针对工业控制系统的脚本。3.1Wireshark源码结构Wireshark源码软件组成,如图1所示。图1Wireshark源码框架图1中,Core为核心调度模块,包括报文的捕获(Capture)、报文分析(Epan)、报文读取与存储(Wiretap)、界面交互与呈现(GTK/Qt),具体模块的具体功能如表1所示。表1Wireshark各模块功能3.2Nmap源码结构Nmap的执行流程采用流水式的顺序执行方法,执行的入口在nmap_main()处。Nmap的执行流程可以分为准备阶段、执行阶段和结束阶段3个阶段。准备阶段解析扫描输入参数,根据输入参数初始化系统资源、初始扫描IP地址与端口、初始化脚本执行环境,形为扫描任务列表。执行阶段根据准备阶段产生的任务列表,顺序执行相关任务,直到所有的任务完成后退出主循环。结束阶段对所有扫描任务进行统计与分析,然后打印出扫描的最终结果,并释放分配的资源。3.3WireNmap软件的实现WireNmap集成了自主研发的报文分析插件与扫描探测脚本,为工业控制系统漏洞分析提供更深层次的分析与漏洞挖掘能力。WireNmap软件集成了原生的Wireshark与Nmap的所有功能,且在此基础上WireNmap实现了IP资产统计,即对网络中发现的所有IP地址以列表的形式进行呈现。该IP资产列表可直接点击进行Nmap扫描与分析,有利于进一步获取更深层次的信息,同时实现了Wireshark与Nmap的无缝衔接。4基于WireNmap的工业协议分析WireNmap集成了自主研发的报文解析插件,如S7协议解析插件、OPC协议TAG深度解析插件等。4.1S7协议解析插件在工业环境中,S7Communication协议(后文简称为S7)和OPC都被广泛应用于石油、钢铁和制造等行业。S7协议是一种私有协议,在西门子生产制造的设备和系统中主要用于PLC之间的数据交互以及SCADA系统对PLC的管理、诊断与监控。OPC已经成为工控界的一种标准,目前世界上著名的自动化厂商都有应用该标准。针对S7和OPC,WireNmap在Wireshark基础上进行了二次开发,增加了对S7和OPC的解析深度。S7协议通过RFC1006协议的形式建立TCP/IP的ISO七层模型下的S7连接。它的通信过程包括TCP连接进行3次握手建立TCP连接、ISO层建立连接、S7协议发出连接请求并建立连接以及S7协议进行设备的数值读写4个步骤。S7PDU封装于ISO层内,因此在S7前会增加TPKT固定帧头和COTP层帧头,结构如图2所示。图2S7协议报文结构TPKT帧头长度为4Byte。第1字节表示TPKT版本号,第2字节为保留字段,第3字节和第4字节表示数据长度。COTP帧类型有10种,在S7协议报文中常见的有0xe0(请求连接)、0xd0(请求确认)和0xf0(PDU数据传输)共3种,仅在ISO层建立连接完成。进行数据传输时,即PDU类型为0xf0(PDU数据传输)时搭载S7协议报文,结构如图2所示。图2中,COTP帧头长度为3Byte,第1字节表示长度,第2字节表示PDU类型,第3字节低7位表示TPDU编号,第3字节第8位表示是否为最后一个单元。最后一部分是PDUdata搭载S7协议。S7协议分由固定头部、参数区和数据区3个部分组成。从图2可知,在帧头类型为Userdata时,数据区仍有一串无法解析的数据,需针对这部分数据展开进一步解析。为得到图2中数据段未被解析的结果,将未解析部分分为未知字段和已知字段两部分。未知字段为暂时不清楚的不可解析部分,已知字段为可通过二次开发进行解析的部分。已知字段中包含数据点个数、地址段和值段3部分,可采用以下方法获取每个字段:(1)获取未知字段和已知字段长度,第1字节和第2字节为未知字段长度,第3字节和第4字节为已知字段长度,并确保两个长度之和与余下长度之和相等;(2)获取已知字段的数据点个数,已知字段数据点个数占2Byte;(3)拆分地址段,地址段分为空间类型和地址两个部分,空间类型取剩余第1个字节的最高位,根据表2得到空间类型,地址为后续的4Byte。表2空间类型对照表拆分值段,值段前3个字节跳过,取值段第4字节为值的长度。S7原生Wireshark未解析报文,如图3所示。以图3中数据段未解析的十六进制部分拆分为例进行方法说明,如图4所示。图3S7原生Wireshark未解析报文图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所示,可以得到点的个数、地址和值。图5S7协议二次解析后前后对比可见,经过开发后,S7插件可以读取空间类型、地址以及数值等更多信息。在实际工业控制系统中,这些信息可以对应实际的温度、压力以及转速等信息,因此可以更好地对工业控制系统进行指令级分析。4.2OPC协议OPC是基于微软组件对象COM/DCOM/COM+等技术基础的一种接口标准,在标准下能够有效的进行信息集成和数据交换。在工业控制系统中,OPC协议规范中主要应用的是OPCDA规范。在OPCDA规范中,OPC由OPC服务器中包含OPC组,组内有一个或多个对象,其结构如图6所示。图6OPC对象结构组成在OPCDA规范中,IOPCItemMgt类型报文在客户端执行添加、删除对象时,协商客户端和服务器对象的句柄,在协商完成后,后续通信都通过句柄对该对象执行修改。由图7可知,Wireshark并未对句柄进行解析。图7OPC原生Wireshark未解析报文示例本文通过以下方法可以获取句柄和句柄相关的对象名称。(1)确认报文类型为IOPCItemMgt,并获取对象个数,取未解析内容的第一个十六进制值;(2)通过报文中的固定位获取报文中的对象个数;(3)handle长度固定,则获取相对固定位置的handle值;(4)获取每个handle对应名称。以图8为例来进行方法说明。(1)确认报文类型为IOPCItemMgt,将内容移动到示例中stubdata的起始位置,以stubdata显示的0x05为第1字节;(2)向后移动32位为OPC对象个数,如图6所示该报文中对象个数为1;(3)句柄队列是一个32位数值,起始位置从第52字节起,如图6所示,句柄为0x909fe400;(4)句柄队列中,每隔28字节为一个句柄值读取点,本文中只有1个对象,则只有一个句柄值,则直接跳过28字节;(5)再跳过空白16个字节,在第91字节获取对象名称长度为0x0e000000,由于是小端的十六进制值,换算成十进制为14,则对象的名称长度为14;(6)跳过12个无关字节,以ASCII码方式获得名称,在图7中名称为NewAlias1.1。(7)得到的OPC句柄和对象名称与未进行二次开发的OPC报文对比图,如图8所示。图8OPC二次开发前后对比由图8可知,经过开发后的WireNmap软件可以获取OPC协议的TAG名字、数据类型以及数值等更多信息。在实际的工业控制系统中,该信息可以与实际物理量进行转换,从而获取更多的数量信息。5基于WireNmap的工业漏洞扫描技术WireNmap同时集成了自主研发的漏洞扫描脚本插件,如NSE脚本。5.1NSE脚本简介一个完整的NSE脚本包括描述性字段、行脚本的rule以及实际脚本指令的action等多个模块,如图9所示。它的各个模块的主要的功能如表3所示。图9NSE脚本组成表3NSE脚本各个模块的主要的功能5.2WireNmap漏洞挖掘技术以国家信息安全漏洞共享平台的CVE-2017-12617为例,该漏洞称之为ApacheTomcat远程代码执行漏洞。当ApacheTomcat服务器中的http进行put请求时,可以远程将java的jsp格式代码上传至服务器端,进而达到在服务器上任意执行代码的目的。此漏洞属于高危洞,对服务器的影响很大,因此探测发现该漏洞并且采取合适的修补措施十分有意义。5.2.1脚本准备工脚本准备工作包括一些包的引用(如http、Nmap、stdnse等等)、description部分以及nsedoc部分,还有脚本的作者、种类以及license。这部分主要是明确脚本的一些细节,为下面的脚本主体内容做一些铺垫。其中,description从CVE中摘录而来,可以非常好地帮助理解脚本的原理以及运行机制,具体如图10所示。图10NSE脚本首部5.2.2脚本portrule这部分主要涉及一些特定的端口以及端口上的服务,在对服务器的访问中涉及到http,因此端口的选取是几个有关http服务的端口,具体如下:portrule=shortport.port_or_service({80,8080},”http”)一般来说,在ApacheTomcat服务器安装时会有默认的运行端口,端口一般为8080,有时会存在该端口被其他应用占用的情况,这时服务器启动后不能正常工作,可以在ApacheTomcat的文件中进行默认端口的修改。5.2.3脚本action这是整个脚本的核心部分,利用put请求发送一个jsp格式的文件,之后判断服务器对http的put请求返回的响应码,若为201,说明此时服务器已经接受请求,对文件名以及一些细节输出即可,如图11所示。查看该脚本在Nmap中的运行结果,如图12所示。图11NSE脚本主体图12NSE脚本运行结果明显可以看到,文件的内容是开始时脚本中写好的,充分说明该版本的服务器存在巨大的漏洞。当put请求成功时,可以上传任意的jsp格式代码至服务器端,并且可以在服务器上运行。当打开存放文件的ApacheTomcat目录时,可以看到chen.jsp位列其中。Ø针对发现的漏洞,如何规避或修复此漏洞,可以简单总结为两个方面。一方面,对ApacheTomcat服务器进行升级,只要选取合适的版本就可以避免此漏洞。另一方面,访问ApacheTomcat文件中的conf文件夹找到web.xml,修改其中的参数“readonly”值为true,拒绝文件写入。6基于WireNmap的资产管理与联合分析技术工业控制系统中的安全威胁分析中,常有的工具有Wireshark与Nmap。Wireshark能抓取二进制报文,Nmap能探测设备存活并对设备进行深度扫描,并能发现各种类型网络设备的漏洞。使用中通常先使用Wireshark进行分析,再通过Nmap进行深度探测,然后根据两者结果进行联合分析,从而全面分析工业控制系统的安全威胁。WireNmap集成的Wireshark与N
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级上册历史预习必背问答式提纲173个
- 2026年胶原蛋白行业分析报告及未来发展趋势报告
- 2026年四水氟化钴(II)行业分析报告及未来发展趋势报告
- 2026年LED投影机制造行业分析报告及未来发展趋势报告
- 2026年移动电源行业分析报告及未来发展趋势报告
- 2026年变形缝行业分析报告及未来发展趋势报告
- 2026年中小学“感恩母爱 强国有我”母亲节感恩教育活动方案
- 2026年羊肚菌种植行业分析报告及未来发展趋势报告
- 2026年植物油加工行业分析报告及未来发展趋势报告
- 2026年巴旦木行业分析报告及未来发展趋势报告
- 2026年北京市东城区高三一模历史试卷(含答案)
- 2026AHA急性缺血性卒中患者早期管理指南静脉溶栓要点与解读
- 2026年春贵州人民版(2024)小学综合实践活动五年级下册(全册)教案(附目录)
- 胆囊切除术后胆漏诊断与处理方案
- 人教版四年级下册数学第七单元《图形的运动(二)》课件
- 红十字志愿者培训讲义
- 内镜护士进修汇报
- 项目推进缓慢表态发言稿三篇
- 高原铁路隧道斜井通风设备配置优化研究
- 2024年西藏开发投资集团有限公司招聘笔试参考题库含答案解析
- 我院药学专业药理课程期末试卷成绩分析与评价
评论
0/150
提交评论