本發(fā)明涉及數(shù)據(jù)判定裝置、數(shù)據(jù)判定方法及程序。特別涉及檢測對網(wǎng)絡的攻擊入侵的數(shù)據(jù)判定裝置、數(shù)據(jù)判定方法及程序。
背景技術:
近年來,在產(chǎn)業(yè)控制系統(tǒng)中,系統(tǒng)與網(wǎng)絡連接的情況增加,系統(tǒng)成為服務器攻擊目標的情況增加。在產(chǎn)業(yè)控制系統(tǒng)中,為了檢測通過服務器攻擊進行的對網(wǎng)絡的入侵,采取如下所述的方式。
以往的入侵檢測系統(tǒng)利用產(chǎn)業(yè)控制系統(tǒng)的網(wǎng)絡通信固定這一點,定義收件人地址和發(fā)件人地址的對和/或通信協(xié)議等被允許的通信。并且,入侵檢測系統(tǒng)采取白名單型的對策,通過將被允許的通信以外的通信設為異常,由此對于未知的攻擊也能檢測入侵(參照專利文獻1、2)。
另外,也提出了如下的方式:定義所允許的通信序列(communicationsequence),對各個通信序列中的未連接、通信中、異常處理等通信狀態(tài)進行管理(參照專利文獻2)。
另外,也提出了如下的方法:通過定義允許通信的應用,由此檢測通過非法程序的執(zhí)行進行的網(wǎng)絡入侵(參照專利文獻3)。
現(xiàn)有技術文獻
專利文獻
專利文獻1:日本特許第4688420號公報
專利文獻2:日本特開2001-034553號公報
專利文獻3:日本特表2013-532869號公報
技術實現(xiàn)要素:
發(fā)明要解決的問題
近年來,以將產(chǎn)業(yè)控制系統(tǒng)作為目標的stuxnet(超級工廠病毒)為代表的高度攻擊已在進行。stuxnet侵占被允許通信的服務器,在定義為正常的通信中混入攻擊通信。因此,存在攻擊通信蒙混過專利文獻1、2的白名單型對策的問題。
在專利文獻2的技術中監(jiān)視發(fā)件人及收件人的通信狀態(tài),判定是否是依照預先規(guī)定的通信序列的通信狀態(tài),依照判定結(jié)果進行訪問控制。但是,在這種情況下存在如下的問題:通過從被侵占的服務器進行依照通信序列的通信,非法的程序改寫等的攻擊數(shù)據(jù)也變得能夠進行通信。
在專利文獻3的技術中,在本地主機中與應用程序建立通信,在發(fā)生了通信時,判定進行該通信的應用程序是否是被允許通信的應用程序,將該通信切斷。但是,在該專利文獻3的技術中,在被允許通信的應用程序內(nèi)在的漏洞(vulnerability)被攻擊的情況下,將不能切斷通信。
本發(fā)明的目的在于提供一種對于侵占被允許通信的服務器并在定義為正常的通信中混入攻擊通信的攻擊也能夠檢測出入侵的數(shù)據(jù)判定裝置。
用于解決問題的手段
本發(fā)明的數(shù)據(jù)判定裝置具有:狀態(tài)推移模型存儲部,其存儲表示多個運用狀態(tài)中的各運用狀態(tài)之間的狀態(tài)推移的狀態(tài)推移模型;狀態(tài)管理部,其根據(jù)所述狀態(tài)推移模型保有本裝置的運用狀態(tài);通信許可列表存儲部,其將在所述多個運用狀態(tài)中的各運用狀態(tài)下允許進行通信的通信許可數(shù)據(jù)作為通信許可列表進行存儲;通信部,其取得通信數(shù)據(jù)作為通信判定數(shù)據(jù);以及判定部,其取得由所述通信部取得的通信判定數(shù)據(jù),并且取得由所述狀態(tài)管理部保有的所述本裝置的運用狀態(tài)作為當前運用狀態(tài),使用所述當前運用狀態(tài)和所述通信許可列表,判定所述通信判定數(shù)據(jù)是否是在所述當前運用狀態(tài)下被允許進行通信的通信許可數(shù)據(jù)。
發(fā)明效果
根據(jù)本發(fā)明的數(shù)據(jù)判定裝置,將按照狀態(tài)推移模型中包含的每種運用狀態(tài)而允許進行通信的通信許可數(shù)據(jù)設定為通信許可列表,判定部使用當前運用狀態(tài)和通信許可列表,判定通信判定數(shù)據(jù)是否是在當前運用狀態(tài)下被允許進行通信的通信許可數(shù)據(jù),因而對于侵占被允許通信的服務器并在定義為正常的通信中混入攻擊通信的攻擊,也能夠檢測出入侵。
附圖說明
圖1是實施方式1的數(shù)據(jù)判定裝置的模塊結(jié)構(gòu)圖。
圖2是進行與圖1的數(shù)據(jù)判定裝置不同的動作的數(shù)據(jù)判定裝置的模塊結(jié)構(gòu)圖。
圖3是示出實施方式1的數(shù)據(jù)判定裝置的狀態(tài)推移模型的一例的圖。
圖4是實施方式1的通信許可列表的結(jié)構(gòu)圖。
圖5是實施方式1的數(shù)據(jù)判定裝置的硬件結(jié)構(gòu)圖。
圖6是示出實施方式1的數(shù)據(jù)判定裝置的數(shù)據(jù)判定方法和數(shù)據(jù)判定處理的流程圖。
圖7是示出實施方式1的判定部進行的判定處理的流程圖。
圖8是實施方式2的數(shù)據(jù)判定裝置的模塊結(jié)構(gòu)圖。
圖9是示出用于根據(jù)取得信息歷史記錄決定運用狀態(tài)的步驟的圖。
圖10是示出根據(jù)狀態(tài)推移模型生成的通信許可列表的圖。
圖11是示出匯總后的通信許可列表的圖。
圖12是實施方式3的數(shù)據(jù)判定裝置的模塊結(jié)構(gòu)圖。
圖13是進行與圖12的數(shù)據(jù)判定裝置不同的動作的數(shù)據(jù)判定裝置的模塊結(jié)構(gòu)圖。
圖14是實施方式4的數(shù)據(jù)判定裝置的模塊結(jié)構(gòu)圖。
圖15是進行與圖14的數(shù)據(jù)判定裝置不同的動作的數(shù)據(jù)判定裝置的模塊結(jié)構(gòu)圖。
圖16是實施方式4的通信許可列表的結(jié)構(gòu)圖。
圖17是示出實施方式4的數(shù)據(jù)判定裝置的狀態(tài)推移模型的一例的圖。
圖18是示出實施方式4的數(shù)據(jù)判定裝置的數(shù)據(jù)判定方法和數(shù)據(jù)判定處理的流程圖。
圖19是示出實施方式4的判定部進行的判定處理的流程圖。
具體實施方式
實施方式1
***結(jié)構(gòu)說明***
使用圖1說明本實施方式的數(shù)據(jù)判定裝置101的模塊結(jié)構(gòu)。在此,如圖1所示,將具有數(shù)據(jù)判定裝置101、監(jiān)視控制裝置200及控制器300的系統(tǒng)稱為數(shù)據(jù)判定系統(tǒng)500。
數(shù)據(jù)判定裝置101與網(wǎng)絡102連接,居中傳送(mediate)在監(jiān)視控制裝置200和控制器300之間通信的通信數(shù)據(jù),并且進行通信數(shù)據(jù)的判定。數(shù)據(jù)判定裝置101是檢測入侵網(wǎng)絡102的攻擊的入侵檢測裝置、入侵檢測系統(tǒng)。
控制器300設于例如產(chǎn)業(yè)控制系統(tǒng)等中??刂破?00具有應用310。應用310將發(fā)送數(shù)據(jù)112發(fā)送給數(shù)據(jù)判定裝置101。并且,應用310從監(jiān)視控制裝置200接收接收數(shù)據(jù)111。在此,將數(shù)據(jù)判定裝置101進行通信并且進行判定的接收數(shù)據(jù)111和發(fā)送數(shù)據(jù)112也稱為通信判定數(shù)據(jù)109。
監(jiān)視控制裝置200是例如對產(chǎn)業(yè)控制系統(tǒng)等進行監(jiān)視控制的服務器。
數(shù)據(jù)判定裝置101將從監(jiān)視控制裝置200經(jīng)由網(wǎng)絡102接收到的接收數(shù)據(jù)111居中傳送給控制器300。并且,數(shù)據(jù)判定裝置101將控制器300發(fā)送的發(fā)送數(shù)據(jù)112經(jīng)由網(wǎng)絡102居中傳送給監(jiān)視控制裝置200。
數(shù)據(jù)判定裝置101在居中傳送接收數(shù)據(jù)111和發(fā)送數(shù)據(jù)112的過程中,進行檢測攻擊入侵的數(shù)據(jù)判定處理。
數(shù)據(jù)判定裝置101具有狀態(tài)管理部103、定時器104、通信許可列表存儲部105、判定部106、通信部107、警報部108、操作部110以及狀態(tài)推移模型存儲部130。
狀態(tài)推移模型存儲部130存儲表示多個運用狀態(tài)中的各運用狀態(tài)之間的狀態(tài)推移的狀態(tài)推移模型1031。狀態(tài)推移模型存儲部130按照本裝置取得的取得信息1033,存儲在多個運用狀態(tài)中的各運用狀態(tài)之間推移的狀態(tài)推移模型1031。本裝置是指數(shù)據(jù)判定裝置101自身。
取得信息1033是使數(shù)據(jù)判定裝置101的狀態(tài)推移的要素。在取得信息1033中包含通過通信取得的通信數(shù)據(jù)、表示已受理對本裝置的操作的操作信號1101、和從定時器104輸出的定時器信號1041。
狀態(tài)管理部103根據(jù)狀態(tài)推移模型1031保有本裝置即數(shù)據(jù)判定裝置101的運用狀態(tài)。
通信許可列表存儲部105將在多個運用狀態(tài)中的各運用狀態(tài)下被允許進行通信的通信許可數(shù)據(jù)119存儲為通信許可列表114。
通信部107取得通信數(shù)據(jù)作為通信判定數(shù)據(jù)109。
判定部106取得通過通信部107取得的通信判定數(shù)據(jù)109,并且取得由狀態(tài)管理部103保有的本裝置的運用狀態(tài)1032作為當前運用狀態(tài)113。判定部106使用當前運用狀態(tài)113和通信許可列表114,判定通信判定數(shù)據(jù)109是否是在當前運用狀態(tài)113下被允許進行通信的通信許可數(shù)據(jù)119。
通信部107經(jīng)由網(wǎng)絡102進行與監(jiān)視控制裝置200的連接。通信部107從監(jiān)視控制裝置200經(jīng)由網(wǎng)絡102對接收數(shù)據(jù)111進行接收,將接收到的接收數(shù)據(jù)111輸出給判定部106。通信部107將所輸入的發(fā)送數(shù)據(jù)112經(jīng)由網(wǎng)絡102發(fā)送給監(jiān)視控制裝置200。通信部107是網(wǎng)絡輸入輸出部。
狀態(tài)管理部103按照狀態(tài)推移模型1031管理數(shù)據(jù)判定裝置101的運用狀態(tài)。狀態(tài)推移模型1031是預先設定的,并存儲在數(shù)據(jù)判定裝置101的存儲區(qū)域中。
操作部110是由人進行操作的按鈕、觸摸屏等。操作部110輸出表示已受理對本裝置的操作的操作信號1101。
定時器104計測本裝置的運用狀態(tài)持續(xù)的時間。即,在通信有時間限制的情況下,定時器104計測時間限制下的時間。
通信許可列表存儲部105是存儲通信許可列表114的存儲區(qū)域。
判定部106取得接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112、狀態(tài)管理部103輸出的當前運用狀態(tài)113、以及通信許可列表存儲部105存儲的通信許可列表114。判定部106將所取得的接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112與當前運用狀態(tài)113和通信許可列表114進行比較,判定接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112是否是被允許的數(shù)據(jù),并輸出判定結(jié)果115。
判定部106在判定為通信判定數(shù)據(jù)109不是通信許可數(shù)據(jù)119的情況下,將通信切斷。即,判定部106在判定結(jié)果115異常的情況下,將通信切斷。
在由判定部106判定為通信判定數(shù)據(jù)109不是通信許可數(shù)據(jù)119的情況下,警報部108輸出表示檢測出異常的警報。即,警報部108在判定結(jié)果115異常的情況下發(fā)出警報。警報部108發(fā)出的警報既可以是如指示燈那樣基于視覺的警報,也可以經(jīng)由網(wǎng)絡向其它服務器發(fā)出警報。
在由判定部106判定為通信判定數(shù)據(jù)109是通信許可數(shù)據(jù)119的情況下,狀態(tài)管理部103根據(jù)狀態(tài)推移模型1031使本裝置的運用狀態(tài)1032推移。
并且,在由判定部106判定為通信判定數(shù)據(jù)109不是通信許可數(shù)據(jù)119的情況下,狀態(tài)管理部103使本裝置的運用狀態(tài)1032推移為異常狀態(tài)。
另外,狀態(tài)管理部103也可以僅在判定為正常的情況下使狀態(tài)推移。
如上所述,狀態(tài)管理部103保有本裝置即數(shù)據(jù)判定裝置101的當前運用狀態(tài)113。
使用圖2說明進行與圖1的數(shù)據(jù)判定裝置101不同的動作的數(shù)據(jù)判定裝置101a。
在圖1所示的數(shù)據(jù)判定裝置101中,示出了判定部106在判定通信判定數(shù)據(jù)109后對接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112進行通信的結(jié)構(gòu)。但是,也可以是如圖2所示的數(shù)據(jù)判定裝置101a那樣,判定部106捕捉監(jiān)視控制裝置200和應用310之間的通信的結(jié)構(gòu)。在圖2的數(shù)據(jù)判定裝置101a中,在判定結(jié)果115異常的情況下,判定部106不能將通信切斷。但是,能夠根據(jù)由警報部108發(fā)出的警報進行針對攻擊的處置。
使用圖3說明本實施方式的狀態(tài)管理部103管理的數(shù)據(jù)判定裝置101的狀態(tài)推移模型1031的一例。圖3是一個例子,狀態(tài)推移模型1031不一定如圖3所示的那樣。
在圖3中,各狀態(tài)301~307是多個運用狀態(tài)3001的例子。并且,各狀態(tài)之間是多個運用狀態(tài)中的各運用狀態(tài)之間3002的例子。
在圖3中,數(shù)據(jù)判定裝置101在電源接通時推移至網(wǎng)絡(nw)構(gòu)建狀態(tài)301,并進行nw構(gòu)建所需要的通信。在數(shù)據(jù)判定裝置101中,將nw構(gòu)建所需要的通信設為通信數(shù)據(jù)1。另外,在以下的說明中將網(wǎng)絡構(gòu)建記述為nw構(gòu)建。在狀態(tài)推移模型1031中,在nw構(gòu)建完成并接收到通信數(shù)據(jù)2時,進入運轉(zhuǎn)a狀態(tài)302。
在狀態(tài)推移模型1031中,當存在通信數(shù)據(jù)的順序有規(guī)定的通信、例如有按照通信數(shù)據(jù)4、5、6的順序進行接收的規(guī)定的通信的情況下,按照所規(guī)定的通信順序進一步定義運轉(zhuǎn)狀態(tài)。在圖3的狀態(tài)推移模型1031中定義成:在進行通信數(shù)據(jù)4的通信時推移到運轉(zhuǎn)b狀態(tài)303,在進行通信數(shù)據(jù)5的通信時推移到運轉(zhuǎn)c狀態(tài)304,在進行通信數(shù)據(jù)6的通信時推移到運轉(zhuǎn)a狀態(tài)302。這樣,也可以對通信數(shù)據(jù)4、5、6分配推移到各運轉(zhuǎn)狀態(tài)的推移條件。
并且,在運轉(zhuǎn)a狀態(tài)302下,可以是,當存在有時間限制的通信數(shù)據(jù)7的情況下,起動定時器,轉(zhuǎn)入等待狀態(tài)305,在定時器停止時恢復為運轉(zhuǎn)a狀態(tài)302。定時器信號1041是表示定時器的起動停止的信號。
另外,可以根據(jù)人的操作1轉(zhuǎn)入維護狀態(tài)306,進行維護所需的通信例如通信數(shù)據(jù)8、9。在維護結(jié)束并接收到通信數(shù)據(jù)10時,轉(zhuǎn)入運轉(zhuǎn)a狀態(tài)302。另外,在進行基于通信數(shù)據(jù)的狀態(tài)推移時,也可以僅在判定部106的判定結(jié)果正常的情況下進行推移。在各狀態(tài)下,可以在判定部106的判定結(jié)果異常時推移到異常狀態(tài)307。
使用圖4說明本實施方式的通信許可列表114的結(jié)構(gòu)。
圖4是在狀態(tài)管理部103所保持的各個運用狀態(tài)下被允許的通信許可列表114的例子。圖4的通信許可列表114僅是一例,并不一定如圖4所示的那樣。
如圖4所示,通信許可列表114包括運用狀態(tài)、通信數(shù)據(jù)編號、發(fā)件人地址、命令類別、數(shù)據(jù)大小上限、數(shù)據(jù)設定范圍等項目。這些項目是任意的,只要是能夠確定通信數(shù)據(jù)的項目,則也可以是其它的項目。
如圖4所示,在nw構(gòu)建時,僅允許通信數(shù)據(jù)1、2,不允許除此以外的通信。并且,在等待狀態(tài)下不允許所有的通信。
使用圖5說明本實施方式的數(shù)據(jù)判定裝置101的硬件結(jié)構(gòu)的一例。
數(shù)據(jù)判定裝置101是計算機。
數(shù)據(jù)判定裝置101具有處理器901、輔助存儲裝置902、存儲器903、通信裝置904、輸入接口905、顯示器接口906等硬件。
處理器901經(jīng)由信號線910與其它硬件連接,并控制這些其它硬件。
輸入接口905與輸入裝置907連接。
顯示器接口906與顯示器908連接。
處理器901是進行處理的ic(integratedcircuit:集成電路)。
處理器901例如是cpu(centralprocessingunit:中央處理單元)、dsp(digitalsignalprocessor:數(shù)字信號處理器)、gpu(graphicsprocessingunit:圖形處理單元)。
輔助存儲裝置902例如是rom(readonlymemory:只讀存儲器)、閃存、hdd(harddiskdrive:硬盤驅(qū)動器)。
存儲器903例如是ram(randomaccessmemory:隨機存取存儲器)。
通信裝置904包括接收數(shù)據(jù)的接收器9041和發(fā)送數(shù)據(jù)的發(fā)送器9042。
通信裝置904例如是通信芯片或者nic(networkinterfacecard:網(wǎng)絡接口卡)。
輸入接口905是與輸入裝置907的線纜911連接的端口。
輸入接口905例如是usb(universalserialbus:通用串行總線)端子。
顯示器接口906是與顯示器908的線纜912連接的端口。
顯示器接口906例如是usb端子或者hdmi(注冊商標)(highdefinitionmultimediainterface:高清晰度多媒體接口)端子。
輸入裝置907例如是鼠標、鍵盤或者觸摸屏。
顯示器908例如是lcd(liquidcrystaldisplay:液晶顯示器)。
在輔助存儲裝置902中存儲了實現(xiàn)圖1所示的狀態(tài)管理部103、判定部106及警報部108(以下將狀態(tài)管理部103、判定部106、警報部108統(tǒng)一表述為“部”)的功能的程序。將實現(xiàn)上述的數(shù)據(jù)判定裝置101具有的“部”的功能的程序也稱為數(shù)據(jù)判定程序。實現(xiàn)“部”的功能的程序既可以是一個程序,也可以由多個程序構(gòu)成。
該程序加載于存儲器903,被處理器901讀入并由處理器901執(zhí)行。
另外,在輔助存儲裝置902中也存儲有os(operatingsystem,運行系統(tǒng))。
并且,os的至少一部分加載于存儲器903,處理器901一面執(zhí)行os,一面執(zhí)行實現(xiàn)“部”的功能的程序。
在圖5中圖示了一個處理器901,但數(shù)據(jù)判定裝置101也可以具有多個處理器901。
并且,也可以是這多個處理器901協(xié)作執(zhí)行用于實現(xiàn)“部”的功能的程序。
另外,將表示“部”的處理結(jié)果的信息、數(shù)據(jù)、信號值和變量值作為文件存儲在存儲器903、輔助存儲裝置902、或者處理器901內(nèi)的寄存器或高速緩存器中。
“部”也可以以“線路(circuitry)”的方式提供。
并且,也可以將“部”替換為“電路(circuit)”、“工序”、“步驟”或“處理”。另外,也可以將“處理”替換為“電路”、“工序”、“步驟”或“部”。
“電路”及“線路”的概念不僅指處理器901,也包括其它類型的處理電路,例如邏輯ic或者ga(gatearray:門陣列)或者asic(applicationspecificintegratedcircuit:專用集成電路)或者fpga(field-programmablegatearray:現(xiàn)場可編程門陣列)。
另外,被稱為程序產(chǎn)品的是記錄了實現(xiàn)作為“部”說明的功能的程序的存儲介質(zhì)、存儲裝置等,與外在形式無關,是加載計算機可讀的程序的產(chǎn)品。
***動作說明***
使用圖6說明本實施方式的數(shù)據(jù)判定裝置101的數(shù)據(jù)判定方法、數(shù)據(jù)判定處理s100。
如上所述,數(shù)據(jù)判定裝置101具有存儲狀態(tài)推移模型1031的狀態(tài)推移模型存儲部130、以及將通信許可數(shù)據(jù)119存儲為通信許可列表114的通信許可列表存儲部105。
在狀態(tài)管理處理s101中,狀態(tài)管理部103根據(jù)狀態(tài)推移模型1031執(zhí)行保有本裝置的運用狀態(tài)1032的狀態(tài)管理處理s101。狀態(tài)管理部103根據(jù)狀態(tài)推移模型1031使本裝置的運用狀態(tài)1032推移,將最新的運用狀態(tài)保有為本裝置的運用狀態(tài)1032。
在通信處理s110中,通信部107執(zhí)行取得通信數(shù)據(jù)作為通信判定數(shù)據(jù)109的通信處理s110。通信部107取得接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112作為判定的對象即通信判定數(shù)據(jù)109。
在判定處理s120中,判定部106取得通過通信處理s110所取得的通信判定數(shù)據(jù)109,并且取得通過狀態(tài)管理處理s101所保有的本裝置的運用狀態(tài)1032作為當前運用狀態(tài)113。判定部106使用當前運用狀態(tài)113和通信許可列表114,判定通信判定數(shù)據(jù)109是否是在當前運用狀態(tài)113下被允許進行通信的通信許可數(shù)據(jù)119。判定部106輸出判定結(jié)果115。
在s130中,在判定結(jié)果115正常即通信判定數(shù)據(jù)109是通信許可數(shù)據(jù)119的情況下,進入正常處理s140。
在s130中,在判定結(jié)果115異常即通信判定數(shù)據(jù)109不是通信許可數(shù)據(jù)119的情況下,進入異常處理s150。
在正常處理s140中,狀態(tài)管理部103根據(jù)所取得的通信判定數(shù)據(jù)109和狀態(tài)推移模型1031,使本裝置的運用狀態(tài)1032推移。
在異常處理s150中,狀態(tài)管理部103使本裝置的運用狀態(tài)1032推移為異常狀態(tài)。并且,警報部108通知警報。
下面,使用圖7說明判定部106進行的判定處理s120。
在s121中,判定部106取得通信判定數(shù)據(jù)109,并分析所取得的通信判定數(shù)據(jù)109。判定部106取得接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112作為通信判定數(shù)據(jù)109。判定部106分析通信判定數(shù)據(jù)109的內(nèi)容,提取判定所需要的要素。所提取的要素是在通信許可列表114中記載的項目,如通信數(shù)據(jù)編號、發(fā)件人地址、收件人地址、命令類別、響應類別等。
在s122中,判定部106從狀態(tài)管理部103取得當前運用狀態(tài)113。并且,判定部106從通信許可列表存儲部105取得通信許可列表114。
在s123中,判定部106根據(jù)當前運用狀態(tài)113和通信許可列表114,判定通信判定數(shù)據(jù)109是否是在當前運用狀態(tài)113下被許可的通信數(shù)據(jù)即通信許可數(shù)據(jù)119。
如果通信判定數(shù)據(jù)109是通信許可數(shù)據(jù)119,則進入s124。
如果通信判定數(shù)據(jù)109不是通信許可數(shù)據(jù)119、即通信判定數(shù)據(jù)109是未被允許的通信,則進入s125。
在s124中,判定部106輸出正常的判定結(jié)果115。
在s125中,判定部106輸出異常的判定結(jié)果115,將通信判定數(shù)據(jù)109的通信切斷?;蛘撸卸ú?06也可以僅輸出異常的判定結(jié)果115,而不將通信判定數(shù)據(jù)109的通信切斷。
以上結(jié)束對本實施方式的數(shù)據(jù)判定裝置101的數(shù)據(jù)判定方法、數(shù)據(jù)判定處理s100的說明。
如上所述,本實施方式的數(shù)據(jù)判定裝置101具有以下的結(jié)構(gòu)。
(a)狀態(tài)管理部,其依照根據(jù)通信數(shù)據(jù)、外部操作和定時器中的任意一項以上的要素進行推移的狀態(tài)推移模型,管理運用狀態(tài)。
(b)通信許可列表存儲部,其存儲按照每個運用狀態(tài)規(guī)定了所允許的通信數(shù)據(jù)的通信許可列表。
(c)判定部,其使用狀態(tài)管理部輸出的當前運用狀態(tài)和通信許可列表存儲部存儲的通信許可列表,判定輸入到數(shù)據(jù)判定裝置的通信數(shù)據(jù)是否正常。
(d)警報部,其根據(jù)判定部輸出的判定結(jié)果發(fā)出警報。
此外,狀態(tài)管理部依照根據(jù)判定部輸出的判定結(jié)果而進行推移的狀態(tài)推移模型,管理運用狀態(tài)。判定部將判定為異常的通信數(shù)據(jù)切斷。
***本實施方式的效果的說明***
在先前為了比較而敘述的stuxnet那樣的攻擊中,被侵占的服務器對控制器進行程序改寫。程序改寫本身是正常通信,被侵占的服務器也是被定義為正常的服務器,因而在白名單型對策中不能防止如stuxnet那樣的攻擊。
另一方面,在本實施方式的數(shù)據(jù)判定裝置中,不僅根據(jù)通信數(shù)據(jù)而且也根據(jù)人的操作和定時器進行運用狀態(tài)的推移。因此,通過采取僅在維護狀態(tài)時受理程序改寫且僅通過人的操作進行向維護狀態(tài)的推移的對策能夠檢測上述那樣的攻擊。
另外,通過stuxnet被改寫了程序的控制器向作為控制對象的頻率變換器高頻度地發(fā)送變更頻率的命令,由此誘發(fā)設備故障。在本實施方式的數(shù)據(jù)判定裝置中,能夠采取利用定時器檢測如此高頻度的頻率變更命令的對策。
另外,上述對策僅是一例,例如也可以根據(jù)來自被保證沒有侵占危險的專用裝置的通信數(shù)據(jù)進行向維護狀態(tài)的轉(zhuǎn)移。
并且,根據(jù)本實施方式的數(shù)據(jù)判定裝置,也能夠檢測脫離正確的通信順序的情況。
實施方式2
在本實施方式中,主要說明與實施方式1的不同之處。
對與在實施方式1中說明的結(jié)構(gòu)相同的結(jié)構(gòu)標注相同的標號,有時省略其說明。
在上述的實施方式1中,需要由設計者預先設定狀態(tài)推移模型1031和通信許可列表114。但是,在本實施方式中,對根據(jù)取得信息歷史記錄151生成狀態(tài)推移模型1031和通信許可列表114的方式進行說明。在本實施方式中,假定在取得信息歷史記錄151中不包含攻擊數(shù)據(jù)。
***結(jié)構(gòu)說明***
使用圖8說明本實施方式的數(shù)據(jù)判定裝置101b的模塊結(jié)構(gòu)。
如圖8所示,本實施方式的數(shù)據(jù)判定裝置101b在實施方式1的結(jié)構(gòu)基礎上,還具有歷史記錄存儲部153和列表生成部152。
歷史記錄存儲部153將取得信息的歷史記錄存儲為取得信息歷史記錄151。取得信息歷史記錄151是蓄積了數(shù)據(jù)判定裝置101b取得的取得信息的文件,并存儲在數(shù)據(jù)判定裝置101b的存儲區(qū)域中。取得信息歷史記錄151是數(shù)據(jù)判定裝置101b取得的取得信息的歷史記錄,包括通信歷史記錄。
列表生成部152根據(jù)取得信息歷史記錄151生成狀態(tài)推移模型1031和通信許可列表114。
另外,狀態(tài)推移模型1031和通信許可列表114的生成可以通過人工作業(yè)來進行,在通過人工作業(yè)來進行的情況下,可以不需要列表生成部152。
***動作說明***
圖9是示出用于根據(jù)取得信息歷史記錄151決定數(shù)據(jù)判定裝置101b的運用狀態(tài),并生成狀態(tài)推移模型1031的步驟的圖。在此,假設列表生成部152自動執(zhí)行列表生成處理進行說明。
在圖9中,假設從“a電源接通”到“t通信數(shù)據(jù)5”是根據(jù)取得信息歷史記錄151得到的。
使用圖9說明列表生成部152進行的狀態(tài)推移模型生成處理的概要。
如果取得信息歷史記錄151中包含的連續(xù)的通信數(shù)據(jù)之間的經(jīng)過時間是第1時間以上,則列表生成部152設定等待狀態(tài)。
接著,列表生成部152將取得通信數(shù)據(jù)以外的取得信息的時刻設為第1變化點701,將第1變化點701的前后的運用狀態(tài)設為第1運用狀態(tài)。
接著,列表生成部152將取得被判定為在各第1運用狀態(tài)下運用狀態(tài)會推移的推移通信數(shù)據(jù)703的時刻設為第2變化點702,將第2變化點702的前后的運用狀態(tài)設為第2運用狀態(tài),生成狀態(tài)推移模型。在此,列表生成部152使用聚類方法(clusteringmethod)提取推移通信數(shù)據(jù)703。
使用圖10、圖11說明列表生成部152進行的列表生成處理的概要。
列表生成部152將在狀態(tài)推移模型中所包含的各運用狀態(tài)下進行了通信的通信數(shù)據(jù)作為通信許可數(shù)據(jù),并設定在通信許可列表中。列表生成部152將通信許可數(shù)據(jù)中包含關系成立的各個運用狀態(tài)匯總為一個。
使用圖9~圖11說明列表生成部152進行的狀態(tài)推移模型生成處理和列表生成處理的具體內(nèi)容。
在s601中,如果通信數(shù)據(jù)之間的經(jīng)過時間在規(guī)定時間以上,則列表生成部152定義“等待”狀態(tài)。定義為通過在向等待狀態(tài)推移時起動定時器,并根據(jù)定時器的停止而推移到下一個運用狀態(tài)。
接著,在s602中,列表生成部152在產(chǎn)生了通信數(shù)據(jù)以外的輸入時設為狀態(tài)的第1變化點701,將第1變化點701的期間設為新的第1運用狀態(tài)。如圖9所示,將從“a電源接通”到“i通信數(shù)據(jù)5:定時器起動”定義為“狀態(tài)1”,同樣地定義“狀態(tài)2”和“狀態(tài)3”。
最后,在s603中,列表生成部152按時序?qū)⒃趕602中設定的第1變化點701期間的通信數(shù)據(jù)聚類,將聚類期間設為新的第2運用狀態(tài)。聚類可以采用離差平方和法(ward’smethod)、k-means(k平均)法、機器學習等。在根據(jù)規(guī)格明確了通信數(shù)據(jù)導致的狀態(tài)變化的情況下,也可以根據(jù)規(guī)格設定第2變化點。同樣,在對通信數(shù)據(jù)規(guī)定了順序的情況下,也可以將各個通信數(shù)據(jù)定為第2變化點。
如圖9所示,在s603中,作為第2運用狀態(tài)定義了“狀態(tài)1-1”、“狀態(tài)1-2”、“狀態(tài)3-1”和“狀態(tài)3-2”。
圖10是根據(jù)狀態(tài)推移模型生成的通信許可列表,圖11是匯總后的通信許可列表。
使用圖10及圖11,對根據(jù)利用在圖9中說明的方法生成的狀態(tài)推移模型生成通信許可列表的方法進行說明。
首先,如圖10所示,列表生成部152在先前生成的狀態(tài)推移模型的各狀態(tài)下,提取被允許的通信數(shù)據(jù),并將其列在通信許可列表的表中。此時,也將推移條件和推移目標的狀態(tài)匯總在表中。
接著,如圖11所示,列表生成部152對在圖10的通信許可列表中被允許的通信數(shù)據(jù)中包含關系成立的狀態(tài)進行匯總。此時,也匯總對推移目標規(guī)定的狀態(tài)。例如,如圖11所示,狀態(tài)1-2、狀態(tài)2和狀態(tài)3-2的包含關系成立,因而將它們匯總為狀態(tài)1-2,也匯總對應的推移目標。
在利用上述記載的方法或者其它方法將在數(shù)據(jù)判定裝置的外部生成的狀態(tài)推移模型和通信許可列表安裝于數(shù)據(jù)判定裝置時,也可以加上電子簽名進行導入,在數(shù)據(jù)判定裝置中驗證簽名。通過這樣的處理,能夠檢測狀態(tài)推移模型和通信許可列表的篡改。電子簽名可以使用例如rsa簽名或ecdsa簽名。
如上所述,本實施方式的數(shù)據(jù)判定裝置101b具有根據(jù)取得信息歷史記錄生成狀態(tài)推移模型和通信許可列表的列表生成部。
并且,列表生成部在生成狀態(tài)推移模型和通信許可列表時采用以下的處理。
(1)如果通信數(shù)據(jù)間的經(jīng)過時間在規(guī)定時間以上,則設為等待狀態(tài),在推移到等待狀態(tài)時起動定時器,并根據(jù)定時器的停止而推移到下一個狀態(tài)的處理。
(2)將產(chǎn)生了通信數(shù)據(jù)以外的輸入的點設為運用狀態(tài)的變化點,將變化點前后的運用狀態(tài)設為新的運用狀態(tài)的處理。
(3)將根據(jù)(2)所設定的運用狀態(tài)下的特定的通信數(shù)據(jù)作為變化點,將其前后的運用狀態(tài)作為新的運用狀態(tài)的處理。
(4)在前述各運用狀態(tài)下,將在運用狀態(tài)中通信了的數(shù)據(jù)作為被允許的通信數(shù)據(jù)列于列表中的處理。
(5)在(3)中求出所述特定的通信數(shù)據(jù)時采用規(guī)定的聚類方法的處理。
(6)將在所述被允許的通信數(shù)據(jù)中包含關系成立的運用狀態(tài)匯總為一個的處理。
并且,本實施方式包括以下的處理:在將外部生成的狀態(tài)推移模型和通信許可列表安裝于數(shù)據(jù)判定裝置101b時,驗證對狀態(tài)推移模型和通信許可列表賦予的簽名而檢測篡改。
***本實施方式的效果的說明***
根據(jù)本實施方式的數(shù)據(jù)判定裝置101b,在實施方式1的效果的基礎上,能夠根據(jù)取得信息歷史記錄自動生成狀態(tài)推移模型和通信許可列表。因此,能夠削減設計者的負擔。
實施方式3
在本實施方式中,主要說明與實施方式1、2的不同之處。
對與在實施方式1、2中說明的結(jié)構(gòu)相同的結(jié)構(gòu)標注相同的標號,有時省略其說明。
在上述的實施方式1、2中,數(shù)據(jù)判定裝置101連接于網(wǎng)絡102和控制器300之間。但是,在本實施方式中,對能夠設置在服務器和控制器之間的數(shù)據(jù)判定裝置101c的結(jié)構(gòu)進行說明。
***結(jié)構(gòu)說明***
使用圖12說明本實施方式的數(shù)據(jù)判定裝置101c的模塊結(jié)構(gòu)。
數(shù)據(jù)判定裝置101c經(jīng)由網(wǎng)絡102與作為服務器的監(jiān)視控制裝置200連接,經(jīng)由網(wǎng)絡102a與控制器300連接。數(shù)據(jù)判定裝置101c具有與網(wǎng)絡102、網(wǎng)絡102a分別對應的通信部107、通信部107a。
使用圖13說明進行與圖12的數(shù)據(jù)判定裝置101c不同動作的數(shù)據(jù)判定裝置101d的模塊結(jié)構(gòu)。如圖13所示,數(shù)據(jù)判定裝置101d也可以是判定部106捕捉監(jiān)視控制裝置200與控制器300之間的通信的結(jié)構(gòu)。在圖13所示的數(shù)據(jù)判定裝置101d中,監(jiān)視控制裝置200和控制器300與一個網(wǎng)絡102連接。
***動作說明***
數(shù)據(jù)判定裝置101c與在實施方式1、2中說明的動作一樣,判定從監(jiān)視控制裝置200向控制器300的通信以及從控制器300向監(jiān)視控制裝置200的通信。數(shù)據(jù)判定裝置101c的判定動作與實施方式1相同。
并且,數(shù)據(jù)判定裝置101d的動作與實施方式1的數(shù)據(jù)判定裝置101a的動作一樣。但是,關于通信許可列表的項目,除發(fā)件人地址和命令類別、數(shù)據(jù)大小上限和數(shù)據(jù)設定范圍等以外,也可以規(guī)定收件人地址。
***本實施方式的效果的說明***
在實施方式1、2中,在各個控制器300中設置數(shù)據(jù)判定裝置101,因此在控制器300增加時,成本增加。在本實施方式中,只要在網(wǎng)絡中設置一個數(shù)據(jù)判定裝置即可,因而能夠削減成本。
在上述的實施方式中,狀態(tài)管理部、判定部和警報部作為分別獨立的功能模塊構(gòu)成數(shù)據(jù)判定裝置。但是,數(shù)據(jù)判定裝置也可以不是如上所述的結(jié)構(gòu),數(shù)據(jù)判定裝置的結(jié)構(gòu)是任意的。也可以由一個功能模塊實現(xiàn)狀態(tài)管理部、判定部和警報部。另外,也可以由一個功能模塊實現(xiàn)狀態(tài)管理部和判定部,也可以由一個功能模塊實現(xiàn)判定部和警報部。
另外,數(shù)據(jù)判定裝置也可以不是一個裝置,而是由多個裝置構(gòu)成的數(shù)據(jù)判定系統(tǒng)。數(shù)據(jù)判定裝置的功能模塊只要能夠?qū)崿F(xiàn)實施方式所記載的功能即可,可以是任意的功能模塊,也可以由這些功能模塊的其它各種組合構(gòu)成數(shù)據(jù)判定裝置。
另外,對實施方式1~3進行了說明,但也可以組合這三個實施方式中的多個實施方式來實施?;蛘?,也可以部分地實施這三個實施方式中的一個實施方式?;蛘撸部梢圆糠值亟M合這三個實施方式中的多個實施方式來實施。此外,對于這三個實施方式也可以整體地或者部分地任意組合來實施。
另外,上述的實施方式本質(zhì)上只是優(yōu)選的示例,不得理解為用于限制本發(fā)明、其適用物和用途的范圍,可以根據(jù)需要進行各種變更。
實施方式4
在本實施方式中,主要說明與實施方式1的不同之處。
本實施方式的數(shù)據(jù)判定裝置101e的基本動作與在實施方式1中說明的數(shù)據(jù)判定裝置101相同,但通信許可列表114e的結(jié)構(gòu)、狀態(tài)推移模型1031e的結(jié)構(gòu)及判定處理s120e的動作與實施方式1不同。
在本實施方式中,對與實施方式1相同的結(jié)構(gòu)標注相同的標號,有時省略其說明。
***結(jié)構(gòu)說明***
使用圖14說明本實施方式的數(shù)據(jù)判定裝置101e的模塊結(jié)構(gòu)。圖14相當于在實施方式1中說明的圖1。
本實施方式的數(shù)據(jù)判定裝置101e在實施方式1所說明的數(shù)據(jù)判定裝置101的結(jié)構(gòu)基礎上,還具有標志管理部177。并且,由于與實施方式1具有不同之處,因而在本實施方式中將在實施方式1中說明的定時器104、狀態(tài)管理部103和判定部106設為定時器104e、狀態(tài)管理部103e和判定部106e。
因此,在本實施方式的數(shù)據(jù)判定裝置101e中,對在實施方式1中說明的“部”的功能加上標志管理部177、定時器104e、狀態(tài)管理部103e和判定部106e的功能。
標志管理部177管理標志。標志管理部177將標志的當前的值即標志值15輸入狀態(tài)管理部103e和判定部106e。并且,從判定部106e輸入標志設定值16。
定時器104e計測時間。具體而言,定時器104e對所設定的值減去規(guī)定周期,具體地講減去1ms,在值變?yōu)?的情況下結(jié)束減法運算。并且,定時器104e將當前的值即定時器值17輸入狀態(tài)管理部103e和判定部106e。并且,從判定部106e輸入定時器設定值18。在本實施方式中,定時器104e是計測時間的計時部144的一例。另外,對在實施方式1中說明的定時器信號1041省略記載。
在狀態(tài)推移模型存儲部130中存儲了結(jié)構(gòu)與在實施方式1中說明的狀態(tài)推移模型1031不同的狀態(tài)推移模型1031e。
并且,在通信許可列表存儲部105中存儲了結(jié)構(gòu)與在實施方式1中說明的通信許可列表114不同的通信許可列表114e。如圖16所示,在通信許可列表114e中存儲有通信許可規(guī)則14,通信許可規(guī)則14包含在多個運用狀態(tài)中的各運用狀態(tài)下被允許進行通信的通信許可數(shù)據(jù)119e、通信許可數(shù)據(jù)119e的通信被允許的許可條件192、和通信許可數(shù)據(jù)的通信被允許時的許可處理193。
如在實施方式1中說明的那樣,判定部106e從通信部107取得接收數(shù)據(jù)111、從應用310取得發(fā)送數(shù)據(jù)112,并且取得由狀態(tài)管理部103e保有的本裝置的運用狀態(tài)作為當前運用狀態(tài)113。并且,判定部106e從定時器104e取得定時器值17,從標志管理部177取得標志值15。判定部106e使用當前運用狀態(tài)113、定時器值17、標志值15、通信許可列表114e,判定通信判定數(shù)據(jù)109是否符合在當前運用狀態(tài)113下允許通信的通信許可規(guī)則14。
對判定部106e進一步進行說明。
判定部106e取得接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112、狀態(tài)管理部103e輸出的當前運用狀態(tài)113、通信許可列表存儲部105存儲的通信許可列表114e、標志管理部177管理的標志值15、和定時器104e管理的定時器值17。判定部106e將所取得的接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112與當前運用狀態(tài)113、通信許可列表114e和標志值15、以及定時器值17進行比較,判定接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112是否是被允許的數(shù)據(jù),并輸出判定結(jié)果115。
判定部106e在判定為通信判定數(shù)據(jù)109符合通信許可列表114e中包含的通信許可規(guī)則14的情況下,允許通信,執(zhí)行在所符合的通信許可規(guī)則14中記載的動作即許可處理193。具體而言,將在通信許可規(guī)則14中對標志管理部177記載的標志許可值設定為標志設定值16,以及/或者將在通信許可規(guī)則14中對定時器104e記載的定時器許可值設定為定時器設定值18。
判定部106e在判定為通信判定數(shù)據(jù)109不符合通信許可規(guī)則14的情況下,將通信切斷。即,在判定結(jié)果115異常的情況下,判定部106e將通信切斷。
在由判定部106e判定為通信判定數(shù)據(jù)109不符合通信許可規(guī)則14的情況下,警報部108輸出表示檢測出異常的警報。即,警報部108與實施方式1同樣地,在判定結(jié)果115異常時發(fā)出警報。
在由判定部106e判定為通信判定數(shù)據(jù)109符合通信許可規(guī)則14的情況下,狀態(tài)管理部103e根據(jù)狀態(tài)推移模型1031e使本裝置的運用狀態(tài)推移。
并且,在由判定部106e判定為通信判定數(shù)據(jù)109不符合通信許可規(guī)則14的情況下,狀態(tài)管理部103e使本裝置的運用狀態(tài)推移到異常狀態(tài)。
另外,狀態(tài)管理部103e也可以與實施方式1同樣地,僅在判定為正常時使狀態(tài)推移。
如上所述,狀態(tài)管理部103e保有作為本裝置的數(shù)據(jù)判定裝置101e的當前運用狀態(tài)113。
使用圖15說明進行與圖14的數(shù)據(jù)判定裝置101e不同的動作的數(shù)據(jù)判定裝置101ea的模塊結(jié)構(gòu)。圖15相當于在實施方式1中說明的圖2。
與在實施方式1中說明的圖2同樣地,也可以是如圖15所示的數(shù)據(jù)判定裝置101ea那樣,判定部106e捕捉監(jiān)視控制裝置200和應用310之間的通信的結(jié)構(gòu)。在圖15的數(shù)據(jù)判定裝置101ea中,在判定結(jié)果115異常的情況下,判定部106e不能將通信切斷。但是,能夠根據(jù)警報部108發(fā)出的警報進行針對攻擊的處置。
使用圖16說明本實施方式的通信許可列表114e的結(jié)構(gòu)。
圖16是在狀態(tài)管理部103e保存的各個運用狀態(tài)下被允許的通信許可列表114e的例子。圖16的通信許可列表114e僅是一例,不必一定如圖16所示的那樣。
如圖16所示,通信許可列表114e包括運用狀態(tài)、規(guī)則編號、接收數(shù)據(jù)條件和動作(action)這些項目。接收數(shù)據(jù)條件包括通信許可數(shù)據(jù)119e和許可條件192。
在通信許可數(shù)據(jù)119e中與實施方式1同樣地設定了發(fā)件人地址、命令類別、數(shù)據(jù)大小上限、數(shù)據(jù)設定范圍這樣的信息。
許可條件192包括允許通信許可數(shù)據(jù)119e的通信的計時部144的值的范圍即定時器許可值1921、和允許通信許可數(shù)據(jù)119e的通信的標志的值即標志許可值1922。
另外,動作是指通信許可數(shù)據(jù)119e的通信被允許時的許可處理193。動作包括在通信許可數(shù)據(jù)119e的通信被允許時對計時部144設定的定時器設定值18、和在通信許可數(shù)據(jù)119e的通信被允許時對標志設定的標志設定值16。
另外,這些項目是任意的,只要是能夠確定允許通信的通信數(shù)據(jù)的項目,則也可以是上述以外的項目。
在圖16中,具體而言,在運用狀態(tài)是nw構(gòu)建時,意味著僅允許規(guī)則1、2,而不允許除此以外的規(guī)則。并且,在運用狀態(tài)是運轉(zhuǎn)a時,意味著僅允許規(guī)則3a、3b、3c、7、4,而不允許除此以外的規(guī)則。并且,在運用狀態(tài)為異常時,意味著不允許所有的通信。
另外,通信許可規(guī)則14是指設定了是否允許運用狀態(tài)下的通信的通信許可列表114e的各行。在圖16中,作為通信許可規(guī)則14設定了規(guī)則1~規(guī)則10。在運用狀態(tài)異常的情況下,意味著不允許所有的通信。
使用圖17說明本實施方式的數(shù)據(jù)判定裝置101e的狀態(tài)推移模型1031e的一例。圖17僅是一例,狀態(tài)推移模型1031e不必一定是如圖17那樣。
在圖17中,與實施方式1同樣地,各狀態(tài)301~306是多個運用狀態(tài)的例子。并且,各狀態(tài)間是多個運用狀態(tài)中的各運用狀態(tài)之間的例子。
在圖17中,數(shù)據(jù)判定裝置101e在電源接通時推移到nw構(gòu)建狀態(tài)301,進行nw構(gòu)建所需要的通信。在數(shù)據(jù)判定裝置101e中,將適用于nw構(gòu)建所需要的通信的規(guī)則設為規(guī)則1。另外,在以下的說明中,將網(wǎng)絡構(gòu)建也記述為nw構(gòu)建。在狀態(tài)推移模型1031e中,在nw構(gòu)建完成并適用了規(guī)則2時,轉(zhuǎn)入運轉(zhuǎn)a狀態(tài)302。
當存在規(guī)定了通信數(shù)據(jù)的順序的通信的情況下,狀態(tài)推移模型1031e進一步依照所規(guī)定的通信的順序定義運轉(zhuǎn)狀態(tài)。作為所規(guī)定的通信的具體示例,存在規(guī)定了按照“參數(shù)文件發(fā)送”、“參數(shù)文件設定”、“驗證”的順序進行接收的通信。在狀態(tài)推移模型1031e中定義成:當在運轉(zhuǎn)a狀態(tài)302下適用了判定“參數(shù)文件發(fā)送”的規(guī)則4時推移到運轉(zhuǎn)b狀態(tài)303,在適用了規(guī)則5時推移到運轉(zhuǎn)c狀態(tài)304,在適用了規(guī)則6時推移到運轉(zhuǎn)a狀態(tài)302。這樣,也可以將向各個運轉(zhuǎn)狀態(tài)的推移條件分配給規(guī)則4、5、6。
下面,設定時器值17為t1、標志值15為f1進行說明。
在運轉(zhuǎn)a狀態(tài)302下,有時存在需要在命令接收后空出規(guī)定時間的通信。具體而言,如圖16中的規(guī)則7的“運轉(zhuǎn)數(shù)據(jù)設定”。在規(guī)則7中,如許可條件192那樣,t1是對定時器許可值1921設定的0,即,以t1=0為條件接受“運轉(zhuǎn)數(shù)據(jù)設定”,如許可處理193那樣對t1設定規(guī)定的值。具體而言,在利用每隔1ms進行減法運算的定時器空出100ms間隔的情況下,對t1設定作為定時器設定值18的100。即,設t1=100。
并且,在運轉(zhuǎn)a狀態(tài)302下,需要按照b秒間隔(誤差±d秒)接收命令的通信,具體地講是圖16中的規(guī)則3a、3b的“狀態(tài)數(shù)據(jù)取得”。在規(guī)則3a、3b中,t1及f1分別與對許可條件192設定的許可值一致的情況下允許通信,并對t1及f1分別設定對許可處理193設定的設定值。并且,在結(jié)束狀態(tài)數(shù)據(jù)取得時,如規(guī)則3c那樣,發(fā)行狀態(tài)數(shù)據(jù)取得結(jié)束命令,在接收到該狀態(tài)數(shù)據(jù)取得結(jié)束命令時,將t1及f1清空。即,對t1及f1分別設定對許可處理193設定的設定值即0。另外,如圖17所示,在運轉(zhuǎn)a狀態(tài)302下,也可以在f1為1且t1為0的情況下,推移到異常狀態(tài)306。
另外,在運轉(zhuǎn)a狀態(tài)302下,也可以根據(jù)人的操作1轉(zhuǎn)入維護狀態(tài)305,進行維護所需要的通信,具體地講是進行程序更新和驗證。在維護狀態(tài)305下維護完成并適用了規(guī)則10時,轉(zhuǎn)入運轉(zhuǎn)a狀態(tài)302。另外,在執(zhí)行基于通信數(shù)據(jù)進行的狀態(tài)推移時,也可以僅在判定部106e的判定結(jié)果正常的情況下進行推移。在各狀態(tài)下,也可以在判定部106e的判定結(jié)果異常時推移到異常狀態(tài)306。
***動作說明***
使用圖18說明本實施方式的數(shù)據(jù)判定裝置101e的數(shù)據(jù)判定方法和數(shù)據(jù)判定處理s100e。在數(shù)據(jù)判定處理s100e中,與實施方式1的數(shù)據(jù)判定處理s100不同之處在于判定處理s120e。除判定處理s120e以外的處理與實施方式1相同,因而簡要地進行說明。
如上所述,數(shù)據(jù)判定裝置101e具有存儲狀態(tài)推移模型1031e的狀態(tài)推移模型存儲部130、將通信許可規(guī)則14存儲為通信許可列表114e的通信許可列表存儲部105。
在狀態(tài)管理處理s101中,狀態(tài)管理部103e根據(jù)狀態(tài)推移模型1031e執(zhí)行保有本裝置的運用狀態(tài)的狀態(tài)管理處理s101。狀態(tài)管理部103e根據(jù)狀態(tài)推移模型1031e使本裝置的運用狀態(tài)推移,而保有最新的運用狀態(tài)。
通信處理s110與在實施方式1中說明的處理相同。
在判定處理s120e中,判定部106e取得通過通信處理s110取得的通信判定數(shù)據(jù)109,并且取得通過狀態(tài)管理處理s101而保有的本裝置的運用狀態(tài)作為當前運用狀態(tài)113。并且,判定部106e從定時器104e取得定時器值17,從標志管理部17取得標志值15。判定部106e使用當前運用狀態(tài)113、定時器值17、標志值15和通信許可列表114e,判定通信判定數(shù)據(jù)109在當前運用狀態(tài)113下是否符合通信許可規(guī)則14。
具體而言,判定部106e使用定時器值17是否是在定時器許可值1921的范圍內(nèi)的判定結(jié)果,判定通信判定數(shù)據(jù)109是否符合通信許可規(guī)則14。并且,判定部106e也可以使用定時器值17是否在定時器許可值1921的范圍內(nèi)的判定結(jié)果、標志值15是否是標志許可值1922的判定結(jié)果,判定通信判定數(shù)據(jù)109是否符合通信許可規(guī)則14。即,如圖16所示,判定部106e在判定為通信判定數(shù)據(jù)109是通信許可數(shù)據(jù)119e的情況下,根據(jù)是否滿足許可條件192的判定結(jié)果,輸出表示通信判定數(shù)據(jù)109是否符合通信許可規(guī)則14的判定結(jié)果115。
在s130中判定結(jié)果115正常、即通信判定數(shù)據(jù)109符合通信許可規(guī)則14的情況下,進入正常處理s140。
在s130中判定結(jié)果115異常、即通信判定數(shù)據(jù)109不符合通信許可規(guī)則14的情況下,進入異常處理s150。
在正常處理s140中,狀態(tài)管理部103e根據(jù)所取得的通信判定數(shù)據(jù)109和狀態(tài)推移模型1031e,使本裝置的運用狀態(tài)推移。
在異常處理s150中,狀態(tài)管理部103e使本裝置的運用狀態(tài)推移到異常狀態(tài)。
下面,使用圖19說明判定部106e進行的判定處理s120e。在判定處理s120e中,與實施方式1的判定處理s120的不同之處在于s123e、s124e。除s123e、s124e以外的處理與實施方式1相同,因而簡要地進行說明。
在s121中,判定部106e取得接收數(shù)據(jù)111或者發(fā)送數(shù)據(jù)112作為通信判定數(shù)據(jù)109。判定部106e分析通信判定數(shù)據(jù)109的內(nèi)容,提取判定所需的要素。所提取的要素是在通信許可列表114e中記載的項目,包括發(fā)件人地址、命令類別這樣的信息。
在s122中,判定部106e從狀態(tài)管理部103e取得當前運用狀態(tài)113。并且,判定部106e從通信許可列表存儲部105取得通信許可列表114e。
在s123e中,判定部106e根據(jù)當前運用狀態(tài)113和通信許可列表114e,判定通信判定數(shù)據(jù)109是否是在當前運用狀態(tài)113下被允許的通信數(shù)據(jù)、即是否符合通信許可規(guī)則14。
在判定為通信判定數(shù)據(jù)109符合通信許可規(guī)則14時,進入s124e。
在判定為通信判定數(shù)據(jù)109哪條通信許可規(guī)則14都不符合時,進入s125。
在s125中,判定部106e輸出異常的判定結(jié)果115,將通信判定數(shù)據(jù)109的通信切斷?;蛘?,判定部106e也可以僅輸出異常的判定結(jié)果115,而不將通信判定數(shù)據(jù)109的通信切斷。該處理與在實施方式1中說明的處理相同。
在s124e中,判定部106e允許通信,并且如果是與通信判定數(shù)據(jù)109符合的通信許可規(guī)則14對應的動作,則執(zhí)行該動作。即,判定部106e輸出正常的判定結(jié)果115并允許通信,并且如果是與通信判定數(shù)據(jù)109符合的通信許可規(guī)則14對應的動作,則執(zhí)行該動作。具體而言,判定部106e對標志管理部177設置標志設定值16以及/或者對定時器104e設置定時器設定值18。
下面,使用具體示例來說明判定處理s120e。
對數(shù)據(jù)判定裝置101e接收到符合規(guī)則4、5、6的通信判定數(shù)據(jù)109的情況進行說明。
設為數(shù)據(jù)判定裝置101e在運轉(zhuǎn)a狀態(tài)302下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別和數(shù)據(jù)大小,判定為通信判定數(shù)據(jù)109是規(guī)則4的“參數(shù)文件發(fā)送”。數(shù)據(jù)判定裝置101e允許通信,并且使運轉(zhuǎn)狀態(tài)推移到運轉(zhuǎn)b狀態(tài)303。
設為數(shù)據(jù)判定裝置101e在運轉(zhuǎn)b狀態(tài)303下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別和數(shù)據(jù)大小,判定為通信判定數(shù)據(jù)109是規(guī)則5的“參數(shù)文件設定”。數(shù)據(jù)判定裝置101e允許通信,并且使運轉(zhuǎn)狀態(tài)推移到運轉(zhuǎn)c狀態(tài)304。
設為數(shù)據(jù)判定裝置101e在運轉(zhuǎn)c狀態(tài)304下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別和數(shù)據(jù)大小,判定為通信判定數(shù)據(jù)109是規(guī)則6的“驗證”。數(shù)據(jù)判定裝置101e允許通信,并且使運轉(zhuǎn)狀態(tài)推移到運轉(zhuǎn)a狀態(tài)302。
下面,對數(shù)據(jù)判定裝置101e接收到符合規(guī)則7的通信判定數(shù)據(jù)109的情況進行說明。
設為數(shù)據(jù)判定裝置101e在運轉(zhuǎn)a狀態(tài)302下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別、數(shù)據(jù)大小、數(shù)據(jù)設定范圍、定時器值17和標志值15,判定為通信判定數(shù)據(jù)109是規(guī)則7的“運轉(zhuǎn)數(shù)據(jù)設定”。數(shù)據(jù)判定裝置101e允許通信,并且將定時器設定值設為100ms。
通過這樣進行判定處理s120e,對于需要在命令接收后空出規(guī)定時間的通信,也能夠進行是否正常的判定。
下面,對數(shù)據(jù)判定裝置101e接收到符合規(guī)則3a、3b、3c的通信判定數(shù)據(jù)109的情況進行說明。規(guī)則3a、3b、3c是在運轉(zhuǎn)a狀態(tài)302下需要以約b秒間隔接收命令的通信。在該通信中,假設對b秒容許±d秒的誤差。
設為數(shù)據(jù)判定裝置101e在運轉(zhuǎn)a狀態(tài)302下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別、數(shù)據(jù)大小、定時器值17及標志值15,判定為通信判定數(shù)據(jù)109是規(guī)則3a的“狀態(tài)數(shù)據(jù)取得”。數(shù)據(jù)判定裝置101e允許通信,并且對定時器104e的值即t1設定b+d,將標志的值即f1設為1。
設為數(shù)據(jù)判定裝置101e在運轉(zhuǎn)a狀態(tài)302下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別、數(shù)據(jù)大小、定時器值17及標志值15,判定為通信判定數(shù)據(jù)109是規(guī)則3b的“狀態(tài)數(shù)據(jù)取得”。數(shù)據(jù)判定裝置101e允許通信,并且對t1設定b+t1。
設為數(shù)據(jù)判定裝置101e在運轉(zhuǎn)a狀態(tài)302下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別、數(shù)據(jù)大小、定時器值17及標志值15,判定為通信判定數(shù)據(jù)109是規(guī)則3c的“狀態(tài)數(shù)據(jù)取得結(jié)束”。數(shù)據(jù)判定裝置101e允許通信,并且將t1和f1初始化為0。
通過這樣進行判定處理s120e,對于需要按照規(guī)定間隔接收命令的通信,也能夠進行是否正常的判定。
下面,說明數(shù)據(jù)判定裝置101e根據(jù)人的操作而轉(zhuǎn)入維護狀態(tài),接收到符合規(guī)則8、9、10的通信判定數(shù)據(jù)109的情況。規(guī)則8、9、10是在維護狀態(tài)305下進行維護所需的通信。
設為數(shù)據(jù)判定裝置101e在維護狀態(tài)305下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別和數(shù)據(jù)大小,判定為通信判定數(shù)據(jù)109是規(guī)則8的“程序更新”。數(shù)據(jù)判定裝置101e允許通信。
設為數(shù)據(jù)判定裝置101e在維護狀態(tài)305下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別和數(shù)據(jù)大小,判定為通信判定數(shù)據(jù)109是規(guī)則9的“驗證”。數(shù)據(jù)判定裝置101e允許通信。
設為數(shù)據(jù)判定裝置101e在維護狀態(tài)305下接收通信判定數(shù)據(jù)109,根據(jù)通信判定數(shù)據(jù)109的發(fā)件人地址、命令類別和數(shù)據(jù)大小,判定為通信判定數(shù)據(jù)109是規(guī)則9的“維護完成”。數(shù)據(jù)判定裝置101e允許通信,并且使運轉(zhuǎn)狀態(tài)推移到運轉(zhuǎn)a狀態(tài)302。
如上所述,結(jié)束有關本實施方式的數(shù)據(jù)判定裝置101e的數(shù)據(jù)判定方法、數(shù)據(jù)判定處理s100e的說明。
如上所述,本實施方式的數(shù)據(jù)判定裝置具有以下的結(jié)構(gòu)。
(a)狀態(tài)管理部,其依照根據(jù)通信數(shù)據(jù)、外部操作和定時器中的至少任意一項的要素而推移的狀態(tài)推移模型,管理運用狀態(tài)。
(b)通信許可列表存儲部,其存儲通信許可列表,在該通信許可列表中規(guī)定了按照每種運用狀態(tài)允許的通信數(shù)據(jù)。
(c)判定部,其使用狀態(tài)管理部輸出的當前運用狀態(tài)和通信許可列表存儲部存儲的通信許可列表、定時器值和標志值,判定輸入數(shù)據(jù)判定裝置的通信數(shù)據(jù)是否正常。
(d)警報部,其根據(jù)判定部輸出的判定結(jié)果發(fā)出警報。
并且,狀態(tài)管理部依照根據(jù)判定部輸出的判定結(jié)果而推移的狀態(tài)推移模型,管理運用狀態(tài)。判定部將判定為異常的通信數(shù)據(jù)切斷。另外,判定部在判定為正常時執(zhí)行在通信許可規(guī)則中記述的動作。即,判定部在判定為正常時將定時器及標志中至少任意一項設定為規(guī)定值。
***本實施方式的效果的說明***
在先前為了比較而敘述的stuxnet那樣的攻擊中,被侵占的服務器對控制器進行程序改寫。程序改寫本身是正常通信,被侵占的服務器也是被定義為正常的服務器,因而利用白名單型對策無法防止。
另一方面,在本實施方式的數(shù)據(jù)判定裝置中,定義不僅基于通信數(shù)據(jù)而且也基于人的操作和/或定時器進行的運用狀態(tài)的推移。因此,通過采取如下的對策能夠檢測如上所述的攻擊:使僅在維護狀態(tài)時受理程序改寫,使僅通過人的操作進行向維護狀態(tài)的推移。
另外,通過stuxnet被改寫了程序的控制器向作為控制對象的頻率變換器高頻度地發(fā)送變更頻率的命令,由此誘發(fā)設備的故障。在本實施方式的數(shù)據(jù)判定裝置中,能夠通過定時器檢測這樣的高頻度的頻率變更命令。
另外,根據(jù)本實施方式的數(shù)據(jù)判定裝置,也能夠檢測脫離正確的通信順序的情況。
根據(jù)本實施方式的數(shù)據(jù)判定裝置,能夠檢測接收間隔是否固定,因而也能夠檢測因斷線和/或攻擊引起的監(jiān)視控制裝置的停止的情況。此時,即使是在管理多個通信的接收間隔的情況下,也能夠簡化狀態(tài)推移圖的記載,抑制與檢測相關的資源。在僅根據(jù)狀態(tài)推移進行接收間隔的控制時,必須管理相對于作為對象的通信數(shù)n的狀態(tài)數(shù)n2。但是,根據(jù)本實施方式的數(shù)據(jù)判定裝置,能夠利用一種狀態(tài)進行管理。
另外,根據(jù)本實施方式的數(shù)據(jù)判定裝置,也能夠檢測受到了攻擊的監(jiān)視控制裝置發(fā)行本來不應該發(fā)行的命令、和/或取得來自運用上不進行數(shù)據(jù)取得的監(jiān)視控制裝置的數(shù)據(jù)。
另外,對實施方式1~3以及實施方式4進行了說明,但也可以組合這四個實施方式中的多個實施方式來實施?;蛘?,也可以部分地實施這四個實施方式中的一個實施方式。或者,也可以部分地組合這四個實施方式中的多個實施方式來實施。此外,對于這四個實施方式也可以整體地或者部分地任意組合來實施。
另外,上述的實施方式本質(zhì)上僅是優(yōu)選的示例,并不試圖限制本發(fā)明、其適用物和用途的范圍,能夠根據(jù)需要進行各種變更。
標號說明
101、101a、101b、101c、101d、101e、101ea數(shù)據(jù)判定裝置;102、102a網(wǎng)絡;103、103e狀態(tài)管理部;104、104e定時器;105通信許可列表存儲部;106、106e判定部;107、107a通信部;108警報部;109通信判定數(shù)據(jù);110操作部;111接收數(shù)據(jù);112發(fā)送數(shù)據(jù);113當前運用狀態(tài);114、114e通信許可列表;115判定結(jié)果;119、119e通信許可數(shù)據(jù);130狀態(tài)推移模型存儲部;151取得信息歷史記錄;152列表生成部;153歷史記錄存儲部;200監(jiān)視控制裝置;300控制器;301、302、303、304、305、306、307狀態(tài);310應用;500數(shù)據(jù)判定系統(tǒng);701第1變化點;702第2變化點;703推移通信數(shù)據(jù);901處理器;902輔助存儲裝置;903存儲器;904通信裝置;905輸入接口;906顯示器接口;907輸入裝置;908顯示器;910信號線;911、912線纜;9041接收器;9042發(fā)送器;1031、1031e狀態(tài)推移模型;1032本裝置的運用狀態(tài);1033取得信息;1041定時器信號;1101操作信號;3001多個運用狀態(tài);3002多個運用狀態(tài)中的各運用狀態(tài)之間;s101狀態(tài)管理處理;s100、s100e數(shù)據(jù)判定處理;s110通信處理;s120、s120e判定處理;s140正常處理;s150異常處理;144計時部;14通信許可規(guī)則;15標志值;16標志設定值;17定時器值;18定時器設定值;177標志管理部;192許可條件;193許可處理;1921定時器許可值;1922標志許可值。