2021 OWASP Top 10 A09資安紀錄與監控失效
資安紀錄及監控失效的類型是幫助在資安事件的偵測、升級跟應變上做一個處理的措施,如果沒有及時的紀錄跟監控的時候,資安事件是不會被發現的。
以下幾點是必須要注意的事項:
- 可以稽核的事件沒有紀錄,比方說登入成功、登入失敗及高價值交易,是必須要去做詳細的紀錄,像是使用者的 IP,使用者的帳號,使用者的資料,或是相對應的機敏性資料都必須被記錄起來。
- 警告或錯誤發生時未產生,Log 的內容的細節是不充足,或是不明確的情況。
- 未監控應用程式,或是 API 日誌的可疑活動,像是國外的 IP 來大量存取,或者是異常登入的情況是沒有做紀錄的情況。
- 日誌僅儲存於本地端的問題,應該要做一個日誌雲端的保存。
- 未設有或設有無效的告警閥值,或是相對應的應變程序。
- 滲透測試或 DAST 工具,像是 ZAP動態掃描的工具,掃描的時候沒有觸發告警。
- 應用程式無法即時偵測、警告攻擊的情況,
最後,允許使用者或是攻擊者讀取日誌的時候可能會造成資訊洩漏的問題
A09資安紀錄與監控失效預防與修改
1.確保紀錄所有的登入,也就是所有的 Audilt Log存取控制,或是驗證的狀況都必須做儲存與收容,而日誌應該要包含充足的使用者情境去識別詳細的情況,然後日誌保存的時間應該要去設定一個充足的時間,通常可能會保留半年到一年的時間,如果未來有發生資安事件的時候,可以回頭來做鑑識的分析。
2.確保日誌的格式是符合一般常用的格式,以利用第三方的系統,或者是軟體套件來做日誌的收容與分析。
3.確保日誌經過編碼,可以防止注入的攻擊,及日誌的系統遭受攻擊。
4.確保高價值交易進行產生稽核的軌跡,可以做一個完整性的控制,同時可以避免竄改或是刪除。
5.DevSecOps 的團隊應該要建立監控跟告警的機制,當產生可疑活動的時候可以做快速的應變。
6.建立、導入事件應變,復原計畫的整個流程,如NIST 800-61r2或 Security Logging 、 Monitoring的狀況,基本上在臺灣市場目前還沒有相當的完整,希望更多企業針對 Security Logging 、 Monitoring的狀況可以做到更多資安監控的細節。
A09資安紀錄與監控失效情境的範例
情境一:一個網站的營運商沒有在做監控跟紀錄的事件,一直等到了外部的專案通知
網站有 350 萬筆的資料洩漏,因為這個資料洩漏沒有被記錄到或監控,事後發現可能是從 2013 到現在,超過七年的時間有資料外洩的情況。
情境二:印度的一家大型航空公司,有數百萬的旅客資料是有被洩漏出去的狀況,原因是發生在第三方供應商所提供的雲端服務。
情境三:一家大型的歐洲的航空公司有 40 萬筆的紀錄是洩露出去,因為 GDPR 的關係,所以這家公司被開罰了兩千萬英鎊。
總結
相對應的列表有四項。除了紀錄的資訊不夠,或者是資料的處理之外,還有一個是在 Log 檔案裡面去插入了一些機敏的資料,但這是一體兩面的事情,好比我們先前可能在測試中發現,伺服器的紀錄裡面存有信用卡的卡號,相對它也會衍生出對應的問題。