发明名称 一种基于Modbus/TCP深度解析的协议隔离方法
摘要 本发明涉及一种基于Modbus/TCP深度解析的协议隔离方法,本方法采用的技术方案主要基于虚拟化技术在高安全级别网络对外边界和内部不同安全级别网络边界部署安全策略。整体结构分为流量牵引、协议清洗和数据摆渡。流量牵引模块负责将物理数据包导入到指定的虚拟机中,协议清洗模块负责将导入的数据包进行协议识别、数据内容安全检测和私有协议封装与解析等工作,数据摆渡则是利用虚拟机共享内存对私有协议数据进行数据摆渡。针对不同的应用层协议进行正确且安全的流量过滤,本方案能够安全地摆渡协议数据,攻击者在正常状态下无法获取交互数据,本方案基于虚拟化技术的共享内存机制模拟物理网闸中的专用介质,进行数据摆渡提高处理性能,满足实时性需求。
申请公布号 CN106027511A 申请公布日期 2016.10.12
申请号 CN201610320345.4 申请日期 2016.05.13
申请人 北京工业大学 发明人 詹静;杨静;吴欢;陶政
分类号 H04L29/06(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京思海天达知识产权代理有限公司 11203 代理人 沈波
主权项 一种基于Modbus/TCP深度解析的协议隔离方法,其特征在于:在Xen虚拟环境下的协议隔离,用两台Guest OS分别模拟协议隔离的内、外网处理单元;Guest OS上部署协议清洗模块,在协议清洗模块首先对IP数据流量解析,剥离掉TCP/IP的协议特征,阻断基于TCP/IP协议特征的攻击,得到应用层协议数据,然后按照私有协议定义的属性和规则,将该数据包构造成私有协议数据包并用深度检测方法进行安全检测,保证Modbus/TCP数据内容的合法性;1)协议隔离思想Modbus/TCP的通信解释如下;(1)在Xen环境下,搭建两台VM分别模拟协议隔离的内网处理单元即VM1和外网处理单元即VM2;(2)客户机发起的Modbus/TCP请求,首先发给VM1;VM1对收到的Modbus/TCP请求进行协议解析,剥离出头部信息和原始数据;之后VM1将剥离出来的数据经过协议清洗模块的安全检测后,以共享内存的方式摆渡给VM2;VM2收到剥离出的数据后,根据数据中的头部信息,得到真正的服务器地址,同时将数据重新封装为Modbus/TCP协议,发送给Modbus/TCP服务器;(3)Modbus/TCP服务器收到Modbus/TCP客户机请求后,做出响应,将响应报文发给VM2;VM2对收到的响应报文进行协议解析,剥离出头部信息和原始数据;VM2将剥离出的数据经过协议清洗模块的安全检测之后,以共享内存的方式摆渡给VM1;VM1收到剥离出的数据和头部信息后,重新封装成Modbus/TCP协议发送给客户机;(4)至此,完成一次Modbus/TCP客户机和Modbus/TCP服务器之间的通信;2)协议隔离的整体架构Xen虚拟化平台的协议隔离架构包括VMM上的流量牵引模块、数据摆渡模块以及两台虚拟机,其中两台虚拟机上均部署有协议清洗模块;两台虚拟机通过数据摆渡的方式交换数据,在数据摆渡的时候需要用到同步机制,数据摆渡功能封装在数据摆渡模块;3)协议隔离的处理流程协议隔离处理流程主要工作包括:(1)虚拟化平台收到来自设备A的连接请求后,交给流量牵引模块处理;(2)流量牵引模块根据制定的流表将流量牵引至VM1进行处理;VM1收到数据包后,交由协议清洗模块进行解析和安全检测,若检测不通过,则丢弃数据包;若检测通过,则将数据包的应用层原始数据进行私有协议封装,发送到数据摆渡模块;(3)数据摆渡模块利用共享内存将私有协议数据包摆渡至VM2;VM2收到VM1“摆渡”过来的私有协议数据包后,VM2协议清洗模块进行解析,按照相应的TCP/IP协议格式将数据重新封装为标准的TCP/IP协议数据包,之后转发给流量牵引模块;(4)流量牵引模块根据相应的流表规则将数据包发送给设备B;流量牵引模块负责将数据流量导入指定的虚拟机中,是实现安全功能的基础和前提;流量牵引模块是由OpenFlow和OpenvSwitch组建而成,其功能是将指定网口的数据包导入指定虚拟机中,并将指定虚拟机的数据包导出到指定物理网口;流量牵引模块由OpenFlow协议作为控制协议,OpenvSwitch作为虚拟交换机,向上由管理员通过OpenFlow协议控制,其中的流表管理就是协议下发实现;流量牵引模块的核心是流表,它是整个模型中的流量开关,直接决定网络的通断和数据的流向。
地址 100124 北京市朝阳区平乐园100号