CN116318783A - 基于安全指标的网络工控设备安全监测方法及装置 - Google Patents

基于安全指标的网络工控设备安全监测方法及装置 Download PDF

Info

Publication number
CN116318783A
CN116318783A CN202211550090.2A CN202211550090A CN116318783A CN 116318783 A CN116318783 A CN 116318783A CN 202211550090 A CN202211550090 A CN 202211550090A CN 116318783 A CN116318783 A CN 116318783A
Authority
CN
China
Prior art keywords
industrial control
control equipment
equipment
safety
attack
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.)
Granted
Application number
CN202211550090.2A
Other languages
English (en)
Other versions
CN116318783B (zh
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.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN202211550090.2A priority Critical patent/CN116318783B/zh
Publication of CN116318783A publication Critical patent/CN116318783A/zh
Application granted granted Critical
Publication of CN116318783B publication Critical patent/CN116318783B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • 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/1416Event detection, e.g. attack signature detection
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

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)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于安全指标的网络工控设备安全监测方法及装置。通过定义安全指标来反映网络空间中工控设备安全,并分析了安全指标对网络攻击和设备漏洞的影响。利用流量比对等方法研究提取工控设备安全指标的方法,并分析设备握手机制。基于分析结果,从公开的扫描引擎数据库中检索目标工控设备IP,向目标发送请求报文,解析响应报文并提取安全指标。随后关联公开漏洞数据库获取工控设备漏洞信息,整理针对工控设备典型攻击行为,共同构建工控设备威胁数据库。并从工控设备暴露程度、安全指标、漏洞及典型攻击影响3个维度评估工控设备安全性。

Description

