数据判定装置、数据判定方法及程序与流程

文档序号:11288721阅读:229来源:国知局
数据判定装置、数据判定方法及程序与流程

本发明涉及数据判定装置、数据判定方法及程序。特别涉及检测对网络的攻击入侵的数据判定装置、数据判定方法及程序。



背景技术:

近年来,在产业控制系统中,系统与网络连接的情况增加,系统成为服务器攻击目标的情况增加。在产业控制系统中,为了检测通过服务器攻击进行的对网络的入侵,采取如下所述的方式。

以往的入侵检测系统利用产业控制系统的网络通信固定这一点,定义收件人地址和发件人地址的对和/或通信协议等被允许的通信。并且,入侵检测系统采取白名单型的对策,通过将被允许的通信以外的通信设为异常,由此对于未知的攻击也能检测入侵(参照专利文献1、2)。

另外,也提出了如下的方式:定义所允许的通信序列(communicationsequence),对各个通信序列中的未连接、通信中、异常处理等通信状态进行管理(参照专利文献2)。

另外,也提出了如下的方法:通过定义允许通信的应用,由此检测通过非法程序的执行进行的网络入侵(参照专利文献3)。

现有技术文献

专利文献

专利文献1:日本特许第4688420号公报

专利文献2:日本特开2001-034553号公报

专利文献3:日本特表2013-532869号公报



技术实现要素:

发明要解决的问题

近年来,以将产业控制系统作为目标的stuxnet(超级工厂病毒)为代表的高度攻击已在进行。stuxnet侵占被允许通信的服务器,在定义为正常的通信中混入攻击通信。因此,存在攻击通信蒙混过专利文献1、2的白名单型对策的问题。

在专利文献2的技术中监视发件人及收件人的通信状态,判定是否是依照预先规定的通信序列的通信状态,依照判定结果进行访问控制。但是,在这种情况下存在如下的问题:通过从被侵占的服务器进行依照通信序列的通信,非法的程序改写等的攻击数据也变得能够进行通信。

在专利文献3的技术中,在本地主机中与应用程序建立通信,在发生了通信时,判定进行该通信的应用程序是否是被允许通信的应用程序,将该通信切断。但是,在该专利文献3的技术中,在被允许通信的应用程序内在的漏洞(vulnerability)被攻击的情况下,将不能切断通信。

本发明的目的在于提供一种对于侵占被允许通信的服务器并在定义为正常的通信中混入攻击通信的攻击也能够检测出入侵的数据判定装置。

用于解决问题的手段

本发明的数据判定装置具有:状态推移模型存储部,其存储表示多个运用状态中的各运用状态之间的状态推移的状态推移模型;状态管理部,其根据所述状态推移模型保有本装置的运用状态;通信许可列表存储部,其将在所述多个运用状态中的各运用状态下允许进行通信的通信许可数据作为通信许可列表进行存储;通信部,其取得通信数据作为通信判定数据;以及判定部,其取得由所述通信部取得的通信判定数据,并且取得由所述状态管理部保有的所述本装置的运用状态作为当前运用状态,使用所述当前运用状态和所述通信许可列表,判定所述通信判定数据是否是在所述当前运用状态下被允许进行通信的通信许可数据。

发明效果

根据本发明的数据判定装置,将按照状态推移模型中包含的每种运用状态而允许进行通信的通信许可数据设定为通信许可列表,判定部使用当前运用状态和通信许可列表,判定通信判定数据是否是在当前运用状态下被允许进行通信的通信许可数据,因而对于侵占被允许通信的服务器并在定义为正常的通信中混入攻击通信的攻击,也能够检测出入侵。

附图说明

图1是实施方式1的数据判定装置的模块结构图。

图2是进行与图1的数据判定装置不同的动作的数据判定装置的模块结构图。

图3是示出实施方式1的数据判定装置的状态推移模型的一例的图。

图4是实施方式1的通信许可列表的结构图。

图5是实施方式1的数据判定装置的硬件结构图。

图6是示出实施方式1的数据判定装置的数据判定方法和数据判定处理的流程图。

图7是示出实施方式1的判定部进行的判定处理的流程图。

图8是实施方式2的数据判定装置的模块结构图。

图9是示出用于根据取得信息历史记录决定运用状态的步骤的图。

图10是示出根据状态推移模型生成的通信许可列表的图。

图11是示出汇总后的通信许可列表的图。

图12是实施方式3的数据判定装置的模块结构图。

图13是进行与图12的数据判定装置不同的动作的数据判定装置的模块结构图。

图14是实施方式4的数据判定装置的模块结构图。

图15是进行与图14的数据判定装置不同的动作的数据判定装置的模块结构图。

图16是实施方式4的通信许可列表的结构图。

图17是示出实施方式4的数据判定装置的状态推移模型的一例的图。

图18是示出实施方式4的数据判定装置的数据判定方法和数据判定处理的流程图。

图19是示出实施方式4的判定部进行的判定处理的流程图。

具体实施方式

实施方式1

***结构说明***

使用图1说明本实施方式的数据判定装置101的模块结构。在此,如图1所示,将具有数据判定装置101、监视控制装置200及控制器300的系统称为数据判定系统500。

数据判定装置101与网络102连接,居中传送(mediate)在监视控制装置200和控制器300之间通信的通信数据,并且进行通信数据的判定。数据判定装置101是检测入侵网络102的攻击的入侵检测装置、入侵检测系统。

控制器300设于例如产业控制系统等中。控制器300具有应用310。应用310将发送数据112发送给数据判定装置101。并且,应用310从监视控制装置200接收接收数据111。在此,将数据判定装置101进行通信并且进行判定的接收数据111和发送数据112也称为通信判定数据109。

监视控制装置200是例如对产业控制系统等进行监视控制的服务器。

数据判定装置101将从监视控制装置200经由网络102接收到的接收数据111居中传送给控制器300。并且,数据判定装置101将控制器300发送的发送数据112经由网络102居中传送给监视控制装置200。

数据判定装置101在居中传送接收数据111和发送数据112的过程中,进行检测攻击入侵的数据判定处理。

