CN117321974A - 监视装置及监视方法 - Google Patents

监视装置及监视方法 Download PDF

Info

Publication number
CN117321974A
CN117321974A CN202280035523.2A CN202280035523A CN117321974A CN 117321974 A CN117321974 A CN 117321974A CN 202280035523 A CN202280035523 A CN 202280035523A CN 117321974 A CN117321974 A CN 117321974A
Authority
CN
China
Prior art keywords
communication
input
information
packet
abnormality
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280035523.2A
Other languages
English (en)
Inventor
大庭达海
平本琢士
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Corp of America
Original Assignee
Panasonic Intellectual Property Corp of America
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Corp of America filed Critical Panasonic Intellectual Property Corp of America
Publication of CN117321974A publication Critical patent/CN117321974A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

监视装置(200)具备:用户输入取得部(203),取得基于用户对用户输入装置(101)的输入的信息;以及通信异常检测部(206),检测被观测到的通信的异常;通信异常检测部(206)基于在发送源或目的地中包含监视对象设备的包的信息以及基于与该包对应的输入的信息,检测通信的异常。

Description

监视装置及监视方法
技术领域
本公开涉及监视装置及监视方法。
背景技术
以往,在设置于工厂设施等中的控制系统中,采用单独的通信方式,以单独的通信线连接而进行通信并工作,但随着因特网的普及,正逐渐采用利用高速化、低价化得到发展的通用协议即Ethernet(注册商标)、IP(Internet Protocol)的控制装置间的通信标准。
但是,通过采用通用的通信标准,暴露于包括恶意软件等的网络攻击的风险下的危险性也变高。
因此,在工厂设施内的控制系统中,较多地尝试使用Intrusion DetectionSystem(IDS,入侵检测系统)对网络进行监视,检测异常的通信并进行应对。在控制系统中,基本上根据预先设定的逻辑而自动产生处理,产生其处理所需要的通信量,所以容易学习作为基础的行为。因此,能经常看到使用拥有行为异常检测功能的IDS来检测异常的通信的情况。
作为行为异常检测的实现方法,有专利文献1所记载的方法等。在专利文献1中公开了使用正常数据的有效载荷的字节串的出现频度分布来检测异常的方法。
现有技术文献
专利文献
专利文献1:日本特许第5307090号公报
发明内容
发明要解决的课题
但是,在控制系统中,在偶尔发生的维修等非恒常性的操作时,大多实施由人进行的操作。由人进行的操作由于其趋向与通过日常的自动处理发生的操作不同,所以拥有行为异常检测功能的IDS将其检测为异常的通信的情况较多。
本公开提供能够抑制通过由人进行的操作而可能发生的误检测的监视装置及监视方法。
用于解决课题的手段
有关本公开的一技术方案的监视装置具备:用户输入取得部,取得基于用户对输入装置的输入的信息;以及通信异常检测部,检测被观测到的通信的异常,上述通信异常检测部基于在发送源或目的地中包含监视对象设备的包的信息以及基于与该包对应的上述输入的信息,检测上述通信的异常。
有关本公开的一技术方案的监视方法,取得基于用户对输入装置的输入的信息,基于在发送源或目的地中包含监视对象设备的包的信息以及基于与该包对应的上述输入的信息,检测通信的异常。
发明效果
根据有关本公开的一技术方案的监视装置及监视方法,能够抑制通过由人进行的操作而可能发生的误检测。
附图说明
图1是表示使用有关实施方式的监视装置的控制系统的结构的框图。
图2是表示有关实施方式的监视装置的结构的框图。
图3是表示有关实施方式的存储于设定存储部中的与通信监视对象IP地址有关的设定信息的图。
图4是表示有关实施方式的存储于设定存储部中的所使用的异常检测算法的设定信息的图。
图5是表示有关实施方式的监视装置从在中央监视控制装置中动作的键盘记录器得到的键输入信息的图。
图6A是表示有关实施方式的监视装置从在中央监视控制装置中动作的键盘记录器得到的画面信息的第1例的图。
图6B是表示有关实施方式的监视装置从在中央监视控制装置中动作的键盘记录器得到的画面信息的第2例的图。
图6C是表示有关实施方式的监视装置从在中央监视控制装置中动作的键盘记录器得到的画面信息的第3例的图。
图6D是表示有关实施方式的监视装置从在中央监视控制装置中动作的键盘记录器得到的画面信息的第4例的图。
图7是表示有关实施方式的通信异常检测部输出的检测结果的图。
图8A是表示作为异常检测模型的一种的控制命令白名单的图。
图8B是表示作为异常检测模型的一种的另一控制命令白名单的图。
图9是表示作为异常检测模型的一种的最大值/最小值白名单的图。
图10是表示有关实施方式的监视装置的处理的整体形象的流程图。
图11是表示有关实施方式的监视装置的手动设定处理的流程图。
图12是表示有关实施方式的监视装置的学习处理的流程图。
图13是表示有关实施方式的监视装置的检测处理的流程图。
图14是表示使用有关实施方式的变形例1的监视装置的控制系统的结构的框图。
图15是表示有关实施方式的变形例2的监视装置的学习处理的流程图。
图16是表示对控制包进行解析而得到的数据的一例的图。
图17是表示在以画面信息为输入而实施了OCR(光学字符识别)的情况下得到的测试信息的图。
图18是表示将对画面信息进行OCR而得到的测试信息与对控制包进行解析得到的数据建立了关联的数据的一例的图。
图19是表示有关实施方式的变形例2的异常检测模型的一例的图。
图20是表示有关实施方式的变形例2的监视装置的检测处理的流程图。
图21是表示有关实施方式的变形例3的监视装置的学习处理的流程图。
图22是表示有关实施方式的变形例3的监视装置的检测处理的流程图。
具体实施方式
(达到得到本公开的一技术方案的经过)
ICS(Industrial Control System:工业控制系统)中的网络攻击的事例有增加趋势。在ICS中,对设备进行控制的正常格式的命令串可能成为严重的攻击,所以一旦能侵入系统,就能够比IT类的系统更容易实施由利用签名检测异常的以往型的IDS不能检测出的攻击。
所以,为了迅速地检测对ICS的攻击并进行应对,可以考虑应用利用机器学习的通信异常检测算法。机器学习的异常检测算法能够检测出拥有与日常发生的通信不同的特性的通信,所以用签名不能检测出的攻击也能够检测出。
但是,实际对ICS应用利用机器学习的异常检测算法可知,会发生较多的误检测。深入调查所发生的误检测的原因可知,将不是机械地进行的恒常的处理,而是维护、由系统管理者做出的中断处理等的结果所发生的通信误检测为异常。
所以,发明人们为了解决该问题而反复进行了专门研究。并且,发明人们发现,通过将进行维护、由系统管理者做出的中断处理等时发生的设备的操作信息与通信的异常建立关联来检测,能够避免误检测。结果,发明人想到了在下述中说明的监视装置及监视方法。
有关本公开的一技术方案的监视装置具备:用户输入取得部,取得基于用户对输入装置的输入的信息;以及通信异常检测部,检测被观测到的通信的异常,上述通信异常检测部基于在发送源或目的地中包含监视对象设备的包的信息以及基于与该包对应的上述输入的信息,检测上述通信的异常。
根据上述监视装置,根据基于与包对应的输入的信息来检测通信的异常,所以在检测到通信的异常的情况下,能够以高置信度推测该通信是否是通过用户的输入(操作)而发生的事件。因此,监视装置能够抑制通过由人进行的输入而可能发生的误检测。根据这样的监视装置,能够正确地判定因恶意软件、网络攻击等发生了通信的异常的可能性是否高。
此外,例如也可以是,基于上述输入的信息包含履历信息,该履历信息表示上述包的发送时的上述用户对上述输入装置的输入的履历,上述通信异常检测部根据上述履历信息,切换用于检测上述通信的异常的检测方法。
由此,通过使用与履历信息相应的检测方法,能够抑制通过由人进行的输入而可能发生的误检测。
此外,例如也可以是,上述履历信息包含表示在上述包的发送时是否有上述用户对上述输入装置的输入的信息,上述通信异常检测部根据是否有上述用户对上述输入装置的输入,切换用于检测上述通信的异常的检测方法。
由此,通过使用与是否有用户对输入装置的输入相应的检测方法,能够抑制通过由人进行的输入而可能发生的误检测。
此外,例如也可以是,作为上述检测方法的切换,上述通信异常检测部切换用于检测上述通信的异常的模型。
由此,通过切换用于检测通信的异常的模型,能够抑制通过由人进行的输入而可能发生的误检测。
此外,例如也可以是,上述通信异常检测部在上述包的发送时有上述用户对上述输入装置的输入的情况下,不进行使用用于检测上述通信的异常的模型的上述通信的异常的检测,在上述包的发送时没有上述用户对上述输入装置的输入的情况下,进行使用上述模型的上述通信的异常的检测。
由此,在包的发送时有用户对输入装置的输入的情况下不进行通信的异常的检测,所以能够更可靠地抑制通过由人进行的输入而可能发生的误检测。
此外,例如也可以是,基于上述输入的信息包含画面信息,该画面信息表示上述包的发送时的上述监视对象设备的显示画面,上述通信异常检测部基于在发送源或目的地中包含上述监视对象设备的包的信息以及与该包对应的上述画面信息,检测上述通信的异常。
由此,使用与包对应的画面信息,能够抑制通过由人进行的输入而可能发生的误检测。
此外,例如也可以是,上述通信异常检测部基于对与该包对应的上述画面信息实施OCR(Optical Character Recognition:光学字符识别)而得到的字符串的坐标及值、以及对上述包进行解析而得到的值,检测上述通信的异常。
由此,能够使用用户所输入的值和所发送的包中包含的值,判定该包是否是通过用户的输入而发生的。
此外,例如也可以是,上述通信异常检测部基于上述包的属性信息确定上述显示画面中的对象坐标,基于在1个以上的上述字符串的坐标中的所确定的上述对象坐标所显示的值与对上述包进行解析而得到的值是否一致,来检测上述通信的异常。
由此,在用户所输入的值与所发送的包中包含的值一致的情况下,能够判定为该包是通过用户的输入而发生的。
此外,例如也可以是,还具备通信学习部,该通信学习部基于预先设定的学习期间,学习上述模型。
由此,能够生成用于由监视装置检测异常的模型。
此外,例如也可以是,上述通信学习部生成第1列表和第2列表作为上述模型,上述第1列表是基于在上述学习期间中的包的发送时有上述用户对上述输入装置的输入的情况下的该包的属性信息进行了学习的列表,上述第2列表是基于在上述学习期间中的包的发送时没有上述用户对上述输入装置的输入的情况下的该包的属性信息进行了学习的列表。
由此,能够生成用于检测通信的异常的两个列表。通过切换这样的列表而进行异常的检测,能够抑制通过由人进行的输入而可能发生的误检测。
此外,例如也可以是,上述通信学习部生成第1机器学习模型和第2机器学习模型,上述第1机器学习模型是以在上述学习期间中的包的发送时有上述用户对上述输入装置的输入的情况下的该包的属性信息为输入信息,并以表示正常或异常的检测结果为正解信息,通过机器学习进行了学习的模型,上述第2机器学习模型是以在上述学习期间中的包的发送时没有上述用户对上述输入装置的输入的情况下的该包的属性信息为输入信息,并以表示正常或异常的检测结果为正解信息,通过机器学习进行了学习的模型。
由此,能够生成用于检测通信的异常的两个机器学习模型。通过切换这样的机器学习模型而进行异常的检测,能够抑制通过由人进行的输入而可能发生的误检测。
此外,例如也可以是,还具备通信学习部,该通信学习部基于预先设定的学习期间,学习用于确定上述显示画面中的对象坐标的模型。
由此,能够生成用于由监视装置检测异常的模型。
此外,例如也可以是,上述模型是将包的属性信息与上述显示画面中的对象坐标建立了对应的列表。
由此,能够利用与包的属性信息相应的对象坐标的值来检测通信的异常,所以能够更可靠地判定该包是否是通过用户的输入而发生的。
此外,例如也可以是,上述对象坐标是在上述学习期间中的包的发送时的上述显示画面中显示与对该包进行解析而得到的值一致的值的坐标。
由此,能够使用这样的对象坐标的值检测通信的异常,所以能够更可靠地判定该包是否是通过用户的输入而发生的。
此外,例如也可以是,在上述监视对象设备安装有能够将基于上述输入的信息转送给上述监视装置的软件,通过由上述软件转送基于上述输入的信息,上述用户输入取得部取得基于该输入的信息。
由此,能够使用软件容易地取得基于输入的信息。
此外,例如也可以是,还具备转送装置,该转送装置连接在上述输入装置与上述监视对象设备之间,能够将基于上述输入的信息转送给上述监视装置,通过由上述转送装置转送基于上述输入的信息,上述用户输入取得部取得基于该输入的信息。
由此,能够使用硬件容易地取得基于输入的信息。
此外,例如也可以是,上述监视对象设备是用于对配置在工厂内的生产设备进行控制的控制装置。
由此,在容易发生因维护等造成的中断处理的工厂中,能够抑制通过由人进行的输入而可能发生的误检测。这能够有助于工厂的生产率的提高。
此外,有关本公开的一技术方案的监视方法,取得基于用户对输入装置的输入的信息,基于在发送源或目的地中包含监视对象设备的包的信息以及基于与该包对应的上述输入的信息,检测通信的异常。
由此,起到与上述的监视装置同样的效果。
另外,这些全局性或具体的技术方案也可以由系统、方法、集成电路、计算机程序或计算机可读取的CD-ROM等的非暂时性记录介质实现,也可以由系统、方法、集成电路、计算机程序及记录介质的任意的组合来实现。程序既可以预先存储在记录介质中,也可以经由包括因特网等的广域通信网被供给到记录介质中。
以下,参照附图对有关本公开的一技术方案的监视装置及监视方法的具体例进行说明。这里表示的实施方式都表示本公开的一具体例。因而,在以下的实施方式中表示的数值、形状、构成要素、构成要素的配置及连接形态、步骤及步骤的顺序等是一例,不是限定本公开的意思。以下的实施方式的构成要素中的、在独立权利要求中没有记载的构成要素是能够任意地附加的构成要素。
此外,各图是示意图,并不一定是严密地图示的。因而,例如在各图中比例尺等并不一定一致。此外,在各图中,对于实质上相同的结构赋予相同的标号,将重复的说明省略或简略化。
此外,在本说明书中,一致等的表示要素间的关系性的用语以及数值及数值范围不是仅表示严格的意义的表现,而是意味着实质上同等的范围、例如也包含几个百分点左右(例如10%左右)的差异的表现。
(实施方式)
以下,对有关实施方式的监视装置进行说明。该监视装置进行通信的异常与用户操作的关联建立。
图1是表示使用有关实施方式的监视装置200的控制系统1的结构的框图的一例。图1表示本实施方式的控制系统1的整体结构。在本实施方式中,假设各装置在由IEEE802.3规定的Ethernet上以TCP/IP、UDP/IP等的根据应用的特性而适当的协议进行通信。
对图1的各构成要素进行说明。如图1所示,控制系统1具备中央监视控制装置100、用户输入装置101、PC110(Personal Computer:个人计算机)、PLC120(Programmable LogicController:可编程逻辑控制器)、L2SW(L2交换机)140及监视装置200。控制系统1的各构成要素例如可以配置在工厂内,也可以是至少一部分的构成要素配置在工厂外。
在控制网络(例如工厂内网络)中,各装置经由L2SW140而连接。中央监视控制装置100、PC110及PLC120能够经由L2SW140相互进行通信。
中央监视控制装置100是用于对控制系统1的各构成要素、各生产设备(各机械)等进行控制的控制装置。中央监视控制装置100基于经由用户输入装置101取得的输入(操作),对各构成要素、各生产设备等进行控制。
对中央监视控制装置100是作为监视装置200的监视对象的监视对象设备的一例的例子进行说明,但也可以是基于来自用户的输入而动作的其他装置为监视装置200的监视对象。此外,监视对象也可以是多个装置。
在中央监视控制装置100中,具备鼠标、键盘等的用户输入装置101。在中央监视控制装置100上连接着用户输入装置101,中央监视控制装置100经由用户输入装置101受理用户的输入。
用户输入装置101从用户受理维护、中断处理等的输入。另外,用户输入装置101也可以通过声音、姿势等取得来自用户的输入。
PC110是用于对工厂内的各生产设备进行控制的装置。
PLC120是用于对工厂内的各生产设备进行自动控制的装置,按照预先设定的顺序或流程对各生产设备进行控制。虽然没有图示,但PLC120与各生产设备能够通信地连接。PLC120例如能够对多个马达、多个致动器等进行控制。对于多个马达及多个致动器分别设定了用于识别的对象ID。
L2SW140进行将所取得的信息发送给与该信息对应的装置的处理。L2SW140具有镜像端口140a。镜像端口140a是能够捕获在网络交换机上流动的包的端口。镜像端口140a也被称作监视端口。在L2SW140中存在很多用于连接LAN(Local Area Network)线缆的端口,镜像端口140a将在指定的端口中流动的包复制(镜像)。在本实施方式中,在镜像端口140a上连接着监视装置200。
监视装置200监视有无控制网络上的通信中的异常。监视装置200从L2SW140的镜像端口140a以混杂模式全部取得中央监视控制装置100、PC110及PLC120间的通信。此外,监视装置200不仅与镜像端口140a连接,还与通常的端口连接,能够与中央监视控制装置100进行通信。
图2是表示有关实施方式的监视装置200的结构的框图。
如图2所示,监视装置200包括设定输入部201、设定存储部202、用户输入取得部203、用户输入信息存储部204、通信学习部205、通信异常检测部206及异常检测模型存储部207而构成。
监视装置200例如由包括存储器和执行存储在存储器中的程序的处理器的计算机装置实现。在此情况下,由监视装置200实现的各种功能通过由构成监视装置200的处理器执行在构成监视装置200的存储器中存储的程序来实现。
设定输入部201经由端口1(1号端口)通过文件上传等来受理对通信进行监视的对象IP(Internet Protocol:网际互连协议)地址的设定、要使用的异常检测算法的种类、学习期间及重新学习频度等的设定信息等,并存储到设定存储部202中。
设定存储部202是存储经由设定输入部201取得的信息的存储装置。设定存储部202存储对通信进行监视的对象IP地址的设定、要使用的异常检测算法的种类、学习期间及重新学习频度等的设定信息等。设定存储部202例如由半导体存储器实现,但并不限定于此。以下,参照图3及图4对存储在设定存储部202中的信息进行说明。
图3是表示在有关实施方式的设定存储部202中存储的与通信监视对象IP地址有关的设定信息的图。图4是表示在有关实施方式的设定存储部202中存储的被使用的异常检测算法的设定信息的图。
如图3所示,与通信监视对象IP地址有关的设定信息是对通信进行监视的对象的IP地址即通信监视对象IP地址的列表。在图3的例子中记载了3个IP地址,但IP地址的数量没有特别限定,只要是1个以上即可。
如图4所示,异常检测算法的设定信息是将异常检测算法、ON/OFF、学习期间、重新学习频度及有无最近N秒用户输入下的模型切换建立了对应的列表。另外,ON/OFF、学习期间、重新学习频度及有无最近N秒用户输入下的模型切换是参数的一例。
异常检测算法表示算法的种类,包括控制命令WL(White List:白名单)算法、最大值/最小值WL算法和有效载荷序列异常检测算法。
ON/OFF表示是否使用该算法进行通信的异常的检测。带有选定标记的是指ON,在图4的例子中,表示控制命令WL算法和最大值/最小值WL算法为ON。
学习期间表示学习在进行异常检测的情况下使用的模型(异常检测模型)的期间。
重新学习期间表示重新学习模型的期间。例如,在控制命令WL算法中,每7天使用14天之间积累的信息重新学习。
有无最近N秒用户输入下的模型切换表示根据在观测到通信的时间点的最近N秒间用户是否对用户输入装置101进行了输入,是否切换在异常检测中使用的模型。在图4的例子中示出控制命令WL算法是根据在观测到通信的时间点的最近5秒间用户是否对用户输入装置101进行了输入而切换模型,最大值/最小值WL算法是不论在观测到通信的时间点的最近的期间用户是否对用户输入装置101进行了输入,都使用相同的模型(不切换模型)。
另外,N(秒)并不限定于是5(秒),例如也可以是300(秒)以内的任何的秒数。N例如由用户等预先设定。
再次回到图2,继续监视装置200的说明。
用户输入取得部203取得基于用户对用户输入装置101的输入的信息。用户输入取得部203经由端口1监视与中央监视控制装置100的用户输入相关联的信息,并保存到用户输入信息存储部204中。具体而言,用户输入取得部203使键盘记录器在中央监视控制装置100上动作,依次接收从键盘记录器得到的按键信息、所捕获的屏幕的信息、伴随于它们的时刻信息等,并保存到用户输入信息存储部204中。键盘记录器的动作既可以将中央监视控制装置100直接操作而开始,也可以从监视装置200通过SSH(Secure Shell:安全外壳)等访问中央监视控制装置100而启动。键盘记录器是用于记录对用户输入装置101的操作的内容的软件的总称,在本实施方式中是能够将输入到用户输入装置101中的信息转送给监视装置200的软件。
用户输入信息存储部204存储由用户输入取得部203取得的基于用户对用户输入装置101的输入的信息。用户输入信息存储部204例如存储后述的键输入信息(参照图5)及画面信息(参照图6A~图6D)的至少一方。用户输入信息存储部204例如由半导体存储器实现,但并不限定于此。
图5是表示有关实施方式的监视装置200从在中央监视控制装置100中动作的键盘记录器得到的键输入信息的图。
如图5所示,通过使用键盘记录器,监视装置200能够取得包含在中央监视控制装置100中用户所输入的键信息及输入时刻在内的键输入信息。键输入信息包含表示在包的发送时是否有用户对用户输入装置101的输入的信息。键输入信息是表示用户所输入的键信息的履历的履历信息(时间序列信息)。键信息是对用户输入装置101等进行了操作的履历。履历信息包含包的发送时的用户对用户输入装置101的输入的履历。例如,在图5的例子中示出了在2020年1月10日的9时1分1秒有键输入“pws”。基于输入的信息也可以包含这样的履历信息。
另外,包的发送时是指包含包被发送的时刻的规定宽度的时间。包的发送时也可以是以包被发送的第1时刻为基准,第1时刻与比该第1时刻靠前规定时间的第2时刻之间的时间,也可以是包含第1时刻的前后的时刻的规定时间。规定时间例如是300秒以下的秒数,但并不限定于此。此外,包的发送时例如也可以是包含在L2SW140或监视装置200中观测到该包的时刻的规定宽度的时间。
图6A、图6B、图6C及图6D是表示有关实施方式的监视装置200从在中央监视控制装置100中动作的键盘记录器得到的画面信息的各例的图。画面信息表示包的发送时的中央监视控制装置100的显示画面。画面信息例如也可以是将中央监视控制装置100的显示画面进行了抓屏的信息。画面信息显示有与用户对用户输入装置101的输入相应的信息(例如,如果用户输入了数值则是该数值)。
图6A及图6B表示设定值共同为1250、当前值不同的画面信息。此外,图6C及图6D表示设定值共同为1150、当前值不同的画面信息。此外,如图6A、图6B、图6C及图6D所示,画面信息中还包含时刻信息。图6A、图6B、图6C及图6D例如表示画面信息的时间序列数据。
如图6A、图6B、图6C及图6D所示,通过使用键盘记录器,监视装置200能够取得中央监视控制装置100的画面信息和该画面被显示的时刻信息。
用户输入取得部203使用键盘记录器等软件取得图5所示的用户的键输入信息或图6A、图6B、图6C或图6D所示的用户的画面信息,保存到用户输入信息存储部204中。在本实施方式中,用户输入取得部203只要至少取得图5所示的用户的键输入信息即可。
这样,在作为监视对象设备的中央监视控制装置100中,安装有能够将基于对用户输入装置101的输入的信息转送给监视装置200的软件,通过由该软件转送基于该输入的信息,用户输入取得部20 3取得基于该输入的信息。另外,用户输入装置101取得基于对用户输入装置101的输入的信息的取得方法并不限定于此。
例如,也可以具备转送装置(未图示),该转送装置连接在用户输入装置101与中央监视控制装置100之间,能够将基于用户对用户输入装置101的输入的信息转送给监视装置200,通过由该转送装置转送基于输入的信息,用户输入取得部203取得基于该输入的信息。
通信学习部205基于被设定的信息,进行从镜像端口140a取得的通信的学习,将学习后的异常检测模型207a存储到异常检测模型存储部207中。通信学习部205基于按异常检测算法的每个种类预先设定的学习期间(参照图4),学习(生成)异常检测模型207a。在本实施方式中,通信学习部205生成如后述的图8A及图8B所示的列表作为异常检测模型207a。
通信异常检测部206检测被观测到的通信的异常。通信异常检测部206基于在发送源或目的地中包含中央监视控制装置100的包的信息和基于与该包对应的输入的信息(例如履历信息),检测通信的异常。通信异常检测部206在成为所指定的检测开始时刻的时间点使用异常检测模型实施监视对象的通信异常的检测,输出如图7所示的检测结果208。
图7是表示有关实施方式的通信异常检测部206输出的检测结果208的图。
如图7所示,检测结果208是将时刻、发送源IP、目的地IP、命令、最近用户输入及异常度建立了对应的表。
时刻表示包被观测到的时刻。即,时刻表示进行了通信的时刻。
发送源IP表示该包的发送源的IP地址,目的地IP表示该包的目的地的IP地址。
命令表示使具有目的地IP的装置执行的命令。关于命令,例如可以例示“write(写入)”、“read(读出)”等,但并不限定于此。
最近用户输入在包被观测到的最近有用户对用户输入装置101的输入的情况下表示有输入的时刻。在检测结果208的第1段,表示在包被观测到的1秒前有用户对用户输入装置101的输入,在检测结果208的第2段,表示在包被观测到的最近(例如最近5秒)没有用户对用户输入装置101的输入。另外,在检测结果208的第1段,在2020年1月10日9时20分12秒进行的用户对用户输入装置101的输入是与在2020年1月10日9时20分13秒观测到的包对应的输入。
异常度表示通信的异常的程度。异常度例如上限为100,越接近100则表示异常的程度越高。
异常检测模型存储部207存储由通信学习部205生成的1个以上的异常检测模型207a。异常检测模型存储部207例如由半导体存储器实现,但并不限定于此。
图8A及图8B是表示作为异常检测模型207a的1种的控制命令白名单的图。图8A表示没有最近用户输入的情况下的控制命令白名单,图8B表示有最近用户输入的情况下的控制命令白名单。该控制命令白名单例如是在通过控制命令WL算法检测通信的异常的情况下使用的模型。
如图8A及图8B所示,控制命令白名单是将发送源IP、目的地IP及观测命令建立了对应的列表。在使用控制命令白名单的异常检测中,预先保持在学习期间观测到的发送源IP、目的地IP及观测命令的元组,在观测到未包含于白名单中的元组的情况下检测出异常通信。
在图4中说明的设定信息中的控制命令WL算法中,由于“有无最近N秒用户输入下的模型切换”为ON,所以将有最近的用户输入的情况下的模型和没有最近的用户输入的情况下的模型分开进行学习,在图8A及图8B中表示了这两种样式的模型。
图9是表示作为异常检测模型207a的1种的最大值/最小值白名单的图。该控制命令白名单例如是在通过最大值/最小值WL算法检测通信的异常的情况下使用的模型。
如图9所示,控制命令白名单是将设备IP、对象ID及最大值/最小值建立了对应的列表。设备IP例如是目的地IP。对象ID是用于从与具有设备IP的装置(例如PLC120)连接的多个对象中确定特定的对象的识别信息。最大值/最小值是控制值的规格值。
在使用最大值/最小值白名单的异常检测中,预先存储在学习期间观测到的设备IP和作为该设备内的对象ID的值而被观测到过的值的最大值及最小值,在观测到从作为该对象ID的值存储的值的范围脱离的值的情况下检测为异常通信。在图4所记载的设定信息中的最大值/最小值WL算法中,由于“有无最近N秒用户输入下的模型切换”为OFF,所以没有基于有无最近用户输入的模型的变化,在图9中表示了1个模型。
通信学习部205进行图8A、图8B或图9所示的控制命令白名单等的学习,通信异常检测部206将从所学习的行为脱离的通信检测为异常。
另外,异常检测模型207a也可以不是白名单而是黑名单。即,异常检测模型207a也可以是能够将与所学习的行为一致的通信检测为异常的列表。
图10是表示有关实施方式的监视装置200的处理的整体形象的流程图。
如图10所示,监视装置200的处理首先实施以手动实施设定的处理(手动设定处理)(S1100),然后实施学习处理(S1200),最后实施检测处理(S1300)。但是,这些处理并不一定需要以该顺序进行。也可以在学习处理(S1200)的过程中或在处理之后再次实施手动设定处理(S1100),也可以在检测处理(S1300)之后再次实施学习处理(S1200)。
图11是表示由有关实施方式的监视装置200实施的手动设定处理(S1100)的流程图。
如图11所示,在手动设定处理中,设定输入部201首先实施图3所示的监视对象IP地址列表的设定(S1101),然后,用户输入取得部203实施图4所示的被使用的异常检测算法及参数的设定(S1102)。
在步骤S1101中,例如,设定输入部201从用户受理1个以上的监视对象设备各自的IP地址的输入,生成包含所受理的IP地址的设定信息,存储到设定存储部202中。
在步骤S1102中,例如设定输入部201从用户受理被使用的异常检测算法及参数的设定,生成包含所受理的异常检测算法及参数的设定信息,存储到设定存储部202中。
在手动设定处理(S1100)中设定的信息并不一定是监视对象IP地址和被使用的异常检测算法及参数。在步骤S1100中,除此以外也可以还进行监视对象命令种类、作为警报输出的异常度的阈值的设定等。
图12是表示有关实施方式的监视装置200的学习处理的流程图。图12表示有关实施方式的监视装置200的通信学习部205实施的学习处理。
如图12所示,在学习处理中,首先通信学习部205从设定存储部202读出被使用的异常检测算法的信息(S1201)。在该步骤中,按每个被使用的异常检测算法提取算法的学习所需要的参数、是否需要基于有无用户输入的模型划分等在学习时需要的信息。步骤S1201通过从设定存储部202读出图4所示的设定信息来进行。
接着,进入实际的学习处理。监视装置200经由与图2的端口2(2号端口)连接的L2SW140的镜像端口140a取得学习对象包(步骤S1202)。学习对象包是在学习期间观测到的通信中的包。
为了对各个学习对象包进行全部的异常检测算法下的学习,通信学习部205开始对象的异常检测算法下的学习(S1203)。
通信学习部205从设定存储部202读入对象的异常检测算法的设定信息,判定在该异常检测算法中,基于有无最近N秒的用户输入的模型切换是ON还是OFF(S1204)。
在基于有无最近N秒的用户输入的模型切换为OFF的情况下(S1204中为“否”),由于不存在模型的切换,所以通信学习部205原样进行基础模型的学习(S1207)。基础模型是以没有最近用户输入时的包为学习对象包进行了学习的异常检测模型(无最近用户输入模型),但也可以是不论是否有最近用户输入都以在学习期间取得的包为学习对象包进行了学习的异常检测模型。
在基于有无最近N秒的用户输入的模型切换为ON的情况下(S1204中为“是”),通信学习部205取得从包被观测到的时刻起到N秒前的用户输入(S1205)。
关于用户输入,经由组装在监视对象的中央监视控制装置100中的键盘记录器,取得图5所示的用户的键输入信息或图6A、图6B、图6C或图6D所示的画面信息。键输入信息或画面信息与时刻信息建立了关联。
接着,通信学习部205基于键输入信息或画面信息,判定截止到N秒前是否有用户输入(S1206)。
在判定为没有用户输入的情况下(S1206中为“否”),通信学习部205进行基础模型(无最近用户输入模型)的学习(S1207),在判定为有用户输入的情况下(S1206中为“是”),通信学习部205进行有最近用户输入模型的学习(S1208)。
在步骤S1207中,使用被判定为没有用户输入的包的属性信息,进行基础模型的学习。具体而言,对如图8A所示的控制命令白名单追加在步骤S1202中观测到的包的属性信息。
在步骤S1208中,使用被判定为有用户输入的包的属性信息,进行有最近用户输入模型的学习。具体而言,对如图8B所示的控制命令白名单追加在步骤S1202中观测到的包的属性信息。
像这样,通信学习部205生成利用在最近N秒内有用户输入的包生成的控制命令白名单(异常检测模型)和利用在最近N秒内没有用户输入的包生成的控制命令白名单(异常检测模型)这两个异常检测模型。也可以说通信学习部205生成基于在学习期间中的包的发送时有用户对用户输入装置101的输入的情况下的包的属性信息生成的如图8B所示的控制命令白名单(第1列表的一例)、以及基于在学习期间中的包的发送时没有用户对用户输入装置101的输入的情况下的包的属性信息生成的如图8A所示的控制命令白名单(第2列表的一例)。
接着,通信学习部205判定是否存在未学习的异常检测算法(针对该学习对象包没有进行学习的异常检测算法)(S1209),在存在的情况下(S1209中为“是”),对作为对象的异常检测算法实施步骤S1203。此外,在不存在针对该学习对象包没有进行学习的异常检测算法的情况下(S1209中为“否”),即在针对该学习对象包,对全部的异常检测算法结束了该包的学习的情况下,通信学习部205判定是否有下一个学习对象包(S1210)。这里,在有下一个学习对象包的情况下(S1210中为“是”),通信学习部205实施步骤S1202。此外,在没有下一个学习对象包的情况下(S1210中为“否”),即在针对全部的学习对象包结束了学习的情况下,通信学习部205保存全部的异常检测模型(S1211),结束学习处理。
接着,参照图13对使用如上述那样生成的异常检测模型的异常检测的处理进行说明。图13是表示有关实施方式的监视装置200的检测处理(S1300)的流程图。图13是表示监视装置200的通信异常检测部206实施的检测处理的流程图。
如图13所示,在检测处理中,首先,通信异常检测部206从设定信息读出被使用的异常检测算法的信息,读出异常检测模型207a(S1301)。
接着,通信异常检测部206进入实际的检测处理。通信异常检测部206经由与端口2连接的L2SW140的镜像端口140a,取得检测对象包(S1302)。
通信异常检测部206基于图4所示的设定信息,判定作为对象的异常检测模型是否是实施基于有无最近N秒的用户输入的模型切换的模型(S1303)。
在基于有无最近N秒的用户输入的模型切换为OFF的情况下(S1303中为“否”),由于不存在模型的切换,所以通信异常检测部206使用基础模型实施异常检测(S1306)。基础模型例如是无最近用户输入模型(例如,图8A所示的控制命令白名单)。
在基于有无最近N秒的用户输入的模型切换为ON的情况下(S1303中为“是”),通信异常检测部206取得从取得了检测对象包的时间点起到N秒前的用户输入(S1304)。
关于用户输入,通过经由组装在监视对象的中央监视控制装置100中的键盘记录器获得图5所示的用户的键输入信息或图6A、图6B、图6C或图6D所示的画面信息来得到。键输入信息或画面信息与时刻信息建立了关联。
通信异常检测部206判定截止到N秒前是否有用户输入(S1305)。通信异常检测部206例如使用图5所示的键输入信息判定在取得了检测对象包的时刻与该时刻的N秒前的时刻之间是否有用户输入。
在判定为没有用户输入的情况下(S1305中为“否”),通信异常检测部206实施无最近用户输入模型下的异常检测(S1306),在判定为有用户输入的情况下(S1305中为“是”),通信异常检测部206实施有最近用户输入模型下的异常检测(S1307)。
通信异常检测部206在步骤S1306中在检测对象包的属性信息与图8A所示的控制命令白名单中的某一个一致的情况下判定为正常,在检测对象包的属性信息与图8A所示的控制命令白名单中的哪一个都不一致的情况下判定为异常。此外,通信异常检测部206在步骤S1307中在检测对象包的属性信息与图8B所示的控制命令白名单中的某一个一致的情况下判定为正常,在检测对象包的属性信息与图8B所示的控制命令白名单中的哪一个都不一致的情况下判定为异常。
这样,通信异常检测部206基于履历信息,切换用于检测通信的异常的检测方法。在图13的例子中,通信异常检测部206根据是否有用户对用户输入装置101的输入来切换用于检测通信的异常的检测方法。检测方法的切换例如通过切换在检测中使用的异常检测模型来实现。另外,通信异常检测部206在有用户对用户输入装置101的输入的情况下,不论用户的输入内容如何,都切换在检测中使用的异常检测模型。即,与用户的输入内容无关地决定异常检测模型。
在步骤S1306或步骤S1307中检测到异常的情况下,通信异常检测部206输出检测结果208(参照图7)。另外,通信异常检测部206在步骤S1306及步骤S1307中没有检测到异常的情况下,也可以输出表示正常的检测结果。
接着,通信异常检测部206判定是否存在针对检测对象包没有进行异常检测的异常检测模型(S1308),在存在的情况下(S1308中为“是”),通信异常检测部206针对作为对象的异常检测算法再次实施步骤S1303。此外,通信异常检测部206在不存在针对检测对象包没有进行异常检测的异常检测算法的情况下(S1308中为“否”),即在针对全部的异常检测算法结束了检测对象包的异常检测的情况下,判定是否有下一个检测对象包(S1309)。在有下一个检测对象包的情况下(S1309中为“是”),通信异常检测部206再次实施步骤S1302。此外,在没有下一个检测包的情况下(S1309中为“否”),即在判定为结束了全部的检测对象包的异常检测的情况下,通信异常检测部206结束检测处理。
(实施方式的变形例1)
在上述实施方式中,对监视装置200使用键盘记录器等经由网络取得中央监视控制装置100的用户输入的例子进行了说明,但用户输入的取得方法并不限定于此。在本变形例中,参照图14对监视装置200从用户输入装置101直接取得用户输入的结构进行说明。图14是表示使用有关实施方式的变形例1的监视装置200的控制系统1a的结构的框图。
如图14所示,也可以是如下结构:对监视装置200直接连接用户输入装置101,经由监视装置200向中央监视控制装置100传递用户输入。监视装置200例如与中央监视控制装置100、用户输入装置101及L2SW140分别直接连接。在此情况下,监视装置200能够直接获得用户的按键信息、鼠标操作信息等。
(实施方式的变形例2)
在上述实施方式中,说明了仅判定是否存在用户输入而进行异常检测的例子,但也可以使用用户输入的内容进行异常检测。在本变形例中,参照图15~图20对使用用户输入的内容进行异常检测的监视方法进行说明。有关本变形例的学习方法及检测方法与有关实施方式的学习处理及检测处理不同。
在本变形例中,通信异常检测部206基于在发送源或目的地中包含中央监视控制装置100的包的信息以及与该包对应的画面信息,检测通信的异常。例如,通信异常检测部206基于对画面信息实施OCR而得到的字符串的坐标及值、以及对观测到的通信进行解析而得到的值来检测通信的异常。以下,使用附图进行说明。
另外,与包对应的画面信息是表示作为生成该包的基础的显示画面的信息,并且是表示在发送了包时显示在显示画面上的显示内容的信息。
图15是表示有关实施方式的变形例2的监视装置的学习处理(S1200a)的流程图。图15表示用于利用根据用户输入而发生了变化的画面的信息来检测异常的异常检测模型的生成方法。图16是表示对控制包(包)进行解析而得到的数据的一例的图。
在本变形例中,作为监视装置200的处理,代替图10所示的学习处理(S1200)而实施学习处理(S1200a),代替检测处理(S1300)而实施检测处理(后述的图20所示的S1300a)。另外,有关本变形例的控制系统的各构成要素也可以与有关实施方式的控制系统1是同样的,以下使用控制系统1的各构成要素进行说明。
如图15所示,通信学习部205首先在观测全部的通信之后实施通信解析处理,取得1行其通信解析结果(S1401)。通信解析处理是指进行包的字段分析,并确定对怎样的信息进行通信的处理。取得1行通信解析结果是指取得1个通信的通信解析结果(例如,图16所示的每行的结果)。
如图16所示,解析结果包含时刻、发送源IP、目的地IP、命令、对象ID、当前值等的信息。
时刻是表示包被观测到的时刻。发送源IP及目的地IP是对包的头部进行分析而得到的信息。命令、对象ID及当前值是对包的数据部进行分析而得到的信息。当前值表示用户对用户输入装置101输入的控制值、传感器值等的数值。在步骤S1401中,假设取得了3行中处于最下方的1行的结果(时刻为2020-1-19 9:25:45的结果)。
再次参照图15,接着,通信学习部205取得对象解析结果的附近时刻(例如前后5秒)的输入画面信息群(S1402)。通信学习部205例如经由键盘记录器等的软件从中央监视控制装置100取得2020年1月19日9时25分45秒的前后5秒间的画面信息。在前后5秒间包含的画面信息的数量没有特别限定。例如,在步骤S1402中,取得该前后5秒间的每隔规定时间间隔的多个画面信息,例如也可以取得1个画面信息。
接着,通信学习部205对所取得的画面信息群全部实施OCR(Optical CharacterRecognition:光学字符识别),取得显示在画面上的数值信息及其位置信息(S1403)。位置信息表示显示画面中的坐标。
图17是表示在以画面信息为输入而实施了OCR的情况下得到的测试信息的图。
如图17所示,能以矩形的起点坐标与测试信息对应的形式得到OCR结果。在图17中表示了以下的例子:在画面上的以x=1053,y=128为起点坐标的矩形中显示有“□×”的标记,在画面上的以x=210,y=418为起点坐标的矩形中显示有“当前值”的字符,在画面上的以x=659,y=418为起点坐标的矩形中显示有“1212”的数值,在画面上的以x=210,y=724为起点坐标的矩形中显示有“设定值”的字符,在画面上的以x=659,y=724为起点坐标的矩形中显示有“1250”的数字。
接着,通信学习部205在记载于通信解析结果中的“当前值”列的信息和通过OCR得到的全部的画面信息中,将数值一致的数据的位置信息全部提取,作为值一致OCR坐标对通信解析结果的行建立关联(S1404)。通信学习部205将通信解析结果中的数值与表示该数值被显示在画面上的哪个位置处的信息建立关联。另外,数值一致,不仅包括数值完全一致的情况,也可以包括数值在规定的范围内的情况。值一致OCR坐标表示在学习期间中的包的发送时的显示画面中显示与对该通信进行解析而得到的值一致的值的坐标,是对象坐标的一例。
与图16的第3行的当前值1250一致的OCR结果中的坐标是x=659,y=724。此外,与图16的第3行的当前值1250为规定的范围内的OCR结果的数值1212的坐标是x=659,y=418。即,与图16的第3行的当前值1250建立关联的OCR结果的坐标是x=210,y=724及x=659,y=418。
图18是表示将对画面信息进行OCR而得到的测试信息与对控制包进行解析得到的数据建立了关联的数据的一例的图。
如图18所示,建立了关联的结果是对图16所示的数据追加了值一致OCR坐标的项目的数据。作为值一致OCR坐标将x=659,y=724及x=659,y=418与第3行的通信解析结果建立了关联。这样,例如对1个行有可能关联多个坐标。
再次参照图15,通信学习部205判定是否存在下一个通信解析结果(S1405)。在存在下一个通信解析结果的情况下(S1405中为“是”),通信学习部205对下一个通信解析结果实施步骤S1401的处理。
在不存在下一个通信解析结果的情况下(S1405中为“否”),即在对全部的通信解析结果进行了该关联建立的情况下,通信学习部205在属性信息(发送源IP、目的地IP、命令、对象ID等)全部一致的通信解析结果中,将包含值一致OCR坐标相同、或者x坐标及y坐标全部包含在规定范围(例如±3以内的范围)内等非常近的坐标信息的通信解析结果的集合全部提取(S1406)。在图18的例子中,关于第1行及第3行,保持发送源IP为“192.168.1.101”、目的地IP为“192.168.1.102”、命令为“write(写入)”、对象ID与“analogoutput 101”相同、并且值一致OCR坐标相同的坐标(x=659,y=724)。因此,在步骤S1406中,输出在第1行及第3行中表示的各属性信息(发送源IP为“192.168.1.101”、目的地IP为“192.168.1.102”、命令为“write(写入)”、对象ID为“analog output 101”)和值一致OCR坐标(x=659,y=724)。
接着,通信学习部205将在属性信息(发送源IP、目的地IP、命令、对象ID等)之中除了1个属性以外的其他属性一致、值一致OCR坐标相同或为附近的通信解析结果的集合也一起全部提取(S1407)。步骤S1407的处理例如也可以对图18所示的数据中的在步骤S1406的提取结果中提取出的数据以外的数据执行。例如,在步骤S1407的处理中,也可以不提取与在步骤S1406中提取出的属性信息处于包含关系的数据(例如,后述的图19所示的第1行)。
接着,通信学习部205将步骤S1406及步骤S1407的提取结果作为异常检测模型输出(S1408)。
图19是表示有关实施方式的变形例2的异常检测模型的一例的图。图19的“***”是指其属性信息没有特别限定。例如,图19的第1行表示除了对象ID以外的其他属性一致的信息的值一致OCR坐标,是在步骤S1407中提取出的通信解析结果。此外,图19的第2行及第3行表示4个属性全部一致的信息的值一致OCR坐标,是在步骤S1406中提取出的通信解析结果。
如图19所示,异常检测模型是将属性信息(这里是发送源IP、目的地IP、命令及对象ID)与值一致OCR坐标建立了关联的信息。换言之,在异常检测模型中不包含当前值、设定值等的数值。
另外,图19所示的第1行及第2行的属性信息处于包含关系。在此情况下,以属性信息更多地一致的一方为优先。即,在图19所示的第1行及第2行中,以第2行为优先。例如,图19所示的第1行的信息也可以不包含在异常检测模型中。
另外,在上述中,作为属性信息而列举了发送源IP、目的地IP、命令及对象ID,但也可以包含其以外的属性信息。此外,列举了在属性信息中一致到3个为止的情况下进行提取的例子,但并不限于此,例如也可以在属性信息中的至少1个一致的情况下进行提取。
如上述那样,有关本变形例的通信学习部205基于预先设定的学习期间,学习用于确定显示画面中的对象坐标的异常检测模型。
接着,参照图20对使用如上述那样生成的异常检测模型的异常检测方法进行说明。图20是表示有关实施方式的变形例2的监视装置200的检测处理(S1300a)的流程图。
在图20所示的检测处理中,通信异常检测部206首先在观测全部的通信后实施通信解析处理,取得1行其通信解析结果(S1501)。
接着,通信异常检测部206判定所取得的通信解析结果是否与在学习处理中提取的异常检测模型的属性信息的组合一致(S1502)。
在所取得的通信解析结果与异常检测模型的属性信息的组合中的哪一个都不一致的情况下(S1502中为“否”),通信异常检测部206实施步骤S1508的处理。
在所取得的通信解析结果与异常检测模型的属性信息的组合中的某一个一致的情况下(S1502中为“是”),通信异常检测部206取得对象通信解析结果的附近时刻(例如前后5秒)的输入画面信息群(S1503)。
通信异常检测部206对所取得的输入画面信息群实施OCR,取得显示在画面上的数值信息及其位置信息(S1504)。
接着,通信异常检测部206将异常检测模型与通信解析结果所表示的值进行比较(S1505)。通信异常检测部206例如将通信解析结果所表示的值、通过步骤S1504中的OCR得到的输入画面信息群的全画面信息、以及在学习时得到的异常检测模型的坐标信息所表示的值进行比较。通信异常检测部206从异常检测模型中取得与在步骤S1502中判定为“是”的属性信息建立了关联的值一致OCR坐标,提取通过OCR得到的输入画面信息群中的与该值一致OCR坐标对应的值。并且,通信异常检测部206将从输入画面信息群提取的值与通信解析结果中包含的值进行比较。
在没有值一致的异常检测模型的坐标信息的情况下(S1505中为“否”),通信异常检测部206判定为异常,输出表示异常的检测结果(S1507)。
在有值一致的异常检测模型的坐标信息的情况下(S1505中为“是”),通信异常检测部206判定为不是异常,判定是否有下一个通信解析结果(S1508)。在有下一个通信解析结果的情况下(S1508中为“是”),通信异常检测部206对下一个通信解析结果进行步骤S1501的处理,在没有下一个通信解析结果的情况下(S1508中为“否”),结束检测处理。
在本变形例中,为了用户输入与通信异常检测的关联建立处理,实施了利用画面整体的OCR进行的由用户给出的控制值的取得、以及数值信息的关联建立的学习,但也可以不进行学习处理,而预先对显示由用户给出的控制值的位置与在值栏中反映该控制值的通信解析结果的属性信息建立关联。
如上述那样,有关本变形例的通信异常检测部206基于观测到的包的属性信息确定显示画面中的对象坐标,基于在1个以上的字符串的坐标中的所确定的对象坐标所显示的值与对观测到的通信进行解析而得到的值是否一致,来检测通信的异常。
(实施方式的变形例3)
在上述实施方式中,说明了根据是否存在用户输入来切换异常检测模型的例子,但也可以根据是否存在用户输入来切换是否进行异常检测。切换是否进行异常检测是切换检测方法的一例。例如,也可以不是学习处理及检测处理都进行基于有无用户输入的模型的切换,而只是在异常检测时当有最近用户输入的情况下使检测结果反映有最近用户输入。作为最简单的例子,可以例示在有最近用户输入的情况下不实施异常检测。
以下,在本变形例中,参照图21及图22对根据是否存在用户输入来切换是否进行异常检测的监视方法进行说明。图21是表示有关实施方式的变形例3的监视装置200的学习处理(S1200b)的流程图。
在本变形例中,作为监视装置200的处理,代替图10所示的学习处理(S1200)而实施学习处理(S1200b),代替检测处理(S1300)而实施检测处理(后述的图22所示的S1300b)。另外,有关本变形例的控制系统的各构成要素也可以与有关实施方式的控制系统1是同样的,以下使用控制系统1的各构成要素进行说明。
图21所示的步骤S1601~S1605、步骤S1607~S1610各自的处理与图12所示的步骤S1201~S1205、步骤S1207、步骤S1209~S1211各自的处理是同样的,省略说明。
通信学习部205基于键输入信息或画面信息,判定截止到N秒前是否有用户输入(S1606)。
在判定为没有用户输入的情况下(S1606中为“否”),通信学习部205进行基础模型(无最近用户输入模型)的学习(S1607),在判定为有用户输入的情况下(S1606中为“是”),通信学习部205不进行异常检测模型的学习而前进到步骤S1608。即,在本变形例中,不生成有最近用户输入模型。在本变形例中,例如在图8A及图8B所示的控制命令白名单中仅生成图8A所示的控制命令白名单。
接着,参照图22对由通信异常检测部206进行的检测处理进行说明。图22是表示有关实施方式的变形例3的监视装置200的检测处理(S1300b)的流程图。
图22所示的步骤S1701~S1704、步骤S1706~S1708各自的处理与图13所示的步骤S1301~S1304、步骤S1306、步骤S1308、步骤S1309各自的处理是同样的,省略说明。
通信异常检测部206基于键输入信息或画面信息,判定截止到N秒前是否有用户输入(S1705)。通信异常检测部206例如使用图5所示的键输入信息判定在检测对象包被取得的时刻与该时刻的N秒前的时刻之间是否有用户输入。
在判定为没有用户输入的情况下(S1705中为“否”),通信异常检测部206实施无最近用户输入模型下的异常检测(S1706),在判定为有用户输入的情况下(S1705中为“是”),通信异常检测部206不实施异常检测而前进到步骤S1707。即,在本变形例中,仅在截止到最近N秒前没有用户输入的情况下实施异常检测。
这样,在本变形例中,通信异常检测部206在检测对象包的发送时有用户对用户输入装置101的输入的情况下,不进行使用用于检测通信的异常的异常检测模型的该通信的异常的检测,在检测对象包的发送时没有用户对用户输入装置101的输入的情况下,进行使用异常检测模型(基础模型)的该通信的异常的检测。
在包的发送时有用户对用户输入装置101的输入的情况下的模型与在包的发送时没有用户对用户输入装置101的输入的情况下的模型相比,有时用于生成模型的数据(键输入信息或画面信息)较少。一般而言,如果用于模型生成的数据数多,则异常检测模型的检测性能提高,所以在有用户的输入的情况下,通过不进行通信的异常的检测,能够抑制使用检测性能低的模型进行通信的异常的检测。
另外,图22所示的处理例如也可以仅在包的发送时有用户对用户输入装置101的输入的情况下的用于生成模型的数据数少的情况下执行。通信异常检测部206也可以判定为了生成模型而使用的数据数是否为规定值以上,在数据数为规定值以上的情况下执行图13所示的检测处理,在数据数小于规定值的情况下执行图22所示的检测处理。
(其他实施方式)
如以上这样,作为在本申请中公开的技术的例示,对实施方式等进行了说明。但是本公开的技术并不限定于这些,也能够应用于适当进行了变更、替换、附加、省略等的实施方式。例如,只要不脱离本公开的主旨,对本实施方式施以本领域技术人员想到的各种变形后的形态、或将不同实施方式的构成要素组合而构建的形态也可以也包含在本公开中。
例如,在上述实施方式等中,对监视装置200生成如图8A及图8B所示的控制命令白名单的例子进行了说明,但并不限定于此,也可以从外部的装置取得控制命令白名单。即,监视装置200也可以不生成而从外部的装置取得异常检测模型。
此外,在上述实施方式等中,对异常检测模型是列表的情况进行了说明,但并不限定于此,例如也可以是机器学习模型。在此情况下,通信学习部205也可以生成:第1机器学习模型,以在学习期间中的包的发送时有用户对用户输入装置101的输入的情况下的该包的属性信息为输入信息,并以正常或异常为输出信息(正解信息),通过机器学习而生成;以及第2机器学习模型,以在学习期间中的包的发送时没有用户对用户输入装置的输入的情况下的该包的属性信息为输入信息,并以正常或异常为正解信息,通过机器学习而生成。此外,通信学习部205例如也可以生成1个机器学习模型,该1个机器学习模型仅使用在学习期间中的包的发送时没有用户对用户输入装置101的输入的情况下的该包的属性信息,以该属性信息为输入信息,并以正常或异常为正解信息,通过机器学习而生成。
此外,在上述实施方式等中,对监视对象设备(中央监视控制装置)是用于对工厂的生产设备进行控制的控制装置的例子进行了说明,但监视对象设备的用途并不限定于此。监视对象设备只要是进行机械地进行的恒常的通信等的不取决于人的输入的通信和通过人的输入而发生的通信的装置即可。监视对象设备例如也可以是在医院、学校、住宅等的设施中使用的装置。
在实施方式中,既可以将监视装置200中的各构成要素通过IC(IntegratedCircuit)、LSI(Large Scale Integration)等的半导体装置单独地形成1个芯片,也可以以包含一部分或全部的方式形成1个芯片。这里设为LSI,但根据集成度的差异,有时也称作IC、系统LSI、超级LSI、超大规模LSI。此外,集成电路化的方法并不限于LSI,也可以由专用电路或通用处理器实现。也可以利用在LSI制造后能够编程的FPGA(Field ProgrammableGate Array)、或能够重构LSI内部的电路单元的连接或设定的可重构处理器。进而,如果通过半导体技术的进步或派生的其他技术出现替代LSI的集成电路化的技术,则也可以利用该技术进行功能块的集成化。有可能是生物技术的应用等。系统LSI是将多个处理部集成在1个芯片上而制造的超多功能LSI,具体而言是包括微处理器、ROM(Read Only Memory)、RAM(Random Access Memory)等而构成的计算机系统。在ROM中存储有计算机程序。通过由微处理器按照计算机程序动作,系统LSI达成其功能。
此外,在上述实施方式等中,各构成要素也可以由专用的硬件构成,或通过执行适合于各构成要素的软件程序来实现。各构成要素也可以通过CPU或处理器等的程序执行部将记录在硬盘或半导体存储器等的记录介质中的软件程序读出并执行来实现。
此外,流程图中的执行各步骤的顺序是为了具体地说明本公开而用于例示的,也可以是上述以外的顺序。此外,也可以将上述步骤的一部分与其他步骤同时(并行)执行,也可以不执行上述步骤的一部分。
此外,框图中的功能块的分割是一例,也可以将多个功能块作为一个功能块实现,或将一个功能块分割为多个,或将一部分功能转移到其他功能块中。此外,也可以由单一的硬件或软件并行或分时地处理具有类似的功能的多个功能块的功能。
此外,有关上述实施方式等的监视装置200既可以作为单一的装置实现,也可以由多个装置实现。在监视装置200由多个装置实现的情况下,将该监视装置200具有的各构成要素怎样分配给多个装置都可以。在监视装置200由多个装置实现的情况下,该多个装置间的通信方法没有特别限定,既可以是无线通信,也可以是有线通信。此外,也可以在装置间将无线通信及有线通信组合。
此外,本公开的一技术方案也可以是使计算机执行图10~图13、图15、图20~图22中的任一个所示的数据生成方法中包含的特征性的各步骤的计算机程序。
此外,例如程序也可以是用于使计算机执行的程序。此外,本公开的一技术方案也可以是记录有这样的程序的计算机可读取的非暂时性的记录介质。例如,也可以将这样的程序记录在记录介质中而分发或流通。例如,也可以将分发的程序安装到其他的具有处理器的装置中,通过使该处理器执行该程序而使该装置进行上述各处理。
工业实用性
本公开对于判定检测到的网络上的异常的通信是否起因于用户的操作的监视装置及监视方法是有用的。
标号说明
1、1a 控制系统
100 中央监视控制装置
101 用户输入装置
110 PC
120 PLC
140 L2SW
140a 镜像端口
200 监视装置
201 设定输入部
202 设定存储部
203 用户输入取得部
204 用户输入信息存储部
205 通信学习部
206 通信异常检测部
207 异常检测模型存储部
207a 异常检测模型
208 检测结果

