【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

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

  • 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:553023
用户头像

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

关注

评论

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

顶级理解!阿里这份Github星标63.7K的Redis高级笔记简直不要太细

程序知音

Java 数据库 redis 架构 后端技术

详解webpack构建优化

Geek_02d948

webpack

企业如何低成本快速搭建团队知识库,实现企业知识管理?

Baklib

webpack模块化的原理

Geek_02d948

webpack

量化自动套利分红机器人系统开发(成熟技术)

开发微hkkf5566

Apache SeaTunnel(Incubating) 2.2.0-beta 版本发布!API 重构,连接器与引擎解偶

Apache SeaTunnel

数据同步 Seatunnel 版本发布 数据集成平台 新版本/特性发布

如何制作企业在线产品手册?这里有一些简单的方法!

Baklib

强引用、软引用、弱引用、幻象引用的区别

zarmnosaj

10月月更

企业级低代码开发平台有哪些?

优秀

企业级低代码平台 企业级低代码

英国国民信托 CIO:如何讲好可持续发展故事

雨果

CIO

阳振坤:分布式技术引领关系数据库发展

OceanBase 数据库

webpack热更新原理(面试大概率会问)

Geek_02d948

webpack

为什么最近关注“元数据”的人突然增多?

雨果

元数据 元数据管理 元数据管理平台

爬虫练习题(五)

张立梵

Python. 10月月更 爬虫案例

展示出你的创意,知识库搭建也可以这样玩!

Baklib

Python基础(十四) | Python之禅与时间复杂度分析

timerring

Python 时间复杂度 10月月更 python之禅

外包学生管理系统

早安

架构

一文了解 Python 中的对象比较方法 is 和 ==及其本质

宇宙之一粟

Python 10月月更

KunlunBase功能体验范例

KunlunBase昆仑数据库

MySQL 数据库

【指针】有哪些类型?

Geek_65222d

10月月更

小程序容器技术,或许是提升智能设备安全等级的又一解决方案

Speedoooo

浏览器安全 小程序容器

全彩LED显示屏在单位形象的作用

Dylan

LED显示屏 全彩LED显示屏 led显示屏厂家

5分钟带您了解DSL、以太网线缆和光纤之间的区别,值得收藏!

wljslmz

dsl 光纤 以太网 10月月更

如何打造优秀的客户体验?

Baklib

客户体验 客户体验管理

这几款小程序插件可以让效率翻倍

Geek_99967b

小程序

DataOps核心理念是什么?包括哪些模块?

雨果

DataOps

解读Vue3模板编译优化

yyds2026

Vue

如何搭建知识库网页?

Baklib

【一Go到底】第十天---位运算and移位运算符

指剑

Go golang 10月月更

RocketMQ Streams在云安全及 IoT 场景下的大规模最佳实践

阿里巴巴云原生

阿里云 云原生 Apache RocketMQ

实验精神终将胜利:量子纠缠的祛魅七十年

脑极体

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