基于安全指标的网络工控设备安全监测方法及装置
技术领域
本发明属于工控设备安全评估领域,尤其涉及基于工控协议和设备功能,针对互联网空间中的工控设备的安全监测方法及装置。
背景技术
随着工业物联网的快速发展,原本处于封闭环境中的工业控制器、通信模块、SCADA系统等工控设备逐渐对外开放,暴露在网络空间中。操作者可以通过互联网远程监控、维护工控设备。但是网络化也使得工控设备面临诸多网络安全威胁,攻击者可以通过互联网快速找到合适的攻击目标,对工控设备发动修改状态、篡改配置、窃取机密信息等攻击,对关键基础设施造成严重威胁。因此工控设备自身的安全能力变得非常重要。设备使用者、安全研究员和设备供应商等需要实时了解设备在网络空间中的安全状况,评估设备安全能力,以针对性地提升设备安全性。
近年来工控设备安全评估主要分为漏洞挖掘工具和信息搜索引擎两方面。传统的漏洞挖掘工具能够获取设备信息并发现设备漏洞。但其侧重于对单一设备的安全评估,缺少同时评估多个设备的机制,无法进行大规模的安全评估。同时在探测过程中这些工具可能会发送攻击性流量,或者利用fuzzing技术识别漏洞。这些方式会对ICS设备造成不容忽视的干扰和威胁。设备搜索引擎可以用于发现和识别网络空间中的工控设备.但是他们通过获取banner信息等针对常规IT设备的扫描方式来识别ICS设备并提取相关信息,缺少对工控设备功能和协议的深入解析。因此这些工具只能提取基本信息利用设备名称,生产商,设备序列号等,这些信息无法反映设备当前的安全能力。
目前网络工控设备安全评估面临3个主要问题。第一是缺少合适的安全评估指标。工控设备的安全能力受多个方面影响,且工控设备的型号、类别众多,使用的协议、设备功能有较大差异,需要一套有效且广泛适用的评估指标来反映工控设备当前的安全能力。第二是设备评估指标提取困难。安全人员通常通过主动发包与工控设备建立通信以获得目标信息。但是很多安全信息并没有明确的提取方法,需要从交互流量中进行推测和提取。同时很多工控设备使用的协议并不对外公开,其结构、语义信息不明确,这使得与网络空间中工控设备交流困难。第三是缺少评估设备抵御网络攻击能力的评估机制。网络攻击种类繁多,威胁不一,很难评估设备抵御攻击的能力。
发明内容
本发明的目的在于针对目前网络工控设备安全评估的缺失,提出一种基于安全指标的网络工控设备安全监测方法及装置。
根据本说明书的第一方面,提供一种基于安全指标的网络工控设备安全监测方法,该方法包括如下步骤:
步骤一,安全指标定义,包含如下子步骤:
1.1分析工控设备功能:分析主流厂商设备的配置和功能,总结工控设备的可用配置及功能;
1.2定义安全指标:基于步骤1.1的功能分析结果,定义设备信息、当前状态、防御策略、开放服务这四种安全指标,反映设备的安全能力;
1.3构建工控设备威胁数据库,包括设备漏洞和典型攻击两部分;
1.4指标影响分析:分析安全指标对于网络攻击、设备漏洞有效性的影响;
步骤二,扫描器构建,包含如下子步骤:
2.1指纹库构建:解析工控设备常用私有协议,分析协议结构与功能,并以当前状态和防御策略这两个安全指标特定项的状态为变量,分析上位机软件和工控设备之间交互流量的变化差异,以找到协议中与安全指标具有相关性的关键字段位置,并得到安全指标与关键字段值的映射关系,将关键字段位置、映射关系与提取设备安全指标的请求包整合为指纹信息,构建识别工控设备安全指标的设备指纹库;
2.2服务交互模拟:从用户手册、厂商通告中获取服务的默认账户;编写自动化登陆脚本模拟用户登陆工控设备服务的过程,以默认账户尝试登陆服务,并根据工控设备响应判断该服务是否安全;
2.3握手机制解析:分析上位机软件与工控设备建立连接的过程,分析上位机发送的请求包顺序、功能以及相应校验机制;
步骤三,提取安全指标,包含如下子步骤:
3.1目标IP获取:从已有的设备扫描引擎数据库中,获取目标的IP地址;
3.2与目标设备建立连接:基于设备的握手机制,向目标IP发送请求包建立连接;
3.3提取安全指标:向目标发送设备信息请求包,获得目标响应,根据设备指纹库解析内容提取安全指标;
步骤四,网络工控设备安全监测,包含如下子步骤:
4.1根据设备信息,判断工控设备是否存在固件版本低、使用通用局域IP、工程长时间未维护这些问题;
4.2根据当前状态和防御策略,对处于停止状态和未启用防御策略的工控设备进行告警;
4.3根据开放服务信息,对存在安全隐患的工控设备进行告警;
4.4结合工控设备威胁数据库,根据工控设备的安全指标判断其存在的漏洞和面临的网络攻击威胁,对漏洞和攻击的威胁程度进行划分并进行告警;
4.5计算设备暴露程度:计算设备IP在各扫描引擎数据库中的归属度,分析设备在网络空间中的暴露程度并进行告警。
进一步地,所述步骤一中,首先进行工控设备功能与配置分析,分析过程包括:
a)从工控设备说明书和官方网站中提取设备的基本信息:设备名称,固件版本范围,生产厂商;
b)利用组态软件与目标设备建立连接,分析设备的当前状态信息,可配置的防御策略,支持的开放服务。
进一步地,所述步骤一中,安全指标包括:
a)设备信息:
固件版本:供应商通过发布新的固件来修复漏洞或优化功能,因此固件版本较老的设备会有更多的安全威胁和更少的功能,通过固件版本信息能够在公开漏洞数据库中快速查询到相关的设备漏洞;
工程信息:涉及到工控设备的控制逻辑,包括工程创建时间、创建者、当前工程版本等,这些信息能够帮助推测设备使用的时间以及设备维护频率;
局域IP:除了用于Internet通信的公网IP之外,工控设备还在局域网中具有使用的IP地址,攻击者可能通过局域IP获得局域网网段,进而扫描局域网中的其他设备并发起攻击;
b)当前状态:
运行状态:工控设备的运行状态可分为Run(运行中),Stop(停止)两大类,部分工控设备如罗克韦尔的Micrologix1400还具有Program(可编程状态)、Remote(远程状态)和Test(测试状态)等。部分设备如罗克韦尔的Micrologix1400通过硬件开关来切换状态,其他设备如施耐德M340、西门子S7300可通过上位机软件发送特定的请求流量包来实现状态切换。网络攻击者可通过上位机软件改变状态,也可以通过重放上位机发出的请求流量包来改变设备的运行状态。运行中的工控设备可能根据控制逻辑控制各种执行器如机械臂、锅炉、传送带等等。工控设备突然启动或者突然停止都可能会对设备造成损伤,甚至威胁到操作人员安全。从攻击者的角度来看,如果想达到隐蔽的攻击效果,最好在设备处于停止状态下攻击。同时工控设备在运行状态下无法下载控制程序。
连接状态:工控设备会有可用连接资源限制,如施耐德M340仅支持连接一个上位机,因此攻击者无法在工程师维护设备时攻击此类工控设备。具备类别的连接数还可以在某种程度上反映工控设备所在工控系统的拓扑结构,有利于攻击者获取目标相关信息。
c)防御策略:工控设备的防御策略主要指工控设备的保护功能。通过设置合适的防御策略,工控设备可以利用访问凭证等手段对访问请求进行区分,限制低权限用户的功能或直接拒绝与不受信任的访问者交互。主要分为两种防御策略:
访问控制策略。访问控制策略能够有效地抵御不知道访问控制口令的访问者发出的请求。虽然弱口令的安全威胁普遍存在,使得攻击者能够在一定程度上推测出口令,但增加了依赖上位机软件的攻击者连接工控设备的难度。但是,如果来访者是具备重放攻击能力,无需使用上位机软件就能发动攻击的专业攻击者,则访问控制策略将无法限制其访问。
读写保护策略:读写保护用于限制访问者对设备控制逻辑、变量或配置信息的操作。如果没有读写保护策略,攻击者在建立连接之后能够通过上位机或重放流量的方式上传设备控制逻辑,泄露场景中重要信息;也可以注入恶意逻辑,影响设备的正常运行;或者用错误的逻辑替换,造成设备故障损坏。
d)开放服务:工控设备通常能够开放多种服务为使用者提供方便的功能。但另一方面,设备开放的服务越多,攻击面越大。虽然一些服务会设置一些保护手段如登陆时输入账户密码,但默认密码的漏洞普遍存在。
FTP:开放于21端口,通常用于传送文件及更新固件,还可以获得设备型号等信息。FTP功能存在默认账号,使用者如果没有更改,则攻击者可以利用该账户登陆执行FTP功能。攻击者可以通过FTP端口读取设备中的部分文件系统,从中提取敏感信息或重要文件,部分工控设备(如施耐德M580、M340)可以通过FTP服务更新设备固件。攻击者可以利用FTP将设备的固件版本降低,进而降低设备的安全性。部分工控设备的防御策略会影响更新固件过程,比如M340更新固件时要求输入访问控制口令(如果访问控制开启)。
Web:开放于80端口,通常用于获取设备信息、检测设备状态、读写变量,部分设备可通过web服务直接改变设备运行状态。同FTP,Web服务也存在默认用户,这使得攻击者可能执行web功能。使用浏览器直接访问设备80端口可以获取设备的状态信息(如M580\M340)。读写变量、控制设备状态需要输入Web保护密码,但一些管理员不会修改默认的Web密码。
SNMP:开放于161端口,用于获取设备相关信息或写入相关变量。攻击者可以利用该服务非法地修改网络参数或发送畸形数据包造成设备陷入拒绝服务状态。
进一步地,所述步骤一中,构建工控设备威胁数据库,具体为:
a)构建工控设备漏洞库。通过关联公开漏洞数据库(如CVE、CNVD等),获取工控设备漏洞信息,将漏洞名称,漏洞评分,受影响的固件版本,威胁路径信息存储在工控设备漏洞库中;
b)构建典型攻击威胁库,其中攻击包括:
利用工程软件读取内存值,包括控制逻辑,敏感数据等;
利用工程软件修改内存值,包括控制逻辑,敏感数据等;
利用工程软件改变运行状态;
利用工程软件获取工控设备信息;
利用工程软件修改设备配置;
利用数据流攻击读取内存值,包括控制逻辑,敏感数据等;
利用数据流攻击修改内存值,包括控制逻辑,敏感数据等;
利用数据流攻击改变运行状态;
利用数据流攻击获取工控设备信息;
利用数据流攻击修改设备配置;
利用数据流攻击使工控设备拒绝服务。
进一步地,所述步骤一中,分析安全指标对工控设备威胁数据库中攻击效果的影响,具体步骤为:
a)选择一项安全指标;
b)选择其中一个特征项;
c)依次将将特征项设置为状态1、状态2、…;
d)在不同状态下,测试典型攻击威胁库中的典型攻击对测试对象的攻击效果并记录;
e)在不同状态下,测试工控设备漏洞库中漏洞的有效性并记录;
f)所有状态测试完毕后,根据结果生成典型攻击和漏洞的生效条件,并形成可调用规则。
进一步地,所述步骤二中,私有协议解析方法的具体步骤为:
a)在工控设备与组态软件之间部署流量监控设备,使用Wireshark软件获取两者间的流量往来;
b)从流量中寻找明文传输或弱加密的设备信息;
c)修改设备的当前状态和防御策略,比较不同状态下的流量差异,确定决定报文功能的关键功能码以及指标对应的关键字段;
d)提取获得包含安全指标的响应信息的请求包;
e)将关键字段位置、安全指标与关键字段值的映射关系和请求包相结合生成指纹信息。
进一步地,所述步骤四中,基于安全指标对工控设备进行安全监测的过程如下:
(1)安全知识定义,根据大量工控设备漏洞信息及工控厂商发布的漏洞缓解措施建议,收集如下安全知识:
a)高固件版本将修补先前漏洞并完善设备功能;
b)工程文件日期越新,维护越频繁;
c)以常规网段开头的内网IP地址易被爆破;
d)攻击者可以从项目名称中提取敏感信息;
e)运行状态下的工控设备无法被修改控制逻辑;
f)运行状态和连接状态下更容易检测到工控设备异常;
g)攻击者无法连接仅有1个连接资源且已被连接的工控设备;
h)启用访问设备保护功能可以减少恶意访问及恶意操作;
i)改变默认账户利于降低风险;
(2)基于设备信息的监测机制:基于安全知识和设备信息对工控设备进行安全监测,具体为:根据a),识别工控设备当前固件版本,若未达到厂商发布的最新固件版本,则输出“固件版本待升级”告警;根据b),根据工控设备的工程时间,若一年内未进行维护,则进行“工控设备控制逻辑待维护”告警;根据c),若工控设备使用常规网段如192.168.**,则进行“局域IP易被识别”告警;根据d),若项目名称包含由\分隔的路径,则进行“项目名称包含敏感信息”告警;
(3)基于当前状态和防御策略的监测机制:根据安全知识e)-h),对处于停止状态、未启用防御策略的工控设备分别进行“设备处于危险状态”和“设备未启用防御策略”告警;
(4)基于开放服务的监测机制:WEB、FTP和SNMP的结果可以分为4种状态:fault(服务开启,使用默认登录账号),changed(WEB服务开启,但登录账号被修改),protected(服务开启但经过第三方登录验证,用户使用流量转发或其他方式对服务端口进行特殊保护),close(服务关闭或拒绝访问);对于前两种状态,分别进行“服务开启且使用默认账户”、“服务开启且未进行保护”的告警。
进一步地,所述步骤四中,基于获得的设备安全指标,结合工控设备威胁数据库中的工控设备漏洞库,首先根据固件版本获取设备所面临的所有漏洞,再根据当前状态、防御策略、开放服务对漏洞的有效性进行评估以得到会对当前设备直接造成威胁的高危漏洞;将结果输出为“共找到漏洞*个,其中高危漏洞*个,潜在漏洞*个”,并输出具体漏洞名称、漏洞分数、漏洞攻击路径信息。
进一步地,所述步骤四中,基于获得的设备安全指标,结合工控设备威胁数据库中的典型攻击威胁库,根据攻击生效条件以及当前安全指标判断攻击威胁程度,根据攻击条件的满足情况,均不满足则为潜在攻击,部分满足则为中等攻击,全部满足则为危险攻击;将结果输出为“设备面临攻击*个,其中潜在攻击*个,中等攻击*个,危险攻击*个”。
进一步地,所述步骤四中,暴露程度计算具体为:从扫描引擎数据库中导出扫描结果的设备IP和扫描引擎赋予的设备身份标签,如果工控设备被n个扫描引擎识别,则进行“设备被n个扫描引擎识别”告警。
根据本说明书的第二方面,提供一种基于安全指标的网络工控设备安全监测装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现如第一方面所述的基于安全指标的网络工控设备安全监测方法。
本发明的有益效果是:
针对缺少安全评估指标的问题,本发明从功能出发,研究工控设备特有的状态信息和配置策略,从设备信息、当前状态、防御策略、开放服务4个方面定义了10个特定项,称之为工控设备的安全指标。这些状态是具有典型工控特征,且能够多维度反映工控设备当前状态、配置、防护、服务等方面的安全能力。
针对设备扫描引擎无法获取工控设备安全信息的问题,本发明首先解析了工控设备常用的私有协议,解析协议结构和和功能,重点分析与安全指标相关的关键字段语义,从交互流量中推导协议字段与安全指标的映射关系,从而通过主动发包的形式获取、解析设备的安全信息。同时本发明研究了工控设备的握手机制,以与其建立有效的连接。
针对漏洞扫描设备无法进行大规模评估的问题,本发明设计了基于并行通信的工控设备解析模式,可同时与多个设备建立连接并获取信息。为了降低通信对目标设备的影响,本发明在协议解析的基础上构建符合协议规范的请求流量包,避免目标设备因为处理畸形包而消耗资源。同时本发明利用已有的扫描引擎数据作为目标集进行识别,减少对非工控设备和网络负载的影响。
附图说明
图1为本发明一示例性实施例提供的工控设备安全监测方法工作流程图;
图2为UMAS协议结构及关键字段语义示意图;
图3为PCCC协议结构及关键字段语义示意图;
图4为不同工控设备的握手机制示意图;
图5为本发明基于安全指标的网络工控设备安全监测装置结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提出的一种基于安全指标的网络工控设备安全监测方法,工作流程图如图1所示,具体包括以下步骤:
步骤一,安全指标定义,包含如下子步骤:
1.1分析工控设备功能:分析主流厂商设备的配置和功能,总结工控设备的可用配置及功能;
1.2定义安全指标:基于步骤1.1的功能分析结果,定义设备信息、当前状态、防御策略、开放服务这四种安全指标,反映设备的安全能力;包括如下具体项:
Figure BDA0003980640490000081
a)设备信息:
固件版本:供应商通过发布新的固件来修复漏洞或优化功能,因此固件版本较老的设备会有更多的安全威胁和更少的功能,通过固件版本信息能够在公开漏洞数据库(例如CVE数据库)中快速查询到相关的设备漏洞;
工程信息:涉及到工控设备的控制逻辑,包括工程创建时间、创建者、当前工程版本等,这些信息能够帮助推测设备使用的时间以及设备维护频率;
局域IP:除了用于Internet通信的公网IP之外,工控设备还在局域网中具有使用的IP地址,攻击者可能通过局域IP获得局域网网段,进而扫描局域网中的其他设备并发起攻击;
b)当前状态:
运行状态:工控设备的运行状态可分为Run(运行中),Stop(停止)两大类,部分工控设备如罗克韦尔的Micrologix1400还具有Program(可编程状态)、Remote(远程状态)和Test(测试状态)等。部分设备如罗克韦尔的Micrologix1400通过硬件开关来切换状态,其他设备如施耐德M340、西门子S7300可通过上位机软件发送特定的请求流量包来实现状态切换。网络攻击者可通过上位机软件改变状态,也可以通过重放上位机发出的请求流量包来改变设备的运行状态。运行中的工控设备可能根据控制逻辑控制各种执行器如机械臂、锅炉、传送带等等。工控设备突然启动或者突然停止都可能会对设备造成损伤,甚至威胁到操作人员安全。从攻击者的角度来看,如果想达到隐蔽的攻击效果,最好在设备处于停止状态下攻击。同时工控设备在运行状态下无法下载控制程序。
连接状态:工控设备会有可用连接资源限制,如施耐德M340仅支持连接一个上位机,因此攻击者无法在工程师维护设备时攻击此类工控设备。具备类别的连接数还可以在某种程度上反映工控设备所在工控系统的拓扑结构,有利于攻击者获取目标相关信息。
c)防御策略:工控设备的防御策略主要指工控设备的保护功能。通过设置合适的防御策略,工控设备可以利用访问凭证等手段对访问请求进行区分,限制低权限用户的功能或直接拒绝与不受信任的访问者交互。主要分为两种防御策略:
访问控制策略。访问控制策略能够有效地抵御不知道访问控制口令的访问者发出的请求。虽然弱口令的安全威胁普遍存在,使得攻击者能够在一定程度上推测出口令,但增加了依赖上位机软件的攻击者连接工控设备的难度。但是,如果来访者是具备重放攻击能力,无需使用上位机软件就能发动攻击的专业攻击者,则访问控制策略将无法限制其访问。
读写保护策略:读写保护用于限制访问者对设备控制逻辑、变量或配置信息的操作。如果没有读写保护策略,攻击者在建立连接之后能够通过上位机或重放流量的方式上传设备控制逻辑,泄露场景中重要信息;也可以注入恶意逻辑,影响设备的正常运行;或者用错误的逻辑替换,造成设备故障损坏。
d)开放服务:工控设备通常能够开放多种服务为使用者提供方便的功能。但另一方面,设备开放的服务越多,攻击面越大。虽然一些服务会设置一些保护手段如登陆时输入账户密码,但默认密码的漏洞普遍存在。
FTP:开放于21端口,通常用于传送文件及更新固件,还可以获得设备型号等信息。FTP功能存在默认账号,使用者如果没有更改,则攻击者可以利用该账户登陆执行FTP功能。攻击者可以通过FTP端口读取设备中的部分文件系统,从中提取敏感信息或重要文件,部分工控设备(如施耐德M580、M340)可以通过FTP服务更新设备固件。攻击者可以利用FTP将设备的固件版本降低,进而降低设备的安全性。部分工控设备的防御策略会影响更新固件过程,比如M340更新固件时要求输入访问控制口令(如果访问控制开启)。
Web:开放于80端口,通常用于获取设备信息、检测设备状态、读写变量,部分设备可通过web服务直接改变设备运行状态。同FTP,Web服务也存在默认用户,这使得攻击者可能执行web功能。使用浏览器直接访问设备80端口可以获取设备的状态信息(如M580\M340)。读写变量、控制设备状态需要输入Web保护密码,但一些管理员不会修改默认的Web密码。
SNMP:开放于161端口,用于获取设备相关信息或写入相关变量。攻击者可以利用该服务非法地修改网络参数或发送畸形数据包造成设备陷入拒绝服务状态。
1.3构建工控设备威胁数据库,包括设备漏洞和典型攻击两部分;具体为:
a)构建工控设备漏洞库。通过关联公开漏洞数据库(如CVE、CNVD等),获取工控设备漏洞信息,将漏洞名称,漏洞评分,受影响的固件版本,威胁路径信息存储在工控设备漏洞库中;
b)构建典型攻击威胁库,其中攻击包括:
利用工程软件读取内存值,包括控制逻辑,敏感数据等;
利用工程软件修改内存值,包括控制逻辑,敏感数据等;
利用工程软件改变运行状态;
利用工程软件获取工控设备信息;
利用工程软件修改设备配置;
利用数据流攻击读取内存值,包括控制逻辑,敏感数据等;
利用数据流攻击修改内存值,包括控制逻辑,敏感数据等;
利用数据流攻击改变运行状态;
利用数据流攻击获取工控设备信息;
利用数据流攻击修改设备配置;
利用数据流攻击使工控设备拒绝服务。
1.4指标影响分析:分析安全指标对于网络攻击、设备漏洞有效性的影响;具体为:
a)选择一项安全指标;
b)选择其中一个特征项;
c)依次将将特征项设置为状态1、状态2、…;
d)在不同状态下,测试典型攻击威胁库中的典型攻击对测试对象的攻击效果并记录;
e)在不同状态下,测试工控设备漏洞库中漏洞的有效性并记录;
f)所有状态测试完毕后,根据结果生成典型攻击和漏洞的生效条件,并形成可调用规则。步骤二,扫描器构建,基于私有协议逆向及工控设备握手机制解析,包含如下子步骤:
2.1指纹库构建:解析工控设备常用私有协议,分析协议结构与功能,并以当前状态和防御策略这两个安全指标特定项的状态为变量,分析上位机软件和工控设备之间交互流量的变化差异,以找到协议中与安全指标具有相关性的关键字段位置,并得到安全指标与关键字段值的映射关系,将关键字段位置、映射关系与提取设备安全指标的请求包整合为指纹信息,构建识别工控设备安全指标的设备指纹库;
2.2服务交互模拟:从用户手册、厂商通告中获取服务的默认账户;编写自动化登陆脚本模拟用户登陆工控设备服务的过程,以默认账户尝试登陆服务,并根据工控设备响应判断该服务是否安全;
2.3握手机制解析:分析上位机软件与工控设备建立连接的过程,分析上位机发送的请求包顺序、功能以及相应校验机制;
具体实现细节如下:
(1)私有协议解析过程中,需要知道关键字段的语义信息以和安全指标对应。为了寻找关键字段的位置和语义,通过Wireshark网络分析工具截获工程软件和工控设备之间的交互流量,改变安全指标并对比分析流量差异,进而找到安全指标对应的字段及字段值、指标值之间的关系。以施耐德所使用的UMAS协议和和罗克韦尔使用的PCCC协议为例,UMAS协议结构及关键字段语义如图2所示,PCCC协议结构及关键字段语义如图3所示。
(2)提取安全指标过程中,通过主动发包的方式向目标设备发送请求流量包,根据目标响应解析安全指标。具体提取方法如下:
a)设备信息反馈功能。工控设备使用的协议中,有一些包含特殊功能码请求能够让工控设备反馈自身信息,上位机软件经常通过此类方法来实时读取并显示工控设备的实时状态。以Siemens S7-300和其使用的S7comm协议为例。S7comm协议的功能码中有读取系统状态列表的功能(System-ZustandsListen,szl)。SZL通过SZL-ID和SZL-Index进行索引。有关设备信息的索引信息如下。因此只要构建合适的SZL请求,就能够远程读取S7-300的安全状态信息。
Figure BDA0003980640490000111
b)部分安全指标无法通过反馈功能获得。基于先前的私有协议解析,找到安全指标和响应流量关键字段之间的关系,从而得到安全指标信息。以UMAS协议为例,UMAS协议是施耐德公司的私有协议,主要用于M340、M580、M221、M200等工控设备的配置和监控。UMAS协议基于公有协议Modbus,使用90功能码。对M221、M340、M580、M200四款使用UMAS协议的施耐德设备进行操作,使用流量分析工具wireshark对不同功能的流量进行解析,寻找能够有效反映工控设备设备信息的状态位。在5A功能码之后,紧跟着UMAS Code功能码,不同的功能码有着不同的功能请求。其中04功能码可用于读取工控设备信息,该请求在上位机软件与工控设备建立连接后不间断地发送,以获得工控设备的实时状态。通过上位机软件改变工控设备的实时状态和防护策略,观察不同条件下工控设备对于包含04功能码的请求包的响应,比较流量包中不同的字段,寻找设备信息和流量中字段的对应关系:
Figure BDA0003980640490000121
c)部分设备的部分设备信息既不能通过信息反馈功能得到,也不在关键字段中体现。工控设备在不同状态下,会对相同的请求产生不同的回复。通过这一点可以判断某些功能或状态是否开启。以施耐德M340和和M580为例,其使用UMAS协议进行通信。该设备具备访问控制保护,但其是否启用无法通过a)、b)两种方法观察到。通过研究这两款PLC的安全功能发现,上位机软件和PLC建立连接时,会向PLC发送一个包含10功能码的报文,该报文的作用是向PLC索要一个session值。若PLC没有与其他设备连接,则会返回一个包含FE功能码的报文,功能码后跟随session值。当PLC已经与其他设备连接且已经分配session值时,会拒绝其他设备,返回一个包含FD功能码的报文。若功能码后面跟随的是81,表示当前设备没有访问控制,但是已有其他设备与PLC连接;若其后面跟随的是86,则表示存在访问控制。
d)探测服务是否开放的常规方法是探测目标是否开放了服务对应的特征端口。通过查阅设备手册和分析设备功能,发现PLC在服务方面还存在信息泄露和默认密码的漏洞。因此尝试验证设备是否使用默认密码,以及能否提取设备信息。以M340为例,用浏览器访问M340的80端口,并用Wireshark分析登陆过程中的流量交互,发现Web服务器可以通过默认密码登陆。通过发送包含密码信息的HTTP请求包,根据目标反馈判断结果判断目标是否使用默认密码。同理我们还可以判断目标是否存在默认的FTP账户、通过SNMP获取设备信息。
(3)握手机制分析。PLC和工程软件通过以太网协议通信,大部分协议基于TCP/IP协议开发。使用工程软件和PLC进行通信,测试常用的功能,并通过wireshark捕获双方发送的流量包,分析建立连接的具体步骤。通过分析发现,部分协议的通信较为简单,另一些协议则有较为复杂的通信机制。图4为不同工控设备的握手机制,从左到右依次为西门子S7300,施耐德M340和罗克韦尔Micrologix1400。
a)简单握手机制。不需要建立会话与工控设备建立会话,直接发送包含特定功能码的数据包获得目标设备的有效反馈。以施耐德M340和西门子S7-300为例。施耐德M340不需要建立会话,连接者直接发送包含特定功能码的数据包就可以获得目标设备的有效反馈。如图4中(a)所示,攻击者可以先发送Modbus协议请求获得设备的设备名称、固件版本等信息,随后通过包含04功能码的UMAS协议获得设备当前状态,发送10功能码请求包,根据目标反馈判断设备是否开启了访问控制保护。S7Comm协议是S7-300 PLC所使用的私有协议,被封装在TPKT和ISO-COTP协议中。建立TCP/IP后,连接者需要和PLC依次建立COTP和S7Comm连接,随后发送请求读取SZL内容,其过程如图4中(b)所示。
b)复杂通信机制
对于包含会话验证的设备,先发送请求获取会话ID,随后在后续通信中附上本次会话的ID以供工控设备校验。对于包含连接验证的设备,发送请求回去连接ID,随后在后续通信中附上本次会话的ID以供工控设备校验。以PCCC协议为例。不同于M340和S7-300的简单通信过程,PCCC协议具有session ID验证机制,在与PLC建立连接之前需要先建立获得PLC给出的会话session值,并在后续的请求包中附带上该session,PLC才会认定访问合法。同时,在获取Micrologix 1400访问控制状态时,需要使用CIP-CM协议获取有效的Connection ID。协议通信过程如图4中(c)所示。建立TCP连接后,连接者先发送ENIP请求获取目标设备的信息列表,从中获得设备的内网IP,设备名称等信息,该步骤不需要同PLC建立会话;随后获取本次会话的session值,建立会话,并将session附在之后的请求包中。然后发送功能码为06-03的PCCC请求中,获取设备当前运行状态。之后获取通过发送CIPConnection Manager请求包获得Connection-ID,以获得访问内存区域的许可。最后通过发送包含功能码0F-A2的PCCC请求包,判断设备是否开启了访问控制。
(4)指纹库构建。指纹存储在以设备型号为名称的xml文件中。每条设备指纹包含设备类型、请求报文、正则表达式、指纹名称等组成。设备类型用于从指纹库中索引相应设备型号的指纹文件,请求报文被发向目标设备以获取设备响应,正则表达式用于从设备响应中提取安全状态信息,指纹名称表示获取的安全状态。由于大多数工控设备需要提取多个安全状态,因此一个指纹文件中会存在多个(request,正则表达式,指纹名称)。
步骤三,提取安全指标,包含如下子步骤:
3.1目标IP获取:从已有的设备扫描引擎数据库中,获取目标的IP地址;
3.2与目标设备建立连接:基于设备的握手机制,向目标IP发送请求包建立连接;
3.3提取安全指标:向目标发送设备信息请求包,获得目标响应,根据设备指纹库解析内容提取安全指标;
3.4构建本地数据库存储安全指标;
具体实现细节如下:
(1)目标IP获取。融合了Shodan、Zoomeye、Fofa、Cencys、Binaryedge 5个搜索引擎中的工控设备数据作为信息来源。利用特定的搜索条件从搜索引擎的数据库中检索工控设备,从结果中剔除设备位置、记录时间等无关信息,保留设备IP、厂商等信息,用于后续提取设备信息。为了导出尽可能多的设备,使用较为宽泛的搜索条件从在线数据库中提取设备。
用于获取目标的IP地址的检索条件示例如下:
Figure BDA0003980640490000141
(2)与目标建立连接。具体步骤如下:
a)发送ping指令探测目标是否存活,若设备存活则执行步骤b),否则3秒后继续发送ping指令。如果3次都显示设备未存活,则将该IP放入黑名单中。检测3次以避免因为网络延迟原因导致未与存活设备建立连接。
b)向目标的特征端口、常用服务端口发送ping请求包探测端口是否开放,若端口开放则执行步骤c),否则将该IP放入黑名单中。
c)向端口发送TCP/IP请求以建立TCP连接。
(3)提取安全指标。从指纹库中提取相应的指纹,设备成功连接后,发送设备信息请求包到目标设备,捕获响应报文并检查报文内容及格式是否符合要求。对于正确的回复,通过正则表达式提取报文中的有效信息,然后利用binascii库以及python内置函数将信息转换成合适的形式保存在数据库中。不符合要求的回复放入黑名单中。使用try except结构将提取每个安全状态的工作区分开,避免因为提取一个安全状态出错导致整个安全状态提取失败。对于工控设备的常用服务,通过各类python库进行验证目标的服务情况。比如利用requests库发送get请求模拟http访问,利用ftplib、pysnmp模拟FTP和SNMP的交互过程。
(4)构建本地数据库
使用mysql建立本地数据库,通过pymysql库执行mysql脚本,将步骤(3)提取的安全指标以设备IP为索引,存储在以协议名称命名的table中。后续的安全监测步骤将直接从数据库中调取响应的数据进行计算。
步骤四,网络工控设备安全监测,包含如下子步骤:
4.1根据设备信息,判断工控设备是否存在固件版本低、使用通用局域IP、工程长时间未维护这些问题;
4.2根据当前状态和防御策略,对处于停止状态和未启用防御策略的工控设备进行告警;
4.3根据开放服务信息,对存在安全隐患的工控设备进行告警;
4.4结合工控设备威胁数据库,根据工控设备的安全指标判断其存在的漏洞和面临的网络攻击威胁,对漏洞和攻击的威胁程度进行划分并进行告警;
4.5计算设备暴露程度:计算设备IP在各扫描引擎数据库中的归属度,分析设备在网络空间中的暴露程度并进行告警。
具体实现细节如下:
(1)安全知识定义,根据大量工控设备漏洞信息及工控厂商发布的漏洞缓解措施建议,收集如下安全知识:
a)高固件版本将修补先前漏洞并完善设备功能;
b)工程文件日期越新,维护越频繁;
c)以常规网段开头的内网IP地址易被爆破;
d)攻击者可以从项目名称中提取敏感信息;
e)运行状态下的工控设备无法被修改控制逻辑;
f)运行状态和连接状态下更容易检测到工控设备异常;
g)攻击者无法连接仅有1个连接资源且已被连接的工控设备;
h)启用访问设备保护功能可以减少恶意访问及恶意操作;
i)改变默认账户利于降低风险;
(2)基于设备信息的监测机制:基于安全知识和设备信息对工控设备进行安全监测,具体为:根据a),识别工控设备当前固件版本,若未达到厂商发布的最新固件版本,则输出“固件版本待升级”告警;根据b),根据工控设备的工程时间,若一年内未进行维护,则进行“工控设备控制逻辑待维护”告警;根据c),若工控设备使用常规网段如192.168.**,则进行“局域IP易被识别”告警;根据d),若项目名称包含由\分隔的路径,则进行“项目名称包含敏感信息”告警;
(3)基于当前状态和防御策略的监测机制:根据安全知识e)-h),对处于停止状态、未启用防御策略的工控设备分别进行“设备处于危险状态”和“设备未启用防御策略”告警;
(4)基于开放服务的监测机制:WEB、FTP和SNMP的结果可以分为4种状态:fault(服务开启,使用默认登录账号),changed(WEB服务开启,但登录账号被修改),protected(服务开启但经过第三方登录验证,用户使用流量转发或其他方式对服务端口进行特殊保护),close(服务关闭或拒绝访问);对于前两种状态,分别进行“服务开启且使用默认账户”、“服务开启且未进行保护”的告警。
(5)基于获得的设备安全指标,结合工控设备威胁数据库中的工控设备漏洞库,首先根据固件版本获取设备所面临的所有漏洞,再根据当前状态、防御策略、开放服务对漏洞的有效性进行评估以得到会对当前设备直接造成威胁的高危漏洞;将结果输出为“共找到漏洞*个,其中高危漏洞*个,潜在漏洞*个”,并输出具体漏洞名称、漏洞分数、漏洞攻击路径信息。
(6)基于获得的设备安全指标,结合工控设备威胁数据库中的典型攻击威胁库,根据攻击生效条件以及当前安全指标判断攻击威胁程度,根据攻击条件的满足情况,均不满足则为潜在攻击,部分满足则为中等攻击,全部满足则为危险攻击;将结果输出为“设备面临攻击*个,其中潜在攻击*个,中等攻击*个,危险攻击*个”。
(7)暴露程度计算具体为:从扫描引擎数据库中导出扫描结果的设备IP和扫描引擎赋予的设备身份标签,如果工控设备被n个扫描引擎识别,则进行“设备被n个扫描引擎识别”告警。
参见图5,本发明实施例提供一种基于安全指标的网络工控设备安全监测装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述实施例中的基于安全指标的网络工控设备安全监测方法。
本发明基于安全指标的网络工控设备安全监测装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本发明基于安全指标的网络工控设备安全监测装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于安全指标的网络工控设备安全监测方法。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (10)

