0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

相互竞争的优先事项使得开发人员难以保护代码

王鹏 来源:K_Ming 作者:K_Ming 2022-07-14 15:52 次阅读

随着组织转向云优先方法,云原生应用程序开发的挑战可能正在减缓开发周期。根据Tigera 4 月份的一项调查,随着这种转变,需要更高的安全能力。事实上,大多数开发人员将安全性视为云原生开发周期中的最大挑战。

根据Secure Code Warrior最近的一项研究,开发人员在面临相互竞争的优先事项时,正在努力为他们的软件设计安全性。三分之二的参与者承认,他们经常在代码中留下已知的漏洞和漏洞利用,只有 14% 的参与者将应用程序安全列为重中之重。

这是因为,尽管他们想做正确的事,但“他们的工作环境并不总是让他们很容易将其作为优先事项,”Secure Code Warrior 联合创始人兼首席执行官 Pieter Danhieux 在一份声明中说。

可能的原因包括代码复杂性增加和开发人员劳动力短缺。公司文化和发展方法,以及缺乏安全技能,也可能有所贡献。

正如 Secure Code Warrior 研究所说,“许多组织仍在采用传统的软件开发方法,同时应对不断变化的网络安全风险和需求。”

然而,安全团队知道 DevSecOps,或者至少是 DevOps,在软件开发开始时强调安全考虑的方法是至关重要的。根据 Secure Code Warrior 的说法,如果做得好,安全方面的开发人员可以“通过减少导致返工的漏洞、保持软件发布速度并在不影响创新的情况下确保代码质量来提高生产力”。

尽管 41% 的开发人员表示功能和安全性在他们的组织中同样重要,但他们也表示,新特性和功能、应用程序性能和按时完成比安全性更重要,是管理层的首要任务。

“我们的研究表明,开发人员实际上非常关注返工,而不一定是新功能,或者以安全的方式创建新功能,”Secure Code Warrior 的首席技术官 Matias Madou 告诉 EE Times。“他们的最终客户需要新功能,并认为质量是给定的。因此,开发人员专注于让产品更好、更快、更流畅,而不是将安全作为重中之重。”

您的代码中有哪些漏洞?向左移动安全代码并非易事

阻碍在开发周期早期集成安全代码的三大障碍——向左移动——是缺乏时间、计划和优先级。

缺乏时间可能与劳动力短缺直接相关。“永远不会有足够的人来确保安全,”麻豆说。“对于软件安全,打破这种模式的唯一方法是确保开发人员成为安全故事的一部分。”

Jon Jarboe

Cycode 的产品营销总监 Jon Jarboe 告诉 EE Times,开发人员和安全团队都从管理层那里获得了他们的优先事项和方向。

“这份报告揭示的一件事是它们经常不一致:安全团队的优先级可能与开发团队的优先级不一致。因此,开发人员可能被迫在开发目标和安全性之间做出选择。”

近三分之二的受访者表示很难编写没有漏洞的安全代码。工具和培训最常被认为是整个开发生命周期中最重要的安全需求。

但Jarboe 说,安全工具通常是为安全团队设计的,而不是为开发人员设计的,因此它们可能更具破坏性而不是有用。“这些安全工具也必须为开发人员设计。大多数安全公司现在可能正在解决这个问题,但他们在这方面的进展或成功程度各不相同。”

在开发过程中使用工具的地方也很重要。在产品发布之前运行测试工具不会有足够的时间来解决所有问题。Jarboe 解释说,安全工具的使用方式以及它们在开发中的使用位置必须改变。

该报告还指出,开发人员表示,他们的公司依赖于现有或预先批准的安全代码和工具,这些代码和工具只能解决已知漏洞,而不是使用所需的技能来编写新的、无漏洞的代码。

poYBAGLOk6WAUpmTAAXw7tA2xpw995.jpg


向左转移安全代码的主要障碍。

代码、开发环境变得越来越复杂

麻豆说,代码和开发环境的日益复杂绝对是一个问题。

“如果你问开发人员在做什么,那就是代码质量和让事情变得更简单,”他说。“他们在编写代码时列出的首要任务是代码质量和技术债务减少,同样的数字表示他们的首要任务是应用程序性能。”

环境复杂性的增加部分是由于开发人员继续在新旧语言和环境中工作。例如,Secure Code Warrior 提供 60 种不同语言和框架的培训。

“随着应用程序向微服务转移,软件复杂性肯定会随着向云原生的转变而增长,”Jarboe 说。“这些现在由不同的团队开发,他们必须相互沟通并与安全团队沟通,这可能很困难,并增加了公司内部的复杂性。”

所有这些都给公司文化带来了压力。“因此,要取得成功,组织的文化必须改变一直以来的做事方式,”Jarboe 说。

然而,这些变化现在特别困难,因为开发人员必须应对所有并行转换,包括 DevOps 和敏捷运动,以及大流行。

可以提供帮助的一件事是自动安全网或护栏。“没有[这些],开发人员无法始终以他们需要的速度解决问题,以满足最后期限,”Jarboe 说。“但如果你有自动测试来告诉你代码何时被破坏,你就可以专注于修复问题,而不是担心破坏问题。”

培训和技能提升的需要

开发人员对是否需要更多培训给出了相互矛盾的回应。虽然大多数人认为他们之前的安全代码培训良好或优秀,但 92% 的受访者表示他们团队中的其他人需要更多的安全框架培训。

尽管仍然存在包含漏洞的代码,但 81% 的人表示他们会定期在工作中进行安全培训。然而,只有 43% 的人表示培训与他们的工作高度相关,超过一半的人表示不熟悉常见的软件漏洞、如何利用这些漏洞以及避免这些漏洞的方法。

