密码在软件供应链安全应用

VSole2021-12-21 17:10:51

为进一步推动产业发展,更好地汇聚产学研用各方力量,聚焦关键软件领域密码应用核心问题,不断夯实软件产业发展基础,共同推动软件产业和密码技术融合发展,12月18日,“2021年商用密码应用创新高端研讨会”在经开区国家信创园成功召开。在会上,中关村网络安全与信息化产业联盟EMCG工作组组长王克带来题为《密码在软件供应链安全中的应用》的演讲。

一、软件供应链基本概念

背景:

2021年5月12日,拜登签署国家执行指令(EO-14028)《改进国家网络安全》提出24条“加强软件供应链安全”。至此,美国政府对网络空间软件供应链安全治理拉开序幕。



关键词:

软件供应链安全(software supply chain security)

关键软件(critical software)

软件物料清单(software bill of materials,SBOM)

软件透明度/可见性/可追溯性(transparency/visibility/traceability)

软件标签(software tag,label)

  • 执行指令(EO-14028)“加强软件供应链安全”涉及机构

  • 执行指令(EO-14028)“加强软件供应链安全”任务、期限及完成情况
  • 软件供应链框架形成(ISO、NIST、政府)

  • 网络安全事件:

1、2020年SolarWinds(太阳风)

2、2021年

3月Exchange邮件系统软件漏洞

5月Colonial管道公司勒索软件攻击

12月Apache开源项目Log4j2漏洞

  • 早期事件:

1、2010年伊朗核电站震网病毒

2、2016乌克兰发电厂遭软件攻击

3、2017年勒索软件WannaCry(美国国家安全局(NSA)泄露)

  • 软件代码安全

开源代码。甚至政务、金融、能源等重要行业使用的软件有十八年前的开源代码,软件责任不可追溯,存在极大安全隐患。

  • 软件资产


另一方面,由于软件没有作为组织机构、企业的资产,软件处于无台账状态,pc、服务器、云计算、移动App不审核、不检测、不签名的现象比较普遍,软件安全风险不能有效控制;检测版本与实际系统运行版本存在差异,使得大量实际系统运行软件存在来源不明,版本不一致,漏检代码运行带来软件安全隐患。

网络空间处于“谁进来了不知道、是敌是友不知道、干了什么不知道。”的不可知、不可控状态。

1、基本概念

  • 供应链(Supply Chain)

《网络供应链风险管理》(NIST.SP800-161 Rev.1 2021):指各级企业之间链接的资源和流程,每个企业都是从产品和服务的采购开始,延伸到产品生命周期的收购方。

《防范软件供应链攻击》(CISA&NIST 2021.4):是由参与硬件、软件和管理服务的销售、交付和生产的零售商、分销商和供应商组成的网络。

——一个产品所涉及的不同实体构成的资源、过程的链接。——一种关系

多实体:最少两个实体

有向性:上游和下游,提供和接受

软件供应链(Software Supply Chain)

——一个软件所涉及的不同实体构成的代码、服务的链接。——一种关系

多实体:最少两个实体

有向性:上游和下游,提供和接受

《防范软件供应链攻击》(CISA&NIST2021.4):ICT供应链生命周期有六个阶段:设计、开发和生产、分配、获得和部署、维护,软件也有这六个阶段。

  • 软件供应链安全(Software Supply Chain Security)


在供应链生命周期每个阶段,软件被有意或无意引入恶意代码和漏洞,给系统带来的安全风险。(聚焦恶意代码和漏洞,非可靠性、断货风险)

  • 软件供应链安全治理Software Supply Chain Security Governance


处理实体之间的关系,不只解决软件自身问题(如漏洞挖掘)。

三个关系:信任关系、责任关系、技术关系。

处理软件供应链全过程关系,不只解决某一环节的问题(如DevSecOps)。

解决软件可见性、可追溯性问题:软件是谁编制的?软件安全性能如何?代码是否被破坏?

处理多个实体关系依靠统一规范、标准。

  • 软件资产管理(Software Asset Management,SWAM)

一个计算机中的软件包括固件、基本输入/输出系统(BIOS)、操作系统、应用程序、恶意软件,如工具包、木马、病毒和蠕虫。

软件资产Software Asset:一行源代码,或一个由多个产品、数千个可执行文件以及无数行代码组成的软件套件。软件资产两种形式存在:一是软件产品,二是可执行文件。

  • 软件资产目录(Inventory of Software):