Claims (18)

1.一种监视装置,其中,具备:
用户输入取得部,取得基于用户对输入装置的输入的信息;以及
通信异常检测部,检测被观测到的通信的异常,
上述通信异常检测部基于在发送源或目的地中包含监视对象设备的包的信息以及基于与该包对应的上述输入的信息,检测上述通信的异常。
2.如权利要求1所述的监视装置,其中,
基于上述输入的信息包含履历信息,该履历信息表示上述包的发送时的上述用户对上述输入装置的输入的履历,
上述通信异常检测部根据上述履历信息,切换用于检测上述通信的异常的检测方法。
3.如权利要求2所述的监视装置,其中,
上述履历信息包含表示在上述包的发送时是否有上述用户对上述输入装置的输入的信息,
上述通信异常检测部根据是否有上述用户对上述输入装置的输入,切换用于检测上述通信的异常的检测方法。
4.如权利要求3所述的监视装置,其中,
作为上述检测方法的切换,上述通信异常检测部切换用于检测上述通信的异常的模型。
5.如权利要求3所述的监视装置,其中,
上述通信异常检测部在上述包的发送时有上述用户对上述输入装置的输入的情况下,不进行使用用于检测上述通信的异常的模型的上述通信的异常的检测,在上述包的发送时没有上述用户对上述输入装置的输入的情况下,进行使用上述模型的上述通信的异常的检测。
6.如权利要求1所述的监视装置,其中,
基于上述输入的信息包含画面信息,该画面信息表示上述包的发送时的上述监视对象设备的显示画面,
上述通信异常检测部基于在发送源或目的地中包含上述监视对象设备的包的信息以及与该包对应的上述画面信息,检测上述通信的异常。
7.如权利要求6所述的监视装置,其中,
上述通信异常检测部基于对与该包对应的上述画面信息实施光学字符识别即OCR而得到的字符串的坐标及值、以及对上述包进行解析而得到的值,检测上述通信的异常。
8.如权利要求7所述的监视装置,其中,
上述通信异常检测部基于上述包的属性信息确定上述显示画面中的对象坐标,基于在1个以上的上述字符串的坐标中的所确定的上述对象坐标所显示的值与对上述包进行解析而得到的值是否一致,来检测上述通信的异常。
9.如权利要求4或5所述的监视装置,其中,
还具备通信学习部,该通信学习部基于预先设定的学习期间,学习上述模型。
10.如权利要求9所述的监视装置,其中,
上述通信学习部生成第1列表和第2列表作为上述模型,上述第1列表是基于在上述学习期间中的包的发送时有上述用户对上述输入装置的输入的情况下的该包的属性信息进行了学习的列表,上述第2列表是基于在上述学习期间中的包的发送时没有上述用户对上述输入装置的输入的情况下的该包的属性信息进行了学习的列表。
11.如权利要求9所述的监视装置,其中,
上述通信学习部生成第1机器学习模型和第2机器学习模型,上述第1机器学习模型是以在上述学习期间中的包的发送时有上述用户对上述输入装置的输入的情况下的该包的属性信息为输入信息,并以表示正常或异常的检测结果为正解信息,通过机器学习进行了学习的模型,上述第2机器学习模型是以在上述学习期间中的包的发送时没有上述用户对上述输入装置的输入的情况下的该包的属性信息为输入信息,并以表示正常或异常的检测结果为正解信息,通过机器学习进行了学习的模型。
12.如权利要求8所述的监视装置,其中,
还具备通信学习部,该通信学习部基于预先设定的学习期间,学习用于确定上述显示画面中的对象坐标的模型。
13.如权利要求12所述的监视装置,其中,
上述模型是将包的属性信息与上述显示画面中的对象坐标建立了对应的列表。
14.如权利要求13所述的监视装置,其中,
上述对象坐标是在上述学习期间中的包的发送时的上述显示画面中显示与对该包进行解析而得到的值一致的值的坐标。
15.如权利要求1~8、12~14中任一项所述的监视装置,其中,
在上述监视对象设备安装有能够将基于上述输入的信息转送给上述监视装置的软件,
通过由上述软件转送基于上述输入的信息,上述用户输入取得部取得基于该输入的信息。
16.如权利要求1~8、12~14中任一项所述的监视装置,其中,
还具备转送装置,该转送装置连接在上述输入装置与上述监视对象设备之间,能够将基于上述输入的信息转送给上述监视装置,
通过由上述转送装置转送基于上述输入的信息,上述用户输入取得部取得基于该输入的信息。
17.如权利要求1~8、12~14中任一项所述的监视装置,其中,
上述监视对象设备是用于对配置在工厂内的生产设备进行控制的控制装置。
18.一种监视方法,其中,
取得基于用户对输入装置的输入的信息,
基于在发送源或目的地中包含监视对象设备的包的信息以及基于与该包对应的上述输入的信息,检测通信的异常。
CN202280035523.2A 2021-05-26 2022-04-21 监视装置及监视方法 Pending CN117321974A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2021-088818 2021-05-26
JP2021088818 2021-05-26
PCT/JP2022/018411 WO2022249816A1 (ja) 2021-05-26 2022-04-21 監視装置及び監視方法

