限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

如何在不牺牲生产力的情况下构建安全软件

  • 2025-07-18
    北京
  • 本文字数:1644 字

    阅读完需:约 5 分钟

大小:813.52K时长:04:37
如何在不牺牲生产力的情况下构建安全软件

安全与开发效率有时会相互冲突。与其一味预防安全漏洞,不如专注于减轻漏洞的影响,这往往更加高效。Dorota Parad 主张在合规性方面保持灵活性,并与安全团队合作,共同制定实用的保护措施。通过限制漏洞的影响范围和引入自动化手段可以在不牺牲生产力的情况下增强安全性。


QCon 旧金山大会上,Dorota Parad 分享了如何在不牺牲生产力的情况下构建安全软件

安全有时会与快速高效的开发流程相冲突。与其专注于预防漏洞,不如专注于减轻漏洞的影响,这往往更有效。在“确保安全而不损害软件开发生产力”一文中,Dorota Parad 探讨了如何在不损害工程生产力的情况下建立安全基础。


Parad 建议抵制那些阻碍生产力的安全要求,而第一步是了解这些要求的来源:

首席信息安全官(CISO)和安全团队的工作很少真正与安全有关,他们的职责是确保合规。与普遍观点相反,合规并不是简单地勾选复选框,复选框只是达成目标的一种方式。


Parad 表示,最终目标是构建一个能够说服第三方利益相关者(如审计师、监管机构和保险公司)的故事,让他们相信公司已经很好地控制了安全风险。


Parad 指出,没有任何安全认证或法规是绝对规定性的,公司需要自行定义安全的范围、手段和实施方式。这可能是一项艰巨的任务,因此企业可能会为了简化审计流程而采取一些措施,例如强制使用侵入性的移动设备管理(MDM)软件,而不考虑其对工程师生产力的潜在影响。


Parad 建议,如果想摆脱一些令人烦恼的安全要求,就需要与安全团队展开对话,帮助他们构建令人信服的叙事。这包括记录你对本领域风险的看法、缩小安全漏洞影响范围的措施、已实施的保护层级,以及如何最小化事件影响。


Parad 探讨了如何最小化安全漏洞的影响,并以一个常见威胁为例:恶意行为者获取了工程师的云账户凭据:

最坏的情况是什么?如果我们应用了隔舱化(bulkheads)原则,这些凭据的作用范围仅限于一个云账户,而该账户可能(也可能没有)托管我们的生产环境。


Parad 提到,如果我们采用现代软件开发实践,访问权限将仅限于只读和一些无害的配置变更,因为资源的创建和删除将被自动化,并且仅作为 CI/CD 管道的一部分。


如果该账户包含对包含用户数据的数据库的访问权限,并且我们应用了适当的加密措施,那么这些数据对攻击者来说实际上是毫无用处的,Parad 补充道。


Parad 表示,试图预防此类事件将是一项成本高昂的工作,需要针对所有不同的攻击向量进行多次补救。相比之下,限制影响范围是一种全面的解决方案,它不需要付出太多努力或成本,并且通常还会带来额外的健壮性,她总结道。


InfoQ 采访了 Dorota Parad,探讨了如何让安全与工程生产力齐头并进。


InfoQ:你如何看待抵制那些阻碍生产力的安全要求?

Dorota Parad:只有当你有其他方法来最小化安全风险时,才能抵制这些要求。这正是 BLISS 框架(隔舱化、层级化、影响、简化和成功陷阱)的用武之地,它提供了一种不会阻碍工程师工作的替代方案。通过采用 BLISS,你可以让安全策略几乎对工程师不可见,同时将其深深融入企业文化中。


InfoQ:CI/CD 管道能否被视为一种安全实践?

Parad:这有时会让安全人士感到惊讶,但我的回答是肯定的:我认为 CI/CD 管道是一种安全工具。如果实施得当,它能显著降低恶意代码进入生产环境的风险。

典型的构建/部署管道具有层层递进的严格保护层级,代码越接近生产环境,保护层级就越严格。从 Git 访问控制提交代码,到开发者凭据创建拉取请求,再到自动测试发现潜在问题,最后是另一组凭据配合人工审查合并代码。这种方式能有效最小化安全风险。


