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