- A+
1 研究背景
随着信息技术的飞速发展,软件已经渗透到社会生活的各个角落,成为支撑现代社会运转的关键基础设施。然而,软件生态的复杂性和多样性也给其安全性带来了前所未有的挑战。近年来,软件安全问题频发,如数据泄露、系统瘫痪、恶意软件攻击等,不仅给个人和企业带来了巨大的经济损失,也对国家安全和社会稳定构成了严重威胁。建立软件生态安全自主可控指标体系,可实现对软件安全性的快速评估,对于提升软件安全水平、保障国家信息安全具有重要意义。
当前,软件生态正呈现出多元化、开放化、网络化的趋势。一方面,开源软件、云计算、大数据等新技术的广泛应用,使得软件生态的边界日益模糊,软件的安全问题也变得更加复杂;另一方面,软件供应链的全球化趋势使得软件的安全风险难以得到有效控制。因此,如何在这种复杂的软件生态环境下保障软件的安全性、原生性、合规性、可掌控性、可维护性和可演进性,成为了一个亟待解决的问题。
目前,国内外对于软件安全的研究主要集中在技术层面,如漏洞挖掘、恶意代码检测等,而对于软件生态安全自主可控指标体系的研究相对较少。尽管有一些相关的标准和规范,但它们往往侧重于某一方面的安全要求,缺乏系统性和全面性。因此,建立一个全面、科学、可操作的软件生态安全自主可控指标体系,对于提升软件生态的整体安全水平具有重要意义。
2 研究内容
本节将从软件的安全性与合规性、原生性、可掌控性、可维护性与可演进性等四个方面来分别介绍其评价指标。
2.1 软件安全性与合规性评价
目前针对软件安全性检测的方法主要有漏洞挖掘、恶意软件分类,流量检测等,这些方法的评价指标一般为常见的分类指标,如准确率、召回率、F1值等等。这些指标的确可以从单个方面来评估软件的安全性,但无法从对软件安全性进行综合全面地评估。图1展示了软件安全性与合规性评价基本指标和思路。
(1)对于安全性评价,采用下列评价指标。
保密性:指软件能够确保数据只有授权的用户可以访问。这包括用户身份验证、数据加密以及访问控制机制等,确保敏感信息不被未授权的用户获取。
完整性:涉及软件阻止未授权用户修改程序或数据的能力。这要求软件具备检测并防止篡改、损坏或未授权修改的机制,确保数据的完整性和准确性。
抗抵赖性:指软件的行为在事后可被证明已经发生过并且不能抵赖。这要求软件能够记录关键操作和操作者的信息,以便在发生争议时进行审计和追溯。
责任性:指软件的行为可被追溯至特定的用户或系统组件。这要求软件能够记录并跟踪用户操作和系统事件,以便在出现问题时能够定位责任方。
错误处理和恢复:考察软件在发生错误时的响应能力,包括错误提示的准确性、是否导致系统异常退出以及数据备份与恢复手段等。软件应具备自动修复或提示用户修复错误的能力,同时确保数据的安全性和可用性。
威胁建模:评估软件系统可能面临的潜在威胁和攻击者,并确定可能受到攻击的软件功能和组件。通过威胁建模,可以发现并消除潜在的安全风险。
认证和授权机制:认证确保用户的身份和权限,而授权控制对用户访问资源的权限。软件应采用有效的认证和授权机制,如密码验证、双因素认证和访问控制列表等,以确保用户访问的安全性。
设计审查和代码安全:对软件的设计和代码进行审查,以发现潜在的安全漏洞和缺陷。这包括检查代码的逻辑错误、输入验证、缓冲区溢出等问题,并采取相应的安全措施进行修复。
(2)对于合规性评价,主要重点在于隐私政策合规性,它与软件数据安全密切相关。针对隐私合规性,提出基于灰色关联分析与熵权法的隐私合规性评价方法,该方法为一种综合评价方法,有助于全方位多角度反映用户对软件隐私政策合规性感知的综合评价情况。
2.2 软件原生性评价
软件原生性指的是软件或应用程序是专门为某一特定的操作系统或平台开发,通常能够充分利用目标平台的功能和特性,从而提供更好的性能、更流畅的用户体验和更高的安全性,而不是通过跨平台技术或工具创建。如图2所示,软件原生性评价指标包含多个方面,这些指标有助于全面评估软件在特定平台上的原生表现。
本节提出基于多维数据融合的软件原生性评估方法,基于性能表现、硬件反馈、用户体验等角度进行综合评价,其评价指标分为以下四个方面:
(1)性能表现。
响应时间(RT):通过实际测试获得响应时间,通常表示为从请求发送到响应接收的时间差, 。
吞吐率(TP):在特定时间内处理的事务数或请求数,表示为 。
每秒事务数(TPS):与吞吐率类似,但特指每秒的事务数,表示为 。
(2)资源利用率。
CPU利用率(CPU_Util):CPU使用时间与总时间的比率。 。
内存占用(Mem_Occ):当前使用的内存量。 。
磁盘I/O(Disk_IO):磁盘读写操作的次数或速率。 。
(3)用户体验。
界面流畅度:指软件界面的响应速度和动画效果,流畅的界面能提升用户的操作体验,使用帧率(FPS)来量化界面动画的流畅度。
交互逻辑:指软件的操作逻辑和流程设计,合理的交互逻辑有助于用户快速上手和高效操作软件,通过用户满意度调查或专家评审评估。
错误处理与反馈:涉及软件在出现错误时的提示方式和恢复能力,良好的错误处理与反馈机制能够提升用户满意度,根据错误发生的频率和恢复时间来评估。
(4)兼容性。
平台兼容性:通过在不同平台上测试软件的运行能力来评估,用支持的平台数量或失败率量化该指标。
依赖项兼容性:通过检查软件依赖的库或组件的版本兼容性来评估。
总之,软件原生性可通过软件性能表现、硬件资源利用率、用户体验反馈以及兼容性等多指标综合评估,这些指标综合衡量了软件原生性的多个方面,有助于全面评估软件在特定平台上的表现和优势。需要注意的是,不同的软件和应用场景对这些指标的要求可能有所不同,因此在评价时需要根据实际情况进行权衡和调整。
2.3 软件可掌控性评价
软件的可掌控性为软件系统或应用程序的设计和实现能够让用户或管理员轻松地管理、控制和维护,即可管理性和可控制性。可以从以下几个方面来构建指标(如图3所示):
(1)源代码掌控度
源代码自主率:计算项目中自主编写的源代码占比,反映对软件核心技术的掌控能力。
源代码更新频率:统计源代码的更新次数和周期,反映团队对软件技术的持续研发和维护能力。
(2)技术栈自主可控度
自主技术栈占比:计算项目中使用的自主技术栈组件数量占比,反映对技术栈的掌控程度。
关键技术依赖度:评估项目对外部关键技术或组件的依赖程度,反映技术自主可控的风险。
(3)软件架构灵活性
模块耦合度:分析软件模块之间的耦合程度,评估软件架构的灵活性和可维护性。
组件可替换性:测试软件组件的可替换性,反映软件在面临技术更新或安全威胁时的应对能力。
(4)安全可控性
安全漏洞修复率:统计安全漏洞的发现数量和修复数量,反映软件安全可控的能力。
安全事件响应时间:记录安全事件发生后的响应时间,评估软件安全应急处理的能力。
(5)运维掌控度
系统稳定性:通过监控软件运行过程中的故障率、宕机时间等指标,评估系统的稳定性。
运维自动化程度:评估运维流程的自动化水平,反映运维团队对软件运行的掌控能力。
这些指标可以结合实际情况进行量化评估,从而为软件生态安全自主可控提供有效的度量标准,注意指标之间的关联性和互补性,确保指标体系的全面性和准确性。
2.4 软件可演进性和可维护性评价
软件的可演进性指的是软件系统在经过一段时间后,依然能够容易地进行修改、扩展和更新的能力,包括对软件系统进行功能增强、性能优化、错误修复以及适应新的需求和环境的能力。由于可维护性作为可演进性中的一环,本节将其融合在可演进性中进行评价。目前有许多基于源代码度量的技术,但通过软件架构对可演进性进行度量的研究很少。
如图4所示,本节提出基于架构质量属性的软件可演进性评估方法,根据软件架构不同的演进阶段,提出四种软件架构质量属性和它们的评价指标,并结合四种评价指标来分析软件架构的可演进性。
3 指标试点政策措施
为了有效推进软件生态安全自主可控指标体系在实际应用中的试点工作,提出以下政策措施建议,以确保关键领域的顺利实施:
(1)强化政策引导与资金支持
专项资金设立:政府应设立专门的资金池,用于支持软件生态安全自主可控指标体系在关键领域的试点工作。资金的使用应明确目标,注重实效,确保试点工作的顺利进行。
税收优惠政策:针对参与指标体系试点的企业,提供税收减免、抵扣等优惠政策,降低其研发和运营成本,增强企业的参与积极性。
政策协同:加强与相关部门的政策协同,形成政策合力,共同推动软件生态安全自主可控指标体系在关键领域的应用和普及。
(2)构建试点示范与推广机制
试点单位遴选:制定明确的试点单位遴选标准,确保选出的试点单位具有代表性、创新性和可操作性。同时,建立动态调整机制,根据试点进展情况进行适时调整。
示范项目建设:针对试点单位的具体需求,设计并建设具有示范意义的项目。通过项目的实施,展示指标体系的实际应用效果,为其他单位提供可借鉴的经验。
成果推广与分享:定期举办试点成果展示和交流活动,分享成功经验,总结存在问题,推动指标体系在更大范围内的应用和推广。
(3)加强技术研发与人才培养
技术研发支持:加大对软件生态安全自主可控技术研发的支持力度,鼓励企业、高校和科研机构开展联合攻关,突破关键技术瓶颈。
人才培养计划:制定针对软件生态安全自主可控领域的人才培养计划,加强高校、培训机构与企业的合作,培养一批具备专业知识和实践经验的人才队伍。
产学研用结合:推动产学研用紧密结合,促进技术创新与指标体系研发的有效对接,加速科技成果的转化和应用。
(4)完善监管与评估机制
监管体系建设:建立健全软件生态安全自主可控指标体系的监管体系,明确监管职责和权限,确保试点工作的规范运行。
评估机制完善:制定科学的评估标准和方法,对试点工作进行定期评估。根据评估结果,及时调整政策措施,优化指标体系,确保试点工作的有效性和可持续性。
责任追究机制:对于在试点工作中出现违规行为的单位或个人,应依法追究其责任,维护指标体系的权威性和公信力。
通过上述政策措施的实施,可以为软件生态安全自主可控指标体系在关键领域的试点工作提供有力的政策保障和支持,推动软件产业的健康发展。
4 总结
本文研究提出了软件生态安全自主可控指标体系,分别从软件安全性、原生性、合规性、可掌控性、可维护性和可演进性等方面进行综合评价,并结合实际提出可控指标体系试点政策措施和建议,为软件安全综合性评估提供了新的思路与方向。
5 参考文献
- [1] 王寅,范铭,陶俊杰,等.移动应用隐私权声明内容合规性检验方法[J/OL].软件学报,1-17[2024-04-24].https://doi.org/10.13328/j.cnki.jos.007121.
- [2] Bhatia J, Breaux T D. Semantic incompleteness in privacy policy goals[C]//2018 IEEE 26th International Requirements Engineering Conference (RE). IEEE, 2018: 159-169.
- [3] Liu S, Zhao B, Guo R, et al. Have you been properly notified? automatic compliance analysis of privacy policy text with gdpr article 13[C]//Proceedings of the Web Conference 2021. 2021: 2154-2164.
- [4] 耿瑞利,贾子康.信息安全视域下智能家居App隐私政策合规性评价研究[J].图书情报导刊,2023,8(06):31-39.
- [5] 杜小林,杨哲慜.面向选择退出权的移动应用隐私合规分析方法[J/OL].小型微型计算机系统,1-8[2024-04-24].http://kns.cnki.net/kcms/detail/21.1106.TP.20240318.
- 1847.026.html.
- [6] 耿鹤.软件架构可演进性度量及可视化[D].东南大学,2017.
- [7]王桐.软件架构可持续演进性评估技术研究[D].东南大学,2019.DOI:10.27014/d.cnki.gdnau.2019.004076.
- [8] 刘凯,陈军,梁欣,等.软件维护性评估指标体系研究[J].微型电脑应用,2018,34(12):52-55.
- [9] 傅颖.基于主题建模的软件可维护性评估模型研究[D].重庆大学,2016.
- [10] 郝学良,朱小冬,叶飞,等.基于开发过程数据的软件可维护性评估[J].军械工程学院学报,2016,28(06):41-45.
- [11] 耿瑞利,贾子康.信息安全视域下智能家居App隐私政策合规性评价研究[J].图书情报导刊,2023,8(06):31-39.
- [12] 乔舒雅,钱晓耀,谈立山.基于模糊神经网络的软件可维护性评价研究[J].中国标准化,2021,(05):148-152+158.
- [13] 田志.复杂网络系统的结构可控性和可观性研究[D].齐鲁工业大学,2023.DOI:10.27278/d.cnki.gsdqc.2023.000330.
- [14] Bhatia J, Breaux T D, Reidenberg J R, et al. A theory of vagueness and privacy risk perception[C]//2016 IEEE 24th International Requirements Engineering Conference (RE). IEEE, 2016: 26-35.
- [15] Shvartzshnaider Y, Apthorpe N, Feamster N, et al. Going against the (appropriate) flow: A contextual integrity approach to privacy policy analysis[C]//Proceedings of the AAAI Conference on Human Computation and Crowdsourcing. 2019, 7: 162-170.
- [16] Andow B, Mahmud S Y, Wang W, et al. {PolicyLint}: Investigating internal privacy policy contradictions on google play[C]//28th USENIX security symposium (USENIX security 19). 2019: 585-602.