导图社区 容器镜像安全检测工具技术规范
容器镜像安全检测工具是深度融合云原生特性,将安全能力左移到构建阶段,利用数据驱动安全的创新技术路线,主动持续开展风险分析,并通过独有的近源端控制实现安全防护,构建高效的云原生安全防护体系。
编辑于2024-07-23 15:10:40这是一个关于供应链安全基本调研(需方)的思维导图。供应链安全对于需方企业至关重要,它直接关系到企业的正常运营、产品质量以及市场竞争力。
软件供应链安全检测是确保软件在整个生命周期内的安全性、稳定性和可靠性的重要环节。以下是对软件供应链安全检测的详细解答:一、软件供应链安全检测的重要性防范安全风险:通过安全检测,可以及时发现并修复软件中的安全漏洞,从而有效防范潜在的安全风险。提高软件质量:安全检测能够确保软件的质量和稳定性,提升用户体验和满意度。 符合法规要求:许多行业对软件的安全性有严格的法规要求,进行安全检测有助于确保软件符合相关法规标准。二、软件供应链安全检测的主要内容源码检测:对软件的源代码进行审查,以发现潜在的安全漏洞和不合规的代码实践。组件检测:检测软件中所使用的第三方组件的安全性,确保这些组件没有已知的安全漏洞。应用功能检测:对软件的功能进行全面测试,以确保其功能正常且没有安全隐患。渗透测试:通过模拟黑客攻击的方式,测试软件的防御能力,以发现潜在的安全漏洞。环境检测:检测软件运行环境的安全性,包括操作系统、数据库、网络等,以确保软件在安全的环境中运行。
容器镜像安全检测工具是深度融合云原生特性,将安全能力左移到构建阶段,利用数据驱动安全的创新技术路线,主动持续开展风险分析,并通过独有的近源端控制实现安全防护,构建高效的云原生安全防护体系。
社区模板帮助中心,点此进入>>
这是一个关于供应链安全基本调研(需方)的思维导图。供应链安全对于需方企业至关重要,它直接关系到企业的正常运营、产品质量以及市场竞争力。
软件供应链安全检测是确保软件在整个生命周期内的安全性、稳定性和可靠性的重要环节。以下是对软件供应链安全检测的详细解答:一、软件供应链安全检测的重要性防范安全风险:通过安全检测,可以及时发现并修复软件中的安全漏洞,从而有效防范潜在的安全风险。提高软件质量:安全检测能够确保软件的质量和稳定性,提升用户体验和满意度。 符合法规要求:许多行业对软件的安全性有严格的法规要求,进行安全检测有助于确保软件符合相关法规标准。二、软件供应链安全检测的主要内容源码检测:对软件的源代码进行审查,以发现潜在的安全漏洞和不合规的代码实践。组件检测:检测软件中所使用的第三方组件的安全性,确保这些组件没有已知的安全漏洞。应用功能检测:对软件的功能进行全面测试,以确保其功能正常且没有安全隐患。渗透测试:通过模拟黑客攻击的方式,测试软件的防御能力,以发现潜在的安全漏洞。环境检测:检测软件运行环境的安全性,包括操作系统、数据库、网络等,以确保软件在安全的环境中运行。
容器镜像安全检测工具是深度融合云原生特性,将安全能力左移到构建阶段,利用数据驱动安全的创新技术路线,主动持续开展风险分析,并通过独有的近源端控制实现安全防护,构建高效的云原生安全防护体系。
容器镜像安全检测工具技术规范
前言
1 范围
本文件规定了容器镜像安全检测工具的安全技术要求和测试评价方法。
本文件适用于容器镜像安全检测工具的设计、开发和测试。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 25069 信息安全技术 术语
GB/T 20220164-T-469 信息安全技术 软件供应链安全要求
3 术语和定义
镜像 image
镜像(Image)是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的配置参数。镜像不包含任何动态数据,其内容在构建之后也不会被改变。
容器 Container
容器(Container)是镜像运行的实例,容器可以被创建、启动、停止、删除、暂停等。
节点 node
容器运行在节点(Node)上,节点可以是虚拟机或者物理机器,每个节点都有一些必要的服务以运行容器组,并且它们都可以通过主节点来管理,依赖于一个集群环境。
集群 cluster
由一组节点构成,通过相关技术组合而成的计算机群体(cluster),为容器运行提供计算资源池。
4 缩略语
IDE 集成开发环境(Integrated Development Environment)
CI 持续集成(Continuous Integration)
5 产品概述
容器镜像安全检测工具是深度融合云原生特性,将安全能力左移到构建阶段,利用数据驱动安全的创新技术路线,主动持续开展风险分析,并通过独有的近源端控制实现安全防护,构建高效的云原生安全防护体系。
该类产品的部署方式如下图1:
6 安全技术要求
6.1 安全功能要求
6.1.1 资产管理
6.1.1.1 镜像仓库管理
6.1.1.1.1 镜像仓库类型支持
产品应支持接入主流的镜像仓库类型,包括不限于:Docker Regsitry、Harbor、JFrog Artifactory、火山引擎Vestack敏捷版仓库、华为云SWR、阿里云ACR(企业版)、腾讯云CODING、亚马逊AWS(ECR)、谷歌云(Artifact Registry)、谷歌云(Container Registry)。
6.1.1.2.1 同步最新资产
产品应支持手动触发同步已部署镜像资产。
6.1.1.2 已部署镜像管理
产品应支持对已部署镜像的进行扫描和管理。
6.1.2 风险预防
6.1.2.1 镜像安全扫描
产品应支持镜像安全扫描功能,检测镜像仓库中和已部署镜像资产中存在的系统漏洞、应用漏洞、基线风险和恶意文件,并进行分类展示,帮助全面了解已部署镜像资产中存在的安全风险。
6.1.2.1.1 设置镜像扫描策略
产品应支持仓库镜像扫描时根据扫描策略的配置,展示指定特征的安全风险;同时应支持定时和周期性扫描任务。
6.1.2.1.2 查看镜像扫描结果
产品应支持查看镜像扫描结果:
a)支持查看镜像内的deb、rpm、java、python、npm软件包;
b)支持识别镜像内软件包的开源许可信息;
c)支持识别并可视化展示镜像层信息,宜包含基础镜像发布机构;
d)支持识别镜像层是否属于基础镜像;
e)支持查看镜像每一层的漏洞、敏感文件、恶意文件、webshell等风险信息。
6.1.2.1.3 仓库镜像风险评估与通知
产品应支持与所有类型镜像仓库进行评估结果联动,通过webhook机制将风险评估结果、评估依据、评估报告实时通知到指定仓库
a)风险评估的指标包括:镜像漏洞风险、软件包风险、配置基线风险、恶意文件风险;
b)支持用户自定义编写风险评估表达式:运算符支持 =、in、>、>=、<、<=,关系符支持and、or;
c)支持查看风险评估、通知的历史记录;
d)对于评估失败、通知失败的记录支持重新发起处理;
支持查看风险评估报告,报告内容包括:镜像基本信息、风险评估概要、镜像漏洞风险明细、镜像配置基线风险明细、镜像恶意文件风险明细、镜像漏洞修复建议、镜像配置修复建议。
6.1.2.1.4 镜像安全扫描及结果查看
产品应支持镜像安全扫描功能,检测已部署镜像资产中存在的系统漏洞、应用漏洞、基线风险和恶意文件,并进行分类展示,帮助全面了解已部署镜像资产中存在的安全风险。
6.1.2.1.5 设置白名单镜像
产品应支持当不需要报告某个镜像的漏洞、配置际线、恶意文件、容器入侵等风险时,可以将镜像加白名单。
a)支持配置镜像粒度的白名单;
b)白名单作用范围可包括漏洞扫描、配置检测、恶意文件检测、阻断镜像部署、阻断CI构建、运行时防护等。
6.1.2.2 漏洞评估
6.1.2.2.1 评估并查看镜像漏洞
产品应支持当镜像扫描出多个漏洞时,提供漏洞评估系统,可智能判断修复漏洞的优先顺序,帮助做出漏洞修复优先级决策。
6.1.2.2.2 识别漏洞来源
产品应能够识别引入漏洞的镜像层,能够识别漏洞与软件包的关系,以及自动标识镜像层与基础镜像层的关系。
6.1.2.3 基线检查
6.1.2.3.1 自定义基线检查规则
产品应支持自定义创建镜像配置基线检查项。
6.1.2.3.2 查看镜像基线检查结果
产品应能够在基线检查完成后,从基线检查项维度展示基线检查结果。
6.1.2.4 敏感文件检查
6.1.2.4.1 自定义敏感信息检查规则
产品应定义敏感信息的模式和规则,然后扫描容器镜像以查找匹配项。
6.1.2.4.2 查看敏感信息检查结果
产品应能够检测镜像的敏感文件,包括但不限于私钥、源代码、SSH Authorized Keys、Helm/K8s配置等文件,从敏感信息检查项维度展示检查结果。
6.1.2.5 恶意文件检查
6.1.2.5.1 执行恶意文件检查
产品应支持恶意文件检查功能。
6.1.2.5.2 查看恶意文件检查结果
产品在恶意文件检查完成后,工具支持从风险维度展示检查结果。
6.1.2.5.3 处理恶意文件检查结果
产品应支持在恶意文件检查结果列表中,可以对恶意文件进行处置,包括:
a)具备隔离文件功能,可以对恶意文件进行隔离;
b)具备删除文件功能,可以对恶意文件进行永久删除;
c)应提供自动化的解决方案,能够一键执行修复补丁;
d)应支持对敏感信息检查结果进行审计操作,对误报、已修复、无风险敏感信息检查结果进行标记加白;
e)具备下载导出功能,可以导出恶意文件检查结果。
6.1.3 分析结果处理
6.1.3.1 结果查看与统计分析
6.1.3.1.1 结果查看
产品应提供风险分析结果浏览和检索功能。
6.1.3.1.2 统计分析
产品应提供数据统计分析功能:
a)包括仓库镜像扫描结果、已部署镜像安全扫描结果、镜像漏洞结果基线检查结果、恶意文件检查结果、配置文件分析结果等;
b)支持对分析结果进行图形化展示。
6.1.3.1.3 结果审计
产品应能够对分析结果进行审计,包括:
a)应支持对漏洞进行审计操作,对误报、已修复、无风险漏洞进行标记;
b)应支持对基线检查结果进行审计操作,对误报、已修复、无风险基线检查结果进行标记;
c)应支持对恶意文件进行审计操作,对误报、已修复、无风险恶意文件进行标记。
6.1.3.1.4 处置建议
产品应能够对分析结果给出处置建议,包括:
a)应支持对风险分析结果给出处置建议,包括以下内容:
1)基线安全升级更新建议,包括但不限于最新版本、推荐版本、无漏洞版本;
2)漏洞修复和缓解方案;
3)恶意文件处置方案;
b)应提供自动化的解决方案,能够一键执行修复补丁。
6.1.3.2 报告生成与导出
6.1.3.2.1 报告生成
产品应支持根据分析结果生成相应的报告,报告要求展示各项风险检测的汇总结果,生成各类风险的摘要信息,包括风险描述、风险严重程度分级、处置建议等。
6.1.3.2.2 报告管理
产品应支持报告管理,包括报告导出内容自定义和报告删除。
6.1.3.2.3 报告导出
产品应支持通用格式报告导出,包括但不限于PDF、DOC、HTML、EXCEL等。
6.1.4 策略及配置管理
6.1.4.1 镜像部署控制
产品应支持镜像部署控制:
a)应支持为镜像添加标签和版本号,以便跟踪和管理不同版本的镜像;
b)应支持校验该镜像是否存在漏洞、基线、恶意文件等风险;
c)当命中风险镜像阻断规则时,应支持对其执行告警、拦截或放行的判断给到集群,由Kubernetes的控制机制来实现阻断。
6.1.4.2 CI镜像构建控制
产品应支持CI镜像构建控制:
a)应支持通过插件方式与Jenkins进行集成联动;
b)应支持监测CI镜像的漏洞、配置基线、恶意文件风险;
c)当命中风险镜像阻断规则时,应支持对其执行告警、拦截或放行的判断给到CI系统(如Jenkins),由CI系统的控制机制来实现阻断镜像构建。
6.1.4.3 知识库管理
产品应具有知识库并能够对其进行管理,包括:
a)应包括漏洞库、恶意代码库、基线检查库等知识库。
b)应具备知识库在线订阅更新和离线更新能力。
6.2 自身安全要求
6.2.1 身份鉴别
6.2.1.1 管理员鉴别
产品应在管理员执行任何与安全功能相关的操作之前对管理员身份进行鉴别。
6.2.1.2 鉴别信息要求
产品应提供以下鉴别功能:
a)在采用基于口令的鉴别信息时,产品应对管理员设置的口令进行复杂度检查,确保管理员口令满足规定的复杂度要求;
b)当存在初始化口令时,系统应提示管理员对初始化口令进行修改,以减少用户身份被冒用的风险;
c)产品应提供鉴别信息定期更换功能,当鉴别信息使用时间达到使用期限阈值前,应提示管理员进行修改。
6.2.1.3 鉴别失败处理
当管理员鉴别尝试失败连续达到指定次数后,产品应阻止管理员进一步的鉴别请求,并将有关信息生成审计事件。最多失败次数仅由授权管理员设定。
6.2.1.4 鉴别数据保护
产品应保护鉴别数据不被未授权查阅和修改。
6.2.1.5 超时设置
产品应具有管理员登录超时重新鉴别功能,在设定的时间段内没有任何操作的情况下,锁定或终止会话,需要再次进行身份鉴别才能够重新使用产品,最大超时时间仅由授权管理员设定。
6.2.1.6 管理地址限制
产品应对管理员登录的地址进行限制。
6.2.1.7 会话锁定
产品应允许管理员锁定当前的交互会话,锁定后需要再次进行身份鉴别才能够重新管理产品。
6.2.2 管理员管理
6.2.2.1 标识唯一性
产品应保证所设置的管理员角色和管理员用户标识全局唯一。
6.2.2.2 管理员属性定义
产品应为每一个管理员保存安全属性表,属性应包括:管理员标识、鉴别数据、授权信息或管理组信息、其他安全属性等。
6.2.2.3 安全行为管理
产品应仅允许授权管理员对产品进行功能设置、参数修改、安全策略变更,以及启用/停用等操作。
6.2.2.4 管理员角色
产品应能设置多个不同权限的角色,并应保证权限最小化。
6.2.3 安全审计
6.2.3.1 审计日志生成
产品应生成以下事件的审计日志:
a)管理员的登录成功和失败;
b)对扫描策略进行设置、修改、启用/停用等操作;
c)对管理员或者角色进行增加、删除和属性修改的操作。
产品应在每一个审计日志记录中记录事件发生的日期、时间、用户标识、事件描述和结果。若采用远程登录方式还应记录管理主机的IP/MAC地址。
6.2.3.2 审计日志查阅
产品应为授权管理员提供审计日志查阅功能,方便管理员查看审计结果。
6.2.3.3 受限的审计日志查阅
除了具有明确的访问权限的授权管理员之外,产品应禁止所有其他用户对审计日志的访问。
6.2.3.4 可选审计查阅
产品应支持按照一定条件对审计日志进行检索或排序。
6.2.4 数据安全
6.2.4.1 安全管理
产品应能够对分析数据进行安全管理,包括:
1) 应在分析完成后删除缓存的目标软件数据;
2) 应采取措施保障存储数据的安全性。
6.2.4.2 数据存储告警
产品应在数据存储空间将耗尽等情况时,自动产生告警,产生告警的剩余存储空间大小应由管理员自主设定。
6.2.5 通信安全
若产品组件间通过网络进行通信,应采取措施保障传输数据的安全性。
6.2.6 支撑系统安全
产品的支撑系统应:
a) 进行必要的裁剪,不提供多余的组件或网络服务;
b) 重启过程中,分析任务配置和日志信息不丢失;
c) 不含已知中、高、超危安全漏洞。
6.3 环境适应性要求
6.3.1 支持多种部署架构
产品应支持多种部署架构,包括:
a)产品应支持 C/S 架构使用,支持通过客户端发起检测任务、生成检测报告。
b)产品应支持 B/S 架构使用,支持通过主流浏览器访问,实现对产品的操作和管理。
6.4 安全保障要求
6.4.1 开发
6.4.1.1 安全架构
开发者应提供产品安全功能和自身安全保护的安全架构描述,安全架构描述应满足以下要求:
a)与产品设计文档中对安全功能实施抽象描述的级别一致;
b)描述与安全功能要求一致的产品安全功能的安全域;
c)描述产品安全功能初始化过程为何是安全的;
d)证实产品安全功能能够防止被破坏;
e)证实产品安全功能能够防止安全特性被旁路。
6.4.1.2 功能规范
开发者应提供完备的功能规范说明,功能规范说明应满足以下要求:
a)完全描述产品的安全功能;
b)描述所有安全功能接口的目的与使用方法;
c)标识和描述每个安全功能接口相关的所有参数;
d)描述安全功能接口相关的安全功能实施行为;
e)描述由安全功能实施行为处理而引起的直接错误消息;
f)证实安全功能要求到安全功能接口的追溯。
6.4.1.3 产品设计
开发者应提供产品设计文档,产品设计文档应满足以下要求:
a)根据子系统描述产品结构;
b)标识和描述产品安全功能的所有子系统;
c)描述安全功能所有子系统间的相互作用;
d)提供的映射关系能够证实设计中描述的所有行为能够映射到调用它的安全功能接口。
6.4.2 指导性文档
6.4.2.1 操作用户指南
开发者应提供明确和合理的操作用户指南,操作用户指南与为评估而提供的其他所有文档保持一致,对每一种用户角色的描述应满足以下要求:
a)描述在安全处理环境中被控制的用户可访问的功能和特权,包含适当的警示信息;
b)描述如何以安全的方式使用产品提供的可用接口;
c)描述可用功能和接口,尤其是受用户控制的所有安全参数,适当时指明安全值;
d)明确说明与需要执行的用户可访问功能有关的每一种安全相关事件,包括改变安全功能所控制实体的安全特性;
e)标识产品运行的所有可能状态(包括操作导致的失败或者操作性错误),以及它们与维持安全运行之间的因果关系和联系;
f)充分实现安全目的所必须执行的安全策略。
6.4.2.2 准备程序
开发者应提供产品及其准备程序,准备程序描述应满足以下要求:
a)描述与开发者交付程序相一致的安全接收所交付产品必需的所有步骤;
b)描述安全安装产品及其运行环境必需的所有步骤。
6.4.3 生命周期支持
6.4.3.1 配置管理能力
开发者的配置管理能力应满足以下要求:
a)为产品的不同版本提供唯一的标识;
b)使用配置管理系统对组成产品的所有配置项进行维护,并唯一标识配置项;
c)提供配置管理文档,配置管理文档描述用于唯一标识配置项的方法。
6.4.3.2 配置管理范围
开发者应提供产品配置项列表,并说明配置项的开发者。配置项列表至少包含产品、安全保障要求的评估证据和产品的组成部分。
6.4.3.3 交付程序
开发者应使用一定的交付程序交付产品,并将交付过程文档化。在给用户方交付产品的各版本时,交付文档应描述为维护安全所必需的所有程序。
6.4.4 测试
6.4.4.1 覆盖
开发者应提供测试覆盖文档,测试覆盖描述应表明测试文档中所标识的测试与功能规范中所描述的产品的安全功能间的对应性。
6.4.4.2 功能测试
开发者应测试产品安全功能,将结果文档化并提供测试文档。测试文档应包括以下内容:
a)测试计划,标识要执行的测试,并描述执行每个测试的方案,这些方案包括对于其它测试结果的任何顺序依赖性;
b)预期的测试结果,表明测试成功后的预期输出;
c)实际测试结果和预期的测试结果一致。
6.4.4.3 独立测试
开发者应提供一组与其自测安全功能时使用的同等资源,以用于安全功能的抽样测试。
6.4.5 脆弱性评定
基于已标识的潜在脆弱性,产品能够抵抗具有基本攻击潜力攻击者的攻击。
7 测试评价方法
7.1 测试环境
容器镜像安全检测工具功能测试评价的典型网络拓扑结构如图 1 所示:
测试设备包括所需的交换机/路由器、代码仓库、问题跟踪平台、私服仓库、CI/CD 平台,以及容器镜像安全检测工具的管理客户端和服务端。其中,产品管理客户端应安装有主流浏览器、IDE插件、以及客户端分析工具;产品服务端应准备不同CPU架构、操作系统的多套环境;代码仓库、私服仓库应准备好待测源代码、制品等。
7.2 安全功能要求
7.2.1 资产管理
7.2.1.1 镜像仓库管理
7.2.1.1.1 镜像仓库类型支持
镜像仓库类型支持的测试评价方法如下所示。
a)测试方法:
1)按照6.1.1.1.1中要求准备环境;
2)根据产品说明书设置镜像仓库,检查是否支持以下镜像仓库类型:Docker Regsitry、Harbor、JFrog Artifactory、火山引擎Vestack敏捷版仓库、华为云SWR、阿里云ACR(企业版)、腾讯云CODING、亚马逊AWS(ECR)、谷歌云(Artifact Registry)、谷歌云(Container Registry)。
b)预期结果:
1)产品支持不限于以下镜像仓库类型:Docker Regsitry、Harbor、JFrog Artifactory、火山引擎Vestack敏捷版仓库、华为云SWR、阿里云ACR(企业版)、腾讯云CODING、亚马逊AWS(ECR)、谷歌云(Artifact Registry)、谷歌云(Container Registry)。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.1.2 已部署镜像管理
7.2.1.2.1 同步最新资产
已部署镜像管理支持的测试评价方法如下所示。
d)测试方法:
1)按照6.1.1.2.1中要求准备环境;
2)根据产品说明书设置已部署镜像管理;
3)检查对已部署镜像资产列表是否支持手动更新。
e)预期结果:
1)产品支持支持对已部署镜像的管理;
2)产品支持对已部署镜像资产列表的手动更新。
f)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2 风险预防
7.2.2.1 镜像安全扫描
镜像安全扫描的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.1中要求准备环境;
2)根据产品说明书设置镜像安全扫描;
3)检查是否支持识别基础镜像的发布机构;
4)检查是否支持查看镜像内的deb、rpm、java、python、npm软件包;
5)检查是否支持识别镜像内软件包的开源许可信息;
6)检查是否支持识别并可视化展示镜像层信息;
7)检查是否支持识别镜像层是否属于基础镜像;
8)检查是否支持查看镜像每一层的漏洞、敏感文件、恶意文件、webshell风险。
b)预期结果:
1)支持查看镜像内的deb、rpm、java、python、npm软件包;
2)支持识别镜像内软件包的开源许可信息;
3)支持识别并可视化展示镜像层信息;
4)支持识别镜像层是否属于基础镜像;
5)支持查看镜像每一层的漏洞、敏感文件、恶意文件、webshell风险。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.1.1 设置镜像扫描策略
设置镜像扫描策略的测试评价方法如下所示。
a)测试方法:
3)按照6.1.2.1.1中要求准备环境;
4)根据产品说明书设置扫描策略,检查是否支持对仓库镜像、已部署镜像生效;
5)检查是否支持从上往下匹配策略,一旦匹配上某个策略,不再继续匹配;
6)检查是否支持在策略列表拖动策略记录可以调整策略匹配优先级;
7)检查是否支持定义可匹配的资产范围;
8)检查是否支持定义资产检出风险后采取的动作(报告/不报告);
9)检查是否支持定义风险的特征、范围。
b)预期结果:
1)镜像漏洞扫描策略对仓库镜像、已部署镜像生效。
2)从上往下匹配策略,一旦匹配上某个策略,不再继续匹配。
3)在策略列表拖动策略记录可以调整策略匹配优先级。
4)支持在策略列表拖动策略记录可以调整策略匹配优先级。
5)支持定义可匹配的资产范围。
6)支持定义资产检出风险后采取的动作(报告/不报告)。
7)支持定义风险的特征、范围。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.1.2 查看镜像扫描结果
查看镜像扫描结果的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.1.2中要求准备环境,检查是否支持查看镜像扫描结果;
2)根据产品说明书设置镜像安全扫描;
3)检查是否支持查看漏洞扫描结果,当确定漏洞无需处理且不再报告时,可加白漏洞;
4)检查是否支持查看基线配置扫描结果;
5)检查是否支持查看恶意文件扫描结果,当确定恶意文件无需处理且不再报告时,可加白恶意文件;
b)预期结果:
1)支持查看漏洞扫描结果,并可对结果进行操作,包括加白等;
2)支持查看基线配置扫描结果;
3)支持查看恶意文件扫描结果,并对恶意文件进行操作,包括隔离、加白等。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.1.3 仓库镜像风险评估与通知
仓库镜像风险评估与通知的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.1.3中要求准备环境,检查是否支持仓库镜像风险评估与通知;
2)根据产品说明书设置仓库镜像风险评估;
3)检查风险评估指标是否支持镜像漏洞风险、软件包风险、配置基线风险、恶意文件风险。评估结果包括不通过、警告、通过;
b)预期结果:
1)支持开展包括镜像漏洞风险、软件包风险、配置基线风险、恶意文件风险评估;评估结果包括不通过、警告、通过;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.1.4 镜像安全扫描及结果查看
镜像安全扫描及结果查看的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.1.4中要求准备环境,检查是否支持镜像安全扫描及结果查看;
2)根据产品说明书设置已部署镜像的安全扫描;
3)检查是否支持单个镜像扫描;
4)检查是否支持多个镜像扫描;
5)检查是否支持全量镜像扫描。
b)预期结果:
1)支持单个镜像扫描;
2)支持多个镜像扫描;
3)支持全量镜像扫描;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.1.5 设置白名单镜像
设置白名单镜像的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.1.5中要求准备环境,检查是否支持设置镜像白名单;
2)根据产品说明书设置白名单镜像;
3)检查是否支持不需要报告某个镜像的漏洞、配置际线、恶意文件、容器入侵等风险时,可以将镜像加白。
b)预期结果:
1)支持不需要报告某个镜像的漏洞、配置际线、恶意文件、容器入侵等风险时,可以将镜像加白。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.2 漏洞评估
7.2.2.2.1 评估并查看镜像漏洞
评估并查看镜像漏洞的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.2.1中要求准备环境,检查是否支持漏洞评估并查看镜像漏洞;
2)根据产品说明书设置漏洞评估;
3)检查是否镜像漏洞评估;
4)检查是否支持智能判断修复漏洞的优先顺序;
5)检查是否支持帮助做出漏洞修复优先决策。
b)预期结果:
1)支持全量镜像扫描;检查是否镜像漏洞评估;
2)支持智能判断修复漏洞的优先顺序;
3)支持帮助做出漏洞修复优先决策。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.2.2 识别漏洞来源
识别漏洞来源的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.2.2中要求准备环境,检查是否支持识别漏洞来源;
2)检查是否支持识别漏洞来源,引入漏洞的镜像层,以及自动标识镜像层与基础镜像层的关系。
b)预期结果:
1)支持识别引入漏洞的镜像层,以及自动标识镜像层与基础镜像层的关系;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.3 基线检查
7.2.2.3.1 自定义基线检查规则
设置自定义基线检查规则的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.3.1中要求准备环境,检查是否支持自定义基线检查规则;
2)根据产品说明书打开设置基线扫描规则功能;
3)检查是否支持执行仓库镜像自定义基线检查规则;
4)检查是否支持执行已部署镜像自定义基线检查规则;
b)预期结果:
1)支持执行仓库镜像自定义基线检查规则;
2)支持执行已部署镜像自定义基线检查规则;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.3.2 查看镜像基线检查结果
查看镜像基线检查结果的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.3.2中要求准备环境,检查是否支持镜像基线检查及结果查看;
2)根据产品说明书设置已部署镜像的基线检查;
b)预期结果:
1)支持展开基线检查结果详情
2)支持列出受影响的资产列表;
3)支持导出镜像基线检查结果;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.4 敏感文件检查
敏感文件检查的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.4要求准备环境,检查是否支持敏感文件检查;
2)根据产品说明书设置敏感信息检查策略;
3)检查是否支持检测镜像的敏感文件,包括但不限于私钥、源代码、ssh authorized keys、helm/k8s配置等文件。
b)预期结果:
1)支持敏感信息检查功能,包括但不限于私钥、源代码、ssh authorized keys、helm/k8s配置等文件。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.4.1 自定义敏感信息检查规则
执行恶意文件检查的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.4.1中要求准备环境,检查是否支持自定义敏感信息检查规则;
2)根据产品说明书自定义敏感信息检查规则;
3)检查是否能够扫描容器镜像以查找匹配项目;
b)预期结果:
1)支持自定义敏感信息检查规则,能够扫描容器镜像以查找匹配项目;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.4.2 查看敏感信息检查结果
执行恶意文件检查的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.4.2中要求准备环境,检查是否支持查看敏感信息检查结果;
2)根据产品说明书设置敏感信息检查规则;
3)扫描容器镜像以查找匹配项目;
4)检查是否支持从敏感信息检查项维度展示检查结果,包括但不限于私钥、源代码、SSH Authorized Keys、Helm/K8s配置等文件。
b)预期结果:
1)支持查看敏感信息检查结果,包括但不限于私钥、源代码、SSH Authorized Keys、Helm/K8s配置等文件;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.5 恶意文件检查
7.2.2.5.1 执行恶意文件检查
执行恶意文件检查的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.5.1中要求准备环境,检查是否支持执行恶意文件检查;
2)根据产品说明书设置镜像恶意文件(包含webshell)扫描策略;
3)检查是否支持恶意文件检查功能;
b)预期结果:
1)支持镜像恶意文件检查功能;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.5.2 查看恶意文件检查结果
查看恶意文件检查结果的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.5.2中要求准备环境,检查是否查看恶意文件检查结果;
2)根据产品说明书设置镜像恶意文件(包含webshell)扫描策略;
3)检查是否支持从风险维度展示检查结果;
4)检查是否支持查看恶意文件风险类型、趋势分析、风险资产TOPN等检查结果;
b)预期结果:
1)支持查看恶意文件风险类型、趋势分析、风险资产TOPN等检查结果;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.2.5.3 处理恶意文件检查结果
处理恶意文件检查结果的测试评价方法如下所示。
a)测试方法:
1)按照6.1.2.5.3中要求准备环境,检查是否支持处理恶意文件检查结果;
2)根据产品说明书设置镜像恶意文件(包含webshell)扫描策略;
3)检查是否支持恶意文件隔离、删除、加白和结果导出;
b)预期结果:
1)支持恶意文件隔离、删除、加白和结果导出操作;
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.2.3 分析结果处理
7.2.3.1 结果查看与统计分析
7.2.3.1.1 结果查看
结果查看的测试评价方法如下所示。
a)测试方法:
1)上传包含开源组件的代码包测试样本;
2)根据产品说明书设置检测策略,使用产品对目标进行检测分析;
3)检测完成后,检查产品是否提供对检测结果的浏览功能;
4)使用模糊搜索或组合搜索等方式,检查产品是否能根据搜索条件查询检测结果。
b)预期结果:
产品提供检测结果浏览和查询功能。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.1.2 统计分析
统计分析的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,查看统计分析结果;
2)检查统计分析结果是否使用可视化图表展示;
3)检查统计分析结果是否包含风险组件数量统计、漏洞数量统计、许可证风险数量统计、风险组件等级分布、组件许可证风险分布等统计信息。
b)预期结果:
1)产品提供统计分析功能;
2)统计分析结果使用可视化图表展示;
3)统计分析结果中包含风险组件数量统计、漏洞数量统计、许可证风险数量统计、风险组件等级分布、组件许可证风险分布等统计信息;
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.1.3 结果审计
结果审计的测试评价方法如下所示。
a)测试方法:
1)上传包含开源组件的代码包测试样本,进行检测分析;
2)根据产品说明书,对检测结果执行审计操作;
3)检查是否支持对检测结果进行误报、已修复、无风险等状态进行标记。
b)预期结果:
1)产品提供结果审计功能;
2)能够对组件识别和漏洞检测结果进行误报、已修复、无风险等状态标记。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.1.4 处置建议
处置建议的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,查看检测结果;
2)检查处置建议是否包含版本更新建议,包括组件最新版本、推荐版本、无漏洞版本;
3)检查处置建议是否包含漏洞修复和缓解方案。
4)根据产品说明书,进行组件一键升级;
5)查看升级结果。
b)预期结果:
3)产品提供检测结果处置建议;
4)检测结果处置建议包含组件最新版本、推荐版本、无漏洞版本;
5)检测结果处置建议包含漏洞修复和缓解方案;
6)支持一键升级组件,并且能够升级成功。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.2 报告生成与导出
7.2.3.2.1 报告生成
报告生成的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,检查产品是否能够生成检测结果报告;
2)检查报告是否展示各项风险检测的汇总结果;
3)检查报告是否生成各类风险的摘要信息,包括风险描述、风险严重程度分级、处置建议。
b)预期结果:
能根据检测结果生成相应报告,报告包括:
1)各项风险检测的汇总结果;
2)生成各类风险的摘要信息;
3)摘要信息内容包括风险描述、风险严重程度分级、处置建议。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.2.2 报告管理
报告管理的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,对产品进行报告导出和删除操作;
2)检查报告导出时是否能自定义报告内容;
3)检查报告删除后是否还能查看到该份报告。
b)预期结果:
1)报告导出时能够自定义选择报告内容;
2)下载的报告内容与自定义内容一致;
3)能够成功删除报告。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.3.2.3 报告导出
报告导出的测试评价方法如下所示。
a)测试方法:
1)检查产品的报告导出方式;
2)检查产品是否能够按照PDF、DOC、HTML、EXCEL等多种通用文档格式中的一种或者多种导出;
b)预期结果:
1)报告能够按照PDF、DOC、HTML、EXCEL等多种通用文档格式中的一种或者多种导出;
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4 策略及配置管理
7.2.4.1 镜像部署控制
镜像部署控制的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书设置创建镜像阻断控制规则;
2)控制规则配置完成后,检查产品是否支持按照风险镜像阻断规则,校验该镜像是否存在漏洞、基线、恶意文件等风险,
3)检查是否支持当命中风险镜像阻断规则时,可以对其执行告警、拦截或放行的判断给到集群,由Kubernetes的控制机制来实现阻断。
b)预期结果:
1)支持校验该镜像是否存在漏洞、基线、恶意文件等风险;
2)当命中风险镜像阻断规则时,支持对其执行告警、拦截或放行的判断给到集群,由Kubernetes的控制机制来实现阻断。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.2 CI镜像构建控制
CI镜像构建控制的测试评价方法如下所示。
a)测试方法:
1)根据产品说明书设置环境;
2)检查是否支持监测CI镜像的漏洞、配置基线、恶意文件风险;
3)检查当命中风险镜像阻断规则时,是否支持对其执行告警、拦截或放行的判断给到Jenkins,由Jenkins的控制机制来实现阻断镜像构建。
b)预期结果:
1)支持监测CI镜像的漏洞、配置基线、恶意文件风险;
2)当命中风险镜像阻断规则时,支持对其执行告警、拦截或放行的判断给到Jenkins,由Jenkins的控制机制来实现阻断镜像构建。 c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.2.4.3 知识库管理
知识库管理的测试评价方法如下所示。
a)测试方法
1)根据产品说明书,检查产品支持的知识库管理方式;
2)检查产品是否包括漏洞库、恶意代码库、基线检查库等知识库;
3)检查产品是否具备知识库在线订阅更新和离线更新能力;
b)预期结果
1)产品包括漏洞库、恶意代码库、基线检查库等知识库;
2)产品具备知识库在线订阅更新和离线更新能力;
c)结果判定
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3 自身安全要求
7.3.1 身份鉴别
7.3.1.1 管理员鉴别
管理员鉴别的测试评价方法如下所示。
a)测试方法:
登录产品管理界面,检查是否在执行所有功能之前都要求首先进行身份认证。
b)预期结果:
1)在管理员执行任何与安全功能相关的操作之前都应对管理员进行鉴别;
2)登录之前允许做的操作,应仅限于输入登录信息、查看登录帮助等操作;
3)允许管理员在登录后执行与其安全功能相关的各类操作时,不再重复认证。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.2 鉴别信息要求
鉴别信息要求的测试评价方法如下所示。
a)测试方法:
1)对采用基于口令作为鉴别信息的产品,在设置或修改管理员口令时,检查产品是否对管理员设置的口令进行复杂度检查,是否满足口令复杂度要求;
2)当产品初始化存在默认口令时,检查产品是否会提示管理员对默认口令进行修改;
3)检查产品是否提供鉴别信息定期更换功能,当鉴别信息使用时间达到使用期限阈值前,是否提示管理员进行修改。
b)预期结果:
1)对采用基于口令作为鉴别信息的产品,产品支持对管理员设置的口令进行复杂度检查,确保管理员口令满足一定的复杂度要求;
2)当存在默认口令时,产品应提示管理员对默认口令进行修改;
3)提供鉴别信息定期更换功能,当鉴别信息使用时间达到使用期限阈值前,提示管理员进行修改。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.3 鉴别失败处理
鉴别失败处理的测试评价方法如下所示。
a)测试方法:
1)检查产品的安全功能是否可定义管理员鉴别尝试的最大允许失败次数;
2)检查产品的安全功能是否可定义当管理员鉴别尝试失败连续达到指定次数后,采取相应的措施、阻止管理员进一步的鉴别请求;
3)尝试多次失败的管理员鉴别行为,检查到达指定的鉴别失败次数后,产品是否采取了相应的措施,并生成了审计事件。
b)预期结果:
1)产品具备定义管理员鉴别尝试的最大允许失败次数的功能;
2)产品可定义当管理员鉴别尝试失败连续达到指定次数后,采取相应的措施(如锁定该账号);
3)当管理员鉴别尝试失败连续达到指定次数后,系统应锁定该账号,并将有关信息生成审计事件;
4)最多失败次数仅由授权管理员设定。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.4 鉴别数据保护
鉴别数据保护的测试评价方法如下所示。
a)测试方法:
1)检查产品是否仅允许指定权限的管理员可查阅或修改身份鉴别数据;
2)以非授权管理员的身份尝试查阅或修改身份鉴别数据。
b)预期结果:
1)产品仅允许指定权限的管理员查阅或修改身份鉴别数据;
2)非授权管理员无法查阅或修改身份鉴别数据。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.5 超时设置
超时设置的测试评价方法如下所示。
a)测试方法:
1)检查产品是否具有管理员登录超时重新鉴别功能;
2)设定管理员登录超时重新鉴别的时间段,登录管理员后在设定的时间段内没有任何操作,检查产品是否锁定或终止了会话,管理员是否需要再次进行身份鉴别才能够重新管理和使用产品;
3)检查最大超时时间是否仅由授权管理员设定。
b)预期结果:
1)产品具有登录超时重新鉴别功能;
2)任何登录管理员在设定的时间段内没有任何操作的情况下,都被锁定或终止了会话,管理员需要再次进行身份鉴别才能够重新管理和使用产品;
3)最大超时时间仅由授权管理员设定。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.6 管理地址限制
管理地址限制的测试评价方法如下所示。
a)测试方法:
1)检查产品是否支持对管理地址进行限制,尝试以非授权范围内的地址主机登录产品管理界面;
2)尝试以授权范围内地址的主机登录产品管理界面。
b)预期结果:
1)产品应对管理员登录的地址进行限制,不能够以非授权范围内的地址登录产品管理界面;
2)支持以授权范围内地址的主机登录产品管理界面。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.1.7 会话锁定
会话锁定的测试评价方法如下所示。
a)测试方法:
1)检查产品是否支持管理员对当前的交互会话进行锁定;
2)登录管理员后对当前的交互会话进行锁定,检查产品是否锁定或终止了会话,管理员是否需要再次进行身份鉴别才能够重新管理和使用产品;
b)预期结果:
1)产品具有会话锁定功能;
2)在锁定会话后,管理员需要再次进行身份鉴别才能够重新管理和使用产品;
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.2 管理员管理
7.3.2.1 标识唯一性
标识唯一性的测试评价方法如下所示。
a)测试方法:
1)尝试定义多个管理员;
2)尝试添加一个已有标识的管理员;
3)检查产品是否提示该标识管理员已存在,拒绝具有相同标识管理员的添加。
b)预期结果:
1)产品应允许定义多个管理员;
2)应保证每一个管理员标识是全局唯一的,不允许一个管理员标识用于多个管理员。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.2.2 管理员属性定义
管理员属性定义的测试评价方法如下所示。
a)测试方法:
定义分属于不同角色的多个管理员,检查输入的管理员信息是否都能被保存。
b)预期结果:
产品应为每一个管理员保存其安全属性,包括:管理员标识、鉴别数据(如密码)、授权信息或管理员组信息、其他安全属性等,输入的管理员信息无丢失现象发生。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.2.3 安全行为管理
安全行为管理的测试评价方法如下所示。
a)测试方法:
1)检查产品的安全功能是否明确规定仅限于指定的授权管理员能对产品的功能进行设置修改、启用/停用等操作;
2)检查指定的授权管理员对产品进行功能设置、参数修改、安全策略变更,以及启用/停用等操作前,是否应先登录才能操作。
b)预期结果:
1)产品仅限于指定授权管理员才能对产品进行功能设置、参数修改、安全策略变更,以及启用/停用等操作;
2)指定的授权管理员对产品进行功能设置、参数修改、安全策略变更,以及启用/停用等操作前,都应先通过身份鉴别。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.2.4 管理员角色
管理员角色的测试评价方法如下所示。
a)测试方法:
检查产品的安全功能是否允许定义多个不同权限的角色。
b)预期结果:
1)产品允许定义多个不同权限的角色;
2)每个角色可以具有多个管理员,每个管理员只能属于一个角色;
3)保证每一个角色标识是全局唯一的,不允许一个角色标识用于多个角色。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.3 安全审计
7.3.3.1 审计日志生成
审计日志生成的测试评价方法如下所示。
a)测试方法:
1)尝试进行 6.2.3.1 要求的各项操作,触发审计事件;
2)查看审计日志是否包括事件发生的日期、时间、用户标识、事件描述和结果;
3)若产品支持远程管理,查看审计日志是否记录管理主机的 IP 地址。
b)预期结果:
1)产品能够针对上述事件生成审计日志,日志内容包括事件发生的日期、时间、用户标识、事件描述和结果;
2)当产品支持远程管理时,审计日志能够记录管理主机的 IP 地址。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.3.2 审计日志查阅
审计日志查阅的测试评价方法如下所示。
a)测试方法:
1)以授权管理员身份尝试从审计日志中读取全部审计信息;
2)检查产品是否为授权管理员提供从审计日志中读取全部审计信息的功能。
b)预期结果:
产品为授权管理员提供从审计日志中读取全部审计信息的功能。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.3.3 受限的审计日志查阅
受限的审计日志查阅的测试评价方法如下所示。
a)测试方法:
分别模拟授权与非授权管理员访问审计日志,检查产品安全功能是否仅允许授权管理员访问。
b)预期结果:
产品限制审计日志的访问。除了具有明确访问权限的授权管理员之外,禁止所有其他用户对审计日志的访问。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.3.4 可选审计查阅
可选审计查阅的测试评价方法如下所示。
a)测试方法:
检查产品是否能够支持按照一定条件,包括但不限于时间、主体、客体等对审计日志进行检索或排序。
b)预期结果:
产品支持按照一定条件对审计日志进行检索或排序。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.4 数据安全
7.3.4.1 安全管理
安全管理的测试评价方法如下所示。
a)测试方法:
1)根据产品说明手册,检查产品的数据安全管理措施;
2)检查产品是否在分析完成后删除缓存的目标软件数据;
3)检查产品是否采取措施保障存储数据的安全性。
b)预期结果:
1)产品在分析完成后删除缓存的目标软件数据;
2)产品采取了措施保障存储数据的安全性。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.4.2 数据存储告警
数据存储告警的测试评价方法如下所示。
a)测试方法:
1)检查产品安全功能是否具有存储剩余空间将耗尽的告警功能;
2)检查产品安全功能是否允许管理员设定产生告警的的剩余存储空间的大小;
3)人为地将产品存储器空间耗至设定的告警值以下,检查产品是否告警。
b)预期结果:
1)产品在发生数据存器空间将耗尽的情况时,自动产生告警;
2)允许管理员设定产生告警的剩余存储空间的大小。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.5 通信安全
通信安全的测评方法如下所示。
a)测试方法:
1)检查开发者文档中对保证产品各组件之间通信保密性的描述;
2)使用网络协议分析工具抓取产品各组件中传输的配置和控制信息,检查是否具备保密措施。
b)预期结果:
1)开发者文档中提供了为保证产品各组件之间通信保密性所采取措施的详细描述,列举系统为保证通信保密性所采取的措施;
2)分析抓包结果,系统在各组件之间传输数据时采取了一定的保密措施。
c)结果判定:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.3.6 支撑系统安全
对支撑系统安全的测评方法如下所示。
a)测试方法:
1)查看开发者文档,并验证产品的支撑系统是否进行了必要的裁剪,是否不提供多余的组件或网络服务;
2)重启系统,验证扫描任务的配置和日志信息是否不丢失;
3)对系统进行安全性测试,验证是否不含已知的中、高、超危安全漏洞。
b)测试方法:
1)产品支撑系统进行了必要的裁剪,不提供多余的组件或限网络服务;
2)重启过程中,安全扫描任务的配置和日志信息不丢失;
3)系统不含已知中、高、超危安全漏洞。
c)测试方法:
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.4 环境适应性要求
7.4.1 支持多种部署架构
支持多种部署架构测试评价方法如下所示。
a)测试方法:
1)根据产品说明书,检查产品支持的部署架构;
2)检查产品是否支持以 C/S 架构部署使用;
3)检查产品客户端是否支持发起检测任务并生成相关报告;
4)检查产品是否支持以 B/S 架构部署使用;
5)检查产品是否支持通过 Google Chrome、Firefox、Microsoft Edge 等主流浏览器以及国产浏览器访问、操作和管理。
b)预期结果
1)产品支持以 C/S 架构部署和使用;
2)产品客户端支持发起检测任务并生成相关报告;
3)产品支持以 B/S 架构部署使用;
4)产品支持通过上述浏览器访问、操作和管理。
c)结果判定
上述预期结果均满足判定为符合,其他情况判定为不符合。
7.5 安全保障要求
7.5.1 开发
7.5.1.1 安全架构
安全架构的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下安全架构的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)与产品设计文档中对安全功能实施抽象描述的级别一致;
2)描述与安全功能要求一致的容器镜像安全检测工具安全功能的安全域;
3)描述容器镜像安全检测工具安全功能初始化过程为何是安全的;
4)证实容器镜像安全检测工具安全功能能够防止被破坏;
5)证实容器镜像安全检测工具安全功能能够防止安全特性被旁路。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.1.2 功能规范
功能规范的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下功能规范的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)完全描述容器镜像安全检测工具的安全功能;
2)描述所有安全功能接口的目的与使用方法;
3)标识和描述每个安全功能接口相关的所有参数;
4)描述安全功能接口相关的安全功能实施行为;
5)描述由安全功能实施行为处理而引起的直接错误消息;
6)证实安全功能要求到安全功能接口的追溯。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.1.3 产品设计
产品设计的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下产品设计的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)根据子系统描述容器镜像安全检测工具结构;
2)标识和描述容器镜像安全检测工具安全功能的所有子系统;
3)描述安全功能所有子系统间的相互作用;
4)提供的映射关系能够证实设计中描述的所有行为能够映射到调用它的安全功能接口。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.2 指导性文档
7.5.2.1 操作用户指南
操作用户指南的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下操作用户指南的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)描述在安全处理环境中被控制的用户可访问的功能和特权,包含适当的警示信息;
2)描述如何以安全的方式使用容器镜像安全检测工具提供的可用接口;
3)描述可用功能和接口,尤其是受用户控制的所有安全参数,适当时指明安全值;
4)明确说明与需要执行的用户可访问功能有关的每一种安全相关事件,包括改变安全功能所控制实体的安全特性;
5)标识容器镜像安全检测工具运行的所有可能状态(包括操作导致的失败或者操作性错误),以及它们与维持安全运行之间的因果关系和联系;
6)充分实现安全目的所必须执行的安全策略。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.2.2 准备程序
准备程序的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下准备程序的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)描述与开发者交付程序相一致的安全接收所交付容器镜像安全检测工具必需的所有步骤;
2)描述安全安装容器镜像安全检测工具及其运行环境必需的所有步骤。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.3 生命周期支持
7.5.3.1 配置管理能力
配置管理能力的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下配置管理能力的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)审查开发者是否为不同版本的容器镜像安全检测工具提供唯一的标识;
2)现场检查配置管理系统是否对所有的配置项做出唯一的标识,且配置管理系统是否对配置项进行了维护;
3)审查开发者提供的配置管理文档,是否描述了对配置项进行唯一标识的方法。
b)预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.3.2 配置管理范围
配置管理范围的测试评级方法如下所示。
a)评估方法:
检查开发者是否提供以下配置管理范围的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)审查开发者提供的配置项列表;
2)配置项列表是否描述了组成容器镜像安全检测工具的全部配置项及相应的开发者。
b)预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.3.3 交付程序
交付程序的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下交付程序的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)现场检查开发者是否使用一定的交付程序交付容器镜像安全检测工具;
2)审查开发者是否使用文档描述交付过程,文档中是否包含以下内容:在给用户方交付系统的各版本时,为维护安全所必需的所有程序。
b)预期结果:
开发者提供的文档和现场活动证据内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.4 测试
7.5.4.1 覆盖
测试覆盖的测试评价方法如下所示。
a)测试方法:
审查开发者提供的测试覆盖文档,在测试覆盖证据中,是否表明测试文档中所标识的测试与功能规范中所描述的容器镜像安全检测工具的安全功能是对应的。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.4.2 功能测试
功能测试的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下功能测试的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)审查开发者提供的测试文档,是否包括测试计划、预期的测试结果和实际测试结果;
2)审查测试计划是否标识了要测试的安全功能,是否描述了每个安全功能的测试方案(包括对其它测试结果的顺序依赖性);
3)审查期望的测试结果是否表明测试成功后的预期输出;
4)审查实际测试结果是否表明每个被测试的安全功能能按照规定进行运作。
b)预期结果:
开发者提供的文档内容应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.4.3 独立测试
独立测试的测试评价方法如下所示。
a)测试方法:
检查开发者是否提供以下独立测试的证据,并检查开发者提供的信息是否满足证据的内容和形式的所有要求:
1)开发者提供的测试资源;
2)开发者提供的测试集合是否与其自测系统功能时使用的测试集合相一致。
b)预期结果:
开发者提供的资源应满足上述要求。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
7.5.5 脆弱性评定
脆弱性评定的测试评价方法如下所示。
a)测试方法:
从用户可能破坏安全策略的明显途径出发,按照安全机制定义的安全强度级别,对容器镜像安全检测工具进行脆弱性分析。
b)预期结果:
渗透性测试结果应表明容器镜像安全检测工具能够抵抗具有基本攻击潜力攻击者的攻击。
c)结果判定:
实际测试结果与预期结果一致则判定为符合,其他情况判定为不符合。
附录A
参考文献
[1] GB/T 20220164-T-469 信息安全技术 软件供应链安全要求.
[2] GB/T 25069-2022 信息安全技术 术语