写点什么

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

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

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

关注

评论

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

单元测试|Unittest setup前置初始化和teardown后置操作

霍格沃兹测试开发学社

软件开发中的资料整理与归档,软件产品开发文档合集

金陵老街

项目管理 文档管理软件

AI和社交媒体:改变信息传播的方式

测吧(北京)科技有限公司

测试

迎产业东风,柔性电子供应链企业的机会与挑战

华秋电子

PCB

飞书深诺AI系列--如何写出一个好的Prompt

飞书深诺技术团队

Qt For OpenHarmony

OpenHarmony开发者

OpenHarmony

软件测试|Python内置模块使用(一)

霍格沃兹测试开发学社

软件测试|Python基础之数据库

霍格沃兹测试开发学社

AI和智能家居:打造智慧生活

测吧(北京)科技有限公司

测试

AI和安全性:网络安全的挑战与机会

测吧(北京)科技有限公司

测试

软件测试|Pycharm版本控制与分支管理

霍格沃兹测试开发学社

软件测试|Python基础之面向对象(三)

霍格沃兹测试开发学社

软件测试|Python内置模块使用(二)

霍格沃兹测试开发学社

淘天集团联合爱橙科技开源大模型训练框架Megatron-LLaMA

阿里技术

大模型 AIGC

软件测试|MySQL安装最全教程

霍格沃兹测试开发学社

OpenHarmony系统能力SystemCapability使用指南

OpenHarmony开发者

OpenHarmony

将你的接口数据一目了然,借助 Apifox 的可视化响应功能

Apifox

前端 后端 Apifox API 可视化响应

软件测试|Python基础之模块导入和使用

霍格沃兹测试开发学社

软件测试|Python基础之包的使用和软件开发目录规范及常用内置模块

霍格沃兹测试开发学社

通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?

亚信AntDB数据库

AntDB 国产数据库 AntDB数据库

AI和语言翻译:跨文化交流的帮手

测吧(北京)科技有限公司

测试

软件测试/测试开发丨利用ChatGPT自动生成测试用例思维导图

测试人

人工智能 软件测试 思维导图 测试开发 ChatGPT

软件测试|App自动化之Appium工作原理

霍格沃兹测试开发学社

软件测试|TCP三次握手四次挥手

霍格沃兹测试开发学社

软件测试|Python基础之面向对象(二)

霍格沃兹测试开发学社

软件测试|Python基础之面向对象(四)

霍格沃兹测试开发学社

如何用华为云ModelArts平台玩转Llama2

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 企业号9月PK榜

AI和语音助手:智能助手的展露头角

测吧(北京)科技有限公司

测试

深入浅出:SPI机制在JDK与Spring Boot中的应用

华为云开发者联盟

后端 开发 华为云 华为云开发者联盟 企业号9月PK榜

LED显示屏租赁市场“价格”与“质量”的联系

Dylan

广告 LED显示屏 led显示屏厂家

软件测试|数据库的内连接,左连接,右链接分别是什么

霍格沃兹测试开发学社

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