无代码无国界:我们正在走向软件安全的狂野西部吗?

news2024/11/15 15:27:06

我们使用的几乎所有东西都是基于代码构建的,从汽车到智能冰箱再到门铃。在企业中,无数的应用程序保持设备、工作流程和操作的运行。因此,当早期的无代码开发平台于 2010 年推出时,承诺为公民开发人员提供更易于访问的应用程序开发,它的成功感觉是不可避免的。

很难否认无代码的成功。这些平台拉平了潜在开发人员的学习曲线,允许组织在开发人员技能短缺的情况下利用有用的应用程序进行创新和自动化。此外,无代码平台提供的开箱即用应用程序可以加快上市速度为王的世界中的应用程序开发流程。去年,Forrester 发现87% 的企业开发人员至少在部分工作负载中使用低代码和无代码工具或平台。

但功能并不是成功的唯一标志。无意中,推动应用程序开发民主化的相同趋势导致了不安全应用程序和错误配置的狂野西部,使整个组织面临网络威胁。

01

安全的重要性

虽然这些平台使开发民主化,但必须谨慎使用。OWASP Top 10强调了错误配置和使用易受攻击的组件作为常见安全威胁等因素。然而,对无代码开发的依赖可能会直接向组织引入未发现的漏洞。

Forrester 长期以来一直警告无代码和低代码的风险,并在未来几年的预测中强调了这一漏洞。未经培训的员工创建应用程序的幽灵尤其令人担忧:这些平台使没有应用程序安全知识的员工能够开发安全团队通常不知道的程序。

组织必须真正监督谁负责开发软件,无论是利用无代码平台作为工具的专业开发人员,还是为较小团队和项目创建应用程序的公民开发人员。CVE 急剧上升已不是什么秘密。去年,这一数字达到了创纪录的 28,092 人,预计到 2024 年将增加 25%。去年 12 月,微软披露了一个影响低代码和无代码用户的高严重性 CVE。

当企业每天面临大量新的漏洞利用时,漏洞检测和修复等技能对于任何新的软件开发项目都至关重要。

软件开发的角色需要变得更加灵活,但决不能以牺牲安全性为代价。通过在整个组织内培养“设计安全”的文化,安全领导者可以确保软件开发生命周期 (SDLC) 中的所有角色都了解他们在安全态势中的责任——包括公民开发人员。

02

增强人类干预能力

根据 Security Journey 研究,只有五分之一的组织对自己在应用程序发布之前检测漏洞的能力充满信心,这意味着大多数 SLDC 的安全知识不足。开发人员需要接受培训,以创建安全的软件,并在代码投入生产之前嗅出代码库其余部分中的不安全代码,快速响应并修复它。如果没有这一点,应用程序安全和安全团队就会承受不必要的负担,最终需要更多的时间、费用和潜在的业务风险。通过定期安全扫描和修补来保护漏洞不应该成为常态。

相反,组织有机会在开发人员的整个职业生涯中为他们提供安全技能和知识。这些技能使他们能够提供更高质量的输出,并在保护组织本身方面发挥至关重要的作用。然而,只有三分之一的组织 (36%) 培训开发人员编写安全代码,这确保了 64% 的情况下软件安全性在开发过程结束时开始。对于公民开发者来说也是如此,他们的工作通常表现出对解决问题和创新的热情,应该通过正确的培训来利用和支持这种热情。

03

未来的问题

如果认为软件安全风险上升纯粹是因为无代码和低代码平台,甚至公民开发者是 CVE 的主要贡献者,那就太还原了。近二十年来,软件开发的文化一直迫使该行业走上一条快速且轻松的安全之路。人工智能生成编码的激增最能证明这一点。

只要开发人员和他们上面的项目经理有动力快速行动,每个新解决方案都将根据其快速创建功能代码的能力而受到重视。直到监管机构、更重要的是高管和董事会将安全性列为优先事项之前,情况都会如此。

