我們常常講要導入特權存取管理 (Privileged Access Management, PAM),將特權帳號收攏、集中管理。但特權存取管理解決方案真的有辦法達到防護效果嗎?對於合規有什麼作用?本文將聚焦於技術層面解析特權存取管理的定義與應用,並分析相關解決方案,與駭客可能會如何攻擊這樣的產品。
什麼是特權存取管理?
常見的特權管理基本上可以對應到兩個名詞:特權身份管理 (Privileged Identity Management, PIM) 以及特權存取管理 (Privileged Access Management, PAM)。
- PIM 的目標是管理特權用戶的權限,防止他們在沒有監督的情況下進行重大更改。它通常用於控制具有高級權限的用戶,並監測他們的行為。
- PAM 則強調管理對資源的存取,包括特權用戶的存取。它提供詳細的存取監控和日誌,以幫助公司報告其使用模式並滿足合規標準。
但這兩個名詞常常被混用。其原因在於 PIM 和 PAM 的功能與效果大幅重疊,基本上大家會希望一套軟體就能做完所有特權管理,所以各家廠商就開始擴充功能,PIM 也能做 PAM,PAM 也能做 PIM。因此本篇文章會將它們視為同一種類型的解決方案加以分析。
總結來說,有關「特權問題」的解決方案,其目的是對特權帳號或所有帳號進行限制,從而對受管制的電腦或需要使用這些帳號的系統進行控制。一般來說,這類解決方案還會提供監控、稽核功能以及一些可調整的控制措施(例如限制存取時間、可存取的服務等),其主要目的是限制特權帳號的使用並能夠進行稽核。
為了達到資安與維運之間的平衡,這些解決方案通常會針對臨時的權限開放提供審核流程。在經過特定設計的管理人員簽核通過後,可臨時開放權限,並指定開放時間,於過期後自動收回權限,以減輕對敏感資源的過度存取、非必要存取或誤用存取的風險。為了進一步保護這些特殊權限帳戶,PIM 在特定情況下能夠要求多重要素驗證等安全性原則選項。
常見解決方案舉例
以下舉出的解決方案皆以 Active Directory 為核心。實際上雲端或是 Linux 也有類似的解決方案。
Microsoft Identity Manager - PAM
這是微軟提供的一套關於地端 Active Directory 的特權管理方案,其設計原理與微軟過去推廣的 Enhanced Security Admin Environment (EASE) 相似,利用了 AD 安全邊界中的 Forest 概念。
該方案的流程如下圖所示:建立一個專用的 Forest(樹系)作為堡壘,透過 AD 樹系信任和 SIDHistory 屬性,在堡壘樹系中建立稽核和授權機制。移除舊樹系的特權帳號成員,只保留群組,並在堡壘樹系中建立相應的群組並設置 SIDHistory。只有符合政策設定的帳號才會被臨時加入堡壘樹系的群組中。
這種設置的優缺點也十分明顯。首先,設置程序複雜,門檻非常高。此外,微軟身份管理服務 (Microsoft Identity Manager, MIM) 的特權存取管理方案也即將停止支援。自 2016 年以來,微軟已不再針對 MIM 2016 進行大版本更新。
CyberArk - PSM
提到特權管理,業界經常會聯想到 CyberArk。他們的產品線中,與特權管理相關的解決方案首選 PSM (Privileged Session Manager)。
以下是從官方文件中摘錄的架構圖,該設計概念是在 Active Directory 中建立一個高權限的服務帳號,用於執行所有帳號密碼的重設和 Active Directory 的設定。使用者必須透過 PSM 來連接到指定的工作站,且先前提到的審核流程或雙重認證也可以進行相應的設定。
使用者經過授權後,PSM 會從保險櫃 (Vault) 中獲取相應帳號所需的密碼,並代表使用者進行連接。這個過程將被記錄下來,而當授權時間結束,系統將使用先前提到的高權限服務帳號重設相應帳號的密碼,以避免密碼被重複使用或遭到竊取後濫用。
駭客並沒有跟你走「特權管理」
以上是我製作的關係圖。正常使用者會透過 PAM 跟 Active Directory 主機驗證 ( 身份驗證主機 ),從而透過 PAM 登入目標工作站,但駭客如果能直接跟 Active Directory 主機連線做驗證,就有機會能過直接繞過「大家認為的特權帳號都要透過 PAM 」這件事,而這個做法在 Active Directory 的世界是相當常見的,因為加入網域的主機本身還是有許多功能需要跟 Domain Controller 溝通,網路必定是通的。
基於前面的介紹,我們可知特權管理的目的是限制正常登入和取得憑證的管道,且必須經過審核流程才能進行連線。這種限制不僅限制了合法使用者,也限制了駭客的存取。
然而,若實際以駭客的視角來看,在有特權管理的架構下,駭客可以採取哪些做法?又有哪些做法不可行呢?
- 帳密管道:傳統的帳密竊取方法肯定行不通,因為駭客無法得知密碼的真實形式,除非駭客能夠攻破特權存取管理 (PAM) 的伺服器。
- 網路連線:雖然工作站和伺服器在設計上只能透過 PAM 連線,但實際上,這些系統的網路設定是否真的如此嚴格?可能這些工作站和伺服器本身仍然可以被其他方式連線,這還是給駭客提供了攻擊的機會。
- 跳脫帳密驗證流程:雖然駭客無從得知特權帳號的密碼,但工作站和伺服器的驗證仍然是透過 Active Directory (AD) 進行的。那麼,在 AD 中是否存在無需密碼即可進行驗證的方式呢?答案是肯定的!舉例來說,Active Directory 支援使用憑證進行登入,因此駭客可以通過偽造或竊取憑證,進行 Kerberos Ticket 的申請。這種方法被稱為「Pass The Certificate」。如何偽造或竊取憑證不在本篇文章的討論範圍內,有興趣的人可以自行搜尋。
總結而言,特權管理的目的是為了限制存取管道並提高安全性,但駭客仍然有可能透過攻擊其他脆弱環節來獲取特權存取的管道。因此,在實施特權管理方案時,必須綜合考慮各種可能的攻擊方式並採取相應的防護措施。
就像我們知道,就算有特權管理軟體,駭客還是能直接攻擊 Active Directory 或是透過申請 Certificate 做
「Pass The Certificate」攻擊,加強監控是否有人利用 Certificate 方式登入,或是從特權管理 Proxy 主機以外的 IP 登入,都能大大提高安全性。
總結
在資安領域,我們經常能看到過度誇大資安產品成效或技術的情況,好像某某產品是一種資安萬靈丹,只要使用它就能解決所有問題。然而,實際情況並非如此,我們需要建立完善的防禦和響應機制。
因此,我撰寫了資安產品類型的科普文章,從攻擊和防禦的角度探討可能需要加強或需要注意的方面。就像本篇提到的特權存取管理 (PAM),它並不是無效的,只是存在著其他攻擊的可能性。這些都是我們作為資安專業人員需要注意並思考防禦機制的重要因素。
PAM 本身還是非常有用的產品,而現在也有許多 PAM 廠商支援不加入 Active Director 直接用 PAM 廠商設計的納管方式,那這樣要探討的就是 PAM 本身在這段的實作了,與等於把雞蛋放在同一個籃子的安全考量,這樣使用的人較少同時也是因為維運問題讓現有軟體能夠持續運行也是一大重點,現在鮮少見相關的攻擊案例,如果日後有見到會跟各位分享。