数据判定装置101具有状态管理部103、定时器104、通信许可列表存储部105、判定部106、通信部107、警报部108、操作部110以及状态推移模型存储部130。

状态推移模型存储部130存储表示多个运用状态中的各运用状态之间的状态推移的状态推移模型1031。状态推移模型存储部130按照本装置取得的取得信息1033,存储在多个运用状态中的各运用状态之间推移的状态推移模型1031。本装置是指数据判定装置101自身。

取得信息1033是使数据判定装置101的状态推移的要素。在取得信息1033中包含通过通信取得的通信数据、表示已受理对本装置的操作的操作信号1101、和从定时器104输出的定时器信号1041。

状态管理部103根据状态推移模型1031保有本装置即数据判定装置101的运用状态。

通信许可列表存储部105将在多个运用状态中的各运用状态下被允许进行通信的通信许可数据119存储为通信许可列表114。

通信部107取得通信数据作为通信判定数据109。

判定部106取得通过通信部107取得的通信判定数据109,并且取得由状态管理部103保有的本装置的运用状态1032作为当前运用状态113。判定部106使用当前运用状态113和通信许可列表114,判定通信判定数据109是否是在当前运用状态113下被允许进行通信的通信许可数据119。

通信部107经由网络102进行与监视控制装置200的连接。通信部107从监视控制装置200经由网络102对接收数据111进行接收,将接收到的接收数据111输出给判定部106。通信部107将所输入的发送数据112经由网络102发送给监视控制装置200。通信部107是网络输入输出部。

状态管理部103按照状态推移模型1031管理数据判定装置101的运用状态。状态推移模型1031是预先设定的,并存储在数据判定装置101的存储区域中。

操作部110是由人进行操作的按钮、触摸屏等。操作部110输出表示已受理对本装置的操作的操作信号1101。

定时器104计测本装置的运用状态持续的时间。即,在通信有时间限制的情况下,定时器104计测时间限制下的时间。

通信许可列表存储部105是存储通信许可列表114的存储区域。

判定部106取得接收数据111或者发送数据112、状态管理部103输出的当前运用状态113、以及通信许可列表存储部105存储的通信许可列表114。判定部106将所取得的接收数据111或者发送数据112与当前运用状态113和通信许可列表114进行比较,判定接收数据111或者发送数据112是否是被允许的数据,并输出判定结果115。

判定部106在判定为通信判定数据109不是通信许可数据119的情况下,将通信切断。即,判定部106在判定结果115异常的情况下,将通信切断。

在由判定部106判定为通信判定数据109不是通信许可数据119的情况下,警报部108输出表示检测出异常的警报。即,警报部108在判定结果115异常的情况下发出警报。警报部108发出的警报既可以是如指示灯那样基于视觉的警报,也可以经由网络向其它服务器发出警报。

在由判定部106判定为通信判定数据109是通信许可数据119的情况下,状态管理部103根据状态推移模型1031使本装置的运用状态1032推移。

并且,在由判定部106判定为通信判定数据109不是通信许可数据119的情况下,状态管理部103使本装置的运用状态1032推移为异常状态。

另外,状态管理部103也可以仅在判定为正常的情况下使状态推移。

如上所述,状态管理部103保有本装置即数据判定装置101的当前运用状态113。

使用图2说明进行与图1的数据判定装置101不同的动作的数据判定装置101a。

在图1所示的数据判定装置101中,示出了判定部106在判定通信判定数据109后对接收数据111或者发送数据112进行通信的结构。但是,也可以是如图2所示的数据判定装置101a那样,判定部106捕捉监视控制装置200和应用310之间的通信的结构。在图2的数据判定装置101a中,在判定结果115异常的情况下,判定部106不能将通信切断。但是,能够根据由警报部108发出的警报进行针对攻击的处置。

使用图3说明本实施方式的状态管理部103管理的数据判定装置101的状态推移模型1031的一例。图3是一个例子,状态推移模型1031不一定如图3所示的那样。

在图3中,各状态301~307是多个运用状态3001的例子。并且,各状态之间是多个运用状态中的各运用状态之间3002的例子。

在图3中,数据判定装置101在电源接通时推移至网络(nw)构建状态301,并进行nw构建所需要的通信。在数据判定装置101中,将nw构建所需要的通信设为通信数据1。另外,在以下的说明中将网络构建记述为nw构建。在状态推移模型1031中,在nw构建完成并接收到通信数据2时,进入运转a状态302。

在状态推移模型1031中,当存在通信数据的顺序有规定的通信、例如有按照通信数据4、5、6的顺序进行接收的规定的通信的情况下,按照所规定的通信顺序进一步定义运转状态。在图3的状态推移模型1031中定义成:在进行通信数据4的通信时推移到运转b状态303,在进行通信数据5的通信时推移到运转c状态304,在进行通信数据6的通信时推移到运转a状态302。这样,也可以对通信数据4、5、6分配推移到各运转状态的推移条件。

并且,在运转a状态302下,可以是,当存在有时间限制的通信数据7的情况下,起动定时器,转入等待状态305,在定时器停止时恢复为运转a状态302。定时器信号1041是表示定时器的起动停止的信号。

另外,可以根据人的操作1转入维护状态306,进行维护所需的通信例如通信数据8、9。在维护结束并接收到通信数据10时,转入运转a状态302。另外,在进行基于通信数据的状态推移时,也可以仅在判定部106的判定结果正常的情况下进行推移。在各状态下,可以在判定部106的判定结果异常时推移到异常状态307。

使用图4说明本实施方式的通信许可列表114的结构。

图4是在状态管理部103所保持的各个运用状态下被允许的通信许可列表114的例子。图4的通信许可列表114仅是一例,并不一定如图4所示的那样。

如图4所示,通信许可列表114包括运用状态、通信数据编号、发件人地址、命令类别、数据大小上限、数据设定范围等项目。这些项目是任意的,只要是能够确定通信数据的项目,则也可以是其它的项目。

如图4所示,在nw构建时,仅允许通信数据1、2,不允许除此以外的通信。并且,在等待状态下不允许所有的通信。

使用图5说明本实施方式的数据判定装置101的硬件结构的一例。

数据判定装置101是计算机。

