低代码/无代码开发对安全性和生产力的影响

安全 应用安全
我们正在努力满足对新软件的需求——编写代码的艰苦努力已成为一般创新的瓶颈,尤其是率先上市。

低代码/无代码移动提供了简化的应用程序生成——但需要理解它是安全的。

我们正在努力满足对新软件的需求——编写代码的艰苦努力已成为一般创新的瓶颈,尤其是率先上市。 

在其他业务领域,此类问题正在通过自动化得到解决。应用于代码生成的自动化导致了“低代码/无代码”的概念;也就是说,软件的自动生成需要很少甚至不需要直接的人工编码。问题是这个概念是否会成为安全应用程序开发的真正福音,或者只是一个充满隐藏地雷和诱杀装置的承诺——就像开源软件已被证明的那样。

我们将研究这一演变的概念、用途、优缺点以及安全隐患。 

概念

“低代码/无代码的概念并不新鲜,”Contrast Security 的 CPO Steve Wilson 解释说;“但定义也不是很具体。几十年来,大多数计算机程序都是使用基于文本的编程语言(也称为代码)编写的。然后将生成的“源代码”“编译”为计算机可以执行的代码。对于当今在后端服务器、台式机甚至手机上运行的大多数应用程序来说都是如此。”

低代码/无代码环境正在引入更高级别的抽象,通常使用拖放图标和数据流图等概念。“换句话说,可视化编程而不是文本。或者,低代码环境可能会将可视化编程与少量文本代码混合在一起,通常称为“脚本”或“功能”,以允许开发人员或用户混合视觉和文本概念的好处。

Microsoft Power Apps 副总裁 Ryan Cunningham 介绍了 Microsoft 产品。“像 Microsoft Power Platform 这样的低代码/无代码平台,”他说,“使用人工智能、自动化和‘所见即所得’的工具,可以更轻松地创建应用程序、数据可视化、工作流、聊天机器人和网站比传统的“代码优先”软件开发更有效。”

使用

低代码/无代码的应用正在扩大,没有任何一句话或用例可以归类其潜力。从广义上讲,它属于应用程序或工作流,或具有工作流的应用程序。

Tines 的首席执行官兼联合创始人 Eoin Hinchy 拥有一个专为安全人员设计的低代码/无代码平台。“安全团队面临一个主要问题:工作量太大而人员不足,”他说。“更具体地说,过度劳累的员工正在做重复性和平凡的任务,这不仅会导致倦怠 [更有可能,'生锈',请参阅网络安全中的倦怠 - 可以预防吗?] 但人为错误可能会使公司损失数百万美元。”

这可以通过允许团队开发自己的脚本来自动化工作流程来解决。但是“安全分析师不一定具备编码技能,”Hinchy 继续说道,“因此,他们不得不召集开发人员,这可能需要数周或数月的时间来创建集成和部署自动化。然后,如果需要更新或添加,分析师需要让开发人员重新参与进来。”

他的论点是,无代码自动化允许一线安全分析师独立地自动化耗时的、关键任务的工作流程:“比如网络钓鱼攻击响应、可疑登录,甚至员工入职和离职。使用拖放式界面,用户可以将操作放入工作流中,将它们连接在一起,输入参数,进行测试,然后进行设置。”

自动化工作流程只是低代码/无代码概念的用途之一。Alpha Software 的首席执行官兼联合创始人理查德·拉宾斯 (Richard Rabins) 发现他的平台的核心技术经常被用于开发与数据收集工作流程相结合的移动和网络应用程序。

“最常见的用例,”他说,“是用移动应用程序代替纸质表格来收集数据。例如,您可能有一名检查桥梁的检查员。那个检查员以前在纸上输入检查细节,但现在检查员使用平板电脑上的应用程序。” Rabins 的产品可以从通用构建块构建该应用程序,因为数据收集的要求通常是相似的。

“在某些情况下,”他继续说道,“桥梁会很好,所需要的只是确定下一次检查的日期并提交报告。然而,通常需要采取进一步的行动。维修工作可能是必要的,因此该过程需要启动进一步的工作流程。” 此工作流也可以由他的应用程序生成,展示了结合独立应用程序和工作流的低代码/无代码用例。

Ryan Cunningham 看到了更广泛的能力。“每月有超过 740 万活跃的开发人员正在使用 Power Platform 构建独立的低代码应用程序、自动化、网站和仪表板。这些开发人员既有听力学家和前瓦工,也有敬业的软件专业人员,他们找到了一种可以更快、更高效地工作的新方法。”

从他的评论中需要注意的一点是,您无需成为开发人员即可开发新的应用程序——您可以是个体经营者或没有 IT 人员的小型企业,但仍然可以开发您自己的专有应用程序。但是,如果您是大型组织中的专业开发人员,则可以更快、更高效地工作。简而言之,低代码/无代码为不熟练的人带来技能,为专业人员带来效率。

