2021年初,和許多新技術(shù)一樣,低代碼(Low-code)開發(fā)被推上了“風(fēng)口”:阿里云認(rèn)為低代碼開發(fā)將是一場“革命”;騰訊云將低代碼視為一種有益的技術(shù)手段,并與Mendix(被西門子收購)展開了深度合作;高瓴、IDG、華創(chuàng)資本等投資機(jī)構(gòu)將低代碼視為投資新賽道,據(jù)統(tǒng)計,2020年1月-2021年8月,僅中國國內(nèi)就有至少15個低代碼平臺獲得超20家主流機(jī)構(gòu)的投資。
以上統(tǒng)計數(shù)據(jù)引自《財經(jīng)》報道
Gartner數(shù)據(jù)顯示,2020年,全球低代碼市場規(guī)模達(dá)84億美元,預(yù)計在2021年將超過百億美元。到2025年,全球低代碼市場規(guī)模將達(dá)到471億美元,復(fù)合增長率將達(dá)到41%,而且70%的新應(yīng)用將由低代碼或無代碼技術(shù)完成開發(fā)。
然而,低代碼開發(fā)在為企業(yè)打開“方便之門”的同時,也為威脅敞開了后門。企業(yè)在享受低代碼系統(tǒng)帶來的便利時,也往往埋下了系統(tǒng)附帶的安全問題隱患。
低代碼的誕生
事實上,通過低代碼進(jìn)行敏捷開發(fā)的理念早在30年前就已萌芽。21世紀(jì)初,歐洲誕生了兩家低代碼創(chuàng)業(yè)公司——葡萄牙的Outsystems以及荷蘭的Mendix。它們也是目前公認(rèn)的低代碼開發(fā)拓荒者和領(lǐng)導(dǎo)者。
只是,Outsystem和Mendix誕生后的很長一段時間,該項技術(shù)被稱為“敏捷開發(fā)平臺”。直至2014年,研究機(jī)構(gòu)Forrester Research才正式提出了低代碼的定義,即利用很少或幾乎不需要寫代碼就可以快速開發(fā)應(yīng)用,并可以快速配置和部署的一種技術(shù)和工具。如今,低代碼已經(jīng)從簡單的儀表板發(fā)展為復(fù)雜的應(yīng)用程序,功能越來越多樣化,得到業(yè)界的廣泛采用。
低代碼開發(fā)讓企業(yè)組織看到了“降本、增效、提質(zhì)”的可能性。它使非技術(shù)用戶能夠在數(shù)小時或數(shù)天內(nèi)生成出色的業(yè)務(wù)應(yīng)用程序。據(jù)Creatio調(diào)查結(jié)果顯示,在接受采訪的1000位開發(fā)高管中,95%的人認(rèn)為低代碼開發(fā)速度相對于傳統(tǒng)方式有提高,其中 61%的高管認(rèn)為提高速度在40%以上。
可以說,低代碼開發(fā)為企業(yè)降低了研發(fā)成本、人力成本,提升了效率,縮短了產(chǎn)品交付周期,使企業(yè)產(chǎn)品和服務(wù)能夠以更快的速度進(jìn)行迭代和優(yōu)化,并在激烈的市場競爭中脫穎而出。
低代碼開發(fā)風(fēng)險
不過,作為一項尚不成熟的技術(shù),機(jī)遇與挑戰(zhàn)總是相伴而生。
1. 缺乏可見性
全民開發(fā)人員(citizen developer)隨意構(gòu)建應(yīng)用程序會危及企業(yè)業(yè)務(wù)安全,IT部門很難跟蹤員工開發(fā)的應(yīng)用程序,甚至一些應(yīng)用程序還為惡意軟件和黑客提供訪問業(yè)務(wù)和客戶數(shù)據(jù)的“后門”。
過去,手動編碼由一支專業(yè)的IT人員和程序員負(fù)責(zé)編寫、檢查和測試。雖然這個過程未免漫長且磨人,但至少它所遵循的內(nèi)在邏輯安全且透明。但是,低代碼開發(fā)平臺中的組件是“黑盒”,其背后的邏輯并不對外展示,這些組件搭建起來是否相容、適配等均未知。一旦出現(xiàn)問題,企業(yè)將無法進(jìn)行排查和解決。
即便是進(jìn)行排查,這一過程不僅成本高昂,還會催生更多的“影子IT”,尤其是對那些完全依賴全民開發(fā)人員的組織而言。企業(yè)將很難注意到或跟進(jìn)全民開發(fā)人員使用低代碼構(gòu)建或修改的內(nèi)容。影子IT無疑會給企業(yè)增加額外成本,種種成本相加或許要比手動編碼更多。
2. 數(shù)據(jù)可訪問性(即對數(shù)據(jù)訪問的許可和控制)
低代碼開發(fā)平臺是集中部署的,整個企業(yè)的用戶可通過瀏覽器進(jìn)行訪問,這會帶來網(wǎng)絡(luò)入侵的風(fēng)險。比如為未授權(quán)的開發(fā)人員提供訪問權(quán)限,并為遠(yuǎn)程訪問中不需要它的用戶提供更大權(quán)限。因此,在部署任何低代碼系統(tǒng)之前,企業(yè)應(yīng)該限制數(shù)據(jù)的可訪問性。
IT部門可以通過邊界防護(hù)產(chǎn)品,限制對所有關(guān)鍵數(shù)據(jù)的訪問行為。另外,還可以設(shè)置僅對企業(yè)家、IT 團(tuán)隊或核心圈子可用的強(qiáng)安全代碼,這樣其他任何需要業(yè)務(wù)信息的人,都需要獲得批準(zhǔn)或通過驗證,才能獲得數(shù)據(jù),此舉可以有效遏制影子IT。
控制數(shù)據(jù)訪問,不僅可以幫助企業(yè)減少隱藏業(yè)務(wù)產(chǎn)生的額外成本,而且還可以輕松地將公共、私有內(nèi)容分開,更好地保護(hù)企業(yè)的內(nèi)部數(shù)據(jù),這對業(yè)務(wù)交易至關(guān)重要。
3. 第三方集成的風(fēng)險
第三方集成同樣帶來了一定比例的安全風(fēng)險,因為大多數(shù)低代碼開發(fā)平臺依賴第三方系統(tǒng)來交換或傳輸數(shù)據(jù),而組織無法定期跟進(jìn)這些數(shù)據(jù),從而為業(yè)務(wù)帶來了高風(fēng)險。而且,大多數(shù)第三方系統(tǒng)也使用低代碼功能,例如拖放、可視化圖形等,這也為企業(yè)帶來了不可控性。
此外,傳輸風(fēng)險很有可能不是在低代碼系統(tǒng)和第三方平臺中,而是包含在其他代碼庫源中。因此,系統(tǒng)中任何錯誤操作或缺陷都將使企業(yè)的數(shù)據(jù)面臨風(fēng)險,也很容易被黑客入侵,一旦系統(tǒng)受到威脅,恢復(fù)組織系統(tǒng)或客戶詳細(xì)信息將極具挑戰(zhàn)性。
4. 審核供應(yīng)商系統(tǒng)存在問題
大多數(shù)低代碼平臺安全控件對企業(yè)或組織都是可見的,不過,也有部分低代碼平臺供應(yīng)商不提供其整體平臺的管理員訪問權(quán)限,因此,企業(yè)需要使用第三方審核服務(wù)來檢查安全性,例如使用第三方安全工具、安全和合規(guī)性認(rèn)證、服務(wù)水平協(xié)議以及網(wǎng)絡(luò)安全保險等等。
值得注意的是,無法提供安全細(xì)節(jié)的低代碼平臺,會使組織和安全部門變得異常依賴第三方工具,但是這些工具很有可能會存在缺陷,甚至非常糟糕。因此,建議組織選擇在安全系統(tǒng)中提供透明度的低代碼平臺。
現(xiàn)在,有不少低代碼供應(yīng)商通過提供可訪問和透明的審計方法來改進(jìn)其服務(wù),如此一來,企業(yè)或組織將能夠消除在第三方工具上的昂貴支出。
低代碼安全建議
開發(fā)團(tuán)隊在部署低代碼平臺前,可考慮以下安全建議:
1、在實施低代碼平臺之前,讓IT和安全部門參與。IT部門、安全和開發(fā)團(tuán)隊對低代碼平臺進(jìn)行充分了解和分析,這將有助于檢查平臺中的漏洞,以及它們對企業(yè)或組織的有效性。
2、確保API安全性。組織往往會忽視API安全性,然而,在實行低代碼平臺或管理任何數(shù)字資產(chǎn)時,API安全性都是必不可少的。
3、評估低代碼供應(yīng)商。一旦組織同意使用低代碼平臺,就需要仔細(xì)審查有關(guān)供應(yīng)商的每一個細(xì)節(jié)。具體如下:
所選的低代碼平臺必須設(shè)置在企業(yè)安全的DMZ或私有云中,并且必須毫不費力地通過網(wǎng)絡(luò)安全許可;
該平臺必須對自動生成的代碼以及開發(fā)人員編寫的自定義代碼,實施最佳編程方案(編碼約定,設(shè)計模式和數(shù)據(jù)加密),以簡化與現(xiàn)有CI/CD流程和工具的集成;
該平臺必須針對Web和移動應(yīng)用程序Top 10 OWASP漏洞提供全面保護(hù),并具有第三方認(rèn)證以保證代碼質(zhì)量和安全性。此外,組織還應(yīng)確保所選平臺的二進(jìn)制文件以及CVE庫中列出的所有第三方依賴項(包括開源庫)中均不存在漏洞;
該解決方案必須支持提供多個身份驗證程序(數(shù)據(jù)庫,LDAP,AD,SSO,SAML,Open-ID,多因素,生物識別),以構(gòu)建具有強(qiáng)大用戶安全性的應(yīng)用程序。對于用戶授權(quán),請確保同時支持粗粒度訪問控制策略和細(xì)粒度訪問控制策略,以保護(hù)基于RBAC應(yīng)用程序的各個方面。
一套真正意義上的低代碼平臺,必須能夠覆蓋軟件研發(fā)全生命周期,實現(xiàn)工業(yè)級的效率提升。我們期待著,在業(yè)已成熟的軟件開發(fā)領(lǐng)域,能產(chǎn)生一次生產(chǎn)力大變革。