软件安全危机核心的文化脱节是人为造成的。无论哪种工具受到关注,构建安全软件都需要人类解决方案。虽然大型语言模型 (LLM) 尚无法解决开发人员日常面临的复杂问题,但最大的风险将来自用户的自满、过度依赖和盲目信任。人类开发人员能够执行严格的代码审查并修复他们发现的任何漏洞,对于安全实施这些技术(无论是无代码、低代码还是人工智能生成的技术)至关重要。如果没有这一点,这些工具就会面临在监管不那么严格的情况下引入更多漏洞的风险。

无论出现什么工具,知识渊博的人类用户总是需要了解该工具提供什么,并且可以作为质量和安全性的权宜之计。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1678755.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

QT状态机2-含终止状态的嵌套状态机

#include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)

有哪些好用的3dMax大神插件?

有哪些好用的3dMax大神插件? Mesh Insert 3DMAX网格插入插件Mesh Insert,在选择的面上安门窗、打螺丝、挖洞、插入眼耳口鼻及其它网格模型等可以分分钟搞定!它通过将面选择替换为库中的资源来加快建模过程。非常适合硬网格和有机建模&#xf…

NVM镜像源报错:Could not retrieve https://npm.taobao.org/mirrors/node/index.json.

NVM镜像源报错:Could not retrieve https://npm.taobao.org/mirrors/node/index.json. 淘宝前端node镜像源已更换 NVM安装教程:http://t.csdnimg.cn/dihmG 背景 笔者在安装版本切换工具NVM时,配置完镜像源后,在控制台输入&#x…

CSS 根据子元素选择父元素,并设置父元素的样式

场景举例&#xff1a;当子元素有增加了一个class时&#xff0c;需要影响其父元素的样式 可以使用":has"伪类来实现选择父元素的效果 <style>.parent:has(.child){background-color: #eee;}p{width:100px;border:1px solid #000;} </style> <body>…

C语言收尾 预处理相关知识

一. 预处理详解 1.1 预定义符号 FILE //进行编译的源文件LINE //文件当前的行号DATE //文件被编译的日期TIME //文件被编译的时间FUNCTION //文件当前所在的函数STDC //如果编译器遵循ANSI C标准&#xff0c;其值为1&#xff0c;否则未定义 这些预定义符号都是语言内置的 我们…

鸿蒙内核源码分析 (内存池管理) | 如何高效切割合并内存块

动态分配 系列篇将动态分配分成上下两篇&#xff0c;本篇为下篇&#xff0c;阅读之前建议翻看上篇。 鸿蒙内核源码分析(TLFS算法) 结合图表从理论视角说清楚 TLFS 算法鸿蒙内核源码分析(内存池管理) 结合源码说清楚鸿蒙内核动态内存池实现过程&#xff0c;个人认为这部分代码…

保研机试之【execve函数】

execve 参考&#xff1a;fork&#xff08;&#xff09;函数两次返回_fork是如何返回两次的-CSDN博客 setjmp/longjmp 还有E&#xff1a;

解决GitHub提交后不显示自己的头像 显示另一个没见过的账号?

问题说明 最近换了几台电脑开发项目&#xff0c;提交到github&#xff0c;看了下提交记录&#xff0c;怎么冒出来不是我的账号头像&#xff1f; 什么鬼i 原因分析 github是按照你注册时候填的邮箱来查找账号&#xff0c;并显示在提交记录上面的。如果账号找不到头像就出不来…

knife4j在线文档 测试框架

一、Knife4j介绍&#xff1a; 1.1.介绍&#xff1a; Knife4j是基于SpringBoot构建的一个文档生成工具&#xff0c;它可以让开发者为我们的应用生成在线API文档&#xff1b; 目的是可以更加方便的基于API文档进行测试。 生成的文档还可以导出&#xff0c;然后给到前端开发团队…

美国服务器托管的优势

很多企业会选择美国服务器托管&#xff0c;那么美国服务器托管有哪些优势&#xff0c;rak部落为您整理美国服务器托管的优势。 美国服务器托管的优势可能体现在以下几个方面&#xff1a; 高性能和稳定性&#xff1a;美国的数据中心和网络基础设施非常先进&#xff0c;能够提供高…

