软件安全问题的根本原因有两个:一个是软件本身存在安全问题,另一个是软件在应用程序中存在安全威胁(即软件面临严重的外部威胁)。尽管现代软件功能强大且复杂,但不存在没有漏洞的软件。只有存在漏洞,才有可能被利用。同时,计算机网络硬件发展迅速,软件应用环境越来越复杂,软件应用面临越来越多的内部和外部威胁。
随着网络和计算机技术应用的发展,信息安全漏洞变得越来越严重。根据中国国家信息安全漏洞库(CNNVD),从2019年7月29日到2019年8月4日,共收集到567个安全漏洞,比上周(265)增加了113.96%。
软件安全意识薄弱。传统的软件开发更多是关于软件功能,而不是管理安全风险。软件开发公司的日程安排很紧,任务繁重。他们争相发布软件以争夺客户资源并抢占市场份额。软件开发人员将软件功能视为重中之重。他们对软件安全体系结构和安全保护措施的了解不足。他们只关注是否需要实现所需的功能。他们很少从“攻击者”的角度考虑软件安全性。
如果采用严格的软件开发质量管理机制和多种测试技术,则软件公司开发的产品缺陷率将大大降低。软件安全分析可用于通过使用缺陷密度(每千行代码中存在的软件缺陷数)来衡量软件安全性。
普通软件开发公司的软件缺陷密度为4〜40个缺陷/ KLOC(千行)
高级软件开发公司的软件缺陷密度为2〜4个缺陷/ KLOC(千行)
美国国家航空航天局软件缺陷密度为0.1缺陷/ KLOC(千行)
大量的国内软件开发人员对软件开发过程的管理不够重视。大量软件使用开源代码和公共模块,并且缺陷率通常很高,并且可以利用许多已知和未知的缺陷。
软件安全性是网络安全性的重要组成部分。只有关注安全,提高安全意识,才能采取措施降低缺陷率,维护网络安全。
我们的微信
我们的微博