数据判定装置101具有处理器901、辅助存储装置902、存储器903、通信装置904、输入接口905、显示器接口906等硬件。

处理器901经由信号线910与其它硬件连接,并控制这些其它硬件。

输入接口905与输入装置907连接。

显示器接口906与显示器908连接。

处理器901是进行处理的ic(integratedcircuit:集成电路)。

处理器901例如是cpu(centralprocessingunit:中央处理单元)、dsp(digitalsignalprocessor:数字信号处理器)、gpu(graphicsprocessingunit:图形处理单元)。

辅助存储装置902例如是rom(readonlymemory:只读存储器)、闪存、hdd(harddiskdrive:硬盘驱动器)。

存储器903例如是ram(randomaccessmemory:随机存取存储器)。

通信装置904包括接收数据的接收器9041和发送数据的发送器9042。

通信装置904例如是通信芯片或者nic(networkinterfacecard:网络接口卡)。

输入接口905是与输入装置907的线缆911连接的端口。

输入接口905例如是usb(universalserialbus:通用串行总线)端子。

显示器接口906是与显示器908的线缆912连接的端口。

显示器接口906例如是usb端子或者hdmi(注册商标)(highdefinitionmultimediainterface:高清晰度多媒体接口)端子。

输入装置907例如是鼠标、键盘或者触摸屏。

显示器908例如是lcd(liquidcrystaldisplay:液晶显示器)。

在辅助存储装置902中存储了实现图1所示的状态管理部103、判定部106及警报部108(以下将状态管理部103、判定部106、警报部108统一表述为“部”)的功能的程序。将实现上述的数据判定装置101具有的“部”的功能的程序也称为数据判定程序。实现“部”的功能的程序既可以是一个程序,也可以由多个程序构成。

该程序加载于存储器903,被处理器901读入并由处理器901执行。

另外,在辅助存储装置902中也存储有os(operatingsystem,运行系统)。

并且,os的至少一部分加载于存储器903,处理器901一面执行os,一面执行实现“部”的功能的程序。

在图5中图示了一个处理器901,但数据判定装置101也可以具有多个处理器901。

并且,也可以是这多个处理器901协作执行用于实现“部”的功能的程序。

另外,将表示“部”的处理结果的信息、数据、信号值和变量值作为文件存储在存储器903、辅助存储装置902、或者处理器901内的寄存器或高速缓存器中。

“部”也可以以“线路(circuitry)”的方式提供。

并且,也可以将“部”替换为“电路(circuit)”、“工序”、“步骤”或“处理”。另外,也可以将“处理”替换为“电路”、“工序”、“步骤”或“部”。

“电路”及“线路”的概念不仅指处理器901,也包括其它类型的处理电路,例如逻辑ic或者ga(gatearray:门阵列)或者asic(applicationspecificintegratedcircuit:专用集成电路)或者fpga(field-programmablegatearray:现场可编程门阵列)。

另外,被称为程序产品的是记录了实现作为“部”说明的功能的程序的存储介质、存储装置等,与外在形式无关,是加载计算机可读的程序的产品。

***动作说明***

使用图6说明本实施方式的数据判定装置101的数据判定方法、数据判定处理s100。

如上所述,数据判定装置101具有存储状态推移模型1031的状态推移模型存储部130、以及将通信许可数据119存储为通信许可列表114的通信许可列表存储部105。

在状态管理处理s101中,状态管理部103根据状态推移模型1031执行保有本装置的运用状态1032的状态管理处理s101。状态管理部103根据状态推移模型1031使本装置的运用状态1032推移,将最新的运用状态保有为本装置的运用状态1032。

在通信处理s110中,通信部107执行取得通信数据作为通信判定数据109的通信处理s110。通信部107取得接收数据111或者发送数据112作为判定的对象即通信判定数据109。

在判定处理s120中,判定部106取得通过通信处理s110所取得的通信判定数据109,并且取得通过状态管理处理s101所保有的本装置的运用状态1032作为当前运用状态113。判定部106使用当前运用状态113和通信许可列表114,判定通信判定数据109是否是在当前运用状态113下被允许进行通信的通信许可数据119。判定部106输出判定结果115。

在s130中,在判定结果115正常即通信判定数据109是通信许可数据119的情况下,进入正常处理s140。

在s130中,在判定结果115异常即通信判定数据109不是通信许可数据119的情况下,进入异常处理s150。

在正常处理s140中,状态管理部103根据所取得的通信判定数据109和状态推移模型1031,使本装置的运用状态1032推移。

在异常处理s150中,状态管理部103使本装置的运用状态1032推移为异常状态。并且,警报部108通知警报。

下面,使用图7说明判定部106进行的判定处理s120。

在s121中,判定部106取得通信判定数据109,并分析所取得的通信判定数据109。判定部106取得接收数据111或者发送数据112作为通信判定数据109。判定部106分析通信判定数据109的内容,提取判定所需要的要素。所提取的要素是在通信许可列表114中记载的项目,如通信数据编号、发件人地址、收件人地址、命令类别、响应类别等。

在s122中,判定部106从状态管理部103取得当前运用状态113。并且,判定部106从通信许可列表存储部105取得通信许可列表114。

在s123中,判定部106根据当前运用状态113和通信许可列表114,判定通信判定数据109是否是在当前运用状态113下被许可的通信数据即通信许可数据119。

如果通信判定数据109是通信许可数据119,则进入s124。

如果通信判定数据109不是通信许可数据119、即通信判定数据109是未被允许的通信,则进入s125。

在s124中,判定部106输出正常的判定结果115。

在s125中,判定部106输出异常的判定结果115,将通信判定数据109的通信切断。或者,判定部106也可以仅输出异常的判定结果115,而不将通信判定数据109的通信切断。

以上结束对本实施方式的数据判定装置101的数据判定方法、数据判定处理s100的说明。

如上所述,本实施方式的数据判定装置101具有以下的结构。

(a)状态管理部,其依照根据通信数据、外部操作和定时器中的任意一项以上的要素进行推移的状态推移模型,管理运用状态。

(b)通信许可列表存储部,其存储按照每个运用状态规定了所允许的通信数据的通信许可列表。