为企业每个计算设备安装/执行的软件产品和可执行文件建立管理台账(软件注册表SRL)。

  • 解决的问题:

软件授权

软件从可信供应商获得

减少软件攻击

  • 技术方法:

白名单—只运行“已知的好的”或可信的软件

黑名单—禁止运行“已知的坏软件”或不可受信任的软件

灰名单—目前不知是好还是坏的软件,暂时可运行。

  • 软件数字签名(Code Digital Signature)

白名单软件产品可执行文件具备软件数字签名(或数字指纹),以识别软件是否被非法修改,加入恶意代码。对于自研软件,应进行软件数字签名。

  • 软件物料清单(Software Bill of Materials,SBOM)

ED-14028指示商务部国家电信和信息管理局(NTIA),发布软件物料清单(SBOM)的“最小要素”。美国政府已将SBOM确定为推动软件供应链风险管理的优先事项。

一个格式化记录,包含在构建软件使用的各种组件细节和供应链关系。软件供应链安全治理手段。

SBOM的概念源自制造业,其中物料清单是详细说明产品中包含的所有项目的清单。例如:每辆车有一份详细的材料清单,列出了原始设备制造商自己制造和第三方供应商的零件。发现有缺陷的部件时,汽车制造商可以准确地知道哪些车辆受到影响,并通知车主维修或更换。SBOM为生产、购买和操作软件提供信息,以增强对供应链的理解,跟踪已知或新漏洞、风险。在此基础上构建安全工具,作为提高软件透明度的方法基础。

  • 软件标识(SWID)标签(Software Identification Tag)

ISO-IEC19770-2-2015_软件资产管理—软件标识标签:一种标准化的数据结构,XML语言描述,支持软件资产管理自动化。SWID标签定义了三种标签:软件身份标签、软件补丁和补充标签。

例子:软件身份标签

  • 软件标签(Software label)

EO-14028要求国家标准与技术研究所(NIST)与联邦贸易委员会(FTC)和其他机构协调,启动网络安全标签(Software label)的试点项目。2021.11.1,NIST发布《消费者软件网络安全标签的基线标准草案》。

二、密码在软件供应链安全中的应用

软件供应链安全重点:提高软件可视化、代码完整性和可追溯性。

软件可视化主要采用软件物料清单(SBOM)技术;软件完整性、可追溯性采用数字签名/验证密码技术。

1、国际互联网头部企业合作

Google2017年与7家技术公司在联合推出Grafeas开源计划,为企业定义统一的审计、管理使用开源项目方法。

Linux基金会在软件物料清单(SBOM)管理方面,建立了SPDX(The Software Package Data Exchange,软件包数据交换),为组织共享软件数据提供通用规范格式。7月29日全球开展《SBOM准备情况调查》。

ISO国际标准化组织,2015年发布SWID(Software Identification,软件标识)标签标准ISO/IEC 19770-2:2015,为组织跟踪设备商安装的软件提供一种透明方式。

2、国际互联网头部企业合作开展软件签名

2021年3月10日,谷歌、Linux基金会、Red Hat以及普渡大学共同推出开源软件签名服务sigstore项目,提高软件供应链安全。

——sigstore

提供免费证书和自动化工具,所有的证书和认证都是全球可见的、可发现的和可审计的。

让开发人员能够更轻松地签名软件发布,让用户更容易进行验证。

——Grafeas开源计划

提供一种统一审计和管理软件供应链方式。同时,推出Kritis,对容器镜像进行签名验证,确保只部署经过可信授权方签名的容器镜像,降低运行恶意代码风险。

——TagVault.org

软件标签注册和认证机构(社区),为软件发布商提供生成满足CPE及SWID标准的软件认证标签工具,并对认证标签进行数字签名,确保数据权威性,任何查看标签数据的人均可验证数据的来源,以满足ISO/IEC19770-2:2015标准要求。

3、国内情况——标准

GB/T 36637-2018《信息安全技术ICT供应链安全风险管理指南》,中国电子技术标准化研究院、中科院软件所、联想、华为、蚂蚁金服、阿里、京东、浪潮等单位起草。

GB/T 22239-2019《信息安全技术信息系统安全等级保护基本要求》对软件采购、供应商选择、资产管理、外包软件开发、漏洞与风险管理、移动app来源及开发者实名签名等提出要求。

