NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

应用程序安全的锅,谁来背?

  • 2019-07-28
  • 本文字数:1676 字

    阅读完需:约 5 分钟

应用程序安全的锅,谁来背?

对于软件开发来说,应用程序的安全性是最为重要的。随着企业 DevOps 的实践及相关工具的出现,企业软件的开发周期越来越短,对数据安全性的要求性也越来越高,在这种情况下,如何才能维持很好的应用程序安全性呢?应用程序的安全性又该由谁来负责呢?


为了搞清楚上述问题,WhiteSource 对 600 多名软件开发人员进行了调查,调查内容包括企业内应用程序安全职责的划分,测试安全性的时机以及在面对安全性挑战时采取的措施等等。

应用程序安全,谁来背锅?

在我们以前的认知里,如果应用程序发生安全问题,那自然是要负责安全的专业人员背锅,因为开发人员负责设计和构建产品,而安全专家则是专为安全而生,负责审核、标记、补救安全问题。但是随着技术的不断发展,之前划分明确的安全界限正在变得越来越模糊,在 WhiteSource 最新的调查中,71%的受访者表示几乎参与软件开发的所有人员都应该为安全负责,例如 DevOps 团队、安全团队、开发团队,甚至是开发者自己。



为什么开发人员也要为应用程序安全负责呢?因为如果是在软件开发的早期就修复安全漏洞,那么就可以显著降低所需的成本和工作量,不仅提高了灵活性,还能一次性生成安全性更高的应用程序。


当这么多人都参与到应用程序的安全工作中,该如何分配工作呢?比较好的一种方式是,开发人员负责监控和处理日常的安全工作,而安全人员从更高的维度把控安全问题,例如建立更好的安全流程。



(蓝色代表 DevOps、橘色代表 Developers、黄色代表 Team leaders in software development teams、紫色代表 Security teams)


不同规模的企业应该制定不同的安全规则,如果是比较小的企业或组织可以更灵活地定义安全流程。不过,所有类型的企业都应该慢慢把安全的责任慢慢向开发团队转移。

如何才能避免应用程序发生安全问题?

如何才能避免应用程序发生安全问题?首先,要在应用程序设计之初就把安全性考虑在内。在 WhiteSource 的调查中,只有 55%的企业或团队会在软件开发时把安全性放在首要位置,14%的受访者只有在发生问题时才会考虑安全性,更有 3%的受访者因为担心会拖慢开发进度,完全不考虑安全性。



之前,软件开发大多采用瀑布开发模式,只有在软件发布之前才会进行安全审核,但是现在采用 DevOps,我们可以在更早期的时候就测试安全漏洞,避免在软件发布时才会出现问题。


到底在什么时候开发人员进行安全测试是最合适的呢?在 WhiteSource 的调查中,36%的受访者是在软件构建之前开始进行安全测试,30%的受访者是在软件构建时进行安全测试,还有 34%的受访者是在后期建设时进行安全建设。


在软件构建之前就实施安全测试工作,这就代表着企业已经在有意识的转移安全工作,他们希望在问题修复时能够更容易、更快地找到问题所在。


另外,在调查中,WhiteSource 还发现对开源组件依赖性比较大的公司与在应用程序构建之前实施安全测试工作的公司之间具有强关联性。


如何检测、修复应用程序的安全问题?

为了更好更快地检测和修复应用程序的安全问题,企业往往会在此方面投入很多。在 WhiteSource 的调查中,只有 20%的受访者表示公司完全不提供任何安全培训,剩余的受访者公司都会或多或少地为他们提供安全培训。


除此之外,开发人员还需要掌握一系列应用程序安全测试(AST)技术。调查中,68%受访者表示已掌握、使用以下至少一种技术:SAST、DAST、SCA、IAST 和 RASP。如果集成了自动化应用程序安全测试工具,那么当发生安全警报时,相关人员就可以立即收到报警,第一时间处理相关问题。



