CN111709009A - 联网工业控制系统的探测方法、装置、计算机设备和介质 - Google Patents

联网工业控制系统的探测方法、装置、计算机设备和介质 Download PDF

Info

Publication number
CN111709009A
CN111709009A CN202010551595.5A CN202010551595A CN111709009A CN 111709009 A CN111709009 A CN 111709009A CN 202010551595 A CN202010551595 A CN 202010551595A CN 111709009 A CN111709009 A CN 111709009A
Authority
CN
China
Prior art keywords
industrial control
characteristic information
port
control equipment
protocol
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.)
Withdrawn
Application number
CN202010551595.5A
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.)
Hangzhou Dbappsecurity Technology Co Ltd
Original Assignee
Hangzhou Dbappsecurity Technology Co Ltd
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 Hangzhou Dbappsecurity Technology Co Ltd filed Critical Hangzhou Dbappsecurity Technology Co Ltd
Priority to CN202010551595.5A priority Critical patent/CN111709009A/zh
Publication of CN111709009A publication Critical patent/CN111709009A/zh
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请涉及一种联网工业控制系统的探测方法、装置、计算机设备和介质。其中,该联网工业控制系统的探测方法包括:从存活端口库中读取存活端口,并使用探测脚本探测与存活端口对应的工控设备的第一特征信息;使用第一特征信息,在工控设备指纹库中模糊匹配对应的工控设备;根据匹配到的工控设备所使用的工控通信协议,获取工控设备的第二特征信息;根据第一特征信息和第二特征信息,生成工控设备的指纹特征,并将指纹特征存储到工控设备指纹库中。通过本申请,解决了相关技术中搜索引擎对工业控制系统的探测深度不够的问题,增加了对工业控制系统的探测深度。

Description