(c)判定部,其使用状态管理部输出的当前运用状态和通信许可列表存储部存储的通信许可列表,判定输入到数据判定装置的通信数据是否正常。

(d)警报部,其根据判定部输出的判定结果发出警报。

此外,状态管理部依照根据判定部输出的判定结果而进行推移的状态推移模型,管理运用状态。判定部将判定为异常的通信数据切断。

***本实施方式的效果的说明***

在先前为了比较而叙述的stuxnet那样的攻击中,被侵占的服务器对控制器进行程序改写。程序改写本身是正常通信,被侵占的服务器也是被定义为正常的服务器,因而在白名单型对策中不能防止如stuxnet那样的攻击。

另一方面,在本实施方式的数据判定装置中,不仅根据通信数据而且也根据人的操作和定时器进行运用状态的推移。因此,通过采取仅在维护状态时受理程序改写且仅通过人的操作进行向维护状态的推移的对策能够检测上述那样的攻击。

另外,通过stuxnet被改写了程序的控制器向作为控制对象的频率变换器高频度地发送变更频率的命令,由此诱发设备故障。在本实施方式的数据判定装置中,能够采取利用定时器检测如此高频度的频率变更命令的对策。

另外,上述对策仅是一例,例如也可以根据来自被保证没有侵占危险的专用装置的通信数据进行向维护状态的转移。

并且,根据本实施方式的数据判定装置,也能够检测脱离正确的通信顺序的情况。

实施方式2

在本实施方式中,主要说明与实施方式1的不同之处。

对与在实施方式1中说明的结构相同的结构标注相同的标号,有时省略其说明。

在上述的实施方式1中,需要由设计者预先设定状态推移模型1031和通信许可列表114。但是,在本实施方式中,对根据取得信息历史记录151生成状态推移模型1031和通信许可列表114的方式进行说明。在本实施方式中,假定在取得信息历史记录151中不包含攻击数据。

***结构说明***

使用图8说明本实施方式的数据判定装置101b的模块结构。

如图8所示,本实施方式的数据判定装置101b在实施方式1的结构基础上,还具有历史记录存储部153和列表生成部152。

历史记录存储部153将取得信息的历史记录存储为取得信息历史记录151。取得信息历史记录151是蓄积了数据判定装置101b取得的取得信息的文件,并存储在数据判定装置101b的存储区域中。取得信息历史记录151是数据判定装置101b取得的取得信息的历史记录,包括通信历史记录。

列表生成部152根据取得信息历史记录151生成状态推移模型1031和通信许可列表114。

另外,状态推移模型1031和通信许可列表114的生成可以通过人工作业来进行,在通过人工作业来进行的情况下,可以不需要列表生成部152。

***动作说明***

图9是示出用于根据取得信息历史记录151决定数据判定装置101b的运用状态,并生成状态推移模型1031的步骤的图。在此,假设列表生成部152自动执行列表生成处理进行说明。

在图9中,假设从“a电源接通”到“t通信数据5”是根据取得信息历史记录151得到的。

使用图9说明列表生成部152进行的状态推移模型生成处理的概要。

如果取得信息历史记录151中包含的连续的通信数据之间的经过时间是第1时间以上,则列表生成部152设定等待状态。

接着,列表生成部152将取得通信数据以外的取得信息的时刻设为第1变化点701,将第1变化点701的前后的运用状态设为第1运用状态。

接着,列表生成部152将取得被判定为在各第1运用状态下运用状态会推移的推移通信数据703的时刻设为第2变化点702,将第2变化点702的前后的运用状态设为第2运用状态,生成状态推移模型。在此,列表生成部152使用聚类方法(clusteringmethod)提取推移通信数据703。

使用图10、图11说明列表生成部152进行的列表生成处理的概要。

列表生成部152将在状态推移模型中所包含的各运用状态下进行了通信的通信数据作为通信许可数据,并设定在通信许可列表中。列表生成部152将通信许可数据中包含关系成立的各个运用状态汇总为一个。

使用图9~图11说明列表生成部152进行的状态推移模型生成处理和列表生成处理的具体内容。

在s601中,如果通信数据之间的经过时间在规定时间以上,则列表生成部152定义“等待”状态。定义为通过在向等待状态推移时起动定时器,并根据定时器的停止而推移到下一个运用状态。

接着,在s602中,列表生成部152在产生了通信数据以外的输入时设为状态的第1变化点701,将第1变化点701的期间设为新的第1运用状态。如图9所示,将从“a电源接通”到“i通信数据5:定时器起动”定义为“状态1”,同样地定义“状态2”和“状态3”。

最后,在s603中,列表生成部152按时序将在s602中设定的第1变化点701期间的通信数据聚类,将聚类期间设为新的第2运用状态。聚类可以采用离差平方和法(ward’smethod)、k-means(k平均)法、机器学习等。在根据规格明确了通信数据导致的状态变化的情况下,也可以根据规格设定第2变化点。同样,在对通信数据规定了顺序的情况下,也可以将各个通信数据定为第2变化点。

如图9所示,在s603中,作为第2运用状态定义了“状态1-1”、“状态1-2”、“状态3-1”和“状态3-2”。

图10是根据状态推移模型生成的通信许可列表,图11是汇总后的通信许可列表。

使用图10及图11,对根据利用在图9中说明的方法生成的状态推移模型生成通信许可列表的方法进行说明。

首先,如图10所示,列表生成部152在先前生成的状态推移模型的各状态下,提取被允许的通信数据,并将其列在通信许可列表的表中。此时,也将推移条件和推移目标的状态汇总在表中。

接着,如图11所示,列表生成部152对在图10的通信许可列表中被允许的通信数据中包含关系成立的状态进行汇总。此时,也汇总对推移目标规定的状态。例如,如图11所示,状态1-2、状态2和状态3-2的包含关系成立,因而将它们汇总为状态1-2,也汇总对应的推移目标。

在利用上述记载的方法或者其它方法将在数据判定装置的外部生成的状态推移模型和通信许可列表安装于数据判定装置时,也可以加上电子签名进行导入,在数据判定装置中验证签名。通过这样的处理,能够检测状态推移模型和通信许可列表的篡改。电子签名可以使用例如rsa签名或ecdsa签名。

