[发明专利]一种基于状态关系图的PLC漏洞挖掘方法在审
申请号: | 201710087439.6 | 申请日: | 2017-02-17 |
公开(公告)号: | CN106647612A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 王勇;刘蔚;贺文婷 | 申请(专利权)人: | 上海云剑信息技术有限公司 |
主分类号: | G05B19/05 | 分类号: | G05B19/05 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 200433 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 状态 关系 plc 漏洞 挖掘 方法 | ||
技术领域
本发明涉及漏洞自动挖掘领域,尤其涉及一种基于状态关系图的PLC漏洞挖掘方法。
背景技术
PLC漏洞挖掘是当前工业控制系统安全的一个非常重要的关键技术,PLC作为工业控制系统的重要组成部分之一,其安全性也是如今关注的焦点。在近几年对工控系统的评估研究中,发现PLC系统存在着不少安全隐患,如西门子PLC及监控软件APOGEE Insight存在“劫持漏洞”;施耐德电气公司所发布的莫迪康(Modicon)M340可编程逻辑控制器(PLC)存在高严重性缓冲区溢出漏洞;三菱FX3G PLC存在拒绝服务漏洞,允许攻击者利用该漏洞通过发送特殊数据包使PLC重启等。所以对PLC系统的漏洞挖掘是当下研究的重点。
PLC(可编程逻辑控制器)是一种采用一类可编程的存储器,用于其内部存储程序,执行逻辑运算、顺序控制、定时、计数与算术操作等面向用户的指令,并通过数字或模拟式输入/输出控制各种类型的机械或生产过程。其工作原理是通过反复执行用户程序来实现控制功能,采用循环扫描的工作方式,系统周而复始的以一定的顺序完成一系列的具体工作,这些工作包括内部处理、通信处理、输入处理、程序执行、输出处理这五个阶段。PLC每进行一次扫描循环所用的时间为扫描周期。PLC分为运行(RUN)和停止(STOP)两种工作状态,当处于运行状态时,上述扫描周期不断循环;当处于停止状态时,只完成内部处理和通信服务工作。
当前对工控系统的漏洞挖掘主要基于模糊测试技术,模糊测试是一种通过向目标系统提供非预期的输入并监视异常结果来发现软件漏洞的方法。其主要是利用SPIKE、Peach、Sulley、Dfuz和Bunny等工具进行模糊测试。当前对PLC漏洞挖掘技术有基于软硬件编程数据的工业控制系统的漏洞挖掘方法,但是当前PLC挖掘的模糊测试效率还比较低,产生的畸形数据导致PLC异常的漏洞挖掘方法不适用于运行状态下PLC漏洞监测。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于状态关系图的PLC漏洞挖掘方法。该方法的基本原理是根据PLC的运行过程,首先在正常状态下生产输入状态图和输出状态图,然后在对数据输入、程序处理、数据输出过程注入攻击数据,通过对比状态图的差异,判断PLC是否存在安全漏洞。
本发明为克服现有技术的不足采取以下技术方案实现:
本发明公布了一种基于状态关系图的PLC漏洞挖掘方法,该方法主要利用采集某时刻输入映像区和输出锁存区的数据,生成状态,研究输入状态与输出状态之间的逻辑关系,以此得出逻辑状态关系图,由此图来判断PLC中是否存在坏数据注入攻击,以及是在PLC工作过程中的哪一部分区域存在何种坏数据注入攻击。
这种方法可以分为三个模块:状态关系图生成模块、坏数据注入攻击模块和PLC漏洞判断模块。
状态关系图生成模块:读取输入映像区的数据,就可以生成某时刻输入映像区的状态。与此同时,读取输出锁存区的数据,就可以生成某时刻输出锁存区的状态。然后,通过输入映像区的状态以及输出锁存区的状态之间的逻辑关系,产生出逻辑状态关系图。
坏数据注入攻击模块:在某个时钟周期内,在PLC正常运行过程中,对PLC的输入映像区和输出锁存区注入坏数据。PLC的所有输入端子的数据按顺序存入输入映像区。然后在程序处理区中,PLC根据读入的输入数据,依次执行指令中的内容,并写入映像区。当所有指令执行结束后,将输入映像区中的状态传输至输出锁存区中做最后的输出处理。在坏数据注入攻击后,会导致输入映像区、程序处理区和输出锁存区的数据产生差异,通过数据之间的逻辑关系,引发数据之间的关联故障。
PLC漏洞判断模块:通过对比正常时候产生的输入状态、输出状态的逻辑关系来判断PLC工作过程中的各区域是否存在坏数据注入攻击,其步骤如下:
步骤1:采集输入数据,采集所有输入端子的数据;
步骤2:根据所采集的输入数据,生成某时刻的输入状态图;
步骤3:采集输出数据,采集所有输出端子的数据;
步骤4:根据所采集的输出数据,生成某时刻的输出状态图;
步骤5:根据输入和输出的逻辑状态关系图判断此时刻的输入状态和输出状态是否符合逻辑关系,若符合则回到步骤1,因为PLC的工作流程是周而复始地进行,所以开始新一轮的数据采集,若不符合则继续进行PLC漏洞判断;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海云剑信息技术有限公司,未经上海云剑信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710087439.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种雨水渗透收集管
- 下一篇:景观水河道湿地取水装置