"景先生毕设|www.jxszl.com

opc的网络安全分析(附件)【字数:17110】

2022-11-11 14:32编辑: www.jxszl.com景先生毕设
OPC(OLE Process Control)是工业过程控制领域的接口标准,它的出现在一定程度上解决了Windows系统下应用进程与现场仪器设备驱动程序的互操作性问题,提高了数据访问的工作效率。另一方面,随着IT技术的突飞猛进,网络病毒的出现使工控领域的信息安全问题变的愈发严重。本论文通过对OPC工业环境的漏洞理论分析,采用了局域网中最常见的ARP攻击方式进行实验研究,分别从攻和防的思维角度去用实践去验证理论的可行性。 论文的基本框架分为分析现状、漏洞挖掘、学习原理、展开攻击、反思总结、防御保护、后期展望。第一,文章首先分析了常见的三种漏洞和威胁,如拒绝服务漏洞、缓冲区溢出漏洞、数据报文缺乏加密特性。第二,漏洞测试端使用Python语言进行攻击,并使用Linux系统作为黑客机器,向目标服务器和网关发起欺骗报文。第三,在安全防护端使用了开源zabbix监控系统进行ARP病毒攻击的流量检测,并调用多个shell脚本作为后台守护进程,开启软件防火墙服务,过滤掉非法的数据报文,从而实现安全网关保护的功能。 虽然企业环境跟个人实验环境有所差异,但在探索OPC通信的系统漏洞和网络威胁中取得个人的进步,也能够把防护功能思想应用在真正生产环境下的服务器,本论文有一定的研究价值,从而能够更好的缓解企业的信息安全问题。关键字OPC、监控告警、系统漏洞、病毒攻击、网络防御
目录
第一章 绪论 1
1.1 课题研究背景与意义 1
1.1.1 OPC技术概述 1
1.1.2 国内外研究现状 4
1.2 课题研究的工作内容 5
1.3 论文的组织结构 5
第二章 OPC主机威胁和漏洞分析 7
2.1 OPC,COM,DCOM和RPC之间的关系 7
2.2 OPC相关漏洞及威胁的分析 8
2.2.1 风险一 基于OPC的windows操作系统底层漏洞 8
2.2.2 风险二 DCOM远程溢出漏洞 11
2.2.3 风险三 拒绝服务漏洞 12
第三章 对OPC漏洞的测试实验 14
3.1 OPC协议报文的加密

 *景先生毕设|www.jxszl.com +Q: @351916072
特性缺陷 14
3.2 ARP协议介绍 14
3.3 基于网络层面的ARP病毒攻击 18
3.3.1 ARP欺骗逻辑模型 18
3.3.2 系统实验环境介绍 19
3.3.3 攻击所运用技术及其设计思想 20
3.3.4 测试结果小结 24
第四章 监控告警的安全网关平台实现 27
4.1 Zabbix Server开源系统部署 27
4.2 对OPC服务器监控报警 29
4.3 Linux平台实现OPC安全网关设计 31
4.3.1 系统的需求分析及可行性 31
4.3.2 防护所运用技术及其设计思想 32
4.3.3 Shell编程逻辑分析 33
4.3.4 测试结果小结 35
第五章 总结与展望 40
5.1 论文总结 40
5.2 工作展望 40
致谢 42
参考文献 43
第一章 绪论
1.1 课题研究背景与意义
1.1.1 OPC技术概述
OPC即基于OLE(Object Linking and Embedding)对象链接与嵌入的过程控制,它是一种面向对象的技术,利用这种技术可以开发出COM(Component Object Model)组件对象模型的软件,以提高代码的可重用性,同时用在工业控制领域中,避免了进行二次开发API接口,能够直接访问设备仪器数据,从而大大解放了人力和财力资源。 OPC已经变成了一个工业标准,它是包括一整套接口、属性和方法的标准集,逐渐用于过程控制和制造业自动化系统。过程控制的OLE是用于促进工业控制系统之间的数据传输。机器接口(HMI)、监视系统和企业系统,例如历史数据库。它是为了响应需要而开发的允许不同的控制系统与之交互的标准化方法对方。今天,它已经成为了集成的领先技术不同控制产品。
OPC的主要价值在于它提供了一个通用接口与不同的工业控制产品进行沟通,无论如何过程中使用的软件或硬件。使用OPC之前,应用程序开发人员必须为每个控件开发特定的通信驱动程序他们希望与之交互的系统。例如,HMI供应商不得不为不同的分布式控制开发数百个不同的驱动程序系统(DCS)和可编程逻辑控制器(plc)在市场上。使用OPC,这些应用程序供应商不再需要单独开发每个网络或处理器的驱动程序。相反,它们只创建了一个优化为他们的产品提供OPC客户端和/或服务器。这个OPC客户端会与OPC服务器进行通信,由制造商设计和销售其他的网络和控制器。
很重要的一点是,OPC并不能消除人们对它的驱动程序的需求。通常每个制造商为其特定的产品开发一个OPC服务器产品使用他们的设备需要的任何协议,因为他们是最好的适合构建一个能够充分利用他们的产品的服务器。然而,一旦一个OPC服务器存在于一个设备或一个设备上应用程序,将其数据与其他OPC集成变得更加容易兼容的软件。

图11 OPC被研发之前,PLC与驱动程序的交互过程

图12 OPC被研发之后,PLC与驱动程序的交互过程
OPC是基于微软的分布式组件对象模型(DCOM)技术,这是许多其他技术的顶点包括组件对象模型(COM)和对象链接嵌入(OLE)。很多人都听说过OLE,并使用过它将电子表格添加到字处理文档时的能力。OLE允许电子表格应用程序动态更新文字处理文档中的信息。通常用户不需要即使是最轻微的配置,也不需要点击鼠标。的奥立规范定义了电子表格(在本例中是OLE服务器)格式化并将数据发送到文字处理程序文档(OLE客户机)。
OPC是基于客户机服务器架构的。OPC服务器是一种软件通常从设备收集信息的应用程序(例如PLC,DCS或者SCADA控制器)使用这些设备的本地协议(比如MODBUS或现场总线)。然后,服务器通过COM对象提供对这些数据的访问以及方法调用,允许多个OPC客户端间接读取和写入通过OPC服务器对字段设备进行访问。OPC客户机是访问OPC服务器所持有的数据的应用程序。例如,HMI包可能包含一个OPC客户端OPC服务器应用程序驻留在另一个服务器上的访问数据机器。HMI包也可以作为OPC服务器,允许其他的OPC客户端访问它从字段直接聚合的数据控制器或其他OPC服务器。为了演示这个客户机服务器体系结构,假设一个简单的系统有三个用于控制水箱水位的基本部件:
• 一种能够实现实际控制的mod总线功能的PLC,
• 一个包含OPC服务器和MODBUS的OPC平台协议驱动程序,
• 用于操作员访问控制系统的HMI。
/
图13 基于水箱系统的OPC过程控制的C/S(客户服务器)架构
HMI需要能够在控制器中写入设置点,读取当前水位,并监测控制输出(泵)警报。如果HMI需要从PLC中读取一个值,那么它将发送一个请求OPC应用程序编程接口(API)调用和服务器将此转换为用于通信的MODBUS消息。当想要的信息从PLC返回到OPC服务器将其转换为OPC,以便将其传输到HMI。

原文链接:http://www.jxszl.com/dzxx/txgc/80545.html