一、根因分析
根据汽车软件脆弱性主要因素分析,共有10余种因素会导致软件质量问题:
- 1.项目时间点压力,占比 71%
- 2.缺乏安全编程理解/培训,占比 60%
- 3.偶然编程错误,占比 55%
- 4.缺乏质量保证和测试,占比 50%
- 5.不安全开源代码使用,占比 40%
- 6.产品开发工具的bug,占比 39%
- 7.缺乏安全规则和流程,占比 26%
- 8.错误注入,占比 23%
- 9.权限错误, 占比 19%
- 10.后端系统错误 ,占比 15%
- 11.其他,占比 2%
二、改善建议
- 1.合理规划项目周期、里程碑、人员投入,及时复盘
- 2.增加培训
- 3.结对编程,增加code review
- 4.增加质量和测试人员及流程
- 5.加大开源代码审查
- 6.及时更新开发工具
- 7.融入安全开发流程
- 8.做好防御性编程
- 9.最小化权限原则
- 10.增加可用性测试