1.一种基于安全指标的网络工控设备安全监测方法,其特征在于,该方法包括如下步骤:
步骤一,安全指标定义,包含如下子步骤:
1.1分析工控设备功能:分析主流厂商设备的配置和功能,总结工控设备的可用配置及功能;
1.2定义安全指标:基于步骤1.1的功能分析结果,定义设备信息、当前状态、防御策略、开放服务这四种安全指标,反映设备的安全能力;
1.3构建工控设备威胁数据库,包括设备漏洞和典型攻击两部分;
1.4指标影响分析:分析安全指标对于网络攻击、设备漏洞有效性的影响;
步骤二,扫描器构建,包含如下子步骤:
2.1指纹库构建:解析工控设备常用私有协议,分析协议结构与功能,并以当前状态和防御策略这两个安全指标特定项的状态为变量,分析上位机软件和工控设备之间交互流量的变化差异,以找到协议中与安全指标具有相关性的关键字段位置,并得到安全指标与关键字段值的映射关系,将关键字段位置、映射关系与提取设备安全指标的请求包整合为指纹信息,构建识别工控设备安全指标的设备指纹库;
2.2服务交互模拟:从用户手册、厂商通告中获取服务的默认账户;编写自动化登陆脚本模拟用户登陆工控设备服务的过程,以默认账户尝试登陆服务,并根据工控设备响应判断该服务是否安全;
2.3握手机制解析:分析上位机软件与工控设备建立连接的过程,分析上位机发送的请求包顺序、功能以及相应校验机制;
步骤三,提取安全指标,包含如下子步骤:
3.1目标IP获取:从已有的设备扫描引擎数据库中,获取目标的IP地址;
3.2与目标设备建立连接:基于设备的握手机制,向目标IP发送请求包建立连接;
3.3提取安全指标:向目标发送设备信息请求包,获得目标响应,根据设备指纹库解析内容提取安全指标;
步骤四,网络工控设备安全监测,包含如下子步骤:
4.1根据设备信息,判断工控设备是否存在固件版本低、使用通用局域IP、工程长时间未维护这些问题;
4.2根据当前状态和防御策略,对处于停止状态和未启用防御策略的工控设备进行告警;
4.3根据开放服务信息,对存在安全隐患的工控设备进行告警;
4.4结合工控设备威胁数据库,根据工控设备的安全指标判断其存在的漏洞和面临的网络攻击威胁,对漏洞和攻击的威胁程度进行划分并进行告警;
4.5计算设备暴露程度:计算设备IP在各扫描引擎数据库中的归属度,分析设备在网络空间中的暴露程度并进行告警。
2.根据权利要求1所述的基于安全指标的网络工控设备安全监测方法,其特征在于,所述步骤一中,首先进行工控设备功能与配置分析,分析过程包括:
a)从工控设备说明书和官方网站中提取设备的基本信息:设备名称,固件版本范围,生产厂商;
b)利用组态软件与目标设备建立连接,分析设备的当前状态信息,可配置的防御策略,支持的开放服务。
3.根据权利要求1所述的基于安全指标的网络工控设备安全监测方法,其特征在于,所述步骤一中,安全指标包括:
a)设备信息包括如下特定项:固件版本、工程信息和局域IP;
固件版本:体现设备安全等级和匹配漏洞;
工程信息:评估设备维护状态,获取敏感信息;
局域IP:探测设备空间拓扑结构;
b)当前状态包括如下特定项:运行状态和连接状态;
运行状态:反映设备当前的运行状况;
连接状态:反映设备是否与上位机或其他功能模块连接;
c)防御策略包括如下特定项:访问控制和读写保护;
访问控制策略:是否在建立连接时有访问控制保护;
读写保护策略:是否对数据存储有读写保护;
d)开放服务包括如下特定项:FTP、Web、SNMP;
FTP:更新固件,是否存在默认账户;
Web:控制设备或获取敏感信息;
SNMP:读取设备细节信息。
4.根据权利要求1所述的基于安全指标的网络工控设备安全监测方法,其特征在于,所述步骤一中,构建工控设备威胁数据库,具体为:
a)构建工控设备漏洞库,通过关联公开漏洞数据库,获取工控设备漏洞信息,将漏洞名称,漏洞评分,受影响的固件版本,威胁路径信息存储在工控设备漏洞库中;
b)构建典型攻击威胁库,其中攻击包括:
利用工程软件读取内存值,包括控制逻辑,敏感数据;
利用工程软件修改内存值,包括控制逻辑,敏感数据;
利用工程软件改变运行状态;
利用工程软件获取工控设备信息;
利用工程软件修改设备配置;
利用数据流攻击读取内存值,包括控制逻辑,敏感数据;
利用数据流攻击修改内存值,包括控制逻辑,敏感数据;
利用数据流攻击改变运行状态;
利用数据流攻击获取工控设备信息;
利用数据流攻击修改设备配置;
利用数据流攻击使工控设备拒绝服务。
5.根据权利要求1所述的基于安全指标的网络工控设备安全监测方法,其特征在于,所述步骤一中,分析安全指标对工控设备威胁数据库中攻击效果的影响,具体步骤为:
a)选择一项安全指标;
b)选择其中一个特征项;
c)依次将将特征项设置为状态1、状态2、…;
d)在不同状态下,测试典型攻击威胁库中的典型攻击对测试对象的攻击效果并记录;
e)在不同状态下,测试工控设备漏洞库中漏洞的有效性并记录;
f)所有状态测试完毕后,根据结果生成典型攻击和漏洞的生效条件,并形成可调用规则。
6.根据权利要求1所述的基于安全指标的网络工控设备安全监测方法,其特征在于,所述步骤二中,私有协议解析方法的具体步骤为:
a)在工控设备与组态软件之间部署流量监控设备,使用Wireshark软件获取两者间的流量往来;
b)从流量中寻找明文传输或弱加密的设备信息;
c)修改设备的当前状态和防御策略,比较不同状态下的流量差异,确定决定报文功能的关键功能码以及指标对应的关键字段;
d)提取获得包含安全指标的响应信息的请求包;
e)将关键字段位置、安全指标与关键字段值的映射关系和请求包相结合生成指纹信息。
7.根据权利要求1所述的基于安全指标的网络工控设备安全监测方法,其特征在于,所述步骤四中,基于安全指标对工控设备进行安全监测的过程如下:
(1)安全知识定义,根据大量工控设备漏洞信息及工控厂商发布的漏洞缓解措施建议,收集如下安全知识:
a)高固件版本将修补先前漏洞并完善设备功能;
b)工程文件日期越新,维护越频繁;
c)以常规网段开头的内网IP地址易被爆破;
d)攻击者可以从项目名称中提取敏感信息;
e)运行状态下的工控设备无法被修改控制逻辑;
f)运行状态和连接状态下更容易检测到工控设备异常;
g)攻击者无法连接仅有1个连接资源且已被连接的工控设备;
h)启用访问设备保护功能可以减少恶意访问及恶意操作;
i)改变默认账户利于降低风险;
(2)基于设备信息的监测机制:基于安全知识和设备信息对工控设备进行安全监测,具体为:根据a),识别工控设备当前固件版本,若未达到厂商发布的最新固件版本,则输出“固件版本待升级”告警;根据b),根据工控设备的工程时间,若一年内未进行维护,则进行“工控设备控制逻辑待维护”告警;根据c),若工控设备使用常规网段如192.168.**,则进行“局域IP易被识别”告警;根据d),若项目名称包含由\分隔的路径,则进行“项目名称包含敏感信息”告警;
(3)基于当前状态和防御策略的监测机制:根据安全知识e)-h),对处于停止状态、未启用防御策略的工控设备分别进行“设备处于危险状态”和“设备未启用防御策略”告警;
(4)基于开放服务的监测机制:WEB、FTP和SNMP的结果可以分为4种状态:fault,changed,protected,close;对于前两种状态,分别进行“服务开启且使用默认账户”、“服务开启且未进行保护”的告警。
8.根据权利要求1所述的基于安全指标的网络工控设备安全监测方法,其特征在于,所述步骤四中,基于获得的设备安全指标,结合工控设备威胁数据库中的工控设备漏洞库,根据固件版本获取设备所面临的所有漏洞,再根据当前状态、防御策略、开放服务对漏洞的有效性进行评估以得到会对当前设备直接造成威胁的高危漏洞;将结果输出为“共找到漏洞*个,其中高危漏洞*个,潜在漏洞*个”,并输出具体漏洞名称、漏洞分数、漏洞攻击路径信息;
基于获得的设备安全指标,结合工控设备威胁数据库中的典型攻击威胁库,根据攻击生效条件以及当前安全指标判断攻击威胁程度,根据攻击条件的满足情况,均不满足则为潜在攻击,部分满足则为中等攻击,全部满足则为危险攻击;将结果输出为“设备面临攻击*个,其中潜在攻击*个,中等攻击*个,危险攻击*个”。
9.根据权利要求1所述的基于安全指标的网络工控设备安全监测方法,其特征在于,所述步骤四中,暴露程度计算具体为:从扫描引擎数据库中导出扫描结果的设备IP和扫描引擎赋予的设备身份标签,如果工控设备被n个扫描引擎识别,则进行“设备被n个扫描引擎识别”告警。
10.一种基于安全指标的网络工控设备安全监测装置,其特征在于,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,其特征在于,所述处理器执行所述可执行代码时,用于实现如权利要求1-9中任一项所述的基于安全指标的网络工控设备安全监测方法。
CN202211550090.2A 2022-12-05 2022-12-05 基于安全指标的网络工控设备安全监测方法及装置 Active CN116318783B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211550090.2A CN116318783B (zh) 2022-12-05 2022-12-05 基于安全指标的网络工控设备安全监测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211550090.2A CN116318783B (zh) 2022-12-05 2022-12-05 基于安全指标的网络工控设备安全监测方法及装置

