打造拼写检查式安全

简介:

老实说,要不是有拼写检查的帮助,“separate”这词儿拼错的人肯定不少。微软Word将近20年的忠实耐心重复功不可没。

思考安全问题的时候,拼写检查的概念也是十分有启发性的。当场改正的好处非常巨大——能立即发现过程中的错误。更大的好处则是能看到建议的修正方案,因为重复的识别和修复过程是高度有效的学习工具。拼写检查能自我完善,越来越杰出。

软件安全测试的传统工作模式一成不变了好一段时间。研发团队写代码一直写到能放出一个完整版本,然后完整应用程序被投入测试;测试结果再返回研发团队进行查缺补漏。

这就是麻烦产生的起点。因为测试结果返回的时候,研发团队已经推进到下一个开发周期了。未解决测试中发现的问题,他们必须暂停当前工作,又把思绪调回到之前的周期,展开调查和修复工作。有些测试工具背着经常误报的黑历史,研发人员还得先验证每个漏洞是不是确实存在且可被利用的。这让常被进度催着走的研发团队压力山大,往往就为了赶时间而不顾安全了。

甚至安全培训(假设有培训吧,虽然更常见的现象是根本没有),也是整体兜售的。研发人员被调出开发周期,去参加各种课程或被鼓励去进行基于计算机的培训。随着千禧一代踏入软件开发职场,随着敏捷软件开发方法的扩张,这一培训方法不再理想。千禧一代更喜欢速食碎片化学习模式。

显然,软件安全测试和安全培训都需要进行范式转换。作为回应,很多厂商热衷于抛出一个让人迷惑的术语:左移。这词儿源于瀑布式开发图表,里面的左移表示进入该过程前已嵌入测试。但这些厂商中大多数,左移的不过是调出与传统方式相同测试过程的“按钮”而已。

并不完全是范式转换

左移什么的都可以放下了,不如利用拼写检查式安全技术植入安全。这些工具活跃在开发环境内部,代码编写过程中就在做漏洞检查,对代码进行轻量级静态分析,在源头发现跨站脚本或SQL注入之类的常见问题。

此类工具的高级版本还提供教育性材料,向开发者解释所发现漏洞的本质及其利用方式,可用于清除漏洞的修复方案也有建议。有些还会在开发者确认后执行所选修复。漏洞就这样被现场发现、解释、修复了。

这种方法的好处显而易见。

  1. 漏洞实时发现,开发者可立即修复问题,不用等到之后很久测试结果出来又再重开工程进行修复。采用这些工具的企业已经见证了开发生产力上15%的效率提升。这得益于在查找并清除误报,以及中断开发周期修复前版软件上的时间节省。成千上万美元的修复开销节省也是有报道的。
  2. 互动过程成为了开发团队进行微学习的机会。这些工具教授开发人员常见漏洞的本质,提供从他们的代码中清除这些漏洞的模板。触手可及的学习过程比传统学习方法有着高得多的驻留率和影响。最终,常见错误从代码库中消失了。
  3. 这些工具提供了对开发团队安全准备度的宏观视角,巩固了对员工及其安全编码表现的信息掌握。经理们能看出开发模式,采取额外培训或单个辅导的方式解决潜在问题。可见性提供了改善现状和进一步提高生产力的机会。

目标非常明确——尽早发现问题以便能在源头进行修复。尽管这些工具不能免除开发周期末端的全面静态和动态测试,但只要运用合适,安全拼写检查应能在这些测试前捕获很多问题。这将让开发周期末端的那轮测试更多地像是最终评估,而不是单纯的漏洞测试。

成熟的企业应采纳混合式方法,将测试工具融入开发生命周期各个阶段。目标是早期发现并修复,摒弃开发生命周期的中断,用工具来提升开发人员的安全竞争力。

最终结果将会使更精明的企业脱颖而出。

本文转自d1net(转载)

目录
相关文章
|
SQL Java 数据库
什么是 PagingAndSortingRepository?
【8月更文挑战第21天】
249 0
|
10月前
|
存储 JavaScript 网络协议
浏览器与 Node 的事件循环
浏览器和Node.js的事件循环是异步操作的核心机制。它们通过管理任务队列和回调函数,确保程序在处理耗时任务时不会阻塞主线程,从而实现高效、响应式的应用开发。
|
Java 应用服务中间件 开发工具
基于SSM实现的民宿网站系统
基于SSM实现的民宿网站系统
107 0
|
Java 编译器 索引
深入解析Java中的数组复制:System.arraycopy、Arrays.copyOf和Arrays.copyOfRange
当涉及到在Java中处理数组时,有许多方法可供选择,其中一些包括`System.arraycopy()`、`Arrays.copyOf()`和`Arrays.copyOfRange()`。这些方法允许您在不同的数组之间复制数据,但它们之间有一些细微的差异。在本篇博客文章中,我们将深入探讨这些方法,以便您了解何时使用它们以及如何正确使用它们。
939 1
|
存储 安全 Go
同样作为非并发安全的数据结构,slice和map在有并发安全问题时,为什么表现相差那么大
同样作为非并发安全的数据结构,slice和map在有并发安全问题时,为什么表现相差那么大
100 0
|
传感器 数据采集 前端开发
基于STM32设计的数字电子秤
当前项目是采用采用STM32+称重模块+OLED实现了简单的电子秤项目,称重模块上采用24位的ADC芯片,精度较高。实现了称重,校准、去皮等功能。
905 0
|
存储 前端开发 Unix
Mysql - 如何存储 10位、13位的 unix 时间戳?
Mysql - 如何存储 10位、13位的 unix 时间戳?
616 0
|
机器学习/深度学习 算法
DL之DNN优化技术:利用Batch Normalization(简介、入门、使用)优化方法提高DNN模型的性能
DL之DNN优化技术:利用Batch Normalization(简介、入门、使用)优化方法提高DNN模型的性能
DL之DNN优化技术:利用Batch Normalization(简介、入门、使用)优化方法提高DNN模型的性能
|
JSON Kubernetes 数据格式
Kubernetes(K8s)Events介绍(上)
Kubernetes Events虽不常被提起,却意义非凡。它存储在Etcd里,记录了集群运行所遇到的各种大事件。本系列文章将一步一步地揭开Kubernetes Events的神秘面纱。 师出有名 前些天群里有位同学(@二东)提问说怎么通过API得到kubectl describe pod的结果,我立刻找到了Kubernetes相关的API并回复他,但他说这不是他要的东西。
2836 0