低代碼開發(fā)會帶來安全問題和數(shù)據(jù)泄露隱患嗎?(低代碼開發(fā)會帶來安全問題和數(shù)據(jù)泄露隱患嗎)
作者 | The Hosk
譯者 | 王強
策劃 | 劉燕
低代碼開發(fā)會帶來安全問題和數(shù)據(jù)泄露隱患嗎?低代碼開發(fā)的缺陷在于缺乏經(jīng)驗的開發(fā)者并不掌握安全性的相關(guān)知識。要重視軟件安全性問題,不要等它變成災(zāi)難后再亡羊補牢。
低代碼開發(fā)方法有可能比傳統(tǒng)開發(fā)方法更快、更便宜地創(chuàng)建軟件。但很少人會提到,用低代碼方法開發(fā)出來的軟件所包含的安全風險是和傳統(tǒng)上基于代碼開發(fā)的軟件一樣多的。
安全性被構(gòu)建進了低代碼開發(fā)工具中,但這種安全性必須由開發(fā)人員理解和配置才能發(fā)揮作用。非專業(yè)開發(fā)人員可能很難意識到安全隱患的存在,或者不具備配置軟件安全性的經(jīng)驗。
能擊倒你的往往是你看不到的風險。非專業(yè)開發(fā)人員的注意力都集中在了軟件創(chuàng)建上,并不會小心謹慎地應(yīng)用那些最佳安全實踐。
如果低代碼開發(fā)流程沒有同 IT 部門緊密結(jié)合,沒有充分應(yīng)用最佳實踐,那么前者的開發(fā)指引就不會是由經(jīng)驗豐富的開發(fā)人員來定義。這就會引入安全漏洞和數(shù)據(jù)泄露的風險。
這不是非專業(yè)開發(fā)人員獨有的問題,而是普遍存在的開發(fā)問題。區(qū)別在于有經(jīng)驗的開發(fā)人員(并非總是)會檢查安全性是否到位,而沒有經(jīng)驗的初級 / 非專業(yè)開發(fā)人員甚至不會意識到安全性是他們的責任和應(yīng)該做的事情。
1
微軟 Power App Portal 暴露了 3800 萬條記錄
微軟的低代碼開發(fā)工具 Power Apps 之前登上了頭條新聞,因為一款配置錯誤的 Power App 將 3800 萬條記錄暴露在了互聯(lián)網(wǎng)上。
重點摘要:
“包括微軟在內(nèi)的 47 家政府實體和隱私公司錯誤配置了微軟的 Power Apps,將 3800 萬條敏感數(shù)據(jù)記錄暴露在了互聯(lián)網(wǎng)上。Power Apps 是一種低代碼服務(wù),承諾以一種簡單的方式構(gòu)建專業(yè)應(yīng)用程序。”
是什么導(dǎo)致了這個問題?
UpGuard 公司的一名分析師發(fā)現(xiàn) Power Apps portal 的 OData API 可以允許匿名訪問數(shù)據(jù)庫記錄。
Power Apps portal 是面向互聯(lián)網(wǎng)的門戶。該門戶由微軟托管,并與微軟 Dataverse 集成。
簡單來說,通過某種特定配置,面向互聯(lián)網(wǎng)的 Power Apps Portal 可以允許存儲在多個數(shù)據(jù)源(SharePoint、Microsoft 365、Dynamics 365、SQLServer 等)中的數(shù)據(jù)通過匿名(也就是非用戶)的 OData 查詢來訪問。
如果你不希望數(shù)據(jù)可見,你需要檢查一個布爾字段——啟用表權(quán)限(Enable Table Permissions)布爾值為真才行。
對于這種煩人的配置值,大多數(shù)人都會采用默認值,也就是與世界分享數(shù)據(jù)。
分析師看到許多公司都在使用 Power Apps portal,但許多公司沒有設(shè)置過這一字段。結(jié)果是,他們可能會在面向公共 / 互聯(lián)網(wǎng)的門戶上提供大量個人和其他數(shù)據(jù),任由別人查詢。
真是糟糕啊。
設(shè)計如此
這不是什么錯誤或安全漏洞,而是一項按設(shè)計意圖運作的配置。
UpGuard 的報告清楚地表明了這一點——設(shè)計理念:微軟 Power Apps 的默認權(quán)限如何暴露數(shù)百萬人的數(shù)據(jù)。(https://www.upguard.com/breaches/power-apps)
如果你想知道如何解決這個問題(我敢肯定有很多開發(fā)人員和非專業(yè)開發(fā)人員都會冒冷汗),請閱讀這一說明:提示 #1407:如何保護 Power Apps portal(https://thehosk.medium.com/Tip #1407: How to secure Power Apps portal from making the news)
2
低代碼警告
低代碼開發(fā)方法允許非專業(yè)開發(fā)人員或任何開發(fā)人員使用一系列組件來創(chuàng)建軟件,并使用更容易理解的查詢對軟件進行配置。
像微軟的 Power Platform 這樣的低代碼開發(fā)工具,其重點都放在了應(yīng)用程序創(chuàng)建上——但開發(fā)人員所要做的工作并不只有創(chuàng)建軟件而已。
低代碼開發(fā)人員(非專業(yè)開發(fā)人員)同樣是開發(fā)人員,他們也需要完成開發(fā)流程中的其他一些任務(wù)。
收集需求(提煉、理解)
維護軟件
為軟件編寫文檔
部署
安全性(數(shù)據(jù)安全、個人數(shù)據(jù)、安全角色等)
數(shù)據(jù)源(數(shù)據(jù)庫、文件、保留、備份等)
與其他系統(tǒng)集成
更廣泛的環(huán)境和其他軟件
營銷活動不僅僅是發(fā)送電子郵件,開發(fā)工作也不僅僅是創(chuàng)建代碼或構(gòu)建應(yīng)用程序。
非專業(yè)開發(fā)人員和開發(fā)人員并非安全專家,所以 IT 部門需要參與進來,并對軟件運行滲透測試。IT 部門需要確保開發(fā)人員應(yīng)用了最佳實踐,并找出軟件中存在的設(shè)計缺陷或軟件錯誤來保證安全性。
非專業(yè)開發(fā)人員欠缺很多專業(yè)知識,這就是為什么他們應(yīng)該在專業(yè)人員指導(dǎo)下創(chuàng)建應(yīng)用程序并將其部署到生產(chǎn)環(huán)境中。
如果公司組建自己的低代碼開發(fā)團隊時沒有讓經(jīng)驗豐富的開發(fā)人員或 IT 部門參與,由后者來創(chuàng)建相關(guān)標準和最佳實踐,就會出現(xiàn)問題。
傳統(tǒng)開發(fā)方法同樣會出現(xiàn)很多安全性缺陷,但它著重強調(diào)了安全性這個領(lǐng)域,而非專業(yè)開發(fā)人員需要學(xué)習(xí)很多知識才能理解其中的要害。低代碼開發(fā)工具也都很復(fù)雜,所以人們只能精通一兩種低代碼工具。
公司將需要單獨的團隊來監(jiān)督和維護低代碼工具,因為沒有人能一接觸到它們就理解其中的細節(jié)。
這不是低代碼問題,而是開發(fā)問題。低代碼開發(fā)工具不會取代開發(fā)人員,它們會創(chuàng)造新的開發(fā)人員群體,催生一支創(chuàng)建和維護生產(chǎn)級應(yīng)用程序的缺乏經(jīng)驗的開發(fā)團隊。
3
低代碼革命需要資深開發(fā)人員領(lǐng)導(dǎo)
由缺乏經(jīng)驗的開發(fā)人員創(chuàng)建大量應(yīng)用程序有可能導(dǎo)致很多安全漏洞,這就是為什么不可逆轉(zhuǎn)的低代碼革命必須由經(jīng)驗豐富的開發(fā)人員和 IT 部門全力領(lǐng)導(dǎo)。
低代碼開發(fā)是一種強大的工具。與其他工具一樣,它們需要被當作長期戰(zhàn)略的一部分,人們還要為軟件創(chuàng)建后發(fā)生的各種事情制定計劃。
低代碼開發(fā)不會取代開發(fā)人員,它會造就更多缺乏經(jīng)驗的開發(fā)人員。非專業(yè)開發(fā)人員需要高級開發(fā)人員的指導(dǎo)和領(lǐng)導(dǎo),因為與所有初級開發(fā)人員一樣,他們也會犯錯誤。
軟件是如何創(chuàng)建的并不重要;重要的是它需要安全、維護和支持。低代碼軟件需要的是與傳統(tǒng)軟件相同的清單、團隊和流程。
https://thehosk.medium.com/will-low-code-development-lead-to-security-problems-and-data-breaches-83a9375d4087
本文轉(zhuǎn)自:騰訊新聞