GB/T 39786-2021《信息安全技术信息系统密码应用基本要求》宜采用密码技术对重要可执行程序进行完整性保护,并对其来源进行真实性验证。

T/ZSA 3001.01-2016《企业移动智能终端应用开发、安装、运行管控机制指南》规范企业App开发者审核、软件开发、软件审核与检测、软件签名及验证、软件发布、软件安装及运行监管等过程。

T/ZSA 37-2020《移动智能终端密码技术政企应用指南》提出移动App双签名与验证机制。

中关村网络安全与信息化产业联盟、中关村标准化协会2016年发布T/ZSA 3001.01-2016《企业移动智能终端应用开发、安装、运行管控机制指南》。

标准规定了企业移动应用软件(App)开发者审核、软件开发、软件审核与检测、软件签名及验证、软件发布、软件安装及运行监管等过程,为移动智能终端厂商、应用开发者、企业应用软件服务商实施企业移动应用软件(App)资产生命期管理提供指南。

中关村网络安全与信息化产业联盟、中关村标准化协会发布T/ZSA 37-2020《移动智能终端密码技术政企应用指南》。标准提供了移动智能终端App双签名与验证机制,为政府、企事业单位开展移动应用软件管控提供代码签名指导。

App开发者签名:App开发者使用其在官方机构(App分发渠道)登记的私钥对其开发的App进行数字签名。由于数字签名可保证签名数据完整性,数字签名不可抵赖性保证了App软件责任可溯源。

官方机构(App分发渠道)签名:官方机构(App分发渠道)使用自己的私钥对开发者签名的App进行二次签名,仍保持App开发者签名的有效性,即“双签名”。采用双签名机制保证App是经过官方机构安全审核、检测的,防止恶意App传播,进一步降低App安全风险。

4、实名计算(Real-Named Computing)理论

2010年清华大学研究提出哲学指导:网络空间与现实空间是映射的、趋同的。现实空间主体——人的社会活动需要实名,网络空间主体——软件运行也一定需要实名。

网络安全事实:软件定义一切,软件破坏一切。软件不管控,网络无宁日。

定义:计算机系统运行软件时要确认软件的真实责任者。这样的计算称实名计算(Real-Named Computing)。

形式化:

定义1:P表示一个软件,S表示数字签名函数,S(P)A为软件制造者A对软件P的数字签名,称P‖S(P)A为实名软件(Real-Named Software),用Pˊ表示。

定义2:P表示一个软件,当P运行时,计算系统须确认S(P)的签名者。称这种计算为实名计算(Real-Named Computing)。

——实名计算模型

图灵实名计算

  • 带标签图灵机(Identified Turing Machine,ITM)

定义4 ITM=(Q,Σ,Γ,δ,q0,β,F,IM)

其中Q,Σ,Γ,δ,q0,β,F与经典图灵机定义相同,IM表示图灵机ITM的标签,是ITM的唯一标识,且S(M)A满足定义4,为图灵机制造者A的签名。

  • 选择模拟通用图灵机(Selected Simulating Universal Turing Machine,SSUTM)


设M1,M2,…Mn为n个定义5的带标签图灵机,为Mi,以及输入wi的0-1编码。先构造一个选择模拟图灵机SSTM,SSTM有3条带。

由图灵机理论可知,对于定义5的3带图灵机SSMT,存在一个单带图灵机ITMU与之等价,称ITMU为选择模拟通用图灵机(Selected Simulating Universal Turing Machine,SSUTM)。显然SSUTM和原始图灵机等价。

  • 安全的选择模拟通用图灵机(S-SSUTM)


定义6一个通用图灵机,它可确定ITM M1,M2,…Mn编码被修改,且非ITM不能在其上模拟,称这个通用图灵机是安全的。

定理1一个通用图灵机是安全的,当且仅当其等价的3带图灵机转换规则是SSTM转换规则。

基于SSUTM的冯·诺依曼计算模型

可信Cyber空间软件控制模型TCSCM

5、实名计算技术

6、实名计算工程体系

7、实名计算应用研究实践——“软件入伍”模型(Software-Enrollment Machine)

  • 基本功能:

1)软件注册;

2)软件发布;

3)软件下载;

4)软件远程认证;

5)软件本地验证;

6)注册软件删除;

7)增加注册软件;

  • 密码管理:

软件签名证书体系

软件签名证书发放

接受SRC、SAC、SEU用户的证书申请、审核、签发、发布、证书撤消申请以及CRL的签发和发布。