Publications (1)

Publication Number Publication Date
CN117321974A true CN117321974A (zh) 2023-12-29

Family

ID=84228701

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280035523.2A Pending CN117321974A (zh) 2021-05-26 2022-04-21 监视装置及监视方法

Country Status (5)

Country Link
US (1) US20240080334A1 (zh)
EP (1) EP4351099A1 (zh)
JP (1) JPWO2022249816A1 (zh)
CN (1) CN117321974A (zh)
WO (1) WO2022249816A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4451958B2 (ja) * 2000-02-03 2010-04-14 株式会社ミクロ電子システム テレビ会話システム
WO2005047862A2 (en) 2003-11-12 2005-05-26 The Trustees Of Columbia University In The City Of New York Apparatus method and medium for identifying files using n-gram distribution of data
JP5792654B2 (ja) * 2012-02-15 2015-10-14 株式会社日立製作所 セキュリティ監視システムおよびセキュリティ監視方法

Also Published As

Publication number Publication date
JPWO2022249816A1 (zh) 2022-12-01
WO2022249816A1 (ja) 2022-12-01
EP4351099A1 (en) 2024-04-10
US20240080334A1 (en) 2024-03-07

Similar Documents

Publication Publication Date Title
CN107292154B (zh) 一种终端特征识别方法及系统
US20160036834A1 (en) System and method for determining category of trustof applications performing interface overlay
WO2016208159A1 (ja) 情報処理装置、情報処理システム、情報処理方法、及び、記憶媒体
US20230362182A1 (en) Abnormality sensing device and abnormality sensing method
US11263266B2 (en) Traffic anomaly sensing device, traffic anomaly sensing method, and traffic anomaly sensing program
CN107483481B (zh) 一种工业控制系统攻防模拟平台及其实现方法
JP5116608B2 (ja) 情報処理装置、制御方法、及びプログラム
US10452044B2 (en) Operating system and method for identifying and displaying operator accesses to process objects and operator system
EP3343421A1 (en) System to detect machine-initiated events in time series data
EP3955069A1 (en) Controller system
WO2019240020A1 (ja) 不正通信検知装置、不正通信検知方法及び製造システム
CN117321974A (zh) 监视装置及监视方法
US11805142B2 (en) Communication system and communication method
EP3951520A1 (en) Control system and setting method
WO2020250320A1 (ja) 操作ログ取得装置、操作ログ取得方法および操作ログ取得プログラム
US11435714B2 (en) Information processing device, control method, and recording medium for specifying related event from collected event logs
EP3910889A1 (en) Communication terminal device, communication control method, and communication control program
JP6060123B2 (ja) 影響範囲特定装置、影響範囲特定方法、及びプログラム
US20220255953A1 (en) Feature detection with neural network classification of images representations of temporal graphs
CN106209839A (zh) 入侵报文的防护方法及装置
KR20190070583A (ko) 사이버 위협 정보에 대한 통합 표현 규격 데이터 생성 방법 및 장치
JP7347477B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2019129412A (ja) 異常要因判定装置、制御システム、および異常要因判定方法
CN114184361B (zh) 一种交换机风扇信息检测方法、装置以及介质
CN110244924B (zh) 图像传感器、系统、其数据生成方法及记录介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination