2022 果核 Hacker Talk 漂亮收尾, 解構開發模式、弱點檢測之安全盲點
許多資安人員也許不太確定,經常被遺忘的開發測試環境,有無可能成為駭客狙擊對象?又或者,僅做弱點掃描,是否足以阻擋駭客攻擊?為幫助資安或 IT 人員尋求上述解答,果核數位於日前舉辦今年(2022)的最後一場 Hacker Talk論壇,安排兩段精彩議程。
管好開發測試環境不讓駭客有機可乘
果核數位資安部經理 Wayne,探討開發測試環境的資安治理議題。Wayne 指出,多數企業對開發模式或開發環境的關注度偏低,因為大家通常覺得就算出狀況,頂多只有一些資料洩漏而已,但事情並非那麼簡單。
通常在 Web 應用程式或系統弱點掃描過程,會看到客戶採用 Laravel 等程式語言框架,其中Debug Mode 幾乎都被列為中風險。但其實近年來幾乎半數的網頁開發框架,在這個地方上面都有 Critical Issues,不應掉以輕心。首先看一個關於 Laravel Debug Mode 的故事。某客戶環境的測試伺服器被安裝挖礦程式,
導致當月 AWS 帳單暴漲。Wayne 協助進行事件調查後,發現 Initial Access 為 Web 入侵,經由日誌察覺源頭是某個網頁節點。接著從 HTTP Log看到 CVE-2021-3129 反序列化弱點被利用,駭客以一包反序化資料發動攻搫,其手法是藉 phar 搭配 le_put_contents 函數,把 Kinsing 惡意程式抓下來執行。深究其根因,肇於開發者的疏忽、對外開放存取所致,加上開啟 Debug Mode,滿足弱點可以使用的條件,基本上算是管理疏失,故應以管理手段來解決問題。
下一個故事,則關於 Spring Boot Actuator。Wayne 曾在執行滲透測試時看到客戶使用Spring Boot Actuator,因為它相當好用且安全性足,表面上無大礙;但深入檢視發現它有一個監控功能,可監控 AP 執行現況暨相關參數值,因為要做監控,可能有一些敏感資訊洩漏,但客戶信任原廠說「吐出機敏參數時會打碼」,仍放心使用。豈料後臺滿滿的參數值,竟輕易成為滲透測試者取用的素材,不需另做掃描,即知客戶有哪些資產,堪稱嚴重的資料外洩。此外還有一個 HTTPTraces 會紀錄當下所有使用者的完整資料,駭客只要看到這一包,就能掌握使用者所有資料訊,嚴重性超乎想像。因為在 Spring Boot 的文件裡表明會打碼,導致許多開發者有所輕忽;為避免上述問題發生,今後須更加重視環境管理議題。綜觀上述事件,凸顯測試環境確實需要善加管理,因為漏洞會持續迭代更新,唯有藉由完善的管理方式才能降低駭客攻擊機率。至於開發環境及模式的設計之道,須切記幾個重點,譬如開發模式永遠僅能用於開發測試環境;考量傳統 IT 模式難以調整,故應於 AP 端導入 CI/CD 流程,將架構虛擬化、程式化,以利後續檢測,且針對 Prod、Stage 及 QA 分別產出對應檔。
再者,亦應透過諸如白名單等機制(比方說僅開放Repository連接)來管控 Outbound 連線。另外開發和測試環境應使用 Dummy 資料,絕不能因偷懶使用 Prod 真實資料。
做過資安檢測,面對駭侵就萬無一失?
來自關鍵智慧科技資安團隊的 Xiao Swaii,展開「矛盾大對決」演說,其中「矛」是指駭客入侵攻擊;「盾」是透過不同資安檢測來發現、修補漏洞的整個過程,而非一昧等到駭客入侵才做後續處理,畢竟預防勝於治療。但應留意是否掃
描完、修正完之後,還是留下一些可被駭客利用的漏洞?
以資通安全責任等級分級辦法而論,清楚規定A、B、C 級機關應定期執行一定次數的弱點掃描(VA)及滲透測試(PT)。但大家不妨深思,今年 8月裴洛西訪臺後,為何仍出現諸多攻擊事件?顯然不少單位做資安檢測時,都會遇到一些盲點。常見的檢視項目有三,包括 VA、Web VA、PT,檢測目標依序為系統一般性弱點、已知網站應用程式漏洞,以及涵蓋系統弱點、應用程式弱點、無線網路情境甚至模擬內網被滲透情境,技術門檻各為一般、中、高。至於測試類型,則包含測試者對目標一無所知的「黑箱測試」,測試者掌握部分資訊的「灰箱測試」,及測試者完全瞭解網路狀態且偏向類似 Code Review 型態的「白箱測試」。但若不考慮其他因素,客戶無論提出黑、灰、白箱檢測,經常都會得到「查無問題」結果,但實情未必是如此美好,係因每一種檢測各有盲點所致。例如客戶不想提供帳密、針對暴力破解有限制,只進行無認證機制的漏洞檢測(黑箱),那麼駭客透過社交工程取得系統權限,可以攻擊的面嚮又會增加許多或是只做缺乏完整環境整合測試元素的源碼檢測(白箱),能看得到伺服器、資料庫、應用程式的漏洞?所以即使委託資安廠進行 VA,從而根據檢測結果修補,能否阻擋真實攻擊攻?著實值得商確。但企業若能在不同選項中做出較佳抉擇,可能影響檢測結果,挖掘出更多需要留意的弱點,如採取有 Credential 的 VA 與 Non- Credentialed 的檢測差異;調整檢測工具至 Paranoia Level 2、而非采用預設的 Paranoia Level 1;採取會隨著偵查結果挑選或調配 Payload 的 PT、而非在工具中內建制式 Payload 的 Web VA。更重要的,切記做檢測不是應付合規,而應認真地修補好發現到的漏洞,才可望有堅實的盾,擋住下一波鋒利的新矛。