InfoQ:如何通过 CI/CD 管道来增强安全性?

Parad:每一段代码都需要通过管道才能到达生产环境,没有任何例外。不允许手动干预推动构建通过,不允许跳过步骤,也不允许登录服务器复制文件或运行脚本。

要在实践中实现这一点,唯一的方法是保持 CI/CD 管道的健康和稳健,确保它们只在真正出问题时才会失败。不稳定的管道是安全和生产力的敌人。


【声明:本文由 InfoQ 翻译,未经许可禁止转载。】


原文链接:

https://www.infoq.com/news/2025/07/secure-software-productivity/

2025-07-18 13:001

评论

发布
暂无评论

Flink消费kafka消息实战

程序员欣宸

Java flink 7月月更

语音直播系统——提升云存储安全性的必要手段

开源直播系统源码

直播系统源码 语音直播系统 语音直播系统连麦

「行话」| 汽车软件如何高效交付?我们总结了这三个关键点

极狐GitLab

git DevOps gitlab DevSecOps 汽车

《数字经济 科技向善》大咖对谈干货来啦

易观分析

金融科技

Go语言系列:如何搭建Go语言开发环境?

小黑豆豆

后端 安装 教程 Go 语言 签约计划第三季

责任链模式在转转精准估价中的应用

转转技术团队

设计模式 责任链

万字详解 Google Play 上架应用标准包格式 AAB

融云 RongCloud

Google 安卓

兆骑科创创业大赛策划承办机构,双创平台,项目落地对接

兆骑科创凤阁

阿里P8熬了一个月肝出这份32W字Java面试手册,在Github标星31K+

程序员啊叶

Java 编程 程序员 架构 java面试

基于 Spring Cloud 的微服务架构分析

程序知音

Java 程序员 微服务 SpringCloud 后端技术

企业运维安全就用行云管家堡垒机!

行云管家

网络安全 运维安全 运维堡垒机 企业数据安全

面试官常问:如何手撸一个“消息队列”和“延迟消息队列”?

程序员啊叶

Java 编程 程序员 架构 java面试

Redis总结:缓存雪崩、缓存击穿、缓存穿透与缓存预热、缓存降级

程序员啊叶

Java 编程 程序员 架构 java面试

2022年中国网络视频市场年度综合分析

易观分析

数据分析 数字媒体 市场

初学者入门:使用WordPress搭建一个专属自己的博客

hum建应用专家

数据库 Wordpress 博客部署 WordPress

湖仓一体电商项目背景与架构介绍及基础环境准备

Lansonli

大数据项目 7月月更 签约计划第三季 湖仓一体电商项目

延迟队列DelayQueue性能测试

FunTester

如何开发一款基于 Vite+Vue3 的在线Excel表格系统(上)

葡萄城技术团队

前端 vite vue3.0

2022 秋招 Java 岗面试高频问题总结

程序员啊叶

Java 编程 程序员 架构 java面试

500强企业如何提升研发效能?来看看行业专家怎么说!

万事ONES

什么是Tor?Tor浏览器更新有什么用?

郑州埃文科技

TCP/IP tor 洋葱路由

云管平台中租户以及多租户概念简单说明

行云管家

云计算 云管平台

纯css实现:文字可换行的下划线、波浪线等效果

南极一块修炼千年的大冰块

7月月更

常见分布式理论(CAP、BASE)和一致性协议(Gosssip、Raft)

程序员啊叶

Java 编程 程序员 架构 java面试

单机高并发模型设计

C++后台开发

reactor 高并发 线程池 C/C++后台开发 C/C++开发

阿里经典30道Java面试题,看完记得收藏保存

程序员啊叶

Java 编程 程序员 架构 java面试

Gartner 权威预测未来4年网络安全的8大发展趋势

SEAL安全

安全 趋势 预测

别再用 System.currentTimeMillis 统计耗时了,太 Low,试试 Spring Boot 源码在用的 StopWatch吧,够优雅!

沉默王二

Java

Mall微服务版本全面升级!支持最新版SpringCloud

程序知音

Java spring 编程 程序员 后端技术

技术实践干货 | 从工作流到工作流

观远数据

工作流 workflow

如何在不牺牲生产力的情况下构建安全软件_云安全_Ben Linders_InfoQ精选文章