风口上的低代码开发:是新变革?还是灾难性的安全威胁?
2021-09-27
来源:安全牛
2021年初,和许多新技术一样,低代码(Low-code)开发被推上了“风口”:阿里云认为低代码开发将是一场“革命”;腾讯云将低代码视为一种有益的技术手段,并与Mendix(被西门子收购)展开了深度合作;高瓴、IDG、华创资本等投资机构将低代码视为投资新赛道,据统计,2020年1月-2021年8月,仅中国国内就有至少15个低代码平台获得超20家主流机构的投资。
以上统计数据引自《财经》报道
Gartner数据显示,2020年,全球低代码市场规模达84亿美元,预计在2021年将超过百亿美元。到2025年,全球低代码市场规模将达到471亿美元,复合增长率将达到41%,而且70%的新应用将由低代码或无代码技术完成开发。
然而,低代码开发在为企业打开“方便之门”的同时,也为威胁敞开了后门。企业在享受低代码系统带来的便利时,也往往埋下了系统附带的安全问题隐患。
低代码的诞生
事实上,通过低代码进行敏捷开发的理念早在30年前就已萌芽。21世纪初,欧洲诞生了两家低代码创业公司——葡萄牙的Outsystems以及荷兰的Mendix。它们也是目前公认的低代码开发拓荒者和领导者。
只是,Outsystem和Mendix诞生后的很长一段时间,该项技术被称为“敏捷开发平台”。直至2014年,研究机构Forrester Research才正式提出了低代码的定义,即利用很少或几乎不需要写代码就可以快速开发应用,并可以快速配置和部署的一种技术和工具。如今,低代码已经从简单的仪表板发展为复杂的应用程序,功能越来越多样化,得到业界的广泛采用。
低代码开发让企业组织看到了“降本、增效、提质”的可能性。它使非技术用户能够在数小时或数天内生成出色的业务应用程序。据Creatio调查结果显示,在接受采访的1000位开发高管中,95%的人认为低代码开发速度相对于传统方式有提高,其中 61%的高管认为提高速度在40%以上。
可以说,低代码开发为企业降低了研发成本、人力成本,提升了效率,缩短了产品交付周期,使企业产品和服务能够以更快的速度进行迭代和优化,并在激烈的市场竞争中脱颖而出。
低代码开发风险
不过,作为一项尚不成熟的技术,机遇与挑战总是相伴而生。
1. 缺乏可见性
全民开发人员(citizen developer)随意构建应用程序会危及企业业务安全,IT部门很难跟踪员工开发的应用程序,甚至一些应用程序还为恶意软件和黑客提供访问业务和客户数据的“后门”。
过去,手动编码由一支专业的IT人员和程序员负责编写、检查和测试。虽然这个过程未免漫长且磨人,但至少它所遵循的内在逻辑安全且透明。但是,低代码开发平台中的组件是“黑盒”,其背后的逻辑并不对外展示,这些组件搭建起来是否相容、适配等均未知。一旦出现问题,企业将无法进行排查和解决。
即便是进行排查,这一过程不仅成本高昂,还会催生更多的“影子IT”,尤其是对那些完全依赖全民开发人员的组织而言。企业将很难注意到或跟进全民开发人员使用低代码构建或修改的内容。影子IT无疑会给企业增加额外成本,种种成本相加或许要比手动编码更多。
2. 数据可访问性(即对数据访问的许可和控制)
低代码开发平台是集中部署的,整个企业的用户可通过浏览器进行访问,这会带来网络入侵的风险。比如为未授权的开发人员提供访问权限,并为远程访问中不需要它的用户提供更大权限。因此,在部署任何低代码系统之前,企业应该限制数据的可访问性。
IT部门可以通过边界防护产品,限制对所有关键数据的访问行为。另外,还可以设置仅对企业家、IT 团队或核心圈子可用的强安全代码,这样其他任何需要业务信息的人,都需要获得批准或通过验证,才能获得数据,此举可以有效遏制影子IT。
控制数据访问,不仅可以帮助企业减少隐藏业务产生的额外成本,而且还可以轻松地将公共、私有内容分开,更好地保护企业的内部数据,这对业务交易至关重要。
3. 第三方集成的风险
第三方集成同样带来了一定比例的安全风险,因为大多数低代码开发平台依赖第三方系统来交换或传输数据,而组织无法定期跟进这些数据,从而为业务带来了高风险。而且,大多数第三方系统也使用低代码功能,例如拖放、可视化图形等,这也为企业带来了不可控性。
此外,传输风险很有可能不是在低代码系统和第三方平台中,而是包含在其他代码库源中。因此,系统中任何错误操作或缺陷都将使企业的数据面临风险,也很容易被黑客入侵,一旦系统受到威胁,恢复组织系统或客户详细信息将极具挑战性。
4. 审核供应商系统存在问题
大多数低代码平台安全控件对企业或组织都是可见的,不过,也有部分低代码平台供应商不提供其整体平台的管理员访问权限,因此,企业需要使用第三方审核服务来检查安全性,例如使用第三方安全工具、安全和合规性认证、服务水平协议以及网络安全保险等等。
值得注意的是,无法提供安全细节的低代码平台,会使组织和安全部门变得异常依赖第三方工具,但是这些工具很有可能会存在缺陷,甚至非常糟糕。因此,建议组织选择在安全系统中提供透明度的低代码平台。
现在,有不少低代码供应商通过提供可访问和透明的审计方法来改进其服务,如此一来,企业或组织将能够消除在第三方工具上的昂贵支出。
低代码安全建议
开发团队在部署低代码平台前,可考虑以下安全建议:
1、在实施低代码平台之前,让IT和安全部门参与。IT部门、安全和开发团队对低代码平台进行充分了解和分析,这将有助于检查平台中的漏洞,以及它们对企业或组织的有效性。
2、确保API安全性。组织往往会忽视API安全性,然而,在实行低代码平台或管理任何数字资产时,API安全性都是必不可少的。
3、评估低代码供应商。一旦组织同意使用低代码平台,就需要仔细审查有关供应商的每一个细节。具体如下:
所选的低代码平台必须设置在企业安全的DMZ或私有云中,并且必须毫不费力地通过网络安全许可;
该平台必须对自动生成的代码以及开发人员编写的自定义代码,实施最佳编程方案(编码约定,设计模式和数据加密),以简化与现有CI/CD流程和工具的集成;
该平台必须针对Web和移动应用程序Top 10 OWASP漏洞提供全面保护,并具有第三方认证以保证代码质量和安全性。此外,组织还应确保所选平台的二进制文件以及CVE库中列出的所有第三方依赖项(包括开源库)中均不存在漏洞;
该解决方案必须支持提供多个身份验证程序(数据库,LDAP,AD,SSO,SAML,Open-ID,多因素,生物识别),以构建具有强大用户安全性的应用程序。对于用户授权,请确保同时支持粗粒度访问控制策略和细粒度访问控制策略,以保护基于RBAC应用程序的各个方面。
一套真正意义上的低代码平台,必须能够覆盖软件研发全生命周期,实现工业级的效率提升。我们期待着,在业已成熟的软件开发领域,能产生一次生产力大变革。