Publications (2)

Publication Number Publication Date
CN116318783A true CN116318783A (zh) 2023-06-23
CN116318783B CN116318783B (zh) 2023-08-22

Family

ID=86824599

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211550090.2A Active CN116318783B (zh) 2022-12-05 2022-12-05 基于安全指标的网络工控设备安全监测方法及装置

Country Status (1)

Country Link
CN (1) CN116318783B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116800511A (zh) * 2023-07-06 2023-09-22 广东网安科技有限公司 一种工控系统网络安全防护能力检查评估系统

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140137257A1 (en) * 2012-11-12 2014-05-15 Board Of Regents, The University Of Texas System System, Method and Apparatus for Assessing a Risk of One or More Assets Within an Operational Technology Infrastructure
US20170352102A1 (en) * 2016-06-06 2017-12-07 Sensormatic Electronics, LLC Method and Apparatus for Increasing the Density of Data Surrounding an Event
CN108076040A (zh) * 2017-10-11 2018-05-25 北京邮电大学 一种基于杀伤链和模糊聚类的apt攻击场景挖掘方法
CN108737417A (zh) * 2018-05-16 2018-11-02 南京大学 一种面向工业控制系统的脆弱性检测方法
CN108769022A (zh) * 2018-05-29 2018-11-06 浙江大学 一种用于渗透测试的工业控制系统安全实验平台
CN109474607A (zh) * 2018-12-06 2019-03-15 连云港杰瑞深软科技有限公司 一种工业控制网络安全保护监测系统
CN109613899A (zh) * 2018-12-21 2019-04-12 国家计算机网络与信息安全管理中心 一种基于配置表的工控系统安全风险评估的方法
CN109818985A (zh) * 2019-04-11 2019-05-28 江苏亨通工控安全研究院有限公司 一种工控系统漏洞趋势分析与预警方法及系统
EP3554043A1 (en) * 2018-04-12 2019-10-16 Rockwell Automation Technologies, Inc. Method and apparatus for secure device provisioning in an industrial control system
CN112184091A (zh) * 2020-12-01 2021-01-05 杭州木链物联网科技有限公司 工控系统安全威胁评估方法、装置和系统
CN112651006A (zh) * 2020-12-07 2021-04-13 中国电力科学研究院有限公司 一种电网安全态势感知平台架构
CN112733147A (zh) * 2021-01-07 2021-04-30 中国工商银行股份有限公司 设备安全管理方法及系统
CN114168967A (zh) * 2021-12-08 2022-03-11 重庆大唐国际彭水水电开发有限公司 一种工控系统安全态势预测方法和系统
CN114172699A (zh) * 2021-11-19 2022-03-11 北京计算机技术及应用研究所 一种工业控制网络安全事件关联分析方法
CN114297020A (zh) * 2021-12-20 2022-04-08 江苏林洋能源股份有限公司 企业工控安全大脑平台系统及运行方法
CN114978584A (zh) * 2022-04-12 2022-08-30 深圳市蔚壹科技有限公司 基于单位单元的网络安全防护安全方法及系统

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140137257A1 (en) * 2012-11-12 2014-05-15 Board Of Regents, The University Of Texas System System, Method and Apparatus for Assessing a Risk of One or More Assets Within an Operational Technology Infrastructure
US20170352102A1 (en) * 2016-06-06 2017-12-07 Sensormatic Electronics, LLC Method and Apparatus for Increasing the Density of Data Surrounding an Event
CN108076040A (zh) * 2017-10-11 2018-05-25 北京邮电大学 一种基于杀伤链和模糊聚类的apt攻击场景挖掘方法
EP3554043A1 (en) * 2018-04-12 2019-10-16 Rockwell Automation Technologies, Inc. Method and apparatus for secure device provisioning in an industrial control system
CN108737417A (zh) * 2018-05-16 2018-11-02 南京大学 一种面向工业控制系统的脆弱性检测方法
CN108769022A (zh) * 2018-05-29 2018-11-06 浙江大学 一种用于渗透测试的工业控制系统安全实验平台
CN109474607A (zh) * 2018-12-06 2019-03-15 连云港杰瑞深软科技有限公司 一种工业控制网络安全保护监测系统
CN109613899A (zh) * 2018-12-21 2019-04-12 国家计算机网络与信息安全管理中心 一种基于配置表的工控系统安全风险评估的方法
CN109818985A (zh) * 2019-04-11 2019-05-28 江苏亨通工控安全研究院有限公司 一种工控系统漏洞趋势分析与预警方法及系统
CN112184091A (zh) * 2020-12-01 2021-01-05 杭州木链物联网科技有限公司 工控系统安全威胁评估方法、装置和系统
CN112651006A (zh) * 2020-12-07 2021-04-13 中国电力科学研究院有限公司 一种电网安全态势感知平台架构
CN112733147A (zh) * 2021-01-07 2021-04-30 中国工商银行股份有限公司 设备安全管理方法及系统
CN114172699A (zh) * 2021-11-19 2022-03-11 北京计算机技术及应用研究所 一种工业控制网络安全事件关联分析方法
CN114168967A (zh) * 2021-12-08 2022-03-11 重庆大唐国际彭水水电开发有限公司 一种工控系统安全态势预测方法和系统
CN114297020A (zh) * 2021-12-20 2022-04-08 江苏林洋能源股份有限公司 企业工控安全大脑平台系统及运行方法
CN114978584A (zh) * 2022-04-12 2022-08-30 深圳市蔚壹科技有限公司 基于单位单元的网络安全防护安全方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
J. CHEN, X. GAO, R. DENG等: ""Generating Adversarial Examples Against Machine Learning-Based Intrusion Detector in Industrial Control Systems"", 《 IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING》 *
T. YIMER等: ""Securing Industrial Control Systems Using Physical Device Fingerprinting"", 《2020 7TH INTERNATIONAL CONFERENCE ON INTERNET OF THINGS: SYSTEMS, MANAGEMENT AND SECURITY (IOTSMS)》 *
邓瑞龙等: ""机器学习在电力信息物理系统网络安全中的应用"", 《电力系统自动化》 *
陶耀东等: ""一种工业控制系统漏洞风险评估方法"", 《小型微型计算机系统》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116800511A (zh) * 2023-07-06 2023-09-22 广东网安科技有限公司 一种工控系统网络安全防护能力检查评估系统
CN116800511B (zh) * 2023-07-06 2024-04-02 释空(上海)品牌策划有限公司 一种工控系统网络安全防护能力检查评估系统

