李匯
低代碼并不意味著低風險,企業(yè)鼓勵更多人員開發(fā)應用程序,然而低代碼開發(fā)會產(chǎn)生新的漏洞,并可能出現(xiàn)隱藏的安全問題。
如今,公民開發(fā)者的積極性越來越高,同時企業(yè)也希望由非開發(fā)者開發(fā)和創(chuàng)建應用程序,這通常使用低代碼或無代碼框架來促進。這些框架和工具允許非開發(fā)人員使用GUI來獲取和移動組件,以制作業(yè)務(wù)邏輯友好的應用程序。
授權(quán)更廣泛的IT和業(yè)務(wù)社區(qū)創(chuàng)建應用程序以推動業(yè)務(wù)價值具有明顯的吸引力。也就是說,使用低代碼和無代碼平臺并非沒有安全問題,就像任何其他軟件產(chǎn)品一樣,開發(fā)平臺及其相關(guān)代碼的嚴謹性是一個不容忽視的問題。
低代碼和無代碼開發(fā)
無代碼工具和平臺使用拖放界面來允許業(yè)務(wù)分析師等非編程人員創(chuàng)建或修改應用程序。在某些情況下,可能需要編碼(低代碼)來與其他應用程序集成、生成報告或修改用戶界面。這通常使用SQL或Python等高級編程語言來完成。
低代碼/無代碼平臺的示例包括Salesforce Lightning,F(xiàn)ileMaker,Microsoft PowerApps,Google App Maker。以下是使用此類平臺時應該注意的重要安全問題。
低代碼/無代碼應用程序的可見性低
使用由外部開發(fā)的平臺總是會帶來可見性問題。很多人使用這些軟件,卻不了解源代碼、相關(guān)漏洞或平臺所經(jīng)歷的潛在測試和嚴格程度。
這可以通過利用向供應商申請軟件物料清單(SBOM)等做法來緩解。這將提供對其包含的軟件組件及其相關(guān)漏洞的深入了解。使用最新的Linux基礎(chǔ)研究表明,78 %的企業(yè)計劃在2022年使用軟件物料清單。盡管如此,軟件物料清單的使用仍在發(fā)展,該行業(yè)還有很大的發(fā)展空間規(guī)范實踐、流程和工具。
不安全的代碼
與可見性問題相吻合的是不安全代碼的可能性。低代碼和無代碼平臺仍然有代碼。他們只是抽象了編碼,并允許最終用戶使用預先提供的代碼功能。這很好,因為它使非開發(fā)人員無需自己編寫代碼。當使用的代碼是不安全的,通過低代碼和無代碼平臺在企業(yè)和應用程序之間進行推斷時,就可能會出現(xiàn)問題。
解決這個問題的一種方法是與平臺供應商合作,要求平臺內(nèi)使用的代碼有安全掃描。靜態(tài)和動態(tài)應用程序安全測試(SAST/DAST)等掃描結(jié)果可以為消費者提供一定程度的保證,即他們不僅僅是復制不安全的代碼。在企業(yè)控制之外創(chuàng)建代碼的想法并不是一個新概念,并且在開源軟件的使用中很普遍,98 %以上的企業(yè)使用開源軟件,并且與其他存儲庫相關(guān)的軟件供應鏈威脅也很常見,例如用于基礎(chǔ)設(shè)施的代碼(IaC)模板。
另一個要考慮的方面是,許多低代碼和無代碼平臺都是以SaaS方式交付的。這使企業(yè)可以向供應商申請行業(yè)認證,例如ISO、SOC2、FedRAMP和其他認證。這為企業(yè)的運營和適用于SaaS應用程序/平臺,本身的安全控制提供了進一步的保證。
SaaS應用程序本身存在許多安全風險,需要適當?shù)闹卫砗蛧栏竦陌踩浴H绻麤]有對企業(yè)正在使用的SaaS應用程序和平臺進行適當?shù)膶彶?,可能會讓其業(yè)務(wù)面臨不必要的風險。
失控的影子IT
由于低代碼和無代碼平臺允許快速創(chuàng)建應用程序,即使是那些沒有開發(fā)背景的人員,也可能導致影子IT的泛濫。影子IT發(fā)生在業(yè)務(wù)部門和員工創(chuàng)建應用程序并將它們用在企業(yè)內(nèi)部或外部時。這些應用程序可能包含企業(yè)和客戶敏感的或受監(jiān)管的數(shù)據(jù),如果這些應用程序在數(shù)據(jù)泄露中受到損害,可能會對企業(yè)產(chǎn)生一系列影響。
業(yè)務(wù)中斷
從業(yè)務(wù)連續(xù)性的角度來看,如果平臺出現(xiàn)中斷,作為服務(wù)交付的低代碼和無代碼平臺可能會中斷業(yè)務(wù)。對于企業(yè)而言,為關(guān)鍵業(yè)務(wù)應用程序(包括低代碼和無代碼平臺)建立服務(wù)水平協(xié)議(SLA)非常重要。
降低低代碼/無代碼開發(fā)風險的技巧
無論涉及何種技術(shù),通用的安全最佳實踐都可以減輕開發(fā)風險,其中包括:
①從行業(yè)聲譽良好的值得信賴的供應商那里購買軟件和平臺;
②確保這些供應商擁有第三方認證證書,以代表其內(nèi)部安全實踐和流程;
③在企業(yè)的應用程序和軟件清單中考慮低代碼和無代碼平臺,以及通過使用它們創(chuàng)建的應用程序;
④保持良好的訪問控制,知道誰在訪問平臺以及他們被允許執(zhí)行哪些活動。
⑤實施安全數(shù)據(jù)實踐,以了解關(guān)鍵數(shù)據(jù)所在的位置,使用低代碼和無代碼平臺創(chuàng)建的應用程序是否包含敏感數(shù)據(jù)。
⑥了解托管低代碼/無代碼平臺的位置。這些平臺是否托管在AWS、Google或Microsoft Azure等超大規(guī)模全球云服務(wù)提供商的云平臺中?或者它們是否托管在內(nèi)部部署數(shù)據(jù)中心中,僅限于沒有物理和邏輯訪問控制?