如上所述,本实施方式的数据判定装置101b具有根据取得信息历史记录生成状态推移模型和通信许可列表的列表生成部。

并且,列表生成部在生成状态推移模型和通信许可列表时采用以下的处理。

(1)如果通信数据间的经过时间在规定时间以上,则设为等待状态,在推移到等待状态时起动定时器,并根据定时器的停止而推移到下一个状态的处理。

(2)将产生了通信数据以外的输入的点设为运用状态的变化点,将变化点前后的运用状态设为新的运用状态的处理。

(3)将根据(2)所设定的运用状态下的特定的通信数据作为变化点,将其前后的运用状态作为新的运用状态的处理。

(4)在前述各运用状态下,将在运用状态中通信了的数据作为被允许的通信数据列于列表中的处理。

(5)在(3)中求出所述特定的通信数据时采用规定的聚类方法的处理。

(6)将在所述被允许的通信数据中包含关系成立的运用状态汇总为一个的处理。

并且,本实施方式包括以下的处理:在将外部生成的状态推移模型和通信许可列表安装于数据判定装置101b时,验证对状态推移模型和通信许可列表赋予的签名而检测篡改。

***本实施方式的效果的说明***

根据本实施方式的数据判定装置101b,在实施方式1的效果的基础上,能够根据取得信息历史记录自动生成状态推移模型和通信许可列表。因此,能够削减设计者的负担。

实施方式3

在本实施方式中,主要说明与实施方式1、2的不同之处。

对与在实施方式1、2中说明的结构相同的结构标注相同的标号,有时省略其说明。

在上述的实施方式1、2中,数据判定装置101连接于网络102和控制器300之间。但是,在本实施方式中,对能够设置在服务器和控制器之间的数据判定装置101c的结构进行说明。

***结构说明***

使用图12说明本实施方式的数据判定装置101c的模块结构。

数据判定装置101c经由网络102与作为服务器的监视控制装置200连接,经由网络102a与控制器300连接。数据判定装置101c具有与网络102、网络102a分别对应的通信部107、通信部107a。

使用图13说明进行与图12的数据判定装置101c不同动作的数据判定装置101d的模块结构。如图13所示,数据判定装置101d也可以是判定部106捕捉监视控制装置200与控制器300之间的通信的结构。在图13所示的数据判定装置101d中,监视控制装置200和控制器300与一个网络102连接。

***动作说明***

数据判定装置101c与在实施方式1、2中说明的动作一样,判定从监视控制装置200向控制器300的通信以及从控制器300向监视控制装置200的通信。数据判定装置101c的判定动作与实施方式1相同。

并且,数据判定装置101d的动作与实施方式1的数据判定装置101a的动作一样。但是,关于通信许可列表的项目,除发件人地址和命令类别、数据大小上限和数据设定范围等以外,也可以规定收件人地址。

***本实施方式的效果的说明***

在实施方式1、2中,在各个控制器300中设置数据判定装置101,因此在控制器300增加时,成本增加。在本实施方式中,只要在网络中设置一个数据判定装置即可,因而能够削减成本。

在上述的实施方式中,状态管理部、判定部和警报部作为分别独立的功能模块构成数据判定装置。但是,数据判定装置也可以不是如上所述的结构,数据判定装置的结构是任意的。也可以由一个功能模块实现状态管理部、判定部和警报部。另外,也可以由一个功能模块实现状态管理部和判定部,也可以由一个功能模块实现判定部和警报部。

另外,数据判定装置也可以不是一个装置,而是由多个装置构成的数据判定系统。数据判定装置的功能模块只要能够实现实施方式所记载的功能即可,可以是任意的功能模块,也可以由这些功能模块的其它各种组合构成数据判定装置。

另外,对实施方式1~3进行了说明,但也可以组合这三个实施方式中的多个实施方式来实施。或者,也可以部分地实施这三个实施方式中的一个实施方式。或者,也可以部分地组合这三个实施方式中的多个实施方式来实施。此外,对于这三个实施方式也可以整体地或者部分地任意组合来实施。

另外,上述的实施方式本质上只是优选的示例,不得理解为用于限制本发明、其适用物和用途的范围,可以根据需要进行各种变更。

实施方式4

在本实施方式中,主要说明与实施方式1的不同之处。

本实施方式的数据判定装置101e的基本动作与在实施方式1中说明的数据判定装置101相同,但通信许可列表114e的结构、状态推移模型1031e的结构及判定处理s120e的动作与实施方式1不同。

在本实施方式中,对与实施方式1相同的结构标注相同的标号,有时省略其说明。

***结构说明***

使用图14说明本实施方式的数据判定装置101e的模块结构。图14相当于在实施方式1中说明的图1。

本实施方式的数据判定装置101e在实施方式1所说明的数据判定装置101的结构基础上,还具有标志管理部177。并且,由于与实施方式1具有不同之处,因而在本实施方式中将在实施方式1中说明的定时器104、状态管理部103和判定部106设为定时器104e、状态管理部103e和判定部106e。

因此,在本实施方式的数据判定装置101e中,对在实施方式1中说明的“部”的功能加上标志管理部177、定时器104e、状态管理部103e和判定部106e的功能。

标志管理部177管理标志。标志管理部177将标志的当前的值即标志值15输入状态管理部103e和判定部106e。并且,从判定部106e输入标志设定值16。

定时器104e计测时间。具体而言,定时器104e对所设定的值减去规定周期,具体地讲减去1ms,在值变为0的情况下结束减法运算。并且,定时器104e将当前的值即定时器值17输入状态管理部103e和判定部106e。并且,从判定部106e输入定时器设定值18。在本实施方式中,定时器104e是计测时间的计时部144的一例。另外,对在实施方式1中说明的定时器信号1041省略记载。

在状态推移模型存储部130中存储了结构与在实施方式1中说明的状态推移模型1031不同的状态推移模型1031e。

并且,在通信许可列表存储部105中存储了结构与在实施方式1中说明的通信许可列表114不同的通信许可列表114e。如图16所示,在通信许可列表114e中存储有通信许可规则14,通信许可规则14包含在多个运用状态中的各运用状态下被允许进行通信的通信许可数据119e、通信许可数据119e的通信被允许的许可条件192、和通信许可数据的通信被允许时的许可处理193。

