低代碼/無(wú)代碼開(kāi)發(fā)對(duì)安全性和生產(chǎn)力的影響
低代碼/無(wú)代碼移動(dòng)提供了簡(jiǎn)化的應(yīng)用程序生成——但需要理解它是安全的。
我們正在努力滿足對(duì)新軟件的需求——編寫(xiě)代碼的艱苦努力已成為一般創(chuàng)新的瓶頸,尤其是率先上市。
在其他業(yè)務(wù)領(lǐng)域,此類問(wèn)題正在通過(guò)自動(dòng)化得到解決。應(yīng)用于代碼生成的自動(dòng)化導(dǎo)致了“低代碼/無(wú)代碼”的概念;也就是說(shuō),軟件的自動(dòng)生成需要很少甚至不需要直接的人工編碼。問(wèn)題是這個(gè)概念是否會(huì)成為安全應(yīng)用程序開(kāi)發(fā)的真正福音,或者只是一個(gè)充滿隱藏地雷和誘殺裝置的承諾——就像開(kāi)源軟件已被證明的那樣。
我們將研究這一演變的概念、用途、優(yōu)缺點(diǎn)以及安全隱患。
概念
“低代碼/無(wú)代碼的概念并不新鮮,”Contrast Security 的 CPO Steve Wilson 解釋說(shuō);“但定義也不是很具體。幾十年來(lái),大多數(shù)計(jì)算機(jī)程序都是使用基于文本的編程語(yǔ)言(也稱為代碼)編寫(xiě)的。然后將生成的“源代碼”“編譯”為計(jì)算機(jī)可以執(zhí)行的代碼。對(duì)于當(dāng)今在后端服務(wù)器、臺(tái)式機(jī)甚至手機(jī)上運(yùn)行的大多數(shù)應(yīng)用程序來(lái)說(shuō)都是如此?!?/p>
低代碼/無(wú)代碼環(huán)境正在引入更高級(jí)別的抽象,通常使用拖放圖標(biāo)和數(shù)據(jù)流圖等概念。“換句話說(shuō),可視化編程而不是文本?;蛘撸痛a環(huán)境可能會(huì)將可視化編程與少量文本代碼混合在一起,通常稱為“腳本”或“功能”,以允許開(kāi)發(fā)人員或用戶混合視覺(jué)和文本概念的好處。
Microsoft Power Apps 副總裁 Ryan Cunningham 介紹了 Microsoft 產(chǎn)品?!跋?Microsoft Power Platform 這樣的低代碼/無(wú)代碼平臺(tái),”他說(shuō),“使用人工智能、自動(dòng)化和‘所見(jiàn)即所得’的工具,可以更輕松地創(chuàng)建應(yīng)用程序、數(shù)據(jù)可視化、工作流、聊天機(jī)器人和網(wǎng)站比傳統(tǒng)的“代碼優(yōu)先”軟件開(kāi)發(fā)更有效?!?/p>
使用
低代碼/無(wú)代碼的應(yīng)用正在擴(kuò)大,沒(méi)有任何一句話或用例可以歸類其潛力。從廣義上講,它屬于應(yīng)用程序或工作流,或具有工作流的應(yīng)用程序。
Tines 的首席執(zhí)行官兼聯(lián)合創(chuàng)始人 Eoin Hinchy 擁有一個(gè)專為安全人員設(shè)計(jì)的低代碼/無(wú)代碼平臺(tái)?!鞍踩珗F(tuán)隊(duì)面臨一個(gè)主要問(wèn)題:工作量太大而人員不足,”他說(shuō)?!案唧w地說(shuō),過(guò)度勞累的員工正在做重復(fù)性和平凡的任務(wù),這不僅會(huì)導(dǎo)致倦怠 [更有可能,'生銹',請(qǐng)參閱網(wǎng)絡(luò)安全中的倦怠 - 可以預(yù)防嗎?] 但人為錯(cuò)誤可能會(huì)使公司損失數(shù)百萬(wàn)美元?!?/p>
這可以通過(guò)允許團(tuán)隊(duì)開(kāi)發(fā)自己的腳本來(lái)自動(dòng)化工作流程來(lái)解決。但是“安全分析師不一定具備編碼技能,”Hinchy 繼續(xù)說(shuō)道,“因此,他們不得不召集開(kāi)發(fā)人員,這可能需要數(shù)周或數(shù)月的時(shí)間來(lái)創(chuàng)建集成和部署自動(dòng)化。然后,如果需要更新或添加,分析師需要讓開(kāi)發(fā)人員重新參與進(jìn)來(lái)?!?/p>
他的論點(diǎn)是,無(wú)代碼自動(dòng)化允許一線安全分析師獨(dú)立地自動(dòng)化耗時(shí)的、關(guān)鍵任務(wù)的工作流程:“比如網(wǎng)絡(luò)釣魚(yú)攻擊響應(yīng)、可疑登錄,甚至員工入職和離職。使用拖放式界面,用戶可以將操作放入工作流中,將它們連接在一起,輸入?yún)?shù),進(jìn)行測(cè)試,然后進(jìn)行設(shè)置?!?/p>
自動(dòng)化工作流程只是低代碼/無(wú)代碼概念的用途之一。Alpha Software 的首席執(zhí)行官兼聯(lián)合創(chuàng)始人理查德·拉賓斯 (Richard Rabins) 發(fā)現(xiàn)他的平臺(tái)的核心技術(shù)經(jīng)常被用于開(kāi)發(fā)與數(shù)據(jù)收集工作流程相結(jié)合的移動(dòng)和網(wǎng)絡(luò)應(yīng)用程序。
“最常見(jiàn)的用例,”他說(shuō),“是用移動(dòng)應(yīng)用程序代替紙質(zhì)表格來(lái)收集數(shù)據(jù)。例如,您可能有一名檢查橋梁的檢查員。那個(gè)檢查員以前在紙上輸入檢查細(xì)節(jié),但現(xiàn)在檢查員使用平板電腦上的應(yīng)用程序?!?nbsp;Rabins 的產(chǎn)品可以從通用構(gòu)建塊構(gòu)建該應(yīng)用程序,因?yàn)閿?shù)據(jù)收集的要求通常是相似的。
“在某些情況下,”他繼續(xù)說(shuō)道,“橋梁會(huì)很好,所需要的只是確定下一次檢查的日期并提交報(bào)告。然而,通常需要采取進(jìn)一步的行動(dòng)。維修工作可能是必要的,因此該過(guò)程需要啟動(dòng)進(jìn)一步的工作流程。” 此工作流也可以由他的應(yīng)用程序生成,展示了結(jié)合獨(dú)立應(yīng)用程序和工作流的低代碼/無(wú)代碼用例。
Ryan Cunningham 看到了更廣泛的能力?!懊吭掠谐^(guò) 740 萬(wàn)活躍的開(kāi)發(fā)人員正在使用 Power Platform 構(gòu)建獨(dú)立的低代碼應(yīng)用程序、自動(dòng)化、網(wǎng)站和儀表板。這些開(kāi)發(fā)人員既有聽(tīng)力學(xué)家和前瓦工,也有敬業(yè)的軟件專業(yè)人員,他們找到了一種可以更快、更高效地工作的新方法?!?/p>
從他的評(píng)論中需要注意的一點(diǎn)是,您無(wú)需成為開(kāi)發(fā)人員即可開(kāi)發(fā)新的應(yīng)用程序——您可以是個(gè)體經(jīng)營(yíng)者或沒(méi)有 IT 人員的小型企業(yè),但仍然可以開(kāi)發(fā)您自己的專有應(yīng)用程序。但是,如果您是大型組織中的專業(yè)開(kāi)發(fā)人員,則可以更快、更高效地工作。簡(jiǎn)而言之,低代碼/無(wú)代碼為不熟練的人帶來(lái)技能,為專業(yè)人員帶來(lái)效率。
優(yōu)點(diǎn)和缺點(diǎn)
“低代碼/無(wú)代碼的兩大優(yōu)勢(shì)是交付速度,并為‘業(yè)務(wù)用戶’開(kāi)放,以自助服務(wù)和開(kāi)發(fā)滿足他們需求的工作流,而無(wú)需與 IT 接觸。然而,這也是最大的潛在陷阱,”ArmorCode 產(chǎn)品副總裁 Mark Lambert 評(píng)論道。
Teleport 的安全副總裁 Reed Loden 對(duì)此表示贊同?!拔覀€(gè)人是低代碼/無(wú)代碼的忠實(shí)擁護(hù)者,”他說(shuō)?!斑@些類型的產(chǎn)品使代碼集成變得非常容易,使某些通常需要花費(fèi)大量時(shí)間才能完成的操作成為可能?!?/p>
但有利也有弊,他繼續(xù)說(shuō)道?!皟?yōu)點(diǎn)是開(kāi)發(fā)人員可以快速進(jìn)行對(duì)網(wǎng)絡(luò)安全非常有用的集成。例如,它可以創(chuàng)建一個(gè)交互來(lái)檢測(cè)警報(bào)并自動(dòng)修復(fù)問(wèn)題,而無(wú)需任何人工干預(yù)。缺點(diǎn)是這些類型的工具需要大量訪問(wèn)權(quán)限,因此如果它們?cè)獾狡茐?,?duì)客戶來(lái)說(shuō)真的很糟糕?!?/p>
Cunningham 將這場(chǎng)運(yùn)動(dòng)描述為一股民主力量:“這項(xiàng)技術(shù)通過(guò)提高現(xiàn)有專業(yè)人員的生產(chǎn)力,同時(shí)為更廣泛的用戶實(shí)現(xiàn)軟件開(kāi)發(fā)民主化,從而改變了傳統(tǒng)的開(kāi)發(fā)格局?!?/p>
讓專業(yè)人員在專業(yè)環(huán)境中提高工作效率是件好事。“它降低了與一次性軟件項(xiàng)目或許多業(yè)務(wù)用戶在沒(méi)有任何其他可行解決方案的情況下會(huì)求助的'影子 IT' 替代方案相關(guān)的風(fēng)險(xiǎn),”他補(bǔ)充道。
但同樣的民主化進(jìn)程可能會(huì)增加影子 IT。在一個(gè)領(lǐng)域,它可以幫助小型企業(yè)開(kāi)發(fā)個(gè)人應(yīng)用程序以改善內(nèi)部運(yùn)營(yíng)和工作流程。這可能是好是壞,具體取決于應(yīng)用程序使用的安全性。
但它也可以說(shuō)服大型組織的員工繞過(guò) IT 部門(mén),生產(chǎn)他或她自己的個(gè)人自動(dòng)化工具?!皩㈤_(kāi)發(fā)的權(quán)力賦予非開(kāi)發(fā)人員,”Salt Security 的現(xiàn)場(chǎng)首席技術(shù)官 Nick Rago 評(píng)論道,“也會(huì)帶來(lái)與影子 IT 相關(guān)的另一種安全風(fēng)險(xiǎn),即使端點(diǎn)旨在‘僅供內(nèi)部使用’。我們已經(jīng)看到太多漏洞,攻擊者獲得內(nèi)部應(yīng)用程序和 API 的內(nèi)部訪問(wèn)權(quán)限或特權(quán)訪問(wèn)權(quán)限?!?/p>
Lambert 補(bǔ)充道,“簡(jiǎn)而言之,我們需要一個(gè)定義好的流程來(lái)將低代碼、無(wú)代碼部署到生產(chǎn)環(huán)境中;并有護(hù)欄以確保,如果出現(xiàn)任何問(wèn)題,潛在的損害是有限的?!?/p>
公平地說(shuō),Cunningham 在 Microsoft 產(chǎn)品中存在廣泛的防護(hù)措施?!癙ower Platform 建立在 Microsoft 眾所周知的所有安全和治理功能之上,”他評(píng)論道,“并使 IT 部門(mén)能夠要求圍繞應(yīng)用程序開(kāi)發(fā)和數(shù)據(jù)訪問(wèn)的標(biāo)準(zhǔn)護(hù)欄。管理員可以圍繞數(shù)據(jù)、應(yīng)用程序和環(huán)境構(gòu)建護(hù)欄?!?/p>
問(wèn)題是,一旦一項(xiàng)新技術(shù)在進(jìn)行中,它就無(wú)法被遏制。我們?cè)?AI 和生成式預(yù)訓(xùn)練轉(zhuǎn)換器 (GPT)(例如ChatGPT )中看到了這一點(diǎn)——AI 使用的民主化導(dǎo)致其在開(kāi)發(fā)人員的內(nèi)置護(hù)欄之外的個(gè)人使用。在低代碼/無(wú)代碼的情況下,不希望受到 IT 部門(mén)約束的個(gè)人可能會(huì)轉(zhuǎn)向第三方平臺(tái)來(lái)制作他們自己的影子 IT應(yīng)用程序,在 IT 部門(mén)的官方護(hù)欄范圍之外。
正如網(wǎng)絡(luò)創(chuàng)造了公民記者一樣,低代碼/無(wú)代碼也創(chuàng)造了公民開(kāi)發(fā)人員——同樣的擔(dān)憂。輸出以及主題與輸出之間的聯(lián)系都增加了,但輸出的準(zhǔn)確性和質(zhì)量需要仔細(xì)審查。應(yīng)用程序開(kāi)發(fā)的民主化——至少對(duì)企業(yè)而言——可能更應(yīng)該被視為潛在的令人擔(dān)憂的副作用,而不是低代碼/無(wú)代碼的優(yōu)勢(shì)。
“低代碼的優(yōu)勢(shì)之一是它允許非開(kāi)發(fā)人員構(gòu)建自己的應(yīng)用程序,”Contrast Security 的首席技術(shù)官兼聯(lián)合創(chuàng)始人 Jeff Williams 說(shuō)。但他補(bǔ)充說(shuō),“這也有一個(gè)缺點(diǎn),因?yàn)楣耖_(kāi)發(fā)者更有可能犯下可能導(dǎo)致安全問(wèn)題的無(wú)意錯(cuò)誤。我預(yù)計(jì)公民開(kāi)發(fā)人員會(huì)犯很多基本錯(cuò)誤,例如硬編碼和暴露憑據(jù)、缺少身份驗(yàn)證和授權(quán)檢查、PII 泄露以及實(shí)施細(xì)節(jié)暴露。”
也就是說(shuō),如果可以將流程限制在專業(yè)的 IT 部門(mén),則可以更快地生成更多且可能更安全的代碼——僅此一項(xiàng)就會(huì)推動(dòng)越來(lái)越多的采用。
Gluware 的 CPO Ernest Lefner(一家為網(wǎng)絡(luò)提供無(wú)代碼流程自動(dòng)化的公司)看到了低代碼/無(wú)代碼移動(dòng)的六大主要優(yōu)勢(shì)。這些是更快的創(chuàng)新、更低的成本和更高的效率、以客戶為中心的交付、更低的風(fēng)險(xiǎn)、更好地控制知識(shí)產(chǎn)權(quán)和標(biāo)準(zhǔn)化。
“低代碼/無(wú)代碼策略的最大陷阱,”他說(shuō),“圍繞著采用和文化。大型組織有無(wú)數(shù)專門(mén)為避免眾所周知的問(wèn)題而創(chuàng)建的流程。當(dāng)您對(duì) 90% 以上的交付采用自動(dòng)化時(shí),其中許多問(wèn)題將不復(fù)存在。在許多情況下,組織試圖通過(guò)對(duì)過(guò)度臃腫的交付流程進(jìn)行所有檢查和平衡來(lái)改進(jìn)低代碼/無(wú)代碼解決方案,并顯著增加自動(dòng)化方式的復(fù)雜性?!?/p>
盡管如此,ArmorCode 產(chǎn)品副總裁 Mark Lambert 堅(jiān)稱,“僅僅因?yàn)槿魏稳恕梢浴瘎?chuàng)造某物,并不意味著他們應(yīng)該創(chuàng)造。編程本身就很困難。這就是為什么它是一個(gè)職業(yè)。這就是人們擁有計(jì)算機(jī)科學(xué)學(xué)位的原因。以及我們開(kāi)發(fā)流程以確保交付的軟件既可靠又安全的原因?!?/p>
Vulcan Cyber 的高級(jí)技術(shù)工程師 Mike Parkin 說(shuō):“如果平臺(tái)設(shè)計(jì)良好并且正在生成安全的代碼,那是一件好事,但它也可能引入威脅行為者可以利用的特質(zhì)或漏洞。不過(guò),總的來(lái)說(shuō),低代碼/無(wú)代碼平臺(tái)提供的優(yōu)勢(shì)多于不提供?!?/p>
安全隱患
“低代碼解決方案通常被認(rèn)為更像是一個(gè)黑盒子,開(kāi)發(fā)人員可能無(wú)法完全控制底層系統(tǒng)的使用方式,因此很難確保應(yīng)用程序的安全性,”Sauce 產(chǎn)品和應(yīng)用程序副總裁 Jason Davis 警告說(shuō)實(shí)驗(yàn)室?!斑@可能會(huì)產(chǎn)生影響,因?yàn)楣こ處煙o(wú)法控制網(wǎng)絡(luò)安全、服務(wù)器配置、安全策略和第三方服務(wù)的使用?!?/p>
Cunningham 堅(jiān)信低代碼/無(wú)代碼的潛在安全性。“管理良好的低代碼實(shí)踐通過(guò)在內(nèi)置安全最佳實(shí)踐的強(qiáng)大平臺(tái)上標(biāo)準(zhǔn)化應(yīng)用程序交付來(lái)顯著減少安全問(wèn)題……公司可以設(shè)置細(xì)粒度的數(shù)據(jù)丟失防護(hù)策略以應(yīng)用于低代碼環(huán)境。”
但 Davis 補(bǔ)充說(shuō),“諸如通過(guò)不充分的輸入驗(yàn)證、不安全的用戶輸入處理或允許未經(jīng)身份驗(yàn)證的訪問(wèn)的后門(mén)而產(chǎn)生的漏洞始終是一個(gè)問(wèn)題?!?/p>
Rabins 認(rèn)為,安全問(wèn)題更多地在于成品應(yīng)用程序的使用,而不是其生成器的構(gòu)建塊。首先,生成器是由專家以安全第一的方法開(kāi)發(fā)的。其次,它處于安全專家的不斷監(jiān)督之下。第三,由于它是一個(gè)基于云的平臺(tái),任何問(wèn)題都可以立即為所有未來(lái)的客戶解決和糾正。
但他補(bǔ)充說(shuō),“任何編寫(xiě)的軟件都具有巨大的安全隱患。一個(gè)應(yīng)用程序可能會(huì)派護(hù)士到自己家里照顧病人,它會(huì)收集敏感的醫(yī)療信息?!?nbsp;在這里,與其說(shuō)是應(yīng)用程序代碼的安全性,不如說(shuō)是需要考慮應(yīng)用程序使用的安全性。
這是主要的安全問(wèn)題:應(yīng)用程序生產(chǎn)的民主化將能力交到可能對(duì)網(wǎng)絡(luò)安全和合規(guī)性法規(guī)知之甚少的個(gè)人手中。
使事情復(fù)雜化的是,這些個(gè)人或個(gè)體貿(mào)易商可能是您供應(yīng)鏈的一個(gè)組成部分。然而,威廉姆斯并不認(rèn)為我們應(yīng)該過(guò)分強(qiáng)調(diào)安全問(wèn)題?!癧所有軟件] 的風(fēng)險(xiǎn)本質(zhì)上是相同的。身份驗(yàn)證、授權(quán)、注入、加密、日志記錄、庫(kù)等。每個(gè)應(yīng)用程序框架都略有不同。低/無(wú)代碼也不例外?!?/p>
Wilson 指出:“與 IT 中的許多事情一樣,安全是一種共同責(zé)任模型。用戶/開(kāi)發(fā)人員負(fù)責(zé)什么,開(kāi)發(fā)環(huán)境負(fù)責(zé)什么。在低代碼環(huán)境中,SQL 注入等經(jīng)典“漏洞”可能不必?fù)?dān)心,許多用戶身份驗(yàn)證問(wèn)題可能會(huì)自動(dòng)處理。但是,用戶/開(kāi)發(fā)人員仍然可能會(huì)犯邏輯錯(cuò)誤,因?yàn)樗麄儗⒉贿m當(dāng)?shù)臄?shù)據(jù)傳回給用戶或以不安全的方式存儲(chǔ)數(shù)據(jù)。本質(zhì)上,問(wèn)題都還在那里,只是在誰(shuí)負(fù)責(zé)什么方面轉(zhuǎn)移了。至少,你應(yīng)該徹底調(diào)查低代碼工具提供商推薦的安全特性、工具和實(shí)踐?!?/p>
進(jìn)化
“將網(wǎng)絡(luò)的命運(yùn)專門(mén)交到自動(dòng)化手中仍然存在信任問(wèn)題。許多網(wǎng)絡(luò)商店仍希望將一只手放在方向盤(pán)上。隨著我們對(duì)低代碼/無(wú)代碼平臺(tái)的能力獲得信任,我們應(yīng)該會(huì)看到采用率的提升,”Lefner 說(shuō)?!白罱K沒(méi)有人愿意在周六凌晨 2:00 工作了。憑借我們今天擁有的自動(dòng)化能力,沒(méi)有人需要這樣做?!?/p>
他相信這僅僅是個(gè)開(kāi)始。“我預(yù)計(jì)在接下來(lái)的 12 到 18 個(gè)月內(nèi),低代碼/無(wú)代碼解決方案將會(huì)激增。由于技能供不應(yīng)求,以及大規(guī)模自動(dòng)化程序的絕對(duì)復(fù)雜性和高故障率,公司將需要一種靈活、風(fēng)險(xiǎn)較小的方式來(lái)提高效率?!?/p>
與所有新技術(shù)一樣,早期也存在顧慮?;谠频钠脚_(tái)減少了對(duì)低代碼/無(wú)代碼的一些擔(dān)憂。對(duì)管理結(jié)果所必需的治理和護(hù)欄的更深入理解將會(huì)到來(lái)。沒(méi)有缺點(diǎn)的優(yōu)點(diǎn)會(huì)隨著時(shí)間的推移而增加。
這顯然是應(yīng)用程序代碼生成過(guò)程中的一個(gè)進(jìn)化步驟。試圖阻止進(jìn)化就像站在推土機(jī)前從不可避免的山上滾下來(lái)。