低代碼與無代碼開發(fā)的四個安全隱患
如今,一股“全民開發(fā)者”的風潮正在興起,由非開發(fā)人員對應用進行開發(fā)和創(chuàng)造。通常,這種模式由低代碼或者無代碼框架輔助進行。這些框架和工具允許非開發(fā)人員通過GUI抓取或者移動組件,創(chuàng)建邏輯友好的業(yè)務應用。
讓更多的IT人員和業(yè)務社群創(chuàng)建應用來驅(qū)動業(yè)務價值,有非常明顯的吸引力。但這不代表低代碼和無代碼平臺本身沒有安全問題。就像其他軟件產(chǎn)品一樣,開發(fā)平臺和其相關(guān)代碼的安全問題,不容忽視。

何為低代碼/無代碼開發(fā)?
無代碼工具和平臺通過一個“抓取和放下”的界面,讓像商業(yè)分析師這樣的非程序員能夠創(chuàng)建和修改應用。在某些情況下,還是需要一些代碼能力(低代碼)和其他應用進行整合,或者生成報告和修改用戶界面等功能。這通常會用像SQL或者Python這樣的高級語言實現(xiàn)。
低代碼/無代碼平臺的例子包括Salesforce Lightning、FileMaker、Microsoft PowerApps和Google App Maker。這些平臺有四個比較重要的安全顧慮。
1. 低代碼/無代碼應用的低可視性
使用外部開發(fā)的平臺總是會有可視性問題。企業(yè)只是在使用軟件,但不知道源代碼是怎樣的、相關(guān)的安全隱患或者平臺已經(jīng)完成的測試情況和出現(xiàn)的問題。
這個問題可以通過向供應商索要一份SBOM(軟件物料清單)來緩解。SBOM能夠提供關(guān)于其所有的軟件組件信息以及其相關(guān)漏洞。SBOM的使用數(shù)量正在上升,最近Linux Foundation的研究顯示,78%的組織計劃在2022年使用SBOM。這表示,SBOM的使用正在逐漸成熟,行業(yè)對操作、流程和工具還有很大的優(yōu)化空間。
2. 不安全的代碼
和可視性相對應的是代碼的安全性問題。低代碼和無代碼平臺依然會有代碼存在:只不過這些是抽象的代碼,讓終端用戶可以直接使用預設(shè)的代碼功能。這對非開發(fā)者來說無疑是一個福音,因為他們不必再自己寫代碼了。但是問題就在,使用的代碼可能是不安全的,并且可能會通過低代碼和無代碼平臺跨組織、跨應用進行傳播。
解決方式之一是和平臺供應商合作,要求平臺中使用代碼的安全掃描結(jié)果。SAST和DAST的掃描結(jié)果能夠給客戶一定的保證,確保他們不是在復制那些不安全的代碼。在組織控制之外創(chuàng)建的代碼不是什么新鮮事,在開源軟件大量使用的時代十分常見。有近98%的組織使用開源代碼,同時還伴隨著如基礎(chǔ)設(shè)施即代碼(infrastructure-as-code, IaC)模板等其他供應鏈相關(guān)威脅。
另一個需要考慮的方面,在于許多低代碼和無代碼平臺通常都是SaaS化提供。這就需要向供應商要求像ISO、SOC2、FedRAMP等其他行業(yè)證明。這些能夠給組織的運營和安全控制提供更進一步的保障。
SaaS應用本身也會呈現(xiàn)出許多安全風險,需要適當?shù)闹卫砗桶踩刂?。如果對使用的SaaS應用和平臺不進行管制,組織就可能會暴露在風險之下。如果低代碼和無代碼平臺開發(fā)的應用會暴露組織或者客戶的敏感數(shù)據(jù),就會加劇這種風險。
3. 無法監(jiān)管的影子IT
由于低代碼和無代碼平臺允許沒有開發(fā)背景的人快速創(chuàng)建應用,這就會導致影子IT泛濫。影子IT在業(yè)務部門和人員創(chuàng)建的應用同時暴露在內(nèi)部和外部的時候發(fā)生。這些應用可能有組織、客戶或者監(jiān)管的敏感數(shù)據(jù),從而一旦發(fā)生泄漏事件,就會對組織形成一系列的負面影響。
4. 業(yè)務中斷
從業(yè)務連續(xù)性角度看,依賴低代碼和無代碼平臺的服務可能在平臺發(fā)生中斷時,打斷自身的業(yè)務。組織需要和包括低代碼和無代碼平臺的供應商,為業(yè)務關(guān)鍵應用建立SLA。
降低低代碼/無代碼平臺風險的一些建議
一些常見的安全最佳實踐都能夠緩解上述的風險,無論涉及的相關(guān)技術(shù)有哪些。這些優(yōu)秀實踐包括:
- 從有行業(yè)聲望的可信供應商處購買軟件和平臺。
 - 確保這些供應商有第三方認證資質(zhì),以證明他們內(nèi)部安全的實踐和流程。
 - 對自身應用和軟件庫中的低代碼和無代碼平臺負責,包括他們生產(chǎn)的應用。
 - 維持良好的準入控制,知道誰接入了平臺,以及他們被允許進行的活動。
 - 實施數(shù)據(jù)安全實踐,理解關(guān)鍵數(shù)據(jù)在哪,以及通過低代碼和無代碼平臺創(chuàng)建的應用是否存有這些敏感數(shù)據(jù)。
 - 知道低代碼和無代碼平臺在哪部署。這些平臺是在一個像AWS、谷歌或者微軟這樣的全球混合型云服務商部署,還是在一個合法的本地數(shù)據(jù)中心部署?
 
思考企業(yè)的安全文化也同樣重要。盡管說平臺本身的使用者不一定是開發(fā)者或者安全人員,他們依然應該理解他們使用和創(chuàng)建的應用與低代碼/無代碼平臺的安全隱患?!傲α吭酱?,責任越大”,這一點在低代碼和無代碼平臺上也一樣。
點評
企業(yè)總是以業(yè)務為優(yōu)先——這是必然的。當業(yè)務人員自己有能力開發(fā)應用的時候,無疑會大大減少因溝通產(chǎn)生的成本以及潛在的團隊不和諧問題。但是,運用第三方平臺也必然會產(chǎn)生軟件供應鏈的隱患。文章提出了一些預防低代碼/無代碼平臺中潛在的安全隱患,但是,進一步來看,僅僅預防是不夠的。一旦第三方平臺出現(xiàn)安全漏洞,業(yè)務團隊和安全團隊如何去修復和解決同樣會成為問題,企業(yè)的業(yè)務運作和安全的“剎車”在這個時候依然會再次碰撞。
因此,低代碼和無代碼平臺盡管說必然是未來企業(yè)發(fā)展的方向,但是同樣也預示著軟件供應鏈安全體系依然有極大的發(fā)展空間。















 
 
 







 
 
 
 