联网工业控制系统的探测方法、装置、计算机设备和介质
技术领域
本申请涉及网络安全领域,特别是涉及联网工业控制系统的探测方法、装置、计算机设备和计算机可读介质。
背景技术
现代工业生产企业信息化和工业化已经高度融合,这意味着工业控制系统越来越走向开放和互联,工业控制系统与外界完全隔离几乎成为不可能。
与上述严峻的安全形势相对应的,由于黑客大会、白帽社区、开源社区的出现,获得工业控制系统的攻击方法越来越容易,大量工业控制系统软硬件设备的安全漏洞及利用方法可通过公开或半公开的渠道获得,这些都极大地降低了针对工业控制系统的网络攻击的难度。因此监管单位及时发现辖区暴露在互联网的工业控制系统,以及企业及时发现暴露在互联网的工业控制系统成为主动防御信息安全事件的必要手段。
在相关技术中,监管单位在对工业控制系统进行探测时,通常是采用工业控制系统对应的搜索引擎(如Shodan、Zoomeye)进行探测。发明人在研究过程中发现,采用上述搜索引擎进行探测存在着对工业控制系统的探测广度、准确度和深度不够的问题。
目前针对相关技术存在搜索引擎对工业控制系统的探测深度不够的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了联网工业控制系统的探测方法、装置、计算机设备和计算机可读介质,以至少解决相关技术中搜索引擎对工业控制系统的探测深度不够的问题。
第一方面,本申请实施例提供了一种联网工业控制系统的探测方法,所述方法包括:
从存活端口库中读取存活端口,并使用探测脚本探测与所述存活端口对应的工控设备的第一特征信息;
使用所述第一特征信息,在工控设备指纹库中模糊匹配对应的工控设备;
根据匹配到的工控设备所使用的工控通信协议,获取所述工控设备的第二特征信息;
根据所述第一特征信息和所述第二特征信息,生成所述工控设备的指纹特征,并将所述指纹特征存储到所述工控设备指纹库中。
在其中一些实施例中,在从存活端口库中读取存活端口,并使用探测脚本探测与所述存活端口对应的工控设备的第一特征信息之前,所述方法还包括:
对工控通信协议对应的端口进行探测;
在探测到存活端口的情况下,根据所述存活端口生成所述存活端口库。
在其中一些实施例中,对工控通信协议对应的端口进行探测包括:
在所述工控通信协议包括TCP协议的情况下,采用Masscan对所述工控通信协议对应的端口进行探测;和/或
在所述工控通信协议包括UDP协议的情况下,采用Zmap对所述工控通信协议对应的端口进行探测。
在其中一些实施例中,从存活端口库中读取存活端口,并使用探测脚本探测与所述存活端口对应的工控设备的第一特征信息包括:
根据所述探测脚本,向存活端口发送报文请求消息,接收所述存活端口根据所述报文请求消息生成的报文响应消息;
解析所述报文响应消息中的报文,通过预设抓包工具,获取所述报文中的应用层交互子报文;
从所述应用层交互子报文中获取与所述存活端口对应的工控设备的第一特征信息。
在其中一些实施例中,根据匹配到的工控设备所使用的工控通信协议,获取所述工控设备的第二特征信息:
判断所述工控设备所使用的工控通信协议是私有协议还是公有协议;
在判断到所述工控设备所使用的工控通信协议是私有协议的情况下,搭建所述私有协议的运行环境,并通过预设抓包工具从所述私有协议中获取所述工控设备的第二特征信息。
在其中一些实施例中,所述方法还包括:
在判断到所述工控设备所使用的工控通信协议是公有协议的情况下,对所述公有协议进行解析,得到所述工控设备的第二特征信息。
在其中一些实施例中,根据所述第一特征信息和所述第二特征信息,生成所述工控设备的指纹特征,并将所述指纹特征存储到所述工控设备指纹库中之后,所述方法还包括:
根据所述工控设备的指纹特征和预先配置的安全漏洞库,对所述工控设备的进行漏洞检测。
第二方面,本申请实施例提供了一种工业控制系统的探测装置,所述装置包括:
读取模块,用于从存活端口库中读取存活端口,并使用探测脚本探测与所述存活端口对应的工控设备的第一特征信息;
匹配模块,用于使用所述第一特征信息,在工控设备指纹库中模糊匹配对应的工控设备;
第一获取模块,用于根据匹配到的工控设备所使用的工控通信协议,获取所述工控设备的第二特征信息;
第一生成模块,用于根据所述第一特征信息和所述第二特征信息,生成所述工控设备的指纹特征,并将所述指纹特征存储到所述工控设备指纹库中。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的工业控制系统的探测方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的工业控制系统的探测方法。
相比于相关技术,本申请实施例提供的联网工业控制系统的探测方法、装置、计算机设备和计算机可读介质,通过从存活端口库中读取存活端口,并使用探测脚本探测与存活端口对应的工控设备的第一特征信息;使用第一特征信息,在工控设备指纹库中模糊匹配对应的工控设备;根据匹配到的工控设备所使用的工控通信协议,获取工控设备的第二特征信息;根据第一特征信息和第二特征信息,生成工控设备的指纹特征,并将指纹特征存储到工控设备指纹库中的方式。解决了相关技术中搜索引擎对工业控制系统的探测深度不够的问题,增加了对工业控制系统的探测深度。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的联网工业控制系统的探测方法的流程图;
图2是根据本申请实施例的TCP协议的的结构示意图;
图3是根据本申请实施例的TCP协议的交互示意图;
图4是根据本申请实施例的工控设备对应的工控通信协议应用层的报文示意图;
图5是根据本申请实施例的存活端口的探测方法的流程图;
图6是根据本申请实施例的CNVD上发布的工控漏洞示例图;
图7是根据本申请优选实施例的联网工业控制系统的探测方法的流程图;
图8是根据本申请实施例的工业控制系统的探测装置的结构框图;
图9是根据本申请实施例的计算机设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本实施例所提供的方法实施例可以在计算机设备中执行。下面将以计算机设备为例,对本发明实施例的联网工业控制系统的探测方法进行描述和说明。
本实施例提供了一种联网工业控制系统的探测方法。图1是根据本申请实施例的联网工业控制系统的探测方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,计算机设备从存活端口库中读取存活端口,并使用探测脚本探测与存活端口对应的工控设备的第一特征信息。
本步骤中的探测脚本可以是用户预先根据工控通信协议编写的探测脚本。
下面以工控通信协议为TCP为例,来对用户预先根据工控通信协议编写的探测脚本进行描述和说明:
在本实施例中,首先分析TCP协议。TCP在以太网上传输,一般可以支持EthernetⅡ和802.3两种帧格式。如图2所示,TCP数据帧包含MBAP报文头、功能码和数据三部分。MBAP报文头由TI(传输标识)、PI(协议标识)、LEN(长度)、UI(单元标识)四部分组成,共占7B。基于TCP协议的计算机设备与工控设备通信过程中,由计算机设备生成相应MBAP报文头信息,工控设备在应答过程中,除LEN重新生成外,其他部分MBAP报文头复制计算机设备生成值。其中,功能码(FUNC)分为公共功能码、用户定义功能码、保留功能码三类,占1B。
其次,以常用功能码43(0x2b)读取设备标识信息为例,对TCP报文交互以及协议分析过程进行说明,如图3所示,在本实施例中,根据上述实施例,TCP协议对应的数据帧包含MBAP报文头、功能码和数据三部分进行解析,得到功能码,以及对应到设备信息。图3对TCP报文交互以及协议分析过程进行了说明,经过MBAP报头文、PDU及其各部分的数据解析得到常用功能码43(0x2b)读取设备标识信息。
再次,通过wireshark抓包工具,捕获TCP读工控设备标识应用层交互报文,如图4所示。通过分析可以读出设备厂商为:RockwellAutomationAllen-Bradley,产品代码:180,版本:08.0B,其中,该实施例中的设备厂商、产品代码、版本可以是上述实施例中的第一特征信息。
最后,在上述实施例中对TCP协议进行深度分析的基础上,开发TCP协议专用的探测脚本,为本申请实施例中的步骤S101中提供了探测脚本。其中,该探测脚本中包括但不限于:计算机设备与工控设备的TCP连接脚本、资产请求脚本、业务交互脚本、数据解析脚本、特征信息提取脚本、TCP关闭脚本等。
需要说明的,本申请实施例中的探测脚本并不仅限于对TCP协议对应的工控设备进行探测,也可以是通过分析相关技术中其他协议编写的探测脚本,例如Modbus、IP等其他协议对应的探测脚本。
在一些实施例中,在步骤S101步骤之前,计算机设备可以对工控通信协议对应的端口进行探测;判断是否探测到存活端口;若是,则根据存活端口生成存活端口库。本实施例中,计算机设备可以通过实时或者预设的探测时间对工控通信协议对应的端口进行探测的方式,来确定暴露的存活端口,以便于后续计算机设备对存活接口对应的工控设备漏洞检测。
同时,通过上述方式还便于步骤S101中计算机设备从存活端口库读取存活接口。
在一些实施例中,对存活端口的探测可以是以下方式:
方式1,以工控通信协议包括TCP为例,采用Masscan对工控通信协议对应的端口进行探测。
方式2,以工控通信协议包括UDP为例,采用Zmap对工控通信协议对应的端口进行探测。
通过上述方式,可以实现TCP和UDP协议对应的端口进行探测,但是在本申请实施例中,并仅限于以上两种协议的探测,也可以是采取相关技术中探测其他协议的技术对其他协议的进行探测。
下面以优选的实施例来对存活端口的探测进行描述和说明。
在一些实施例中,以存活端口对应的工控通信协议为TCP协议或UDP协议为例。计算机设备利用Masscan对IPv4(网际协议版本4)地址空间内TCP协议端口进行探测,计算机设备利用Zmap对IPv4地址空间内UDP协议端口进行探测,并将相关探测结果汇总到端口存活结果地址库,完成存活端口的扫描。
在本实施例中,计算机设备利用Nmap对端口存活性结果进行资产识别性扫描,同时结合工控设备指纹库,发现工控设备的设备类型、版本、型号、工控应用协议等信息,该实施例中信息可以是上述实施例中的工控指纹特征。
其中,计算机设备的Masscan扫描TCP协议对应端口过程中,采用了无状态扫描技术,仅发送了TCP中的SYN包,当端口对应的工控设备存在ACK应答时,计算机设备才会发送RST包,并主动结束该连接。当以较高发包率进行扫描探测时,需要考虑组网网络设备的性能,如有防火墙、路由器,则需要考虑防火墙中新建连接数、并发连接数的限制、路由器中内存大小等因素。计算机设备的Zmap扫描UDP协议对应端口时,需要该端口对应的工控设备有应答,才能发现该存活端口。针对工业控制系统,采用UDP协议的工控协议数量不多,一般可以包括BACNet协议、DDP协议、HART-IP协议、FFHSE协议等,在进行工控通信协议对应的端口进行探测时,需要发送对应工控通信协议相关请求报文探测。
需要说明的是,BACnet是用于智能建筑的通信协议,是国际标准化组织(ISO)、美国国家标准协会(ANSI)及美国采暖、制冷与空调工程师学会(ASHRAE)定义的通信协议。Hart-IP是一个额外的连接选项,设备主机系统和资产管理应用程序使用工厂现有的网络基础设施,访问和收集来自现场设备的测量和诊断信息。
如图5所示,上述实施例中存活端口的探测方法对应的流程可以包括以下步骤:
步骤S501,探测存活端口。
步骤S502,采用Masscan对TCP协议进行探测。
步骤S503,取IPv4地址空间。
步骤S504,发送SYN包。
步骤S505,判断是否收到ACK包,若是,则执行步骤S506,若否,则执行步骤S512。
步骤S506,发送RST包。
步骤S507,采用Zamp对UDP协议进行探测。
步骤S508,取IPv4地址空间。
步骤S509,发送存活端口对应的工控通信协议请求包。
步骤S510,判断是否接收到工控通信应答包,若是,则执行步骤S511,若否,则执行步骤S512。
步骤S511,添加存活端口到存活端口库。
步骤S512,结束探测。
需要说明的是,本实施例中的步骤S502和步骤S507执行顺序可以不分先后同时进行,也可以根据用户配置,确定先后关系,在本申请中不做限定。
在步骤S101中,在使用探测脚本探测与存活端口对应的工控设备的第一特征信息时,可以根据探测脚本,向存活端口发送报文请求消息,接收存活端口根据报文请求消息生成的报文响应消息;解析报文响应消息中的报文,通过预设抓包工具,获取报文中的应用层交互子报文;从应用层交互子报文中获取与存活端口对应的工控设备的第一特征信息。在本实施例中,通过探测脚本从应用层交互子报文中获取与存活端口对应的工控设备的第一特征信息的方式,使得了对工控设备的深度探测程度更高。
需要说明的是,预设抓包工具可以是但不限于Wireshark,也可以是其他能够实现本方案的抓包工具,Wireshark(前称Ethereal)是一个网络封包分析软件,网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料,Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
基于上述实施例中获取的第一特征信息,可以便于步骤S102根据第一特征信息去工控设备指纹库中模糊匹配对应的工控设备。
步骤S102,计算机设备使用第一特征信息,在工控设备指纹库中模糊匹配对应的工控设备。
在本步骤中,工控设备的指纹库可以是用户预先配置有工控通信协议对应的工业控制系统的特征信息。同时通过步骤S101中第一特征信息去工控设备指纹库中模糊匹配对应的工控设备,可以初步确定存活端口对应的工控设备,以便于对该工控设备进行漏洞检测。
下面以一些实施例来对工控设备指纹库的生成进行描述和说明。
在本实施例中,工控设备指纹库中第一特征信息的生成可以通过以下步骤:
步骤1,部分公有协议计算机设备可以通过向工控设备发送特定的请求报文,对设备应答信息进行解析,从而得到工控设备的指纹特征,该实施例中的指纹特征可以是上述实施例中的第一特征信息。
步骤2:部分公有协议如IEC60870-5-104、41/DNP3.0,计算机设备可能无法通过报文交互的方式获取相关工控设备的厂商、软件版本等信息,该类工控资产则无法识别厂商、软件版本,但是协议本身也是一种指纹特征,该实施例中的指纹特征可以是上述实施例中的第二特征信息。
步骤S103,计算机设备根据匹配到的工控设备所使用的工控通信协议,获取工控设备的第二特征信息。
在本实施例中,通过步骤S102中模糊匹配到的工控设备,来确定该工控设备所使用的工控通信协议,进而根据该工控通信协议获取该工控设备的第二特征信息的信息,进一步的增加了对工控设备的探测深度。
在本实施例中,工控设备指纹库中第二特征信息的生成可以通过对工控通信协议的交互报文深度分析,封装工控系统基础数据,抽象出设备的特征参数值,以类型、厂商名称、设备型号作为关键字,设备特征字符串作为特征值,建立如表1所示的工控设备指纹库。该工控设备指纹库可以包括工业控制设备、系统主机及服务器、应用软件、智能设备、网络设备等。
Figure BDA0002542708210000091
表1工控设备指纹库对照表
需要说明是,工控通信协议可以分为私有协议和私有协议。
在一些的实施例中,计算机设备可以根据不同协议采用不同的方式来获取工控设备的第二特征信息。
例如,计算机设备可以先判断工控设备所使用的工控通信协议是私有协议还是公有协议;在其中一些实施例中,在判断到工控设备所使用的工控通信协议是私有协议的情况下,搭建私有协议的运行环境,并通过预设抓包工具从私有协议中获取工控设备的第二特征信息。
又例如,在判断到工控设备所使用的工控通信协议是公有协议的情况下,计算机设备对公有协议进行解析,得到工控设备的第二特征信息。
本实施例中针对公有协议的分析,计算机设备可以采用普通的解析的方式来进行解析,例如可以参照IEC协议、GB协议或HB协议等协议标准解析,通过该方式,降低了协议的解析难度,同时还提高了解析协议的准确度。而对于私有协议的分析,则计算机设备可以利用硬件设备或模拟软件,搭建工控系统仿真运行环境,然后通过抓包工具捕获数据包,最后对通信报文采用盲识别、协议逆向等方法,来实现对私有协议的分析,通过该方式,提高了私有协议的准确度。
需要说明的是,HB协议是由Hopper和Blum在2000年提出的轻量级认证协议。
步骤S104,计算机设备根据第一特征信息和第二特征信息,生成工控设备的指纹特征,并将指纹特征存储到工控设备指纹库中。
通过步骤S101至S104,计算机设备通过根据第一特征信息和第二特征信息,生成工控设备的指纹特征的方式,解决了相关技术中搜索引擎对工业控制系统的探测深度不够的问题,增加了对工业控制系统的探测深度。
同时,在本步骤中,通过将该指纹特征存储到工控设备指纹库中,以便于在一些实施例中计算机设备根据工控设备的指纹特征和预先配置的安全漏洞库,对工控设备进行漏洞检测,防止工控设备长期暴露在网络中。
例如,在一些实施例中,由于经过步骤S101~S104,联网工业控制系统的部分设备的厂商、产品、版本、协议、端口、服务等信息都已经被探测出来。此时可以通过预先配置的安全漏洞库分析当前资产中存在的安全漏洞,根据漏洞的存在状况、漏洞的危险等级对联网工业控制系统进行威胁预警,一键生成分析报告指导用户做好事前防御工作。
预先配置的安全漏洞库可以是CNVD(国家信息安全漏洞共享平台)、CNNVD(国家信息安全漏洞库)和CVE(公共漏洞和暴露)等,其中,CNVD、CNNVD是权威的国家信息安全漏洞共享平台、国家信息安全漏洞库,CVE是国际著名的安全漏洞库,公开的工业控制系统安全漏洞可以从以上平台中获取。图6是根据本申请实施例的CNVD上发布的工控漏洞示例图,如图6所示,可以得知从CNVD中获取工控设备对应的ID、发布时间、影响产品、漏洞描述、漏洞解决方案、漏洞发现者,通过上述,可以更好的去解决工控设备存在的漏洞。
下面以优选的实施例来对本申请实施例的方法进行描述和说明。
图7是根据本申请优选实施例的联网工业控制系统的探测方法的流程图,如图7所示,该流程包括如下步骤:
步骤S701,从存活端口库中读取存活端口。
步骤S702,执行探测脚本。
步骤S703,判断是否模糊匹配工控设备,若是,执行步骤S704,若否,执行步骤S707。
步骤S704,初步获取工控设备的第一特征信息。
步骤S705,根据工控设备的工控通信协议,确定工控设备的第二特征信息,其中,第二特征信息可以是但不限于工控设备的版本、以及工控设备对应的操作系统等。
步骤S706,根据第一特征信息和第二特征信息,生成工控设备的指纹特征,并将指纹特征存储到工控设备指纹库中。
步骤S707,停止探测。
综合上述实施例,本申请实施例通过从分析工控通信协议入手,并通过用户编写协议专用探测脚本,提取工控指纹特征信息,创建工控指纹库。其次利用快速扫描机制发现互联网空间里的工业控制系统,识别相应的系统或设备种类、型号、操作系统、固件版本等信息,同时深度挖掘系统或设备开放的其他服务。通过该方式,可灵活针对监管单位辖区、大型企业内部网络、或被准许的局域网络内针对网络进行扫描,发现暴露的工业控制系统为监管和主动防御提供有效的工具。且本申请实施例,相对于相关技术中的方式更节约设备成本,以及部署方便,且节约施工成本。
本实施例还提供了一种工业控制系统的探测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图8是根据本申请实施例的工业控制系统的探测装置的结构框图,如图8所示,该装置包括:
读取模块81,用于从存活端口库中读取存活端口,并使用探测脚本探测与存活端口对应的工控设备的第一特征信息;
匹配模块82,耦合至读取模块81,用于使用第一特征信息,在工控设备指纹库中模糊匹配对应的工控设备;
第一获取模块83,耦合至匹配模块82,用于根据匹配到的工控设备所使用的工控通信协议,获取工控设备的第二特征信息;
第一生成模块84,耦合至第一获取模块83,用于根据第一特征信息和第二特征信息,生成工控设备的指纹特征,并将指纹特征存储到工控设备指纹库中。
在其中一些实施例中,该装置还包括:第一探测模块,用于对工控通信协议对应的端口进行探测;第二生成模块,用于在探测到存活端口的情况下,则根据存活端口生成存活端口库。
在其中一些实施例中,该装置还包括:第二探测模块在工控通信协议包括TCP协议的情况下,采用Masscan对工控通信协议对应的端口进行探测;第三探测模块,用于在工控通信协议包括UDP协议的情况下,采用Zmap对工控通信协议对应的端口进行探测。
在其中一些实施例中,该装置还包括:发送模块,用于根据探测脚本,向存活端口发送报文请求消息,接收存活端口根据报文请求消息生成的报文响应消息;第一解析模块,用于解析报文响应消息中的报文,通过预设抓包工具,获取报文中的应用层交互子报文;第二获取模块,用于从应用层交互子报文中获取与存活端口对应的工控设备的第一特征信息。
在其中一些实施例中,该装置还包括:判断模块,用于判断工控设备所使用的工控通信协议是私有协议还是公有协议;搭建模块,用于在判断到工控设备所使用的工控通信协议是私有协议的情况下,搭建私有协议的运行环境,并通过预设抓包工具从私有协议中获取工控设备的第二特征信息。
在其中一些实施例中,该装置还包括:第二解析模块,用于在判断到工控设备所使用的工控通信协议是公有协议的情况下,对公有协议进行解析,得到工控设备的第二特征信息。
在其中一些实施例中,该装置还包括:检测模块,用于根据工控设备的指纹特征和预先配置的安全漏洞库,对工控设备的进行漏洞检测。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合图1描述的本申请实施例联网工业控制系统的探测方法可以由计算机设备来实现。图9是根据本申请实施例的计算机设备的硬件结构示意图。
计算机设备可以包括处理器91以及存储有计算机程序指令的存储器92。
具体地,上述处理器91可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
其中,存储器92可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器92可包括硬盘驱动器(Hard Disk Drive,简称为HDD)、软盘驱动器、固态驱动器(SolidState Drive,简称为SSD)、闪存、光盘、磁光盘、磁带或通用串行总线(Universal SerialBus,简称为USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器92可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器92可在数据处理装置的内部或外部。在特定实施例中,存储器92是非易失性(Non-Volatile)存储器。在特定实施例中,存储器92包括只读存储器(Read-Only Memory,简称为ROM)和随机存取存储器(RandomAccess Memory,简称为RAM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable Read-Only Memory,简称为PROM)、可擦除PROM(Erasable ProgrammableRead-Only Memory,简称为EPROM)、电可擦除PROM(Electrically Erasable ProgrammableRead-Only Memory,简称为EEPROM)、电可改写ROM(Electrically Alterable Read-OnlyMemory,简称为EAROM)或闪存(FLASH)或者两个或更多个以上这些的组合。在合适的情况下,该RAM可以是静态随机存取存储器(Static Random-Access Memory,简称为SRAM)或动态随机存取存储器(Dynamic Random Access Memory,简称为DRAM),其中,DRAM可以是快速页模式动态随机存取存储器(Fast Page Mode Dynamic Random Access Memory,简称为FPMDRAM)、扩展数据输出动态随机存取存储器(Extended Date Out Dynamic RandomAccess Memory,简称为EDODRAM)、同步动态随机存取内存(Synchronous Dynamic Random-Access Memory,简称SDRAM)等。
存储器92可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器91所执行的可能的计算机程序指令。
处理器91通过读取并执行存储器92中存储的计算机程序指令,以实现上述实施例中的任意一种联网工业控制系统的探测方法。
在其中一些实施例中,计算机设备还可包括通信接口93和总线90。其中,如图9所示,处理器91、存储器92、通信接口93通过总线90连接并完成相互间的通信。
通信接口93用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信接口93还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。
总线90包括硬件、软件或两者,将计算机设备的部件彼此耦接在一起。总线90包括但不限于以下至少之一:数据总线(Data Bus)、地址总线(Address Bus)、控制总线(Control Bus)、扩展总线(Expansion Bus)、局部总线(Local Bus)。举例来说而非限制,总线90可包括图形加速接口(Accelerated Graphics Port,简称为AGP)或其他图形总线、增强工业标准架构(Extended Industry Standard Architecture,简称为EISA)总线、前端总线(Front Side Bus,简称为FSB)、超传输(Hyper Transport,简称为HT)互连、工业标准架构(Industry Standard Architecture,简称为ISA)总线、无线带宽(InfiniBand)互连、低引脚数(Low Pin Count,简称为LPC)总线、存储器总线、微信道架构(Micro ChannelArchitecture,简称为MCA)总线、外围组件互连(Peripheral Component Interconnect,简称为PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial AdvancedTechnology Attachment,简称为SATA)总线、视频电子标准协会局部(Video ElectronicsStandards Association Local Bus,简称为VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线90可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
该计算机设备可以基于获取到的存活端口,执行本申请实施例中的联网工业控制系统的探测方法,从而实现结合图1描述的联网工业控制系统的探测方法。
另外,结合上述实施例中的联网工业控制系统的探测方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种联网工业控制系统的探测方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种联网工业控制系统的探测方法,其特征在于,所述方法包括:
从存活端口库中读取存活端口,并使用探测脚本探测与所述存活端口对应的工控设备的第一特征信息;
使用所述第一特征信息,在工控设备指纹库中模糊匹配对应的工控设备;
根据匹配到的工控设备所使用的工控通信协议,获取所述工控设备的第二特征信息;
根据所述第一特征信息和所述第二特征信息,生成所述工控设备的指纹特征,并将所述指纹特征存储到所述工控设备指纹库中。
2.根据权利要求1所述的联网工业控制系统的探测方法,其特征在于,在从存活端口库中读取存活端口,并使用探测脚本探测与所述存活端口对应的工控设备的第一特征信息之前,所述方法还包括:
对工控通信协议对应的端口进行探测;
在探测到存活端口的情况下,根据所述存活端口生成所述存活端口库。
3.根据权利要求1所述的联网工业控制系统的探测方法,其特征在于,对工控通信协议对应的端口进行探测包括:
在所述工控通信协议包括TCP协议的情况下,采用Masscan对所述工控通信协议对应的端口进行探测;和/或
在所述工控通信协议包括UDP协议的情况下,采用Zmap对所述工控通信协议对应的端口进行探测。
4.根据权利要求1所述的联网工业控制系统的探测方法,其特征在于,从存活端口库中读取存活端口,并使用探测脚本探测与所述存活端口对应的工控设备的第一特征信息包括:
根据所述探测脚本,向存活端口发送报文请求消息,接收所述存活端口根据所述报文请求消息生成的报文响应消息;
解析所述报文响应消息中的报文,通过预设抓包工具,获取所述报文中的应用层交互子报文;
从所述应用层交互子报文中获取与所述存活端口对应的工控设备的第一特征信息。
5.根据权利要求1所述的联网工业控制系统的探测方法,其特征在于,根据匹配到的工控设备所使用的工控通信协议,获取所述工控设备的第二特征信息:
判断所述工控设备所使用的工控通信协议是私有协议还是公有协议;
在判断到所述工控设备所使用的工控通信协议是私有协议的情况下,搭建所述私有协议的运行环境,并通过预设抓包工具从所述私有协议中获取所述工控设备的第二特征信息。
6.根据权利要求5所述的联网工业控制系统的探测方法,其特征在于,所述方法还包括:
在判断到所述工控设备所使用的工控通信协议是公有协议的情况下,对所述公有协议进行解析,得到所述工控设备的第二特征信息。
7.根据权利要求1所述的联网工业控制系统的探测方法,其特征在于,根据所述第一特征信息和所述第二特征信息,生成所述工控设备的指纹特征,并将所述指纹特征存储到所述工控设备指纹库中之后,所述方法还包括:
根据所述工控设备的指纹特征和预先配置的安全漏洞库,对所述工控设备的进行漏洞检测。
8.一种工业控制系统的探测装置,其特征在于,所述装置包括:
读取模块,用于从存活端口库中读取存活端口,并使用探测脚本探测与所述存活端口对应的工控设备的第一特征信息;
匹配模块,用于使用所述第一特征信息,在工控设备指纹库中模糊匹配对应的工控设备;
第一获取模块,用于根据匹配到的工控设备所使用的工控通信协议,获取所述工控设备的第二特征信息;
第一生成模块,用于根据所述第一特征信息和所述第二特征信息,生成所述工控设备的指纹特征,并将所述指纹特征存储到所述工控设备指纹库中。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的工业控制系统的探测方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至7中任一项所述的工业控制系统的探测方法。
CN202010551595.5A 2020-06-17 2020-06-17 联网工业控制系统的探测方法、装置、计算机设备和介质 Withdrawn CN111709009A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010551595.5A CN111709009A (zh) 2020-06-17 2020-06-17 联网工业控制系统的探测方法、装置、计算机设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010551595.5A CN111709009A (zh) 2020-06-17 2020-06-17 联网工业控制系统的探测方法、装置、计算机设备和介质

Publications (1)

Publication Number Publication Date
CN111709009A true CN111709009A (zh) 2020-09-25

Family

ID=72540722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010551595.5A Withdrawn CN111709009A (zh) 2020-06-17 2020-06-17 联网工业控制系统的探测方法、装置、计算机设备和介质

Country Status (1)

Country Link
CN (1) CN111709009A (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468364A (zh) * 2020-11-25 2021-03-09 杭州安恒信息技术股份有限公司 Cip资产的探测方法、装置、计算机设备及可读存储介质
CN112668010A (zh) * 2020-12-17 2021-04-16 哈尔滨工大天创电子有限公司 扫描工业控制系统的漏洞的方法、系统及计算设备
CN112769780A (zh) * 2020-12-28 2021-05-07 浙江国利网安科技有限公司 设备信息获取方法、装置、电子设备及存储介质
CN112787846A (zh) * 2020-12-23 2021-05-11 北京珞安科技有限责任公司 一种设备发现方法、装置及计算机设备
CN112800408A (zh) * 2021-04-15 2021-05-14 工业信息安全(四川)创新中心有限公司 一种基于主动探测的工控设备指纹提取与识别方法
CN112989315A (zh) * 2021-02-03 2021-06-18 杭州安恒信息安全技术有限公司 物联网终端的指纹生成方法、装置、设备和可读存储介质
CN113240258A (zh) * 2021-04-30 2021-08-10 山东云天安全技术有限公司 一种工业资产探测方法、设备及装置
CN113836539A (zh) * 2021-09-01 2021-12-24 国网福建省电力有限公司 基于精准测试的电力工控系统漏洞全流程处置系统及方法
CN114124475A (zh) * 2021-11-05 2022-03-01 武汉思普崚技术有限公司 一种网络资产端口扫描及服务识别方法、装置
CN114244755A (zh) * 2021-12-15 2022-03-25 北京恒安嘉新安全技术有限公司 一种资产探测方法、装置、设备及存储介质
CN115277136A (zh) * 2022-07-15 2022-11-01 云南电网有限责任公司电力科学研究院 漏洞扫描方法、系统、计算机设备及介质
CN116708001A (zh) * 2023-07-13 2023-09-05 浙江齐安信息科技有限公司 工业控制系统私有协议漏洞探测方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108696544A (zh) * 2018-09-05 2018-10-23 杭州安恒信息技术股份有限公司 基于工控系统的安全漏洞探测方法和装置
CN108737417A (zh) * 2018-05-16 2018-11-02 南京大学 一种面向工业控制系统的脆弱性检测方法
CN108809951A (zh) * 2018-05-16 2018-11-13 南京大学 一种适用于工业控制系统的渗透测试框架
CN109768870A (zh) * 2017-11-09 2019-05-17 国网青海省电力公司电力科学研究院 一种基于主动探测技术的工控网络资产发现方法及系统
CN110113335A (zh) * 2019-05-06 2019-08-09 杭州齐安科技有限公司 一种工控设备指纹归一化方法
CN110635971A (zh) * 2019-10-16 2019-12-31 杭州安恒信息技术股份有限公司 工控资产探测及管理方法、装置和电子设备
US20220206473A1 (en) * 2020-12-31 2022-06-30 Tianjin University Method for identifying and parsing industrial control protocol based on industrial gateway

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109768870A (zh) * 2017-11-09 2019-05-17 国网青海省电力公司电力科学研究院 一种基于主动探测技术的工控网络资产发现方法及系统
CN108737417A (zh) * 2018-05-16 2018-11-02 南京大学 一种面向工业控制系统的脆弱性检测方法
CN108809951A (zh) * 2018-05-16 2018-11-13 南京大学 一种适用于工业控制系统的渗透测试框架
CN108696544A (zh) * 2018-09-05 2018-10-23 杭州安恒信息技术股份有限公司 基于工控系统的安全漏洞探测方法和装置
CN110113335A (zh) * 2019-05-06 2019-08-09 杭州齐安科技有限公司 一种工控设备指纹归一化方法
CN110635971A (zh) * 2019-10-16 2019-12-31 杭州安恒信息技术股份有限公司 工控资产探测及管理方法、装置和电子设备
US20220206473A1 (en) * 2020-12-31 2022-06-30 Tianjin University Method for identifying and parsing industrial control protocol based on industrial gateway

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468364B (zh) * 2020-11-25 2022-02-22 杭州安恒信息技术股份有限公司 Cip资产的探测方法、装置、计算机设备及可读存储介质
CN112468364A (zh) * 2020-11-25 2021-03-09 杭州安恒信息技术股份有限公司 Cip资产的探测方法、装置、计算机设备及可读存储介质
CN112668010A (zh) * 2020-12-17 2021-04-16 哈尔滨工大天创电子有限公司 扫描工业控制系统的漏洞的方法、系统及计算设备
CN112787846A (zh) * 2020-12-23 2021-05-11 北京珞安科技有限责任公司 一种设备发现方法、装置及计算机设备
CN112769780A (zh) * 2020-12-28 2021-05-07 浙江国利网安科技有限公司 设备信息获取方法、装置、电子设备及存储介质
CN112989315A (zh) * 2021-02-03 2021-06-18 杭州安恒信息安全技术有限公司 物联网终端的指纹生成方法、装置、设备和可读存储介质
CN112800408A (zh) * 2021-04-15 2021-05-14 工业信息安全(四川)创新中心有限公司 一种基于主动探测的工控设备指纹提取与识别方法
CN113240258A (zh) * 2021-04-30 2021-08-10 山东云天安全技术有限公司 一种工业资产探测方法、设备及装置
CN113836539A (zh) * 2021-09-01 2021-12-24 国网福建省电力有限公司 基于精准测试的电力工控系统漏洞全流程处置系统及方法
CN114124475A (zh) * 2021-11-05 2022-03-01 武汉思普崚技术有限公司 一种网络资产端口扫描及服务识别方法、装置
CN114244755A (zh) * 2021-12-15 2022-03-25 北京恒安嘉新安全技术有限公司 一种资产探测方法、装置、设备及存储介质
CN114244755B (zh) * 2021-12-15 2023-11-14 北京恒安嘉新安全技术有限公司 一种资产探测方法、装置、设备及存储介质
CN115277136A (zh) * 2022-07-15 2022-11-01 云南电网有限责任公司电力科学研究院 漏洞扫描方法、系统、计算机设备及介质
CN115277136B (zh) * 2022-07-15 2023-11-21 云南电网有限责任公司电力科学研究院 漏洞扫描方法、系统、计算机设备及介质
CN116708001A (zh) * 2023-07-13 2023-09-05 浙江齐安信息科技有限公司 工业控制系统私有协议漏洞探测方法及装置
CN116708001B (zh) * 2023-07-13 2024-01-23 浙江齐安信息科技有限公司 工业控制系统私有协议漏洞探测方法及装置

Similar Documents

Publication Publication Date Title
CN111709009A (zh) 联网工业控制系统的探测方法、装置、计算机设备和介质
US9838426B2 (en) Honeyport active network security
CN107135093B (zh) 一种基于有限自动机的物联网入侵检测方法及检测系统
Panjwani et al. An experimental evaluation to determine if port scans are precursors to an attack
CN105450442B (zh) 一种网络拓扑排查方法及其系统
CN109194680B (zh) 一种网络攻击识别方法、装置及设备
US10218733B1 (en) System and method for detecting a malicious activity in a computing environment
CN112468488A (zh) 工业异常监测方法、装置、计算机设备及可读存储介质
US20210168163A1 (en) Bind Shell Attack Detection
CN111756761A (zh) 基于流量转发的网络防御系统、方法和计算机设备
CN111225002B (zh) 一种网络攻击溯源方法、装置、电子设备和存储介质
CN110266650B (zh) Conpot工控蜜罐的识别方法
CN113422774B (zh) 一种基于网络协议的自动化渗透测试方法、装置及存储介质
CN110768951B (zh) 验证系统漏洞的方法及装置、存储介质、电子装置
CN111935212B (zh) 安全路由器及基于安全路由器的物联网安全联网方法
CN111565203B (zh) 业务请求的防护方法、装置、系统和计算机设备
Singh et al. A honeypot system for efficient capture and analysis of network attack traffic
US20220263846A1 (en) METHODS FOR DETECTING A CYBERATTACK ON AN ELECTRONIC DEVICE, METHOD FOR OBTAINING A SUPERVISED RANDOM FOREST MODEL FOR DETECTING A DDoS ATTACK OR A BRUTE FORCE ATTACK, AND ELECTRONIC DEVICE CONFIGURED TO DETECT A CYBERATTACK ON ITSELF
CN110768949B (zh) 探测漏洞的方法及装置、存储介质、电子装置
JPWO2019043804A1 (ja) ログ分析装置、ログ分析方法及びプログラム
JP6592196B2 (ja) 悪性イベント検出装置、悪性イベント検出方法および悪性イベント検出プログラム
RU2472211C1 (ru) Способ защиты информационно-вычислительных сетей от компьютерных атак
Sun et al. IoT-IE: An information-entropy-based approach to traffic anomaly detection in Internet of Things
US10015179B2 (en) Interrogating malware
RU2622788C1 (ru) Способ защиты информационно-вычислительных сетей от компьютерных атак

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200925