■李汇4
低代码并不意味着低风险,企业鼓励更多人员开发应用程序,然而低代码开发会产生新的漏洞,并可能出现隐藏的安全问题。
如今,公民开发者的积极性越来越高,同时企业也希望由非开发者开发和创建应用程序,这通常使用低代码或无代码框架来促进。这些框架和工具允许非开发人员使用GUI来获取和移动组件,以制作业务逻辑友好的应用程序。
授权更广泛的IT和业务社区创建应用程序以推动业务价值具有明显的吸引力。也就是说,使用低代码和无代码平台并非没有安全问题,就像任何其他软件产品一样,开发平台及其相关代码的严谨性是一个不容忽视的问题。
低代码和无代码开发
无代码工具和平台使用拖放界面来允许业务分析师等非编程人员创建或修改应用程序。在某些情况下,可能需要编码(低代码)来与其他应用程序集成、生成报告或修改用户界面。这通常使用SQL或Python等高级编程语言来完成。
低代码/无代码平台的示例包括Salesforce Lightning,FileMaker,Microsoft PowerApps,Google App Maker。以下是使用此类平台时应该注意的重要安全问题。
低代码/无代码应用程序的可见性低
使用由外部开发的平台总是会带来可见性问题。很多人使用这些软件,却不了解源代码、相关漏洞或平台所经历的潜在测试和严格程度。
这可以通过利用向供应商申请软件物料清单(SBOM)等做法来缓解。这将提供对其包含的软件组件及其相关漏洞的深入了解。使用最新的Linux基础研究表明,78%的企业计划在2022年使用软件物料清单。尽管如此,软件物料清单的使用仍在发展,该行业还有很大的发展空间规范实践、流程和工具。
不安全的代码
与可见性问题相吻合的是不安全代码的可能性。低代码和无代码平台仍然有代码。他们只是抽象了编码,并允许最终用户使用预先提供的代码功能。这很好,因为它使非开发人员无需自己编写代码。当使用的代码是不安全的,通过低代码和无代码平台在企业和应用程序之间进行推断时,就可能会出现问题。
解决这个问题的一种方法是与平台供应商合作,要求平台内使用的代码有安全扫描。静态和动态应用
程序安全测试(SAST/DAST)等扫描结果可以为消费者提供一定程度的保证,即他们不仅仅是复制不安全的代码。在企业控制之外创建代码的想法并不是一个新概念,并且在开源软件的使用中很普遍,98%以上的企业使用开源软件,并且与其他存储库相关的软件供应链威胁也很常见,例如用于基础设施的代码(IaC)模板。
另一个要考虑的方面是,许多低代码和无代码平台都是以SaaS方式交付的。这使企业可以向供应商申请行业认证,例如ISO、SOC2、FedRAMP和其他认证。这为企业的运营和适用于SaaS应用程序/平台,本身的安全控制提供了进一步的保证。
SaaS应用程序本身存在许多安全风险,需要适当的治理和严格的安全性。如果没有对企业正在使用的SaaS应用程序和平台进行适当的审查,可能会让其业务面临不必要的风险。
失控的影子IT
由于低代码和无代码平台允许快速创建应用程序,即使是那些没有开发背景的人员,也可能导致影子IT的泛滥。影子IT发生在业务部门和员工创建应用程序并将它们用在企业内部或外部时。这些应用程序可能包含企业和客户敏感的或受监管的数据,如果这些应用程序在数据泄露中受到损害,可能会对企业产生一系列影响。
业务中断
从业务连续性的角度来看,如果平台出现中断,作为服务交付的低代码和无代码平台可能会中断业务。对于企业而言,为关键业务应用程序(包括低代码和无代码平台)建立服务水平协议(SLA)非常重要。
降低低代码/无代码开发风险的技巧
无论涉及何种技术,通用的安全最佳实践都可以减轻开发风险,其中包括:
①从行业声誉良好的值得信赖的供应商那里购买软件和平台;
②确保这些供应商拥有第三方认证证书,以代表其内部安全实践和流程;
③在企业的应用程序和软件清单中考虑低代码和无代码
平台,以及通过使用它们创建的应用程序;
④保持良好的访问控制,知道谁在访问平台以及他们被允许执行哪些活动。
⑤实施安全数据实践,以了解关键数据所在的位置,使用低代码和无代码平台创建的应用程序是否包
含敏感数据。
⑥了解托管低代码/无代码平台的位置。这些平台是否托管在AWS、Google或Microsoft Azure等超大规模全球云服务提供商的云平台中?或者它们是否托管在内部部署数据中心中,仅限于没有物理和逻辑访问控制?
考虑企业的安全文化也很重要。虽然平台用户可能不是行业的开发人员或安全专家,但他们应该了解正在使用和创建的低代码和无代码平台和应用程序的安全影响。正如更多的权力伴随着更大的责任,这句话也适用于低代码和无代码平台。
■吕蕴藉
基于软件定义边界(Software Defined Perimeter,SDP)是在网络边界模糊和消失趋势下给业务资源提供的隐身衣,使网络黑客看不到目标而无法发动攻击。
随着移动业务快速扩展,物联网、车联网、智慧城市的持续发展,资产防护的安全边界越来越不清晰,传统的边界防护架构越来越显得力不从心。边界安全主要存在的问题有如下几点:
黑客可以轻松劫持边界内的设备并从内部攻击企业
随着自带设备(BYOD)、外包人员、合作伙伴的增多,以及边界内部设备不确定因素的增加,导致安全漏洞不断增多。企业的业务资源除了部署在传统数据中心,也在不断向外部云资源扩展,如PaaS,IaaS,SaaS。因此,边界安全网络设备在拓扑上并不能很好地保护企业应用基础设施。
边界内部设备不断增长,移动终端、远程办公、企业业务在内网和公有云同时部署,这样的趋势已经破坏了企业使用的传统安全模型。因此需要一种新方法,能够对边界不清晰的网络业务场景进行更好的安全保护。
SDP的防护架构,以软件定义边界,将网络空间的网络元素身份化,通过身份定义访问边界,是零信任落地实现的一种重要方式。SDP旨在使应用程序所有者能够在需要时部署边界,以便将业务和服务与不安全的网络隔离开来。可以说,SDP是在网络边界模糊和消失趋势下给业务资源提供的隐身衣,它使网络黑客看不到目标而无法发动攻击。
SDP架构
linux终端下载软件SDP架构主要由SDP客户端、SDP控制器、SDP网关组成:
SDP客户端:为C/S型客户端应用、B/S型Web应用提供统一的应用访问入口,支持应用级别的访问控制。
SDP控制器:主要包含身份管理、PKI、可信评估、策略管理等组件。身份管理组件,对用户和终端认证,基于用户和应用的可信度生成动态权限;PKI公钥基础设施,为用户颁发身份密钥;可信评估组件,对用户、应用进行持续可信评估;策略管理组件,根据用户权限以及策略规范生成用户访问权限,生成安全隧道策略,并下发到客户端和网关。
SDP网关:对应用业务进行隐藏保护。在接收到控制器下发的策略后,和客户端建立安全隧道,并起到业务代理作用,访问应用业务。
SDP要求客户端在访问被保护的服务器之前,首先进行认证和授权,然后在端点和应用基础设施之间建立实时加密连接访问通路。SDP零信任的流程主要如下:
SDP控制器服务上线,连接至适当的认证和授权服务,例如PKI颁发证书认证服务、设备验证、地理定位、SAML、OpenID、oAuth、LDAP、Kerberos以及多因子身份验证等服务;
SDP客户端在控制器注册,控制器为客户端生成ID和一次性口令的种子,用于单包认证(SPA);
SDP客户端利用控制器生成的一次性口令种子和随机数生成一次性口令,进行单包认证,单包认证后,进行用户身份认证,认证通过后控制器为客户端分发身份令牌;
在SPA认证、用户身份认证通过后,SDP控制器确定SDP客户端可以连接的SDP网关列表;
SDP控制器通知SDP网关接收来自SDP客户端的通信,以及加密通信所需的所有可选安全策略、访问权限列表;
SDP客户端向每个可接受连接的SDP网关发起单包授权,并创建与这些SDP网关的双向加密连接,例如TSL、IPsec 等;
SDP客户端的业务访问请求到达SDP网关后,网关提取用户身份令牌,根据令牌、要访问的业务和用户的权限确认用户是否有权限访问该业务;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论