DB32/T 4274-2022 工业互联网安全脆弱性分析与检测规范
DB32/T 4274-2022 Industrial Internet Security Vulnerability Analysis and Detection Specification
基本信息
发布历史
-
2022年05月
研制信息
- 起草单位:
- 南京理工大学、南京工业职业技术大学、五邑大学、东南大学、南京航空航天大学、江苏省工业与信息化厅、江苏省产品质量监督检验研究院、江苏大象信息技术服务有限公司、江苏省中天互联科技有限公司、江苏三台山数据应用研究院有限公司、江苏远恒教育科技有限公司、江苏省信息网络安全协会
- 起草人:
- 李千目、侯君、金雷、戴晟、武斌、张建航、龙华秋、曹玖新、时宗胜、蒋剑、练智超、韩皓、李冬成、牛博威、孟庆杰、蔡文杰、袁键、邓高见、陈彦文
- 出版信息:
- 页数:56页 | 字数:100 千字 | 开本: 大16开
内容描述
ICS25.040
CCSN10
DB32
江苏省地方标准
DB32/T4274—2022
工业互联网安全脆弱性分析与检测规范
IndustrialInternetSecurityVulnerabilityAnalysisandTestingStandards
2022-05-26发布2022-06-26实施
江苏省市场监督管理局发布
DB32/T4274—2022
目次
前言................................................................................III
1范围................................................................................1
2规范性引用文件......................................................................1
3术语、定义和缩略语..................................................................1
3.1术语和定义........................................................................1
3.2缩略语............................................................................2
4总则................................................................................3
5分析与检测流程......................................................................3
6分析................................................................................4
6.1威胁分类与样本库的构建............................................................4
6.2攻击样本库构建....................................................................5
6.3分析步骤与要求....................................................................7
7检测...............................................................................13
7.1弱点脆弱性检测总体要求...........................................................13
7.2环境与封装.......................................................................13
7.3API调用..........................................................................14
7.4指针安全.........................................................................15
7.5初始化与清理环节.................................................................16
7.6错误处理.........................................................................17
7.7时间和状态.......................................................................17
7.8通用安全特性.....................................................................19
7.9数据处理.........................................................................21
7.10代码质量........................................................................26
7.11弱点脆弱性检测列表..............................................................28
7.12安全脆弱性检测流程与方法........................................................28
8服务...............................................................................29
8.1服务机构基本能力要求.............................................................29
8.2服务流程.........................................................................30
附录A(资料性)模型的建立..........................................................31
I
DB32/T4274—2022
附录B(资料性)工业互联网系统脆弱性检测记录表......................................33
附录C(资料性)工业互联网系统脆弱性漏洞访谈信息记录表..............................34
附录D(资料性)工业互联网系统脆弱性(漏洞)检测指标及参考权重......................35
附录E(规范性)工业互联网系统脆弱性检测专家打分指标值分类说明......................36
附录F(资料性)判断矩阵表..........................................................38
附录G(规范性)弱点脆弱性检测列表..................................................40
附录H(资料性)工业互联网系统漏洞严重性等级评定表..................................43
附录I(资料性)工业互联网系统脆弱性计算示例........................................44
II
DB32/T4274—2022
前言
本文件按照GB/T1.1—2020《标准化工作导则第1部分:标准化文件的结构和起草规则》的规定
起草。
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。
本文件由江苏省信息安全标准化技术委员会提出并归口。
本文件起草单位:南京理工大学、南京工业职业技术大学、五邑大学、东南大学、南京航空航天大
学、江苏省工业与信息化厅、江苏省产品质量监督检验研究院、江苏大象信息技术服务有限公司、江苏
省中天互联科技有限公司、江苏三台山数据应用研究院有限公司、江苏远恒教育科技有限公司、江苏省
信息网络安全协会。
本文件主要起草人:李千目、侯君、金雷、戴晟、武斌、张建航、龙华秋、曹玖新、时宗胜、蒋剑、
练智超、韩皓、李冬成、牛博威、孟庆杰、蔡文杰、袁键、邓高见、陈彦文。
III
DB32/T4274—2022
工业互联网安全脆弱性分析与检测规范
1范围
本文件规定了工业互联网系统威胁分类与攻击样本库构建的步骤和一般要求,以及安全脆弱性检测
流程与方法、分析与检测服务机构基本能力要求与服务流程要求。
本文件适用于工业互联网系统安全脆弱性分析与检测,脆弱性严重性综合指数计算与等级划分检测。
2规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,
仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本
文件。
GB/T25069信息安全技术术语
GB/T5271.8-2001信息技术词汇第8部分:安全
GB/T20984-2007信息安全技术信息安全风险检测规范
GB/T25056-2010信息安全技术证书认证系统密码及其相关安全技术规范
GB/T28452-2012信息安全技术应用软件系统通用安全技术要求
GB/T302791-2013信息安全技术安全漏洞等级划分指南
GB/T35273-2017信息安全技术个人信息安全规范
GB/T30976.1-2014工业控制系统信息安全
3术语、定义和缩略语
3.1术语和定义
下列术语和定义适用于本文件。
3.1.1
工业互联网IndustrialInternet
属于泛互联网的目录分类。使用开放性网络来连接人、数据与机器,激发工业化生产力。
3.1.2
工业互联网系统IndustrialInternetsystem
面向工业全生命周期,依托工业互联网,在传感网络技术、大数据技术、云计算技术、边缘计算技
术、自动化技术、人工智能等技术基础上,通过智能化的感知、人机交互、决策和执行技术,实现设计
过程、制造过程和制造装备智能化,是信息技术、智能技术与装备制造技术的深度融合与集成。
3.1.3
1
DB32/T4274—2022
漏洞Vulnerability
计算机信息系统在需求、设计、实现、配置、运行等过程中,有意或无意产生的缺陷。这些缺陷以
不同形式存在于计算机信息系统的各个层次和环节之中,一旦被恶意主体所利用,就会对计算机信息系
统的安全造成损害,从而影响计算机信息系统的正常运行。保持信息的保密性、完整性、可用性;另外
也可包括诸如真实性、可核查性、不可否认性和可靠性等。
[来源:GB/T302791-2013]
3.1.4
工业控制协议Industrialcontrolprotocol
工业控制系统网络中进行数据交换而建立的规则、标准或约定,规范了设备之间的通信行为与相关
的接口标准。
[来源:IEEE802.11]
3.1.5
工业互联网系统安全脆弱性静态分析StaticanalysisofindustrialInternetsystemsecurity
vulnerability
在不运行工控协议实现程序的前提下,分析软件程序中存在的漏洞,通过对工控协议实现程序的词
法、语法、语义进行分析,检测软件中存在的弱安全函数调用和缺陷代码片段。
[来源:GB/T20278-2013定义3.3]
3.1.6
工业互联网系统安全脆弱性动态分析DynamicAnalysisofSecurityVulnerabilityof
IndustrialInternetSystem
分别从系统侧和网络侧两方面实现工控协议脆弱性分析的技术。在系统侧,针对工控协议数据的动
态污点,通过数据流分析和函数摘要方法,跟踪工控协议数据流的传播,挖掘工控协议实现过程中潜在
的漏洞;在网络侧,同时向被测协议的客户端(即工控系统主站)和服务器端(即智能终端设备)发送
预先设计的协议畸形数据输入,监视测试过程和返回的异常结果,发现工控协议存在的安全漏洞。
[来源:GB/T30976.1-2014定义3.3]
3.2缩略语
下列缩略语适用于本文件。
ICS:工业控制系统(IndustrialControlSystem)
DCS:分布式控制系统/集散控制系统(DistributedControlSystem)
PCS:过程控制系统(ProcessControlSystem)
PLC:可编程序控制器(ProgrammableLogicController)
RTU:远程终端控制系统(RemoteTerminalUnit)
IED:智能电子设备/智能监测单元(IntelligentElectronicDevice)
HMI:人机界面(HumanMachineInterface)
SIS:生产过程自动化监控和管理系统(SupervisoryInformationSystem)
2
DB32/T4274—2022
MES:制造执行管理系统(ManufacturingExecutionSystem)
SCADA:数据采集与监视控制系统(SupervisoryControlandDataAcquisition)
4总则
脆弱性检测人员的主要工作职能在于收集和呈现信息,客观地呈现代码安全体系中的问题,不应隐
瞒;对代码安全体系等相关内容保守秘密,不对外泄露相关内容。
5分析与检测流程
工业互联网系统安全脆弱性分析与检测的流程见图1:
分析检测准备
现场记录
构建工业互联网系统的威胁分类
构建工业互联网系统的攻击样本库
工业互联网系统安全脆弱性做分析
对工业互联网系统安全脆弱性做检测
输出脆弱性检测报告
图1分析与检测流程图
如图1,工业互联网系统安全脆弱性分析与检测的流程为:
a)构建工业互联网系统的威胁分类和攻击样本库;
b)利用相关方法对工业互联网系统安全脆弱性做分析;
3
DB32/T4274—2022
c)利用相关方法对工业互联网系统安全脆弱性做检测。
6分析
6.1威胁分类与样本库的构建
6.1.1威胁分类原则
表1提供了一种基于表现形式的威胁分类方法。
表1一种基于表现形式的威胁分类表
种类描述威胁子类
对业务实施或系统运行产生影响设备硬件故障、传输设备故障、存储媒体故
软硬件故障的设备硬件故障、通讯链路中断、障、系统软件故障、应用软件故障、数据库
系统本身或软件缺陷造等问题软件故障、开发环境故障
对信息系统正常运行造成影响的断电、静电、灰尘、潮湿、温度、鼠蚁虫害、
物理环境影响
物理环境问题和自然灾害电磁干扰、洪灾、火灾、地震等
应该执行而没有执行相应的操作,
无作为或操作失误维护错误、操作失误等
或无意地执行了错误的操作
安全管理无法落实或不到位,从管理制度和策略不完善、管理规程缺失、职
管理不到位
而破坏信息系统正常有序运行责不明确、监督控管机制不健全等
故意在计算机系统上执行恶意任病毒、特洛伊木马、蠕虫、陷门、间谍软件、
恶意代码
务的程序代码窃听软件等
通过采用一些措施,超越自己的权
非授权访问网络资源、非授权访问系统资源、
限访问了本来无权访问的资源,或
越权或滥用滥用权限非正常修改系统配置或数据、滥用
者滥用自己的职权,做出破坏信息
权限泄露秘密信息等
系统的行为
网络探测和信息采集、漏洞探测、嗅探(账
利用工具和技术通过网络对信息户、口令、权限等)、用户身份伪造和欺骗、
网络攻击
系统进行攻击和入侵用户或业务数据的窃取和破坏、系统运行的
控制和破坏等
通过物理的接触造成对软件、硬
物理攻击物理接触、物理破坏、盗窃等
件、数据的破坏
泄密信息泄露给不应了解的他人内部信息泄露、外部信息泄露等
非法修改信息,破坏信息的完整性篡改网络配置信息、篡改系统配置信息、篡
篡改使系统的安全性降低或信息不可改安全配置信息、篡改用户身份信息或业务
用数据信息等
不承认收到的信息和所作的操作
抵赖原发抵赖、接收抵赖、第三方抵赖等
和交易
6.1.2威胁等级
4
DB32/T4274—2022
对威胁出现的频率进行等级化处理,不同等级分别代表威胁出现的频率的高低。等级数值越大,威
胁出现的频率越高。
表2提供了威胁出现频率的一种威胁等级判断方法。在实际的检测中,威胁频率的判断依据应在检
测准备阶段根据历史统计或行业判断予以确定,并得到被检测方的认可。
表2威胁等级表
等级标识定义
出现的频率很高(或≥1次/周);或在大多数情况下几乎不可避免;或可
5高
以证实经常发生过
出现的频率较高(或≥1次/月);或在大多数情况下很有可能会发生;或
4较高
可以证实多次发生过
出现的频率中等(或>1次/半年);或在某种情况下可能会发生;或被证
3中
实曾经发生过
2较低出现的频率较小;或一般不太可能发生;或没有被证实发生过
1低威胁几乎不可能发生,仅可能在非常罕见和例外的情况下发生
6.1.3威胁调查
根据组织和信息系统自身的特点,发生的历史安全事件记录,面临威胁分析等方法进行调查:
a)运行过一段时间的信息系统,可根据以往发生的安全事件记录,分析信息系统面临的威胁。例
如,系统受到病毒攻击频率,系统不可用频率,系统遭遇黑客攻击频率等等;
b)在实际环境中,通过检测工具以及各种日志,可分析信息系统面临的威胁;
c)对信息系统而言,可参考组织内其他信息系统面临的威胁来分析本系统所面临威胁;对组织而
言,可参考其他类似组织或其他组织类似信息系统面临威胁分析本组织和本系统面临威胁;
d)第三方组织发布的安全态势方面的数据。
6.2攻击样本库构建
6.2.1攻击样本库分类
按攻击目标的不同可分为以下四类:
云攻击、网络攻击、协议攻击和智能端攻击。网络攻击者通常使用公共云环境渗透到本地数据中心
进行云攻击。而协议攻击是通过消耗网络服务器、路由器、交换机、防火墙、负载均衡等设备的资源达
到破坏的目的。智能端攻击使智能(无人)客户端出现异常。
按攻击造成的危害分类可以分为以下五类:
a)恶意控制:核心部件被入侵者恶意控制,正常的业务逻辑被篡改,从而对工业互联网系统生
产和使用造成巨大的破坏;
b)系统停服:入侵者往往采用简单粗暴的方式,向平台系统中关键部件发送大量的非正常数据
包,使得目标部件失去功能,使得系统的完整性遭到破坏;
c)网络中断:不同于系统停服,入侵者虽然无法控制目标设备,也无法使其瘫痪,但是可以通
过干扰其网络连接,使它无法和其他设备通信。尤其在系统网络中广泛使用无线连接,为这
类攻击手段提供了应用场景;
d)数据篡改:系统中传输和存储的信息数据是工业互联网系统实现自动化管控的基础,信息被
入侵者篡改;
5
DB32/T4274—2022
e)非法接入:智能表计、智能家电、分布式能源设备等多种智能终端大量接入。业务终端数量
庞大、类型多样,存在信息泄露、非法接入、被控制的风险。
攻击按步骤分类可以分为以下四类:
准备阶段、入侵渗透阶段、部署阶段和执行阶段。综合以上三个方面利用星形多维的分类方法将攻
击样本分类,如图2所示。
攻击对象
攻击步骤
云
攻击执行
网络
攻击部署
协议
入侵渗透
智能端
攻击准备
攻击危害
图2工业互联网系统攻击星形分类方法
6.2.2攻击样本的构建
基于以上攻击分类标准,服务人员可利用第三方发布的安全数据或利用自身能力挖掘的安全数据,
构建符合6.2.3架构的攻击样本库。
6.2.3攻击样本库的架构
攻击样本知识库的构建从六个对象类描述并封装攻击样本,为实现攻击个体以及基于攻击个
体的攻击样本的具体化。
攻击样本库的体系构架如图3所示,其中包括以下六个对象类对应的具体内容:
a)具体攻击行为:具体攻击行为描述的是攻击者完成一个原子攻击所进行的操作,可以抽象为
对目标建立连接并发送攻击数据包;
b)攻击特征:在攻击行为发生时表现出来的系统/数据特征,包括网络流量异常、安全事件报警、
网络数据包和主机日志等;
c)安全状态:安全状态包含被攻击目标的状态和攻击者的状态,如攻击者当前的起始权限,这
是作为攻击行为的前提条件。攻击行为发生后,安全状态改变,作为攻击行为的后果;
d)代码实例:代码实例作为具体攻击行为的实现将能够被攻击过程的模拟平台在攻击过程中直
接调用;
e)安全漏洞:安全漏洞对攻击行为所依附的漏洞宿主进行描述,包括漏洞宿主的软硬件、操作
系统和网络应用;
6
DB32/T4274—2022
f)攻击行为间关联关系:为了对攻击过程进行模拟,攻击样本库需要对攻击行为间的前后依赖
关系进行描述,以便正确刻画攻击者在某个步骤所能够选择的攻击手段。
安全漏洞
利用
攻击前提/目标状态
攻击后果
安全状态
攻击者状态
网络异常流
攻击特征量
攻击方法攻击特征
攻击数据包
监测报警
实现
代码实例
主机日志
关联
其他攻击行
为
图3攻击样本库的体系构架
6.3分析步骤与要求
6.3.1工业互联网系统安全脆弱性静态分析
二进制文件逆向与中间语言表示
.1通过逆向分析和中间语言技术,将工控协议实现的二进制文件进行分析,并将其转化成中
间语言表示。以中间表示语言为基础,实现模拟执行数据流分析与缺陷的智能识别,进而挖掘漏洞。工
控协议脆弱性静态分析流程如图4所示。
7
DB32/T4274—2022
二进制文件结构与程序结构分析模拟执行数据流分析
中间语言表示缺陷智能识别
逆向与中间语言表示基于中间语言的缺陷识别
图4工控协议脆弱性静态分析流程
.2二进制文件结构与程序结构分析
根据已知待测二进制文件结构,分析待测二进制代码的文件信息,包括文件总体信息、重定位信息、
符号表、调试信息、代码和数据等。
以Mach-O文件格式为例。Mach-O文件格式是OSX与iOS系统上的可执行文件格式,类似于
windows的PE文件与Linux(其他Unixlike)的ELF文件。主要由以下三部分组成:
1.Header:保存了Mach-O的一些基本信息,包括了平台、文件类型、LoadCommands的个数等等。
2.LoadCommands:这一段紧跟Header,加载Mach-O文件时会使用这里的数据来确定内存的分布。
3.Data:这里包含了具体的代码、数据等等。
图5为某一Mach-0文件二进制形式。
8
DB32/T4274—2022
图5某Mach-O文件的二进制组成形式
第一行DataLO前四个字节0xCAFEBABE表示字节的大小端顺序(0xCAFEBABE为大端,0xBEBAFECA为
小端)。后四个字节表示该文件支持哪种CPU架构,图中的0x00000002表示支持的CPU版本。
第一行DataHI前四个字节0x0100000C表示CPU的厂商,后四个字节0x00000000表示CPU类型。
第二行DataLO前四个字节0x00100000表示数据偏移量,即数据记录地址开始的位置。后四个字节
表示0x00F02700表示数据量的大小。
第三行DataLO前两个字节0x000B表示符号表数据块结构重定向后的偏移地址。后两个字节
Ox00280000表示符号的起始地址、字符串的偏移量等。
第三行DataHI前四个字节0x00233000表示文件的通用唯一识别码(UUID),是文件能够被正确序列
化的必不可少的条件之一。
.3中间语言表示
中间语言是汇编级别的中间表示,指令粒度比汇编指令小,一条汇编指令将映射到若干条中间表示
指令中。在翻译过程中,汇编指令的具体语义将被细化并拆分为多条适当的指令,并维持着汇编指令和
翻译后的指令的关系。指令集主要包含算术运算操作指令、位操作指令、数据传输操作指令、条件操作
指令等。中间语言指令种类如表3所示。
表3中间语言指令种类
9
DB32/T4274—2022
操作种类操作码含义示例
ADD两个值相加ADDt0,t1,t2
SUB两个值相减SUBt6,t8,t9
MUL两个值无符号相乘MULt3,4,t5
算术运算操作
DIV两个值无符号相除DIV4000,t2,t3
MOD两个值无符号相除求模MODt8,8,t4
BSH两个值逻辑移位操作BSHt1,2,t2
AND两个值按位与操作ANDt0,t1,t2
位操作OR两个值按位或操作ORt7,t9,t12
XOR两个值按位异或操作XORt8,4,t9
STR存一个值到寄存器STRt1,t2
数据传输操作LDM从内存读取LDM413600,t1
STM存值到内存STMt2,414280
BISZ将一个值和0比较BISZt0,t1
条件操作
JCC条件跳转JCCT1,401000
UNDEF解除寄存器值定义UNDEF,t1
其他操作UNKN未知UNKN
NOP无操作NOP
当编程语言被编译后,会产生中间语言表示,可以对中间语言进行分析,进而完成安全脆弱性分析。
例如,ADDt0,t1,t2,意为将t1、t2寄存器内的值相加,放到t0中去。如果t1、t2寄存器的值非法、
不可读或寄存器t0不可写,那么会导致程序存在脆弱性,同时若t0、t1、t2寄存器不做读写检验,则同
样存在脆弱性。
基于中间语言的缺陷智能识别
.1模拟执行数据流分析
模拟执行计划以模块函数调用图和函数控制流图等信息为输入,从模块指定的入口函数开始,迭代
往下依次分析每个可达的函数。为了使分析达到最好的效率,内部模拟执行过程应采用函数摘要的策略
实现。缺陷查找分析应在模拟执行的前提下进行,模拟执行数据流分析流程图如图6所示。
10
DB32/T4274—2022
库函数模拟器
中间语言模拟执行器
二进制程序(工控(函数摘要)
协议实现程序)
定制服务
推荐标准
- JB/T 12912-2016 烟气脱硝还原剂储运制备系统 2016-10-22
- JB/T 12901-2016 土方机械 燃油表 2016-10-22
- JB/T 12923-2016 建筑施工机械与设备 砌块成型机模具 2016-10-22
- JB/T 12899-2016 履带式推土机 引导轮 2016-10-22
- JB/T 12880-2016 起重机械用不锈钢电阻器 2016-10-22
- JB/T 12903-2016 土方机械 电流表 2016-10-22
- JB/T 7335-2016 环链手扳葫芦 2016-10-22
- JB/T 12928-2016 固体绝缘材料中空间电荷分布的压力波测试方法 2016-10-22
- JB/T 12925-2016 层压母线柔性绝缘衬垫材料的绝缘性能试验方法 2016-10-22
- JB/T 7311-2016 工程机械 厌氧胶、硅橡胶及预涂干膜胶 应用技术规范 2016-10-22