如在实施方式1中说明的那样,判定部106e从通信部107取得接收数据111、从应用310取得发送数据112,并且取得由状态管理部103e保有的本装置的运用状态作为当前运用状态113。并且,判定部106e从定时器104e取得定时器值17,从标志管理部177取得标志值15。判定部106e使用当前运用状态113、定时器值17、标志值15、通信许可列表114e,判定通信判定数据109是否符合在当前运用状态113下允许通信的通信许可规则14。

对判定部106e进一步进行说明。

判定部106e取得接收数据111或者发送数据112、状态管理部103e输出的当前运用状态113、通信许可列表存储部105存储的通信许可列表114e、标志管理部177管理的标志值15、和定时器104e管理的定时器值17。判定部106e将所取得的接收数据111或者发送数据112与当前运用状态113、通信许可列表114e和标志值15、以及定时器值17进行比较,判定接收数据111或者发送数据112是否是被允许的数据,并输出判定结果115。

判定部106e在判定为通信判定数据109符合通信许可列表114e中包含的通信许可规则14的情况下,允许通信,执行在所符合的通信许可规则14中记载的动作即许可处理193。具体而言,将在通信许可规则14中对标志管理部177记载的标志许可值设定为标志设定值16,以及/或者将在通信许可规则14中对定时器104e记载的定时器许可值设定为定时器设定值18。

判定部106e在判定为通信判定数据109不符合通信许可规则14的情况下,将通信切断。即,在判定结果115异常的情况下,判定部106e将通信切断。

在由判定部106e判定为通信判定数据109不符合通信许可规则14的情况下,警报部108输出表示检测出异常的警报。即,警报部108与实施方式1同样地,在判定结果115异常时发出警报。

在由判定部106e判定为通信判定数据109符合通信许可规则14的情况下,状态管理部103e根据状态推移模型1031e使本装置的运用状态推移。

并且,在由判定部106e判定为通信判定数据109不符合通信许可规则14的情况下,状态管理部103e使本装置的运用状态推移到异常状态。

另外,状态管理部103e也可以与实施方式1同样地,仅在判定为正常时使状态推移。

如上所述,状态管理部103e保有作为本装置的数据判定装置101e的当前运用状态113。

使用图15说明进行与图14的数据判定装置101e不同的动作的数据判定装置101ea的模块结构。图15相当于在实施方式1中说明的图2。

与在实施方式1中说明的图2同样地,也可以是如图15所示的数据判定装置101ea那样,判定部106e捕捉监视控制装置200和应用310之间的通信的结构。在图15的数据判定装置101ea中,在判定结果115异常的情况下,判定部106e不能将通信切断。但是,能够根据警报部108发出的警报进行针对攻击的处置。

使用图16说明本实施方式的通信许可列表114e的结构。

图16是在状态管理部103e保存的各个运用状态下被允许的通信许可列表114e的例子。图16的通信许可列表114e仅是一例,不必一定如图16所示的那样。

如图16所示,通信许可列表114e包括运用状态、规则编号、接收数据条件和动作(action)这些项目。接收数据条件包括通信许可数据119e和许可条件192。

在通信许可数据119e中与实施方式1同样地设定了发件人地址、命令类别、数据大小上限、数据设定范围这样的信息。

许可条件192包括允许通信许可数据119e的通信的计时部144的值的范围即定时器许可值1921、和允许通信许可数据119e的通信的标志的值即标志许可值1922。

另外,动作是指通信许可数据119e的通信被允许时的许可处理193。动作包括在通信许可数据119e的通信被允许时对计时部144设定的定时器设定值18、和在通信许可数据119e的通信被允许时对标志设定的标志设定值16。

另外,这些项目是任意的,只要是能够确定允许通信的通信数据的项目,则也可以是上述以外的项目。

在图16中,具体而言,在运用状态是nw构建时,意味着仅允许规则1、2,而不允许除此以外的规则。并且,在运用状态是运转a时,意味着仅允许规则3a、3b、3c、7、4,而不允许除此以外的规则。并且,在运用状态为异常时,意味着不允许所有的通信。

另外,通信许可规则14是指设定了是否允许运用状态下的通信的通信许可列表114e的各行。在图16中,作为通信许可规则14设定了规则1~规则10。在运用状态异常的情况下,意味着不允许所有的通信。

使用图17说明本实施方式的数据判定装置101e的状态推移模型1031e的一例。图17仅是一例,状态推移模型1031e不必一定是如图17那样。

在图17中,与实施方式1同样地,各状态301~306是多个运用状态的例子。并且,各状态间是多个运用状态中的各运用状态之间的例子。

在图17中,数据判定装置101e在电源接通时推移到nw构建状态301,进行nw构建所需要的通信。在数据判定装置101e中,将适用于nw构建所需要的通信的规则设为规则1。另外,在以下的说明中,将网络构建也记述为nw构建。在状态推移模型1031e中,在nw构建完成并适用了规则2时,转入运转a状态302。

当存在规定了通信数据的顺序的通信的情况下,状态推移模型1031e进一步依照所规定的通信的顺序定义运转状态。作为所规定的通信的具体示例,存在规定了按照“参数文件发送”、“参数文件设定”、“验证”的顺序进行接收的通信。在状态推移模型1031e中定义成:当在运转a状态302下适用了判定“参数文件发送”的规则4时推移到运转b状态303,在适用了规则5时推移到运转c状态304,在适用了规则6时推移到运转a状态302。这样,也可以将向各个运转状态的推移条件分配给规则4、5、6。

下面,设定时器值17为t1、标志值15为f1进行说明。

在运转a状态302下,有时存在需要在命令接收后空出规定时间的通信。具体而言,如图16中的规则7的“运转数据设定”。在规则7中,如许可条件192那样,t1是对定时器许可值1921设定的0,即,以t1=0为条件接受“运转数据设定”,如许可处理193那样对t1设定规定的值。具体而言,在利用每隔1ms进行减法运算的定时器空出100ms间隔的情况下,对t1设定作为定时器设定值18的100。即,设t1=100。

