2021 OWASP Top 10 A05 Security Misconfiguration 安全設定缺陷

2022/09/12



A05 安全設定缺陷介紹

如果程式包含以下幾個因素,可能會存在容易被攻擊的弱點。

- 在程式各個層面,如果缺少了適當的安全強化,或是在雲端上面有一些不適當的權限設定會存在資安設定缺陷的問題。這種情況下是蠻常見的一個問題,使用者不太熟悉雲端的環境,可能是被攻擊後攻擊者取得權限,在雲端服務提供給 Web Server 所使用的權限是高權限,會存在一些提權的問題。

- 不必要的功能啟用或是安裝。(不必要的 port開啟,服務,頁面,帳號或是特權) 。不必要的埠號開啟,同時可能在一個對外的網頁伺服器上面開啟了 FTP、SSH和一些遠端可以控制的介面;不必要的頁面,可能會有一些框架的預設頁面,及 debug 模式都是不必要的功能。

- 預設的帳號密碼使用沒有更改(資安的設備、套裝軟體)。通常預設安裝使用者帳密、並依照使用手冊去做設定,特別會出現這種情形。

- 因為錯誤處理所暴露出來的 stack,或是 trace會暴露過多的警告資訊。暴露出一些程式路徑或是相關的細節資料,都可以在後續攻擊的時候被拿來做引用。

- 因為系統升級,導致新的安全功能被關閉,或是升級會有一些不安全的設定。營運的單位可以參考升級的文件,升級後還相對應的處理的措施。

- 程式的框架(函式庫、資料庫)沒有設定相對應安全的參數。通常程式框架函式庫或是資料庫的開發文件中,會有相對應的資安的設定地方需要去做設定。

- 伺服器未傳送安全的表頭或是項目,或沒有設定安全參數。特別是網頁security header HSTS ,及CSP 的 header、cookie 的 secure flag、HTTP only flag的安全參數都是必須要被設定的。

- 軟體過時或淘汰。(詳細: A06危險或過舊組件)


安全設定必須要有一個一致性,當沒有一個可以重複設定流程時,就沒有辦法去控制整個大的系統。


A05 安全設定缺陷如何做修補跟預防

1.一個可以重複的流程,並且是一個部署速度和簡單的流程,必須在一個分隔然後封鎖的環境下面做執行。通常大型企業會有一個部門專門去負責,舉例來說:一個 OS 的映像檔或是 OS 的安裝流程,流程中囊括一些安全設定的基本細項去做設定,可以讓所有的軟體在預設的時候就是安全的情況。

2.一個精簡的平台,上面不會有功能、套件及範本,不應該去安裝一些多餘的功能。一開始將功能最小化設定相對來的安全,不必要的功能就應該要去做關閉。

3.變更管理下,應該要有特定的任務,必須要 follow 一些安全的 Instruction 去做相關的更新與security 的檢視跟異動,舉例來說:S3 bucket 的權限,是 Amazon 的一個服務應該要做一些安全性的檢視,去確認讀取的權限是不是 public,或是應該本身 private 要去做讀取的情況。

4.可分割的程式架構,達到有效跟安全的分離。舉例來說:透過群組、容器、ACL 去做分類、分組,再依每個 component 或tenant 的情況去做設定。目前開發的時候會去做的一個細項,像是測試環境要做一些設定的分離,雲端安全群組的設定ACL亦是。

5.提供安全的指標給使用者端,security header應該要全部都要提供。

6.一個可以自動化的流程,可以確認環境中的全部的安全設定。簡言之,一個類似資安健檢的流程,確認系統的安全設定。


A05 安全設定缺陷情境的範例

情境一:營運使用的程式伺服器,帶有預設的樣本程式。這個樣本程式恰巧有被發佈已知的弱點,駭客可以利用這個界面去做攻擊。意旨第一個情境是所有的預設的情況下,駭客可以很輕易的了解預設的帳號密碼,並登入去控制伺服器。

情境二:資料夾列表伺服器是沒有關閉,也就是Directory Listing 的功能是沒有被關閉。攻擊者使用弱點去下載了 AP 本身程式的細節(class 的檔案),在反組譯後確認程式的細節,並進一步的攻擊。

情境三:程式的伺服器沒有關閉 debug 模式,所以debug 模式會透露出堆疊的追蹤,

當攻擊者發現堆疊的追蹤,可能會發現相關的套件的版本,進而找到可以利用的弱點。

情境四:雲端伺服器可以透過預設權限設定,資料是機敏資料,並使用 public 的權限去做存取。


總結

在相對應的 CWE 列表裡面有預設密碼或明碼儲存.net 本身的設定問題,歸類可能是一些框架的問題、環境設定面的問題都是必需要去確認,而OWASP 2017 裡面有一個 XXE 的問題,這一次是被列在 CWE-776 的問題被歸類在 Security Misconfiguration,也是一個 XML 解析器的問題,解析器並沒有被設定好,其它是 Cookie Flag  的設定,所以通常預設值不一定是安全的情況底下,希望大家可以確認相關的設定。


延伸閱讀:
2021年OWASPTop10新規範·有效補強企業資安機制缺陷!
OWASPTop102021十大常的弱點與險·如何做好企業資安防護



其他訊息