「Python绘图」绘制同心圆

python 绘制同心圆 一、预期结果 二、核心代码 import turtle print("开始绘制同心圆") # 创建Turtle对象 pen turtle.Turtle() pen.shape("turtle") # 移动画笔到居中位置 pen.pensize(2) #设置外花边的大小 # 设置填充颜色 pen.fillcolor("green&…

高通QCS6490开发(三):点亮板卡

QCS6490是高通公司针对高端物联网终端而优化的SoC&#xff0c;在性能和功耗上有最优的平衡。《高通QCS6490 AIoT应用开发》是介绍如何基于QCS6490平台完成AIIoT的应用开发的系列文章。 本期主要介绍介绍如何点亮FV01开发板。 以下步骤介绍如何点亮FV01开发板步骤 1、将12V/5A…

阿里巴巴发布最新财报,营收重回增长轨道

KlipC报道&#xff1a;5月14日&#xff0c;阿里巴巴集团发布2024财年及第四财季最新财报&#xff0c;财报显示第四财季收入2218.74亿元&#xff0c;同比增长7%&#xff0c;超出市场预期。2024财年收入同比增长8%&#xff0c;达9411.68亿元。 第四财季净利润244.2亿元人民币&am…

Java面试八股之LinkedHashMap和PriorityQueue的区别是什么

Java中LinkedHashMap和PriorityQueue的区别是什么 LinkedHashMap LinkedHashMap 是 HashMap 的一个子类&#xff0c;继承了 HashMap 的特性&#xff0c;并在此基础上添加了链表结构来维护元素的插入顺序。具体来说&#xff0c;LinkedHashMap 通过将每个条目&#xff08;entry…

C++ Primer 第五版 第十一章 关联容器

关联容器中的元素是按关键字来保存和访问的。 两个主要的关联容器类型是map和set。 一、使用关联容器 使用map 当从map中提取一个元素时&#xff0c;会得到一个pair类型的对象。pair是一个模板类型&#xff0c;保存两个名为first和second的&#xff08;公有&#xff09;数据成…

Vue3知识总结-4

Vue3知识总结-4 文章目录 Vue3知识总结-4插槽Slots渲染作用域默认内容具名插槽插槽中的数据传递具名插槽传递数据 组件声明周期声明周期示意图 组件生命周期的应用动态组件组件保持存活组件被卸载 异步组件依赖注入 插槽Slots 在某些场景中&#xff0c;可能想要为子组件传递一…

Hadoop Java API操作 及读取序列化文件(04-05-06)

针对于04-05-06班级整合。 1.创建java项目 2.修改pom.xml文件 添加依赖 <dependencies><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>3.1.4</version></dependenc…

react18【系列实用教程】memo —— 缓存组件 (2024最新版)

memo 的语法 如上图所示&#xff0c;在react中&#xff0c;当父组件重新渲染时&#xff0c;子组件也会重新渲染&#xff0c;即便子组件无任何变化&#xff0c;通过 memo 可以实现对组件的缓存&#xff0c;即当子组件无变化时&#xff0c;不再重新渲染子组件&#xff0c;核心代码…

leetcode刷题(6):二叉树的使用

文章目录 104. 二叉树的最大深度解题思路c 实现 94. 二叉树的中序遍历解题思路c 实现 101. 对称二叉树解题思路c 实现 96. 不同的二叉搜索树解题思路c 实现 102. 二叉树的层序遍历解题思路c 实现 104. 二叉树的最大深度 题目: 给定一个二叉树 root &#xff0c;返回其最大深度…

Git—安装及介绍

下载Git 官网地址&#xff1a;Git - Downloads (git-scm.com) 安装 双击安装包 点击 next 检查安装 桌面&#xff0c;右键鼠标&#xff0c;是否出现 Git GUI Here 和 Git Bash Here 打开Git Bash Here 输入命令 git --verison