“组织并不总是给开发人员时间来提高自己的技能,”麻豆说。“项目的最后期限通常是昨天,因此他们必须开发新的特性和功能,而不考虑安全性,而只关注组织的短期目标。”

从代码中创建漏洞到发现漏洞平均需要大约两年时间。因此,以软件安全为目标的组织必须提前数年进行规划,麻豆解释说。“他们还必须考虑新员工的技能和培训。”

通常,开发人员无法明确说明安全编码的实际含义。这是因为大学课程中很少有关于如何创建安全代码的课程。

“为什么要提高自己的编码水平?因为在开发周期开始时你会犯错误,每个人都会犯错,”麻豆说。“只有在周期结束时,您才会意识到您的代码具有安全影响并且可能被滥用。因此,如果您学习如何编写安全代码,您将被视为优秀的开发人员。在报告中,大多数经理表示他们在雇用新开发人员时需要安全技能。”


审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66768
  • 开发人员
    +关注

    关注

    0

    文章

    19

    浏览量

    6293
收藏 人收藏

    评论

    相关推荐

    下一代调试器如何加速代码开发

    微控制器调试器和相关工具对于从事嵌入式系统的开发人员来说至关重要。它们帮助开发人员查找和修复错误、测试代码和优化性能。高级调试功能对生产力产生了重大影响,并可以缩短开发时间。许多新工具
    的头像 发表于 11-23 16:31 367次阅读

    开关电源开发人员必看

    电子发烧友网站提供《开关电源开发人员必看.pdf》资料免费下载
    发表于 11-08 15:41 0次下载
    开关电源<b class='flag-5'>开发人员</b>必看

    Zynq UltraScale+ MPSoC软件开发人员指南

    电子发烧友网站提供《Zynq UltraScale+ MPSoC软件开发人员指南.pdf》资料免费下载
    发表于 09-15 10:16 8次下载
    Zynq UltraScale+ MPSoC软件<b class='flag-5'>开发人员</b>指南

    Versal ACAP系统软件开发人员指南

    电子发烧友网站提供《Versal ACAP系统软件开发人员指南.pdf》资料免费下载
    发表于 09-13 15:20 0次下载
    Versal ACAP系统软件<b class='flag-5'>开发人员</b>指南

    ARM开发人员套件1.2版汇编指南

    功能是有限制的。 有关内联汇编器的更多信息,请参阅ADS开发人员指南中的混合C、C++和汇编语言一章。 这本书的其余部分主要是关于手臂的。
    发表于 09-01 10:41

    ARM Mali-T600系列GPU OpenCL开发人员指南

    。 GPU被设计为同时执行多个线程。 它们并行运行包含相对较少控制代码的计算密集型数据处理任务。 GPU通常包含比应用程序处理器多得多的处理元素,因此计算速度比应用程序处理器高得多。 OpenCL是第一种开放标准语言,使开发人员能够在GPU、应用程序处理器和其他类型的处理
    发表于 08-24 07:07

    ARM开发人员套件1.2版开发人员指南

    本书包含的信息将帮助您解决为基于ARM的处理器开发代码时的特定问题。 一般来说,本书中的章节假定您正在使用ARM开发人员套件(ADS)来开发代码
    发表于 08-23 07:29

    GitHub陆续封杀位于“美国贸易制裁国家”的开发人员

    Github 陆续封杀受美国制裁的国家或地区的开发人员账户,如果你在遭受美国制裁的国家/地区使用GitHub的在线服务,只能享用最基本的服务。
    的头像 发表于 08-21 10:34 537次阅读
    GitHub陆续封杀位于“美国贸易制裁国家”的<b class='flag-5'>开发人员</b>

    ARM GPU最佳实践开发人员指南

    我们的指南提供了在为Arm Immortalis和Mali GPU开发时如何优化应用程序的建议。这些建议是为那些希望开始使用Arm GPU的成熟开发人员准备的。
    发表于 08-10 06:58

    Splashtop开发人员远程桌面:随时随地进行安全编码

    开发人员不再需要被束缚在特定的物理位置即可访问其自定义开发环境。借助远程桌面解决方案,他们可以随时从任何位置连接到工作站。这意味着无论身在何处,他们都可以无缝地继续工作。当他们对需要立即关注的关键问题进行故障排除或修复时,这尤其有用。
    的头像 发表于 08-01 16:42 453次阅读

    UM-B-101:DA14585 IoT 多传感器开发套件开发人员指南

    UM-B-101:DA14585 IoT 多传感器开发套件开发人员指南
    发表于 07-05 20:59 0次下载
    UM-B-101:DA14585 IoT 多传感器<b class='flag-5'>开发</b>套件<b class='flag-5'>开发人员</b>指南

    UM-B-056:DA1468x 软件开发人员指南

    UM-B-056:DA1468x 软件开发人员指南
    发表于 07-05 20:36 0次下载
    UM-B-056:DA1468x 软件<b class='flag-5'>开发人员</b>指南

    IzoT BACnet 开发人员指南

    IzoT BACnet 开发人员指南
    发表于 07-04 20:48 0次下载
    IzoT BACnet <b class='flag-5'>开发人员</b>指南

    通过使用AI改善开发人员体验的13种令人印象深刻的方法

    在当今快速发展的技术环境中,人工智能 (AI) 正在全面改变行业,软件开发也不例外。AI 可以通过简化流程、自动执行重复性任务以及使开发人员能够构建创新应用程序来显著增强开发人员体验。
    发表于 06-09 09:24 502次阅读

    严肃编码人员的10条低代码规则

    使用低代码平台的 UI 开发人员或后端开发人员应该能够开发完整的应用程序,例如 SQL、JS/Java 和零 DevOps 的基本知识,并转变为全栈
    的头像 发表于 05-04 11:56 705次阅读