本文共 1430 字,大约阅读时间需要 4 分钟。
老实说,要不是有拼写检查的帮助,“separate”这词儿拼错的人肯定不少。微软Word将近20年的忠实耐心重复功不可没。
思考安全问题的时候,拼写检查的概念也是十分有启发性的。当场改正的好处非常巨大——能立即发现过程中的错误。更大的好处则是能看到建议的修正方案,因为重复的识别和修复过程是高度有效的学习工具。拼写检查能自我完善,越来越杰出。
软件安全测试的传统工作模式一成不变了好一段时间。研发团队写代码一直写到能放出一个完整版本,然后完整应用程序被投入测试;测试结果再返回研发团队进行查缺补漏。
这就是麻烦产生的起点。因为测试结果返回的时候,研发团队已经推进到下一个开发周期了。未解决测试中发现的问题,他们必须暂停当前工作,又把思绪调回到之前的周期,展开调查和修复工作。有些测试工具背着经常误报的黑历史,研发人员还得先验证每个漏洞是不是确实存在且可被利用的。这让常被进度催着走的研发团队压力山大,往往就为了赶时间而不顾安全了。
甚至安全培训(假设有培训吧,虽然更常见的现象是根本没有),也是整体兜售的。研发人员被调出开发周期,去参加各种课程或被鼓励去进行基于计算机的培训。随着千禧一代踏入软件开发职场,随着敏捷软件开发方法的扩张,这一培训方法不再理想。千禧一代更喜欢速食碎片化学习模式。
显然,软件安全测试和安全培训都需要进行范式转换。作为回应,很多厂商热衷于抛出一个让人迷惑的术语:左移。这词儿源于瀑布式开发图表,里面的左移表示进入该过程前已嵌入测试。但这些厂商中大多数,左移的不过是调出与传统方式相同测试过程的“按钮”而已。
并不完全是范式转换
左移什么的都可以放下了,不如利用拼写检查式安全技术植入安全。这些工具活跃在开发环境内部,代码编写过程中就在做漏洞检查,对代码进行轻量级静态分析,在源头发现跨站脚本或SQL注入之类的常见问题。
此类工具的高级版本还提供教育性材料,向开发者解释所发现漏洞的本质及其利用方式,可用于清除漏洞的修复方案也有建议。有些还会在开发者确认后执行所选修复。漏洞就这样被现场发现、解释、修复了。
这种方法的好处显而易见。
目标非常明确——尽早发现问题以便能在源头进行修复。尽管这些工具不能免除开发周期末端的全面静态和动态测试,但只要运用合适,安全拼写检查应能在这些测试前捕获很多问题。这将让开发周期末端的那轮测试更多地像是最终评估,而不是单纯的漏洞测试。
成熟的企业应采纳混合式方法,将测试工具融入开发生命周期各个阶段。目标是早期发现并修复,摒弃开发生命周期的中断,用工具来提升开发人员的安全竞争力。
最终结果将会使更精明的企业脱颖而出。
本文转自d1net(转载)