优点和缺点

“低代码/无代码的两大优势是交付速度,并为‘业务用户’开放,以自助服务和开发满足他们需求的工作流,而无需与 IT 接触。然而,这也是最大的潜在陷阱,”ArmorCode 产品副总裁 Mark Lambert 评论道。

Teleport 的安全副总裁 Reed Loden 对此表示赞同。“我个人是低代码/无代码的忠实拥护者,”他说。“这些类型的产品使代码集成变得非常容易,使某些通常需要花费大量时间才能完成的操作成为可能。”

但有利也有弊,他继续说道。“优点是开发人员可以快速进行对网络安全非常有用的集成。例如,它可以创建一个交互来检测警报并自动修复问题,而无需任何人工干预。缺点是这些类型的工具需要大量访问权限,因此如果它们遭到破坏,对客户来说真的很糟糕。”

Cunningham 将这场运动描述为一股民主力量:“这项技术通过提高现有专业人员的生产力,同时为更广泛的用户实现软件开发民主化,从而改变了传统的开发格局。”

让专业人员在专业环境中提高工作效率是件好事。“它降低了与一次性软件项目或许多业务用户在没有任何其他可行解决方案的情况下会求助的'影子 IT' 替代方案相关的风险,”他补充道。

但同样的民主化进程可能会增加影子 IT。在一个领域,它可以帮助小型企业开发个人应用程序以改善内部运营和工作流程。这可能是好是坏,具体取决于应用程序使用的安全性。

但它也可以说服大型组织的员工绕过 IT 部门,生产他或她自己的个人自动化工具。“将开发的权力赋予非开发人员,”Salt Security 的现场首席技术官 Nick Rago 评论道,“也会带来与影子 IT 相关的另一种安全风险,即使端点旨在‘仅供内部使用’。我们已经看到太多漏洞,攻击者获得内部应用程序和 API 的内部访问权限或特权访问权限。”

Lambert 补充道,“简而言之,我们需要一个定义好的流程来将低代码、无代码部署到生产环境中;并有护栏以确保,如果出现任何问题,潜在的损害是有限的。”

公平地说,Cunningham 在 Microsoft 产品中存在广泛的防护措施。“Power Platform 建立在 Microsoft 众所周知的所有安全和治理功能之上,”他评论道,“并使 IT 部门能够要求围绕应用程序开发和数据访问的标准护栏。管理员可以围绕数据、应用程序和环境构建护栏。”

问题是,一旦一项新技术在进行中,它就无法被遏制。我们在 AI 和生成式预训练转换器 (GPT)(例如ChatGPT )中看到了这一点——AI 使用的民主化导致其在开发人员的内置护栏之外的个人使用。在低代码/无代码的情况下,不希望受到 IT 部门约束的个人可能会转向第三方平台来制作他们自己的影子 IT应用程序,在 IT 部门的官方护栏范围之外。

正如网络创造了公民记者一样,低代码/无代码也创造了公民开发人员——同样的担忧。输出以及主题与输出之间的联系都增加了,但输出的准确性和质量需要仔细审查。应用程序开发的民主化——至少对企业而言——可能更应该被视为潜在的令人担忧的副作用,而不是低代码/无代码的优势。

“低代码的优势之一是它允许非开发人员构建自己的应用程序,”Contrast Security 的首席技术官兼联合创始人 Jeff Williams 说。但他补充说,“这也有一个缺点,因为公民开发者更有可能犯下可能导致安全问题的无意错误。我预计公民开发人员会犯很多基本错误,例如硬编码和暴露凭据、缺少身份验证和授权检查、PII 泄露以及实施细节暴露。”

也就是说,如果可以将流程限制在专业的 IT 部门,则可以更快地生成更多且可能更安全的代码——仅此一项就会推动越来越多的采用。

Gluware 的 CPO Ernest Lefner(一家为网络提供无代码流程自动化的公司)看到了低代码/无代码移动的六大主要优势。这些是更快的创新、更低的成本和更高的效率、以客户为中心的交付、更低的风险、更好地控制知识产权和标准化。

“低代码/无代码策略的最大陷阱,”他说,“围绕着采用和文化。大型组织有无数专门为避免众所周知的问题而创建的流程。当您对 90% 以上的交付采用自动化时,其中许多问题将不复存在。在许多情况下,组织试图通过对过度臃肿的交付流程进行所有检查和平衡来改进低代码/无代码解决方案,并显着增加自动化方式的复杂性。”

尽管如此,ArmorCode 产品副总裁 Mark Lambert 坚称,“仅仅因为任何人‘可以’创造某物,并不意味着他们应该创造。编程本身就很困难。这就是为什么它是一个职业。这就是人们拥有计算机科学学位的原因。以及我们开发流程以确保交付的软件既可靠又安全的原因。”