并且,在运转a状态302下,需要按照b秒间隔(误差±d秒)接收命令的通信,具体地讲是图16中的规则3a、3b的“状态数据取得”。在规则3a、3b中,t1及f1分别与对许可条件192设定的许可值一致的情况下允许通信,并对t1及f1分别设定对许可处理193设定的设定值。并且,在结束状态数据取得时,如规则3c那样,发行状态数据取得结束命令,在接收到该状态数据取得结束命令时,将t1及f1清空。即,对t1及f1分别设定对许可处理193设定的设定值即0。另外,如图17所示,在运转a状态302下,也可以在f1为1且t1为0的情况下,推移到异常状态306。

另外,在运转a状态302下,也可以根据人的操作1转入维护状态305,进行维护所需要的通信,具体地讲是进行程序更新和验证。在维护状态305下维护完成并适用了规则10时,转入运转a状态302。另外,在执行基于通信数据进行的状态推移时,也可以仅在判定部106e的判定结果正常的情况下进行推移。在各状态下,也可以在判定部106e的判定结果异常时推移到异常状态306。

***动作说明***

使用图18说明本实施方式的数据判定装置101e的数据判定方法和数据判定处理s100e。在数据判定处理s100e中,与实施方式1的数据判定处理s100不同之处在于判定处理s120e。除判定处理s120e以外的处理与实施方式1相同,因而简要地进行说明。

如上所述,数据判定装置101e具有存储状态推移模型1031e的状态推移模型存储部130、将通信许可规则14存储为通信许可列表114e的通信许可列表存储部105。

在状态管理处理s101中,状态管理部103e根据状态推移模型1031e执行保有本装置的运用状态的状态管理处理s101。状态管理部103e根据状态推移模型1031e使本装置的运用状态推移,而保有最新的运用状态。

通信处理s110与在实施方式1中说明的处理相同。

在判定处理s120e中,判定部106e取得通过通信处理s110取得的通信判定数据109,并且取得通过状态管理处理s101而保有的本装置的运用状态作为当前运用状态113。并且,判定部106e从定时器104e取得定时器值17,从标志管理部17取得标志值15。判定部106e使用当前运用状态113、定时器值17、标志值15和通信许可列表114e,判定通信判定数据109在当前运用状态113下是否符合通信许可规则14。

具体而言,判定部106e使用定时器值17是否是在定时器许可值1921的范围内的判定结果,判定通信判定数据109是否符合通信许可规则14。并且,判定部106e也可以使用定时器值17是否在定时器许可值1921的范围内的判定结果、标志值15是否是标志许可值1922的判定结果,判定通信判定数据109是否符合通信许可规则14。即,如图16所示,判定部106e在判定为通信判定数据109是通信许可数据119e的情况下,根据是否满足许可条件192的判定结果,输出表示通信判定数据109是否符合通信许可规则14的判定结果115。

在s130中判定结果115正常、即通信判定数据109符合通信许可规则14的情况下,进入正常处理s140。

在s130中判定结果115异常、即通信判定数据109不符合通信许可规则14的情况下,进入异常处理s150。

在正常处理s140中,状态管理部103e根据所取得的通信判定数据109和状态推移模型1031e,使本装置的运用状态推移。

在异常处理s150中,状态管理部103e使本装置的运用状态推移到异常状态。

下面,使用图19说明判定部106e进行的判定处理s120e。在判定处理s120e中,与实施方式1的判定处理s120的不同之处在于s123e、s124e。除s123e、s124e以外的处理与实施方式1相同,因而简要地进行说明。

在s121中,判定部106e取得接收数据111或者发送数据112作为通信判定数据109。判定部106e分析通信判定数据109的内容,提取判定所需的要素。所提取的要素是在通信许可列表114e中记载的项目,包括发件人地址、命令类别这样的信息。

在s122中,判定部106e从状态管理部103e取得当前运用状态113。并且,判定部106e从通信许可列表存储部105取得通信许可列表114e。

在s123e中,判定部106e根据当前运用状态113和通信许可列表114e,判定通信判定数据109是否是在当前运用状态113下被允许的通信数据、即是否符合通信许可规则14。

在判定为通信判定数据109符合通信许可规则14时,进入s124e。

在判定为通信判定数据109哪条通信许可规则14都不符合时,进入s125。

在s125中,判定部106e输出异常的判定结果115,将通信判定数据109的通信切断。或者,判定部106e也可以仅输出异常的判定结果115,而不将通信判定数据109的通信切断。该处理与在实施方式1中说明的处理相同。

在s124e中,判定部106e允许通信,并且如果是与通信判定数据109符合的通信许可规则14对应的动作,则执行该动作。即,判定部106e输出正常的判定结果115并允许通信,并且如果是与通信判定数据109符合的通信许可规则14对应的动作,则执行该动作。具体而言,判定部106e对标志管理部177设置标志设定值16以及/或者对定时器104e设置定时器设定值18。

下面,使用具体示例来说明判定处理s120e。

对数据判定装置101e接收到符合规则4、5、6的通信判定数据109的情况进行说明。

设为数据判定装置101e在运转a状态302下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别和数据大小,判定为通信判定数据109是规则4的“参数文件发送”。数据判定装置101e允许通信,并且使运转状态推移到运转b状态303。

设为数据判定装置101e在运转b状态303下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别和数据大小,判定为通信判定数据109是规则5的“参数文件设定”。数据判定装置101e允许通信,并且使运转状态推移到运转c状态304。

设为数据判定装置101e在运转c状态304下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别和数据大小,判定为通信判定数据109是规则6的“验证”。数据判定装置101e允许通信,并且使运转状态推移到运转a状态302。

下面,对数据判定装置101e接收到符合规则7的通信判定数据109的情况进行说明。

设为数据判定装置101e在运转a状态302下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别、数据大小、数据设定范围、定时器值17和标志值15,判定为通信判定数据109是规则7的“运转数据设定”。数据判定装置101e允许通信,并且将定时器设定值设为100ms。

通过这样进行判定处理s120e,对于需要在命令接收后空出规定时间的通信,也能够进行是否正常的判定。

