首页 > 国家标准(GB) > GB/T 36099-2018 基于行为声明的应用软件可信性验证
GB/T 36099-2018

基本信息

标准号: GB/T 36099-2018

中文名称:基于行为声明的应用软件可信性验证

标准类别:国家标准(GB)

标准状态:现行

出版语种:简体中文

下载格式:.rar .pdf

下载大小:805KB

相关标签: 基于 行为 声明 应用软件 可信性 验证

标准分类号

关联标准

出版信息

相关单位信息

标准简介

GB/T 36099-2018 基于行为声明的应用软件可信性验证 GB/T36099-2018 标准压缩包解压密码:www.bzxz.net

标准图片预览






标准内容

ICS_35.080
中华人民共和国国家标准
GB/T36099—2018
基于行为声明的应用软件可信性验证Application software trustworthiness verification based on behavior declaration2018-03-15发布
中华人民共和国国家质量监督检验检疫总局中国国家标准化管理委员会
2018-10-01实施
GB/T36099—2018
术语和定义
缩略语
4应用软件行为声明内容要求
验证过程
6应用软件可信性验证示例
附录A(资料性附录)应用软件可信性验证示例次
本标准按照GB/T1.1一2009给出的规则起草GB/T36099—2018
请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别这些专利的责任。本标准由全国信息技术标准化技术委员会(SAC/TC28)提出并归口本标准起草单位:国家应用软件产品质量监督检验中心、中国电子技术标准化研究院、北京工业大学、北京数字冰信息技术有限公司。本标准主要起草人:宋红波、梁勇、于学军、汪璞、李健、王坤、邓潇。HiiKAoNiKAca
1范围
基于行为声明的应用软件可信性验证GB/T36099—2018
本标准规定了应用软件行为声明的内容要求,给出了基于行为声明的应用软件可信性验证过程本标准适用手于对个人计算机及移动信息处理设备上的应用软件进行可信性验证2术语和定义
下列术语和定义适用于本文件,2.1
应用软件可信性applicationsoftwaretrustworthiness应用软件实际行为与所声明行为的一致性。2.2
行为声明behaviordeclaration
应用软件开发者对应用软件的敏感行为作出的明示承诺文件。2.3
敏感行为
sensitive behavior
以下一种或多种行为:可能侵犯应用软件的用户权利的行为、可能侵犯其他软件权利的行为,可能影响其他软件运行的行为,可能引发用户无法预期的软硬件环境配置改变的行为注:包括但不限于与设备相关、与配置相关,与数据相关,与环境相关的行为3缩略语
下列缩略语适用于本文件。
API:应用程序编程接口(ApplicationProgrammingInterface)TCP:传输控制协议(TransmissionControlProtocol)UDP:用户数据报协议(UserDatagramProtocol)XML:可扩展置标语言(ExtensibleMarkupLanguage)4应用软件行为声明内容要求
应用软件行为声明内容要求如下:a)行为声明文件自身应具备完整性验证机制。行为声明文件中包括基于数字签名的自身完整性验证方法,以防止对行为声明的算改,确保行为声明的有效性,行为声明应具备对应用软件的版本和完整性进行验证的信息。行为声明包括应用软件的版b)
本验证机制和软件完整性验证机制,以防止对应用软件文件的篡改,同时防止将行为声明用于非预期的软件版本。
行为声明应包括应用软件敏感行为清单。该清单描述应用软件运行中可能产生的敏感行为:c
此处所述的敏感行为是指可能侵犯其用户权利的行为、可能侵犯其他软件权利的行为、可能影1
HiiKAoNiKAca
GB/T36099—2018
响其他软件运行的行为或者引发用户无法预期的软硬件环境配置改变的行为。包括但不限于对用户隐私数据的访问、对系统配置(例如操作系统配置数据)的访问、对网络的访问、对传感器的访问、对外设(例如摄像头)的访问,以及对于其他用户关心的操作系统资源访问d)应用软件敏感行为清单中声明的每项敏感行为应包含以下各项:1)行为名称:给出可以简要表达行为含义的行为名称2)行为标识:给出行为的唯一标识。3)
行为触发条件:描述何种条件下会触发该行为。4)行为授权属性:指出所描述的行为是授权的行为(应用软件允许该行为的发生),还是禁止的行为(应用软件不准许该行为的发生)。行为技术参数:对于需要使用一个或多个参数进行描述的行为,给出相应的参数值。对5
于无需参数进行描述的行为,此项不适用。行为预期结果:对于需要指出行为产生的结果的行为,用于表明对结果的预期。若不需6
要指出行为的预期结果,此项不适用。e)建议使用XML格式编写行为声明。5验证过程
验证准备
应用软件在进行可信性验证前,按以下规程进行验证准备工作:a)
验证环境准备。建立验证环境,验证环境应符合软件用户手册描述的应用软件运行环境要求,同时应具备软件行为监测手段。行为声明准备。按以下步骤准备行为声明:b)
1)从开发方取得与应用软件配套的行为声明文件。确定行为声明的合理性,在满足应用软件本身必须功能的前提下,不应包含与应用软件2)
功能无关的多余内容。
确定行为声明的充分性,即行为声明描述了软件中所包含的所有敏感行为c)验证方案准备。该文件包括整个验证过程的各主要步骤、相应的用例和外部数据以及结果记录要求。所包含的用例和外部数据可以引用相应的文件号。2验证执行
应在符合5.1的条件下,依照验证方案进行验证工作。5.3验证报告
验证报告应符合如下要求:
应反映受检应用软件在相应验证条件下的可信性验证结果,b)
应对行为声明中敏感行为清单所列条目给出验证结果数据记录c)
合格判定一一针对行为声明中描述的每个项目,比较验证结果与行为声明,若一致,则判定为符合可信性要求;若不一致,则判定为不符合可信性要求,形成报告一一将所有项目分析和合格判定的结果汇总,形成该应用软件的可信性验证报告。d)
报告文本应包括下列内容:
验证工作基本信息描述:被测样品的名称,版本信息,软件开发单位信息,验证依据和执0
行时间等信息。
被测样品的验证结果综述:主要描述被测样品在磁盘访问、操作系统配置数据访问、网络iiiKANiKAca
访问、API调用等方面的验证结果,验证工具列表:工具名称、工具版本信息、工具用途等信息GB/T36099—2018
验证内容列表:在内容列表中要列出验证项目、验证要求和验证结果等信息。4)
报告文本建议提供下列内容:
可信性声明文件的内容
验证工具软件的原始数据导出结果2)
应用软件可信性验证示例
在特定环境下对于应用软件部分项目的可信性验证示例参见附录A。3
iiKANiKAca
GB/T36099—2018
A.1说明
附录A
(资料性附录)
应用软件可信性验证示例
本附录给出某种操作系统下的桌面应用软件可信性验证示例本附录依据第5章的要求,给出可信性验证准备环节的具体示例。验证执行环节和验证报告具有较强的灵活性,由执行方自行设计。A.2
验证准备
验证环境准备
本示例的验证环境如图A.1所示,被测软件
应用行为监测工具软件
虚拟机服务器
操作系统
虚拟机沙盒
图A.1验证环境示意图
验证环境由一台虚拟机服务器组成,服务器内部运行一个虚拟机沙盒,沙盒内是一个带有操作系统的虚拟机环境,环境内部安装了被测软件和应用行为监测工具软件。系统配置如下:虚拟机服务器硬件环境配置:
a)CPU:4核8线程4.0GHz;
b)内存:64G;
c)硬盘:1T。
虚拟机服务器软件环境配置:
a)虚机沙盒服务软件:商用虚机服务器软件。虚拟机沙盒硬件环境配置(虚拟硬件):a)
CPU:4核;
内存:16G;
硬盘:50G。
HiiKAoNiKAca
虚拟机沙盒软件环境配置:
a)操作系统:某种32位个人计算机桌面操作系统;GB/T36099—2018
b)应用行为监测软件:该工具使用操作系统层驱动,对应用软件运行时所发生的行为进行监测跟踪。监测内容包括:对磁盘访问的监测、对操作系统配置数据访问的监测、对网络访问的监测、对API调用的监测。监测工具根据软件的行为声明所要求的监测项,记录对应的软件行为结果。
行为声明准备
A.2.2.1概述
本示例中,行为声明准备过程说明如下:a)本示例中,行为声明自身的完整性(见第4章要求)以及应用软件的版本验证机制和软件完整性验证机制(见第4章要求)在A.2.2.2(应用软件通用信息声明)中描述b)本示例中的行为声明文件描述以下几类内容:1)磁盘访问行为声明;
2)操作系统配置数据访问行为声明;网络连接创建行为声明;
4)系统API访问行为声明。
c)本示例以XML格式编写行为声明文件。A.2.2.2应用软件通用信息声明
本示例中的应用软件通用信息声明描述了行为声明文件所适用的具体应用软件信息,这些信息用于确保行为声明与其所描述的应用软件之间的匹配性,从机制上确保行为声明与应用软件之间的不可分割性,以及行为声明本身的完整性。本示例中的应用软件通用信息声明包含下列内容项:a)应用软件名称。
版本号。
编译时间。
应用软件文件清单,包含文件的散列值。d
行为声明自身的数字签名信息
为确保应用软件发行后的文件完整性,在应用软件中附带了发行文件清单,描述应用软件中所包含文件的文件名、路径、散列值、文件是否允许在运行过程中被修改等属性,作为应用软件完整性校验的依据。在应用软件的运行过程中,可能需要修改部分文件满足运行需求,这些文件在文件清单中进行了标示,在此情况下,这些文件的散列值仅作为初始状态的验证用途,不作为应用软件运行中的完整性验证依据f)开发商公钥。
为了确保应用的来源可信性,应用所包含的动态链接库和可执行文件需要经过开发厂商的数字签名,提供开发商的数字签名公钥,用手对文件来源及完整性的验证。对于应用软件内所包含的第三方二进制组件,由第三方组件供应商确保其可信性。该公钥也被用于校验行为声明本身的来源及完整性。
应用软件通用信息声明样例如下:<应用行为声明>
GB/T36099—2018
<应用软件信息>
<应用软件名称>示例应用软件<版本号1.0.2编译时间>2000.10.0112:00:01文件》
<文件名>IDEMO.exe
<大小>23452340<文件可修改性>不可修改0ca175b9c0f726a831d895e269332461
<文件》
<文件名>.Iconfig\\DEMO.dat23340/大小→
<文件可修改性>可修改02461cac0f726a82693331d175b9895e/文件》
/文件清单>
数字签名》
<签名算法>DSA<开发商公钥》
<!一此处填写开发商公钥信息,略--》

