提高软件安全性的三个策略

中科天齐软件源代码安全检测中心

共 1490字,需浏览 3分钟

 ·

2023-06-29 17:13

随着企业数字化转型,应用软件的使用场景大大增加。应用软件可以帮助企业实现数字化转型,提高内部运营效率增强市场竞争力。然而使用更多的应用软件也为企业安全带来一定隐患。随着各项法规的制定及实施,提高软件安全成为保障网络安全的基础手段。

《 网络安全等级保护基本要求》(GB/T 22239-2019)对软件安全提出要求。对于自行研发的软件,应确保在软件开发过程中对安全性进行测试,在软件安装前对可能存在的恶意代码进行检测。对于外包软件开发,应在软件交付前检测软件质量和其中可能存在的恶意代码。

2023年5月1日起施行的《关键信息基础设施安全保护要求》(GB/T 39204-2022)中,供应链安全不仅关注运行时的软件安全,软件源代码需要进行安全检测,防止供应链中的恶意代码、后门等安全问题对企业造成损失和危害。

不安全的软件代码是普遍存在的,因此需要企业制定计划并且去进行检测,为其产品的安全负责。

漏洞的根源

不安全的软件通常从一开始就存在缺陷。“缺陷”是在编写代码时引入的问题,可能导致“漏洞”,形成软件代码中可利用的条件,为攻击打开大门。缺陷会随着时间的推移而累积,从而导致“安全债务”,即在应用程序的生命周期内无法修复的缺陷。安全债务是DevSecOps兴起的重要驱动力,DevSecOps在整个软件开发生命周期中集成了安全性。

根据Veracode的“软件安全现状”研究报告,通过超过750,000个应用程序的静态分析中提取的数据,对导致缺陷引入的因素进行了细致的研究。

研究发现,无论规模大小,前五年的申请数量都以每年40%左右的速度稳定增长。但新缺陷引入的速度遵循不同的模式。当新应用程序启动时,缺陷的数量会急剧下降,这很可能是由于最初的扫描发现了累积的缺陷。然后,在第一年半期间,近80%的应用程序没有引入新的缺陷。然而,接下来的时间里,缺陷的引入稳步增长,直到第5年左右趋于平稳。

发现的常见缺陷结果因扫描类型不同而有所差异,因为静态检测、动态检测和软件成分分析涉及不同的技术,可以检测到不同的问题,因此说明使用多种检测的重要性。此外和检测频率也有关系。

更安全的软件

从一开始就防止引入所有缺陷是不切实际的,但可以通过一些方法让软件更加安全。

首先,尽早尽快修复安全缺陷。当软件使用两年时,可以观察到软件积累越来越多地缺陷。由于软件的复杂性随着时间的推移而增加,而对软件安全性关注的降低,这段时间缺陷呈上升趋势。

其次,考虑自动化和培训开发人员。通过使用自动化工具在开发人员编写代码时发现代码中的缺陷及漏洞,通过修复建议及缺陷定位可以及时修复问题。通过培训开发人员了解常见缺陷及如何引入缺陷降低此类缺陷数量。

最后,建立应用程序生命周期管理。从应用程序的概念和规划阶段开始,经过设计、开发、测试、部署、运行和维护等不同阶段进行管理。不仅有助于提高应用程序的质量、可靠性和效率,同时也有助于降低开发和维护成本。通过有效的管理,可以更好地满足用户需求,并快速响应市场的变化。

严谨是要求

在当今的安全环境中,软件安全至关重要。随着国家对网络安全关注增加并不断推出法律法规,对软件开发企业来说,,确保软件的安全性已经成为一项重要任务。了解缺陷是如何产生的,以及如何修复缺陷,可以帮助确保软件产品的安全性和可行性。


参读链接:

https://www.darkreading.com/application-security/3-strategies-for-bringing-rigor-to-software-security

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报