資安研究人員指出,在超過1,000個開放原始碼的無伺服器應用程式中,有21%具有嚴重漏洞或設定錯誤。他們還指出有6%將敏感資料(如API金鑰和帳號密碼)儲存在可公開存取的檔案庫中。
[專家見解:轉向無伺服器雲端應用程式]
什麼是無伺服器應用程式?
“無伺服器”有點不精確。應用程式在第三方雲端基礎設施上運行(如Amazon Web Service(AWS)的Lambda,微軟的 Azure Functions和Google的Cloud Functions)。它們沒有使用專屬伺服器、虛擬機或容器(container);只有應用程式的程式碼在雲端伺服器上執行直到完成任務。
無伺服器應用程式體現了新興的功能即服務(FaaS)模型,將雲端運算轉變成一個平台,企業可以用來開發、部署和管理其應用程式,無需建立自己的基礎設施。
透過“無伺服器”,開發人員和企業受益於其靈活性和自動化能力。它也可以是推出應用程式的一種可擴展且高經濟效益的方式,因為不需要配置或維護專屬伺服器,安裝/管理軟體或運行環境。
[InfoSec指南:緩解Web注入攻擊]
無伺服器應用程式最常見的安全問題是什麼?
安全研究人員指出,大多數漏洞和弱點是因為實際應用程式中所用的不安全程式碼等問題所造成。他們發現這些是開放原始碼無伺服器應用程式最常見的安全問題:
- 資料注入 – 不可信或未經處理的輸入在應用程式元件(例如儲存、資料庫和通知系統)之間傳輸
- 認證機制
- 雲端儲存系統的錯誤授權設定
- 應用程式請求或授予的權限
- 監控和記錄功能不足
- 來自第三方套件的不安全程式碼
[考量安全的設計:開發人員保護行動應用程式的最佳實作]
這些安全問題的影響是什麼?
研究人員表示,這些安全問題可以讓駭客“操縱應用程式並執行惡意行為”。例如,SQL注入和跨站腳本(XSS)等Web注入攻擊讓攻擊者能夠取得應用程式資料庫的管理員權限。未正確設定的雲端儲存系統可能會將儲存的個人或機密資料暴露給駭客。
弱身份驗證和授權機制會被利用來執行中間人攻擊,讓駭客得以竊取個人身份資料。缺乏安全事件日誌和監視功能的無伺服器應用程式顯著地降低開發人員和企業主動回應資料外洩和惡意軟體攻擊等事件的能力。
[專家見解:DevOps如何成為有效網路安全的典範]
無伺服器應用程式在DevOps代表什麼?
跟所有的新興技術一樣,無伺服器應用程式為開發人員和企業帶來了機會。但正如報告所顯示的那樣,如果執行不當也可能會帶來安全風險。這對DevOps來說代表什麼?
透過設計來體現安全性的 DevOps 可以讓採用無伺服器架構真正具有價值。雖然在無伺服器環境運行應用程式可以顯著地減少開銷及對公司的安全影響,但並未消除這些問題。對於漏洞攻擊威脅及報告中所顯示的糟糕程式碼習慣來說尤其如此。
這兩者都體現了共同責任模式,在這模式中,人員、流程到技術的協同合作是管理和保護應用程式、所處理資料及運行在上基礎設施的關鍵要素。比方說,無伺服器應用程式的基礎元件應該在開發過程中就要進行審查。儘管無伺服器運算在整個應用程式生命週期中提供了敏捷和靈活性,但安全性不應該是事後才想到。