Vulcan Cyber 的高级技术工程师 Mike Parkin 说:“如果平台设计良好并且正在生成安全的代码,那是一件好事,但它也可能引入威胁行为者可以利用的特质或漏洞。不过,总的来说,低代码/无代码平台提供的优势多于不提供。”

安全隐患

“低代码解决方案通常被认为更像是一个黑盒子,开发人员可能无法完全控制底层系统的使用方式,因此很难确保应用程序的安全性,”Sauce 产品和应用程序副总裁 Jason Davis 警告说实验室。“这可能会产生影响,因为工程师无法控制网络安全、服务器配置、安全策略和第三方服务的使用。”

Cunningham 坚信低代码/无代码的潜在安全性。“管理良好的低代码实践通过在内置安全最佳实践的强大平台上标准化应用程序交付来显着减少安全问题……公司可以设置细粒度的数据丢失防护策略以应用于低代码环境。”

但 Davis 补充说,“诸如通过不充分的输入验证、不安全的用户输入处理或允许未经身份验证的访问的后门而产生的漏洞始终是一个问题。”

Rabins 认为,安全问题更多地在于成品应用程序的使用,而不是其生成器的构建块。首先,生成器是由专家以安全第一的方法开发的。其次,它处于安全专家的不断监督之下。第三,由于它是一个基于云的平台,任何问题都可以立即为所有未来的客户解决和纠正。

但他补充说,“任何编写的软件都具有巨大的安全隐患。一个应用程序可能会派护士到自己家里照顾病人,它会收集敏感的医疗信息。” 在这里,与其说是应用程序代码的安全性,不如说是需要考虑应用程序使用的安全性。

这是主要的安全问题:应用程序生产的民主化将能力交到可能对网络安全和合规性法规知之甚少的个人手中。

使事情复杂化的是,这些个人或个体贸易商可能是您供应链的一个组成部分。然而,威廉姆斯并不认为我们应该过分强调安全问题。“[所有软件] 的风险本质上是相同的。身份验证、授权、注入、加密、日志记录、库等。每个应用程序框架都略有不同。低/无代码也不例外。”

Wilson 指出:“与 IT 中的许多事情一样,安全是一种共同责任模型。用户/开发人员负责什么,开发环境负责什么。在低代码环境中,SQL 注入等经典“漏洞”可能不必担心,许多用户身份验证问题可能会自动处理。但是,用户/开发人员仍然可能会犯逻辑错误,因为他们将不适当的数据传回给用户或以不安全的方式存储数据。本质上,问题都还在那里,只是在谁负责什么方面转移了。至少,你应该彻底调查低代码工具提供商推荐的安全特性、工具和实践。”

进化

“将网络的命运专门交到自动化手中仍然存在信任问题。许多网络商店仍希望将一只手放在方向盘上。随着我们对低代码/无代码平台的能力获得信任,我们应该会看到采用率的提升,”Lefner 说。“最终没有人愿意在周六凌晨 2:00 工作了。凭借我们今天拥有的自动化能力,没有人需要这样做。”

他相信这仅仅是个开始。“我预计在接下来的 12 到 18 个月内,低代码/无代码解决方案将会激增。由于技能供不应求,以及大规模自动化程序的绝对复杂性和高故障率,公司将需要一种灵活、风险较小的方式来提高效率。”

与所有新技术一样,早期也存在顾虑。基于云的平台减少了对低代码/无代码的一些担忧。对管理结果所必需的治理和护栏的更深入理解将会到来。没有缺点的优点会随着时间的推移而增加。 

这显然是应用程序代码生成过程中的一个进化步骤。试图阻止进化就像站在推土机前从不可避免的山上滚下来。

责任编辑:武晓燕 来源: 祺印说信安
相关推荐

2022-02-18 13:54:56

安全开发漏洞

2022-04-18 12:10:43

数字化代码企业

2013-03-21 10:51:06

开发者代码质量开发经验

2022-04-15 06:19:30

低代码无代码代码安全

2021-10-21 06:52:18

低代码无代码开发

2021-09-03 09:19:57

2023-08-29 15:14:32

2013-10-10 09:42:33

惠普低碳经济新型生产力

2020-08-10 10:25:18

人工智能技术工具

2023-05-23 14:34:08

2024-09-23 16:09:01

Python编程

2010-12-27 14:16:42

2021-02-20 10:08:11

代码开发平台

2022-05-24 12:42:24

物联网

2009-07-01 15:25:16

Servlet和JSP

2024-07-23 09:50:52

2021-03-10 09:00:00

无服务器安全工具

2024-01-19 16:43:01

2020-09-11 10:40:50

低代码无代码开发

2021-03-12 06:21:20

物联网IoT
点赞
收藏

51CTO技术栈公众号