Also Published As

Publication number Publication date
CN116318783B (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
WO2018084808A1 (en) Computer-implemented method and data processing system for testing device security
CN111651757A (zh) 攻击行为的监测方法、装置、设备及存储介质
CN106650436A (zh) 一种基于局域网的安全检测方法和装置
Antrobus et al. Simaticscan: Towards a specialised vulnerability scanner for industrial control systems
CN113315767B (zh) 一种电力物联网设备安全检测系统及方法
CN113868659B (zh) 一种漏洞检测方法及系统
CN106878339A (zh) 一种基于物联网终端设备的漏洞扫描系统及方法
CN116318783B (zh) 基于安全指标的网络工控设备安全监测方法及装置
Abe et al. Developing deception network system with traceback honeypot in ICS network
Kim et al. STRIDE‐based threat modeling and DREAD evaluation for the distributed control system in the oil refinery
KR20170091989A (ko) 산업 제어 네트워크에서의 보안 관제 평가 시스템 및 방법
CN113868669A (zh) 一种漏洞检测方法及系统
Permann et al. Cyber assessment methods for SCADA security
CN110086812B (zh) 一种安全可控的内网安全巡警系统及方法
Dalimunthe et al. Intrusion detection system and modsecurity for handling sql injection attacks
CN113868670A (zh) 一种漏洞检测流程检验方法及系统
Xu et al. Identification of ICS security risks toward the analysis of packet interaction characteristics using state sequence matching based on SF-FSM
Li An approach to graph-based modeling of network exploitations
JP2020123203A (ja) データセット検証装置およびそのプログラム、方法並びにデータセット検証システム
Borcherding et al. Helper-in-the-Middle: Supporting Web Application Scanners Targeting Industrial Control Systems.
KR102386232B1 (ko) Sdn 웹 인터페이스에 대한 csrf 취약점을 탐지하는 방법 및 장치
Wu et al. Testing and evaluation of the mimic defense principle verification system
CN112637217B (zh) 基于诱饵生成的云计算系统的主动防御方法及装置
Mejia-Ricart Data-Driven Adversarial Behavior Models for Cybersecurity
Sanchez et al. Security Threats and Security Testing for Chatbots

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
GR01 Patent grant
GR01 Patent grant