在一篇題為《低代碼和無代碼開發(fā)的4個安全問題》的文章中,作者 Chris Hughes 表示,“通過允許企業(yè)中更多的人開發(fā)應(yīng)用程序,低代碼開發(fā)會產(chǎn)生新的漏洞,并在安全性方面隱藏問題?!?/span>
我并不同意這個說法。具體來說,低代碼或無代碼解決方案本身并沒有什么安全或不安全的地方。所有應(yīng)用程序開發(fā)框架、系統(tǒng)、流程和策略(手動或自動)的安全性與企業(yè)為確保它們安全所做的投資一樣。
是的,減少組織中能夠構(gòu)建應(yīng)用程序的人數(shù)會降低應(yīng)用程序存在安全漏洞的可能性。但是,使用該邏輯,確保應(yīng)用程序安全的最佳方法是減少工程團(tuán)隊(duì)的規(guī)模,從而減少開發(fā)的應(yīng)用程序。應(yīng)用程序越少,來自這些應(yīng)用程序的安全問題就越少。雖然這是一個真實(shí)的陳述,但它卻不是一個切實(shí)可行的方法。
這是一個限制應(yīng)用程序開發(fā)的觀點(diǎn)。一個好的 CSO 會鼓勵組織的發(fā)展,而不是扼殺它。是的,一個規(guī)模更大、發(fā)展更快的組織需要處理更棘手的安全問題。通過專注于限制組織可以構(gòu)建的內(nèi)容來提高應(yīng)用程序安全性并不是有效的 CSO 為公司成功做出貢獻(xiàn)的方式。最好的CSO會找到一種方法來解決增長機(jī)會中固有的安全問題。
低代碼的情況也是如此。通過使所謂的公民開發(fā)者能夠建立和擴(kuò)展對企業(yè)有用的應(yīng)用程序,你的公司能夠?qū)崿F(xiàn)增長。CSO和IT領(lǐng)導(dǎo)團(tuán)隊(duì)的其他成員應(yīng)該專注于通過提供高質(zhì)量、可靠和安全的低代碼開發(fā)平臺讓你的公民開發(fā)者利用,從而使其更容易。這是避免安全漏洞的最好方法。
你是怎樣做的?與其反對使用低代碼開發(fā)工具,不如努力將企業(yè)級的低代碼開發(fā)工具引入你的公司,使用戶能夠了解它們是如何工作的,并鼓勵他們使用。然后,在同一時間,努力確保這些工具提供的環(huán)境是安全和可靠的。
這個策略不是把低代碼開發(fā)降級,而是把低代碼放在首位和中心,鼓勵在CSO、安全部門和其他企業(yè)IT組織的職權(quán)范圍內(nèi)使用,這將使你的公司成長。這種增長利用了公民開發(fā)者隊(duì)伍的價值,從而加強(qiáng)、提高和倍增了其他開發(fā)組織的價值。
低代碼只是另一種工具
回想一下計(jì)算機(jī)的早期,當(dāng)開發(fā)者用匯編語言或機(jī)器語言編寫程序時。用這些低級語言開發(fā)是很困難的,需要經(jīng)驗(yàn)豐富的開發(fā)人員來完成最簡單的任務(wù)。今天,大多數(shù)軟件是用高級編程語言開發(fā)的,如Java、Ruby、JavaScript、Python和C++。為什么呢?因?yàn)檫@些高級語言使開發(fā)人員能夠更容易地編寫更強(qiáng)大的代碼,并專注于更大的問題,而不必?fù)?dān)心機(jī)器語言編程的低級錯綜復(fù)雜的問題。
如下圖所示,高級編程語言的到來增強(qiáng)了機(jī)器和匯編語言編程,一般來說,可以用較少的代碼完成更多的工作。這被認(rèn)為是一個巨大的進(jìn)步,能夠更快地實(shí)現(xiàn)更大和更好的應(yīng)用。軟件開發(fā)仍然是一項(xiàng)高度專業(yè)化的任務(wù),需要高度專業(yè)化的技能和技術(shù)。但更多的人可以學(xué)習(xí)這些語言,軟件開發(fā)人員的隊(duì)伍也在不斷壯大。高效軟件開發(fā)人員的時代誕生了。
最終,開發(fā)人員開始編寫更大、更復(fù)雜的應(yīng)用程序。他們開始創(chuàng)建編程平臺、框架和工具集來提高他們的開發(fā)能力。ASP.NET、Ruby on Rails、jQuery、Spring和React.js等框架使開發(fā)者能夠更容易地構(gòu)建更高級別的應(yīng)用程序。然后,SaaS和云服務(wù)為開發(fā)者的武器庫增加了更多的能力。
所有這些更高級的工具和服務(wù),如下圖所示,增強(qiáng)了開發(fā)經(jīng)驗(yàn),并繼續(xù)保持了用更少的代碼完成更多的工作的趨勢。這是一個巨大的進(jìn)步,能夠更快地實(shí)現(xiàn)更復(fù)雜的應(yīng)用程序。構(gòu)建高價值的應(yīng)用程序不僅更容易,而且還需要更少的培訓(xùn)來成為一個熟練的開發(fā)人員。更少的培訓(xùn)意味著有更多的軟件開發(fā)人員可用。SaaS和基于云的應(yīng)用程序的時代誕生了。
時代在前進(jìn),開發(fā)人員已經(jīng)開始編寫更大、更復(fù)雜的應(yīng)用程序。人工智能和機(jī)器學(xué)習(xí)能力開始受到重視,低代碼和無代碼工具提高了開發(fā)者構(gòu)建更復(fù)雜的應(yīng)用程序的能力。如下圖所示,這些工具增強(qiáng)了其他開發(fā)工具的能力,延續(xù)了讓更少的代碼完成更多工作的趨勢。它們還向經(jīng)驗(yàn)不足的開發(fā)者開放了開發(fā)?,F(xiàn)在,沒有接受過直接的、集中的開發(fā)者培訓(xùn)的人也可以建立執(zhí)行高級任務(wù)的應(yīng)用程序。公民開發(fā)者的時代誕生了。
公民開發(fā)者并沒有什么根本性的新的或新穎的東西。它只是軟件開發(fā)者角色演變中的最新迭代。在這個軟件開發(fā)的進(jìn)程中,沒有任何東西使低代碼或無代碼比之前的任何其他開發(fā)改進(jìn)更危險或更少,更安全或更少,更有用或更少。
說低碼和無碼工具從根本上說比早期的工具更不安全、更不有用或更不安全是虛偽的。它們是一套不斷發(fā)展的工具,在我們前進(jìn)的過程中,所有的企業(yè)都需要并將依賴這些工具。
低代碼應(yīng)被信任
如果低代碼與其他開發(fā)環(huán)境的改進(jìn)沒有區(qū)別,那么為什么會有這么多反對低代碼的炒作呢?
這并不罕見,也不意外。在他們的時代,每一個新的層次都面臨著同樣的阻力。不久前,我們還 "不敢 "考慮將云計(jì)算用于企業(yè)IT,或考慮將React用于一個嚴(yán)肅的企業(yè)應(yīng)用。我還記得那些日子,Java是唯一被認(rèn)為對企業(yè)IT開發(fā)足夠安全的語言。
還有人擔(dān)心低代碼會導(dǎo)致影子IT?好吧,不久之前,云計(jì)算被認(rèn)為是影子IT,或者像Ruby on Rails或React這樣的 "新的和新穎的平臺 "只能用于非官方的應(yīng)用。
低代碼、無代碼和人工智能輔助的開發(fā)工具將繼續(xù)存在,而且它們的重要性將繼續(xù)增長。企業(yè)IT部門和企業(yè)安全部門將落后于時代,除非他們向前伸手,幫助推動這些平臺的發(fā)展,而不是拖后腿,希望它們消失。
如果處理得當(dāng),低代碼不會對任何其他平臺、系統(tǒng)或開發(fā)環(huán)境造成額外的安全風(fēng)險。它不會給你帶來更多的運(yùn)營風(fēng)險或無法管理的成本。關(guān)鍵是要妥善處理。如果允許低代碼成為影子IT的載體,那么它就會像任何其他影子IT項(xiàng)目一樣不安全。如果允許低代碼變得不受監(jiān)視和不受控制,那么它就會像任何其他不受監(jiān)視和不受控制的進(jìn)程一樣不安全。
低代碼開發(fā)工具和平臺已經(jīng)成熟到可以信任的程度。在使用成熟供應(yīng)商提供的高質(zhì)量企業(yè)級低代碼系統(tǒng)時更是如此。
原標(biāo)題:??Is low-code safe and secure???
原作者:Lee Atchison