?譯者 | 胥磊
審校 | 孫淑娟
在過(guò)去的幾年中,低代碼和無(wú)代碼工具以及平臺(tái)在企業(yè)中興起。2021年,Gartner魔力象限在關(guān)于低代碼的報(bào)告中指出,41%的非IT從業(yè)人員使用低代碼/無(wú)代碼工具來(lái)定制、構(gòu)建數(shù)據(jù),或提出技術(shù)解決方案。同時(shí)Gartner預(yù)測(cè)到2025年底,將有一半的新增低代碼用戶來(lái)自從事非IT 行業(yè)的商業(yè)客戶。
低代碼/無(wú)代碼工具提供支持拖放的交互界面,使得即使非程序員也能夠創(chuàng)建或修改應(yīng)用程序。從而,用戶能夠開(kāi)發(fā)出新的數(shù)據(jù)驅(qū)動(dòng)的應(yīng)用程序,而且無(wú)需再依賴傳統(tǒng)的開(kāi)發(fā)團(tuán)隊(duì)。低代碼/無(wú)代碼框架允許企業(yè)通過(guò)使用預(yù)建的應(yīng)用組件“塊”輕松創(chuàng)建可快速部署的應(yīng)用程序。
低代碼/無(wú)代碼平臺(tái)以及工具針對(duì)的是兩類完全不同的用戶。一類是非技術(shù)人員,他們使用這些工具來(lái)創(chuàng)建自己的應(yīng)用程序,通常是為了簡(jiǎn)化自己的工作流程,以及連通那些可能還互不通信的產(chǎn)品。另一類用戶則是傳統(tǒng)開(kāi)發(fā)人員,使用這些預(yù)建的組件使他們的工作變得更簡(jiǎn)單,同時(shí)幫助他們快速組合這些預(yù)建的關(guān)鍵業(yè)務(wù)應(yīng)用組件。
Mendix最近進(jìn)行的一項(xiàng)調(diào)查顯示,64%的IT專業(yè)人士認(rèn)為低代碼是他們首選的開(kāi)發(fā)解決方案。另外多達(dá)59%的低代碼項(xiàng)目都是業(yè)務(wù)團(tuán)隊(duì)和IT團(tuán)隊(duì)協(xié)作完成的,這意味著你需要像考慮其他第三方代碼組件一樣去考慮軟件供應(yīng)鏈中的低代碼/無(wú)代碼組件。
低代碼/無(wú)代碼的風(fēng)險(xiǎn)
與使用基于容器的架構(gòu)或Serverless計(jì)算的傳統(tǒng)開(kāi)發(fā)模式一樣,采用低代碼/無(wú)代碼模式同樣存在與軟件供應(yīng)鏈相關(guān)的業(yè)務(wù)風(fēng)險(xiǎn)。任何模式的實(shí)現(xiàn)都依賴于提供的框架建立在安全可靠的基礎(chǔ)上,要求他們不能含有那些可能違反法規(guī)或發(fā)生網(wǎng)絡(luò)安全事件時(shí)會(huì)直接影響企業(yè)商譽(yù)的功能。
舉一個(gè)關(guān)于使用容器的案例:我們?cè)吹酱罅康南嚓P(guān)報(bào)告,惡意用戶在容器鏡像中植入隱藏的流氓軟件,然后將鏡像發(fā)布到公共Docker注冊(cè)。這是一個(gè)很大的庫(kù),因?yàn)槠湫抛u(yù)良好從中提取容器鏡像的用戶很少會(huì)再去檢查一下。然而一旦沒(méi)有對(duì)那些問(wèn)題鏡像進(jìn)行確切的檢查,任何引用它們的部署都將會(huì)為各種網(wǎng)絡(luò)威脅打開(kāi)大門,包括威脅數(shù)據(jù)安全的非預(yù)期功能。這就是軟件供應(yīng)鏈成為網(wǎng)絡(luò)安全團(tuán)隊(duì)首要考慮的原因之一。
框架與第三方 API 的交互
2021年教會(huì)了我們一件關(guān)于軟件的事情就是供應(yīng)鏈很復(fù)雜!攻擊者通過(guò)利用我們對(duì)開(kāi)發(fā)范例的信任不斷尋找漏洞。
向非技術(shù)人員推出低代碼/無(wú)代碼產(chǎn)品帶來(lái)的安全風(fēng)險(xiǎn)可能比用戶了解到的更為復(fù)雜。非技術(shù)人員可能也知道他們的應(yīng)用有數(shù)據(jù)隱私相關(guān)的需求,但是完全不清楚框架如何與第三方API進(jìn)行交互,滿足需求更是無(wú)從談起。從而可能無(wú)意中使他們的企業(yè)違反了相關(guān)法規(guī)要求。例如加利福尼亞隱私權(quán)法案(CPRA)定義了幾種新的個(gè)人身份信息(PII)隱私權(quán)法案,并為相關(guān)數(shù)據(jù)傳輸?shù)陌踩髷U(kuò)展了相關(guān)法案(CPPA)的定義。熟悉 CCPA 需求并使用低代碼/無(wú)代碼框架的非技術(shù)人員可能不知道如何正確處理這些新需求,甚至不知道框架是如何處理它們的。所以購(gòu)買低代碼/無(wú)代碼解決方案的企業(yè)應(yīng)在其供應(yīng)商選擇過(guò)程中關(guān)注以下內(nèi)容:
- 全面結(jié)合通用安全框架的安全審查,如 NIST 800-218《安全軟件開(kāi)發(fā)框架V1.1》。
- 供應(yīng)商提供的軟件物料清單(SBOM)需要描述支持低代碼/無(wú)代碼框架的軟件供應(yīng)鏈的復(fù)雜性。
- 審查數(shù)據(jù)傳輸和 API 使用情況,以確定數(shù)據(jù)處理的監(jiān)管影響。
- 了解低代碼/無(wú)代碼供應(yīng)商針對(duì)處理漏洞補(bǔ)丁的服務(wù)級(jí)別協(xié)議。
底線,它仍然是代碼
雖然低代碼/無(wú)代碼框架為開(kāi)發(fā)人員以及非技術(shù)人員提供了一種簡(jiǎn)單的開(kāi)發(fā)模式,但它們?nèi)匀恍枰a提供支持的?!暗痛a”和“無(wú)代碼”是指用戶需要知道多少代碼來(lái)實(shí)現(xiàn)應(yīng)用,而不是它們包含多少代碼。
與所有當(dāng)下的軟件一樣,低代碼/無(wú)代碼框架也是依賴許多的代碼庫(kù)構(gòu)建的:商業(yè)的第三方服務(wù)商、開(kāi)源組件以及云 API 服務(wù),這其中的每一個(gè)都代表一個(gè)獨(dú)立的代碼分支,每個(gè)分支又可以再包含自己的代碼分支。這些分支一起構(gòu)成了現(xiàn)在的服務(wù)供應(yīng)鏈,因此該鏈中的任何妥協(xié)都可能帶來(lái)相關(guān)攻擊。這就是為什么要了解你的軟件供應(yīng)鏈?zhǔn)侨绱酥匾脑?。即使?duì)于低代碼/無(wú)代碼框架也是如此,因?yàn)槿匀挥写a為這些應(yīng)用程序提供支持。如果框架提供者沒(méi)有能力管理相關(guān)風(fēng)險(xiǎn),那么最終承擔(dān)這些風(fēng)險(xiǎn)的就是該框架的使用者了。
譯者介紹
胥磊,51CTO社區(qū)編輯,某頭部電商技術(shù)副總監(jiān),關(guān)注Java后端開(kāi)發(fā),技術(shù)管理,架構(gòu)優(yōu)化,分布式開(kāi)發(fā)等領(lǐng)域。
原文標(biāo)題:??Low Code Does Not Mean Low Risk??,作者:Tim Mackey