您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 开发技术 > 正文

灵魂拷问:低代码安全可靠吗?

发表于:2022-03-17 作者:​​Lee Atchison 来源: infoworld

在一篇题为《低代码和无代码开发的4个安全问题》的文章中,作者 Chris Hughes 表示,“通过允许企业中更多的人开发应用程序,低代码开发会产生新的漏洞,并在安全性方面隐藏问题。”

我并不同意这个说法。具体来说,低代码或无代码解决方案本身并没有什么安全或不安全的地方。所有应用程序开发框架、系统、流程和策略(手动或自动)的安全性与企业为确保它们安全所做的投资一样。

是的,减少组织中能够构建应用程序的人数会降低应用程序存在安全漏洞的可能性。但是,使用该逻辑,确保应用程序安全的最佳方法是减少工程团队的规模,从而减少开发的应用程序。应用程序越少,来自这些应用程序的安全问题就越少。虽然这是一个真实的陈述,但它却不是一个切实可行的方法。

这是一个限制应用程序开发的观点。一个好的 CSO 会鼓励组织的发展,而不是扼杀它。是的,一个规模更大、发展更快的组织需要处理更棘手的安全问题。通过专注于限制组织可以构建的内容来提高应用程序安全性并不是有效的 CSO 为公司成功做出贡献的方式。最好的CSO会找到一种方法来解决增长机会中固有的安全问题。

低代码的情况也是如此。通过使所谓的公民开发者能够建立和扩展对企业有用的应用程序,你的公司能够实现增长。CSO和IT领导团队的其他成员应该专注于通过提供高质量、可靠和安全的低代码开发平台让你的公民开发者利用,从而使其更容易。这是避免安全漏洞的最好方法。

你是怎样做的?与其反对使用低代码开发工具,不如努力将企业级的低代码开发工具引入你的公司,使用户能够了解它们是如何工作的,并鼓励他们使用。然后,在同一时间,努力确保这些工具提供的环境是安全和可靠的。

这个策略不是把低代码开发降级,而是把低代码放在首位和中心,鼓励在CSO、安全部门和其他企业IT组织的职权范围内使用,这将使你的公司成长。这种增长利用了公民开发者队伍的价值,从而加强、提高和倍增了其他开发组织的价值。

低代码只是另一种工具

回想一下计算机的早期,当开发者用汇编语言或机器语言编写程序时。用这些低级语言开发是很困难的,需要经验丰富的开发人员来完成最简单的任务。今天,大多数软件是用高级编程语言开发的,如Java、Ruby、JavaScript、Python和C++。为什么呢?因为这些高级语言使开发人员能够更容易地编写更强大的代码,并专注于更大的问题,而不必担心机器语言编程的低级错综复杂的问题。

如下图所示,高级编程语言的到来增强了机器和汇编语言编程,一般来说,可以用较少的代码完成更多的工作。这被认为是一个巨大的进步,能够更快地实现更大和更好的应用。软件开发仍然是一项高度专业化的任务,需要高度专业化的技能和技术。但更多的人可以学习这些语言,软件开发人员的队伍也在不断壮大。高效软件开发人员的时代诞生了。

最终,开发人员开始编写更大、更复杂的应用程序。他们开始创建编程平台、框架和工具集来提高他们的开发能力。ASP.NET、Ruby on Rails、jQuery、Spring和React.js等框架使开发者能够更容易地构建更高级别的应用程序。然后,SaaS和云服务为开发者的武器库增加了更多的能力。

所有这些更高级的工具和服务,如下图所示,增强了开发经验,并继续保持了用更少的代码完成更多的工作的趋势。这是一个巨大的进步,能够更快地实现更复杂的应用程序。构建高价值的应用程序不仅更容易,而且还需要更少的培训来成为一个熟练的开发人员。更少的培训意味着有更多的软件开发人员可用。SaaS和基于云的应用程序的时代诞生了。

时代在前进,开发人员已经开始编写更大、更复杂的应用程序。人工智能和机器学习能力开始受到重视,低代码和无代码工具提高了开发者构建更复杂的应用程序的能力。如下图所示,这些工具增强了其他开发工具的能力,延续了让更少的代码完成更多工作的趋势。它们还向经验不足的开发者开放了开发。现在,没有接受过直接的、集中的开发者培训的人也可以建立执行高级任务的应用程序。公民开发者的时代诞生了。

公民开发者并没有什么根本性的新的或新颖的东西。它只是软件开发者角色演变中的最新迭代。在这个软件开发的进程中,没有任何东西使低代码或无代码比之前的任何其他开发改进更危险或更少,更安全或更少,更有用或更少。

说低码和无码工具从根本上说比早期的工具更不安全、更不有用或更不安全是虚伪的。它们是一套不断发展的工具,在我们前进的过程中,所有的企业都需要并将依赖这些工具。

低代码应被信任

如果低代码与其他开发环境的改进没有区别,那么为什么会有这么多反对低代码的炒作呢?

这并不罕见,也不意外。在他们的时代,每一个新的层次都面临着同样的阻力。不久前,我们还 "不敢 "考虑将云计算用于企业IT,或考虑将React用于一个严肃的企业应用。我还记得那些日子,Java是唯一被认为对企业IT开发足够安全的语言。

还有人担心低代码会导致影子IT?好吧,不久之前,云计算被认为是影子IT,或者像Ruby on Rails或React这样的 "新的和新颖的平台 "只能用于非官方的应用。

低代码、无代码和人工智能辅助的开发工具将继续存在,而且它们的重要性将继续增长。企业IT部门和企业安全部门将落后于时代,除非他们向前伸手,帮助推动这些平台的发展,而不是拖后腿,希望它们消失。

如果处理得当,低代码不会对任何其他平台、系统或开发环境造成额外的安全风险。它不会给你带来更多的运营风险或无法管理的成本。关键是要妥善处理。如果允许低代码成为影子IT的载体,那么它就会像任何其他影子IT项目一样不安全。如果允许低代码变得不受监视和不受控制,那么它就会像任何其他不受监视和不受控制的进程一样不安全。

低代码开发工具和平台已经成熟到可以信任的程度。在使用成熟供应商提供的高质量企业级低代码系统时更是如此。