下面,对数据判定装置101e接收到符合规则3a、3b、3c的通信判定数据109的情况进行说明。规则3a、3b、3c是在运转a状态302下需要以约b秒间隔接收命令的通信。在该通信中,假设对b秒容许±d秒的误差。

设为数据判定装置101e在运转a状态302下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别、数据大小、定时器值17及标志值15,判定为通信判定数据109是规则3a的“状态数据取得”。数据判定装置101e允许通信,并且对定时器104e的值即t1设定b+d,将标志的值即f1设为1。

设为数据判定装置101e在运转a状态302下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别、数据大小、定时器值17及标志值15,判定为通信判定数据109是规则3b的“状态数据取得”。数据判定装置101e允许通信,并且对t1设定b+t1。

设为数据判定装置101e在运转a状态302下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别、数据大小、定时器值17及标志值15,判定为通信判定数据109是规则3c的“状态数据取得结束”。数据判定装置101e允许通信,并且将t1和f1初始化为0。

通过这样进行判定处理s120e,对于需要按照规定间隔接收命令的通信,也能够进行是否正常的判定。

下面,说明数据判定装置101e根据人的操作而转入维护状态,接收到符合规则8、9、10的通信判定数据109的情况。规则8、9、10是在维护状态305下进行维护所需的通信。

设为数据判定装置101e在维护状态305下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别和数据大小,判定为通信判定数据109是规则8的“程序更新”。数据判定装置101e允许通信。

设为数据判定装置101e在维护状态305下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别和数据大小,判定为通信判定数据109是规则9的“验证”。数据判定装置101e允许通信。

设为数据判定装置101e在维护状态305下接收通信判定数据109,根据通信判定数据109的发件人地址、命令类别和数据大小,判定为通信判定数据109是规则9的“维护完成”。数据判定装置101e允许通信,并且使运转状态推移到运转a状态302。

如上所述,结束有关本实施方式的数据判定装置101e的数据判定方法、数据判定处理s100e的说明。

如上所述,本实施方式的数据判定装置具有以下的结构。

(a)状态管理部,其依照根据通信数据、外部操作和定时器中的至少任意一项的要素而推移的状态推移模型,管理运用状态。

(b)通信许可列表存储部,其存储通信许可列表,在该通信许可列表中规定了按照每种运用状态允许的通信数据。

(c)判定部,其使用状态管理部输出的当前运用状态和通信许可列表存储部存储的通信许可列表、定时器值和标志值,判定输入数据判定装置的通信数据是否正常。

(d)警报部,其根据判定部输出的判定结果发出警报。

并且,状态管理部依照根据判定部输出的判定结果而推移的状态推移模型,管理运用状态。判定部将判定为异常的通信数据切断。另外,判定部在判定为正常时执行在通信许可规则中记述的动作。即,判定部在判定为正常时将定时器及标志中至少任意一项设定为规定值。

***本实施方式的效果的说明***

在先前为了比较而叙述的stuxnet那样的攻击中,被侵占的服务器对控制器进行程序改写。程序改写本身是正常通信,被侵占的服务器也是被定义为正常的服务器,因而利用白名单型对策无法防止。

另一方面,在本实施方式的数据判定装置中,定义不仅基于通信数据而且也基于人的操作和/或定时器进行的运用状态的推移。因此,通过采取如下的对策能够检测如上所述的攻击:使仅在维护状态时受理程序改写,使仅通过人的操作进行向维护状态的推移。

另外,通过stuxnet被改写了程序的控制器向作为控制对象的频率变换器高频度地发送变更频率的命令,由此诱发设备的故障。在本实施方式的数据判定装置中,能够通过定时器检测这样的高频度的频率变更命令。

另外,根据本实施方式的数据判定装置,也能够检测脱离正确的通信顺序的情况。

根据本实施方式的数据判定装置,能够检测接收间隔是否固定,因而也能够检测因断线和/或攻击引起的监视控制装置的停止的情况。此时,即使是在管理多个通信的接收间隔的情况下,也能够简化状态推移图的记载,抑制与检测相关的资源。在仅根据状态推移进行接收间隔的控制时,必须管理相对于作为对象的通信数n的状态数n2。但是,根据本实施方式的数据判定装置,能够利用一种状态进行管理。

另外,根据本实施方式的数据判定装置,也能够检测受到了攻击的监视控制装置发行本来不应该发行的命令、和/或取得来自运用上不进行数据取得的监视控制装置的数据。

另外,对实施方式1~3以及实施方式4进行了说明,但也可以组合这四个实施方式中的多个实施方式来实施。或者,也可以部分地实施这四个实施方式中的一个实施方式。或者,也可以部分地组合这四个实施方式中的多个实施方式来实施。此外,对于这四个实施方式也可以整体地或者部分地任意组合来实施。

另外,上述的实施方式本质上仅是优选的示例,并不试图限制本发明、其适用物和用途的范围,能够根据需要进行各种变更。

标号说明

101、101a、101b、101c、101d、101e、101ea数据判定装置;102、102a网络;103、103e状态管理部;104、104e定时器;105通信许可列表存储部;106、106e判定部;107、107a通信部;108警报部;109通信判定数据;110操作部;111接收数据;112发送数据;113当前运用状态;114、114e通信许可列表;115判定结果;119、119e通信许可数据;130状态推移模型存储部;151取得信息历史记录;152列表生成部;153历史记录存储部;200监视控制装置;300控制器;301、302、303、304、305、306、307状态;310应用;500数据判定系统;701第1变化点;702第2变化点;703推移通信数据;901处理器;902辅助存储装置;903存储器;904通信装置;905输入接口;906显示器接口;907输入装置;908显示器;910信号线;911、912线缆;9041接收器;9042发送器;1031、1031e状态推移模型;1032本装置的运用状态;1033取得信息;1041定时器信号;1101操作信号;3001多个运用状态;3002多个运用状态中的各运用状态之间;s101状态管理处理;s100、s100e数据判定处理;s110通信处理;s120、s120e判定处理;s140正常处理;s150异常处理;144计时部;14通信许可规则;15标志值;16标志设定值;17定时器值;18定时器设定值;177标志管理部;192许可条件;193许可处理;1921定时器许可值;1922标志许可值。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1