<敏感行为清单》
<!一此处填写敏感行为访问规则部分的内容,略-->
数字签名内容为本行以上的部分,不含本行<数字签名值》
KedJuTob5gtvYx9qM3k3gm7kbLBwVbEQR126S2tmXjqNND7MRGtoew=
A.2.2.3应用软件敏感行为清单
A.2.2.3.1磁盘访问规则声明
磁盘访问规则作为行为声明中的磁盘访问行为描述,给出了应用软件在运行过程中的磁盘访问行为项,包括充许访问规则、禁止访问规则和可疑访问规则。每条访问规则包含如下信息
规则属性:禁止访问、允许访问、可疑访问。a)
磁盘访问指令:打开文件、读取文件、写人文件,删除文件、关闭文件、创建文件、修改文件属b
性、修改安全性属性、其他I/O操作事件。6
目标路径:该磁盘I/O操作所对应的目标磁盘路径。d)操作结果:成功、失败、未知。GB/T36099—2018
以上规则中要求支持模糊匹配,例如磁盘访问位置可允许类似“abelsys*.bin”的形式。基于XML的磁盘访问规则样例如下:<磁盘访问规则项列表》
磁盘访问规则项
<操作>IRP_MJ_CREATE
目标路径>*<操作结果>成功<规则属性>允许访问
<磁盘访问规则项》
<操作>IRPMJ_READ
<目标路径>\\App\\*操作结果>*<规则属性>禁止访问A.2.2.3.2操作系统配置数据访问规则声明操作系统配置数据访问规则作为行为声明中对于操作系统相关的配置信息访问行为的描述,给出了应用软件在运行过程中对操作系统配置信息访问行为的声明,包括充许访问规则,禁止访问规则和可疑访问规则
每条访问规则包含如下信息:
a)规则属性:禁止访问、允许访问、可疑访问。操作系统配置数据访问指令。
目标操作系统配置数据路径:该操作所对应的目标操作系统配置数据路径,在本示例中,该路c
径表明配置数据库中的键路径。d)操作结果:成功、失败、未知。以上规则中要求支持模糊匹配,例如操作系统配置数据访问位置可充许类似“KEY1IKEY2\\*”的形式。
基于XML的操作系统配置数据访问规则样例如下:操作系统配置数据访问规则项列表操作系统配置数据访问规则项
<操作>RegNtRenameKeySOMEKEYV*成功<规则属性>允许访问A.2.2.3.3网络访问规则声明
网络访问规则作为行为声明中网络访问的描述,给出了应用软件在运行过程中的网络访问行为声明,包括允许访问规则、禁止访问规则和可疑访问规则。GB/T36099—2018
每条访问规则包含如下信息:
规则属性:禁止访问、允许访问、可疑访问。协议类型:TCP协议或UDP协议。b)
目标地址:网络访问所包含的目的地址,若目标地址不可用,可留空。目标端口:网络访问所对应的目标端口,若目标端口不可用,可留空。d)
e)操作类型:创建远端连接、监听本地端口。以上规则中要求可疑支持模糊匹配,例如目标地址许类似“192.168.*,*”的形式基于XML的网络访问规则样例如下:网络访问规则项列表》
<网络访问规则项》
<协议类型>TCP
<目标地址>10.0.0.1目标端口>80
<操作类型>建立连接<规则属性>允许访问此内容来自标准下载网
A.2.2.3.4
API调用规则声明
API调用规则作为行为声明中API调用的描述,给出了应用软件在运行过程中的API调用行为声明,包括充许访问规则、禁止访问规则和可疑访问规则。每条访问规则包含如下信息:
规则属性:禁止访问、允许访问、可疑访问。b)
API名称:API函数名
API参数集合:API调用所包含的参数堆栈缓冲区,用16进制表示。返回值:API调用的返回值,用16进制描述。d)
API所属模块:本API所在的DLL模块以上规则中要求支持模糊匹配,例如API名称允许类似“GetText?”的形式,用于匹配GetTextA和GetTextW。
基于XML的API调用规则样例如下:API调用控制规则列表

GetText?**/返回值>
test.dll<规则属性允许访问


A.2.3验证方案准备
本示例中的验证方案包括以下内容:a)验证环境:见A.2.1。
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。