由于开源软件的流行,很多企业 IT 架构中都会使用开源软件,这是开源组件的安全性就成为了我们关注的问题。根据调查,34%的开发人员会通过自动化软件组合分析工具来实时检测具有已知漏洞的开源组件。不过,这些 SCA 工具大多是开源工具,针对不同应用程序的安全性和提供给 DevOps 参与者的功能都很有限,目前这些工具已基本融入了开发人员现有的工作流。



当应用程序中检测到了易受攻击的开源组件该怎么办呢?调查中,排在前三位的解决方法分别是向安全团队、DevOps 或是上级报告该情况(25%)、查找该开源软件易受攻击的部分(23%)、根据项目组长提出的办法进行补救(20%)。


2019-07-28 15:553034
用户头像

发布了 497 篇内容, 共 309.1 次阅读, 收获喜欢 1907 次。

关注

评论

发布
暂无评论
发现更多内容

手把手教学电瓶车进电梯检测、多类别车辆追踪、异常行为检测产业级应用

百度大脑

低代码实现探索(三十三)前端脚本公式

零道云-混合式低代码平台

模块三作业

Mr小公熊

模块三作业

Leo

掉入成功的深渊

Shinta

微服务从代码到k8s部署应有尽有系列(三、鉴权)

万俊峰Kevin

微服务 web开发 鉴权 go-zero Go 语言

web前端开发Nodejs的C++ 拓展开发_前端培训

@零度

node.js 前端开发

DDD实战(2):看看代码结构长啥样

深清秋

DDD 软件架构 生鲜电商系统

外包学生管理系统架构设计文档

「架构实战营」

外包学生管理系统架构设计文档

石小天

「架构实战营」

全面解析湖仓一体与大数据演进历程|内含技术工具选型策略

云智慧AIOps社区

数据库 大数据 数据湖 Clickhouse 大数据运维

ESLint-源码分析

Tone荣

前端 eslint

原生JavaScript灵魂拷问,你能答上多少(一)

战场小包

JavaScript 前端 2月月更

互联网应用开发如何搭上AI的快车?来厦门开发者Meetup一探究竟

百度大脑

使用 Solidity、Web3 和 Vue.js 创建区块链游戏

devpoint

dapp NFT Solidity 2月月更

云计算架构设计6大原则,你遵循了吗?

博文视点Broadview

java培训:Netty的内存管理

@零度

Java Netty

震坤行工业超市研发效能提升之路

阿里云云效

云计算 阿里云 DevOps 云原生 研发

Go学习笔记——复合数据类型

为自己带盐

Go 学习笔记 2月月更

基于Qt设计的学生考勤系统

DS小龙哥

2月月更

中国 PostgreSQL 分会加入龙蜥社区,携手共建基础软件开源新生态

OpenAnolis小助手

postgresql Linux 开源

如何更好的使用TypeScript

Tone荣

前端 js ts js 转 ts

学生管理系统 - 详细设计方案

tom

「架构实战营」模块三作业 外包学生管理系统架构设计

hxb

「架构实战营」

等保2.0政策之物联网安全扩展要求包括哪四个?

行云管家

云计算 物联网 等保 等保2.0 扩展要求

Flink 新一代流计算和容错——阶段总结和展望

Apache Flink

大数据 flink 开源 编程 实时计算

重学架构之外包学生管理系统架构设计文档

陈华英

架构实战营

G1 面向服务端(多CPU)应用的垃圾回收器

蜜糖的代码注释

Java 垃圾回收器 2月月更

网易数帆大数据场景下的DataOps实践

网易数帆

大数据 数据治理 DataOps

外包学生管理系统架构

浪飞

堡垒机哪家好?贵不贵?作用是什么?

行云管家

堡垒机 等级保护 过等保 等保2.0

应用程序安全的锅,谁来背?_软件工程_田晓旭_InfoQ精选文章