密钥管理

8、实名计算与SE、CS、TC的关系,如下图所示:

9、政企软件管理平台(Government Enterprise Application Platform)

作用:

(1)依据网络安全等级保护2.0、信息系统密码应用国家标准;

(2)为企事业单位提供APP开发者审核、安全开发、安全检测、数字签名、运行管理APP资产全生命期管理服务;

(3)保证政企APP合规、安全、高品质、责任可追溯

APP国密签名:

对APP进行国密算法多重代码签名与验证的功能模块,包含提供给开发者的签名工具、平台使用的自动签名服务和SDK、平台和手机系统可用的验证签名SDK和DEMO、文档等。APP国密签名。


GEAP安全移动终端:GEAP移动终端只运行GEAP平台安全审核及签名的App。


发展方向:

数字签名图灵机
本作品采用《CC 协议》,转载必须注明作者和本文链接
为进一步推动产业发展,更好地汇聚产学研用各方力量,聚焦关键软件领域密码应用核心问题,不断夯实软件产业发展基础,共同推动软件产业和密码技术融合发展,12月18日,“2021年商用密码应用创新高端研讨会”在经开区国家信创园成功召开。在会上,中关村网络安全与信息化产业联盟EMCG工作组组长王克带来题为《密码在软件供应链安全中的应用》的演讲。
量子计算综述报告
2021-11-19 11:43:31
对于所有非物理专业的毕业生而言,量子这个概念多半是模糊而又熟悉的,因为没有系统学习过量子力学,因此对什么是量子往往难以理解并说不清楚,但近年来量子这个词又不断高频出现在大众视野面前,从量子通信、量子卫星到量子计算···。
当前,数字化、网络化、智能化深入发展,加速推动网络空间向物理空间渗透,网络空间与物理空间边界在消融,以网络安全为代表的非传统威胁与传统威胁融合交织,深刻变革网络安全需求和影响网络安全格局。网络攻击的影响远远超出数据泄露、设备宕机等传统范畴,往往会造成物理世界的直接重大损失。
密码学是保障网络与信息安全的理论基础,各类密码算法和协议在确保消息的机密性、完整性、不可否认性以及身份认证等方面发挥着重要作用。人们希望利用量子性质能够实现各类密码协议功能,进而全面提升信息系统的安全性。该类协议不需要假设QKD设备是完美的,它们甚至可以是不可信的。
在实施相关安全方案时,需要对过程中的挑战与合作达成共识。元数据和身份标准共识:行业需要就解决这些复杂问题的基本原则达成共识。OpenSSF最近宣布的安全记分卡项目旨在以全自动方式生成这些数据点。这一更改由软件所有者直接控制。目前,由于准确性还达不到要求,无法做好通知,但随着漏洞准确性和元数据的提高,我们还应推动通知。
开源软件的安全问题理所当然地引起了业界的关注,但解决方案需要对执行过程中的挑战和合作达成共识。
1985 年Deutsch进一步阐述了量子计算机的基本概念,并证实了在某些方面,量子计算机相比经典计算机而言确实具有更强大的功能。除此之外,欧盟、加拿大、中国等组织、国家和地区在量子计算机领域的研究也做出积极响应并取得了一系列的研究成果。2001 年, 一 个 由 IBM 公司成功研发的 7qubit 的示例性量子计算机成功领跑了该领域的研究。
缺乏数学分析和证明的密码算法无法提供应该提供的安全保护。密码算法的设计与分析发展就是密码领域矛与盾的博弈,也在不断推动数学等相关领域的发展进步。密码算法安全量化度量的理论基础是计算复杂性理论 。通过信息论的严谨证明,香农指出了完善的加密方案,阐明了加密安全的方向。信息论中熵的定义完美诠释了随机性的科学度量,为随机数质量准确度量提供了理论基础。
本文在国家及监管单位对网络安全的监管和指导要求与烟草行业网信工作发展规划相结合的背景下,从四川中烟工业有限责任公司(以下简称:四川中烟)全公司网络安全监管运营体系建设的角度,阐述如何通过把各工厂IT环境中的安全设备、重要服务器设备日志、数据进行采集,并上传至公司进行统一配置,实现全面监控、实时告警、流量分析等。从公司统筹规划开展安全运营建设工作,既有效降低企业安全运维成本,又使企业安全事件应急响应
VSole
网络安全专家