Try   HackMD

Cissp Domain 5 IDENTITY AND ACCESS MANAGEMENT 身分識別與存取管理 IAM

美國聯邦政府喜歡這個詞 Credential management system

The Identity Life Cycle P6

透過 Identity Store 管理這些東西

  1. 建立帳號
  2. 設定身分
  3. 提供帳號密碼給申請者 (provisioning)
  4. 使用過程 身分識別 (輸入使用者名稱)
  5. Authentication 身分驗證 認證 鑑別 都是同一件事
  6. Authorization 授權
  7. Accounting 做的事要被記下來 Audit log
  8. 異常行為觸發 使用者行為檢視
  9. Disable 停用帳號 or Deprovision 停用或移除權限
  10. 職務異動 要 modify 權限

Access Control: The Basics P7

Subjects(人) access Objects(resources, assets)

要保護這些東西需要

  • IAAA (識別I 驗證Authentication 授權Authorization 紀錄Accounting可歸責性 )

Physical Access Control System 實體存取控制 PACS P12

  • 管理人員 設備 資產 進出

IAAA P17

  1. 說出你是誰 (打入使用者名稱)
  2. 證明你是誰 (驗證,有三種方式)
  3. 給予你的權限
  4. Accountability 把他的動作紀錄下來,事後可以究責 可歸責性

IAAA Implements CIANA+PS P18

為什麼 CIANA+PS 沒有 Accountability ? 因為這是偏事後的部分

IAM Administration Choices

  • Centralized 集中的機制 例如 MS AD、kerberos、RADIUS
    • 看到 Centralized,要想想是不是有可能 SPoF 單點失效 或是 被駭客集中攻擊
  • Decentralized 非集中
  • Hybird

The Identity Store P20

credentials很難翻,credentials 是身分驗證要用的東西
password 是一種 credentials,key、hardware token
有時候中文翻成證書,可能會不好理解

可以做到SSO 避免使用者記多組密碼

IAM技術:

  • AD
  • Kerberos, Radius,LDAP,
  • OAuth/OAuth2.0 ,SAML,OpenID,OpenID Connect
  • WebAuthn(FIDO2)

credentials management systems P21

CSP = IDP 提供身分驗證服務的提供者

  1. Applicant 申請者 向 CSP 申請帳號 Enrollment/Provisioning
  2. 存取Object ,申請者變成 Claimant
  3. Claimant 去驗證身分
  4. Verifier 去問 CSP
  5. Verifier 把 result 認證結果 回給 Relying Party (RP)
  6. RP 依照結果決定是否給服務

credentials management systems 舉例

我要去看momo購物,momo是 = RP

Social Signin(第三方,例如FB)

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

Facebook 就是 CSP (IDP) 第三方的認證架構

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →


identity Assurance Levels P22

  • IAL1 self-asserted,這個應用不太重要,他說他是誰就相信他
    • 例如一些白皮書,下載都規定要綁一個email,但假的也沒關係
  • IAL2 A remote or in-person identity proofing is required
    • goshare irent共享機車,要驗雙證件,拍臉部識別
  • IAL3 In-person proofing with verification by authorized
    • Examination of phyical documentation
    • 臨櫃申請,專責 CSP驗證
    • 自然人憑證

Account Access Review: Periodic and Event-Driven 帳號權限審查 盤點 P23

  • 什麼時候做? 定期不定期
  • 定期的合理定期值:每季,不過 有的公司可能會把特權帳號和一般帳號的頻率分開
  • 不定期的時機 event driven:出事就盤點

帳號權限baseline建立好,baseline正常狀況
每季跟現況做比對,當帳號有上百個時,要比對就很困難,沒有自動化機制很難比對
變通方法:每次審查時用抽查的方式,但抽樣時涵蓋度要夠,不要每次都同一批

rough account:流氓帳號 偷偷建立的帳號
隱藏帳號:有開但找不太到,例如 cmd>net user 可以看帳號,但是帳號後面加一個$,在cmd就看不到,要去 Lusrmgr.msc 才看得到,但也有
手法讓兩邊都看不到

帳號權限盤點現在有自動化工具,使用時機:盤點人力太高寫程式比較划算時

無主孤魂帳號怎麼處理?

  • 這就是技術債 因為以前都沒盤點才會這樣
  • 先看看能否歸給某個部門? 或是檢查帳戶有無登入狀況,三個月沒人用就停用,三個月後沒人叫也沒服務異常,就封存

Single-Factor VS Multifactor Authentication MFA P24

  • something you Know 你知道什麼 ex password
  • something you Have 你有的OTPtoken,你有某個東西能夠證明你的身分
  • somethine you (考試容易考到) Are 生物特徵,這邊有模糊空間

悠遊卡算是 something you Have 嗎? 要看有沒有記名,需要可以連結到個人資訊才算
去捷運站臨時上廁所,會給暫時用的token就是沒記名

Access Control System 存取控制系統 補充 27

需求是什麼,怎麼設計他,Domain3 主要講models,跟Domain5合併看
Mechanisms 要用什麼技術做出來


Access Control Polices P28

AC Policies are high-levelacess Control requirement 高階存取控制需求

  • DAC :Object Owner 設定
  • NDAC (NonDAC,也有別的書叫MAC):

DAC

由 Objects Owner來進行設定,Windows 定義為DACL,也並非全系統適用,常見機制為ACL

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

NDAC

由管理者進行設定規則(RBAC,ABAC,RAC,MAC),一般使用者無法進行設定,

Role-based RBAC
Attribute-based ABAC
Risk-baed:基於風險
MandatoryMac(MAC):較少用到


Role-Based Access Control RBAC P31

只能由管理者設定 一般使用者不能管理的權限
防火牆帳號 GPO 都是這種
規則(ROles)通常都會與會跟專案(Job),部門(department),群組關聯再一起

例如 GCP 就有給很多預設角色,上千個

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

優點:管理帳號時比較有效率

缺點:顆粒度(Coarse granularity)較粗,無法管到那麼細
一直開角色太多,造成Role Explosiin,角色爆炸

通常實務上會用混合式Hybird,常用的使用RoleBase,客製化的用別的,例如後面的ABAC


Attribute-Based Access Control(ABAC) P33

甚至可以做到 早上0800-1800可以用,其他時間不行

  1. Users (remote or local)
  2. Make Access attempts
  3. TestL multiple GO/NO-GO Descisons. Different Attributes

ABAC

where

when

who

Role

TODo?

Resource?

Threat?

RecentActions?

針對屬性(Attribute):Subject,Object,

優點:
缺點:要檢查一堆屬性,會有效能上的議題

零信任的話這一塊會用比較多,授權不是靜態是動態的 看 Context 內容或環境屬性,會成為授權判斷的機制

GCP 的 Attributed 的參考文件
https://cloud.google.com/iam/docs/conditions-overview

有另一個組織訂了 oasis xacml
可見參考資料 應用XACML架構達到安全的雲端資料分享——
以政府機關私有雲為例

image


Risk-Based Acess Control P34

要決定 風險範圍(risk scope),怎麼決定? 用各種 屬性(Attributed),再跟 風險範為(Risk scope)進行比對

本中心所提供的EMV 3DS ACS安全認證服務包括:
一、風險驗證系統(Risk-based Authentication,簡稱RBA),由發卡機構設定相關參數資料進行評分,以判別持卡人網路交易採免驗證方式或需身分驗證方式之交易驗證服務。

舉例
Attributed:一堆屬性全符合或都不符合
RiskScope:有權重,例如

  • 五分鐘連續買三張車票(超過來回的使用情境) 或是 10分鐘連買5張車票,是個異常行為,可能就會跳出指紋驗證
  • 信用卡公司每次打電話問資料,有問地址 有問生肖都不太依樣

Access Control Policies - MAC P35

美國空軍軍方會給每個人(Subject)賦予機密等級
如果在桌上看到卷宗(Object)寫極機密,但你只有賦予密,就不能翻開來看

  • Well-Know MAC Security models(Domain 3)
    所以美國空軍有需求:一個系統未執行前,把所有 Subject level 都設定好,Object每次生成也都訂好機密等級
    • Bell-Lapadula(BLP)就是因此而生,用機密性決定,NoReadUp NoWriteDown
    • Biba 反過來 no read down no write up

老師的講古時間,以前有個 windows nt 符合 c2 level,但從高到低是ABCD C沒有很高不太值得驕傲
https://learn.microsoft.com/zh-tw/security-updates/security/20214435

C2 是指由「國家安全局」(National Security Agency,NSA)「國家電腦安全中心」(National Computer Security Center,NCSC) 所建立的電腦系統安全評估等級。
Microsoft® Windows NT® 3.5 和 Windows NT® 4.0 都是經過 TCSEC 和 ITSEC,而順利完成 C2 評估的。 <https://www.microsoft.com/technet/security/news/c2eval.mspx )。

  • Mechanism
    • Labels
      TCSEC:將系統安全等級分成ABCD,Windows被定位在D,B/A為軍方單位才會到的層級

NDAC,MAC,DAC 表格少寫一格 P36

越往左邊越安全

Policy Decisions(WHO) Administrator Object Owners
Security Models Bell-Lapadula©和Biba(I) Hard to Formalize沒有特定model
Relatedmechanisms RuBAC(Rule) RBAC(Role) ABAC(Attribute) ACL(微軟說的 DACAL)

參考 NIST 800-192


提權 P37

存取控制授權機制沒做好

  • 垂直提權 一般人變管理者

    • 程式邏輯錯誤造成提權
    • OS command injection
    • 垂直提權案例:web 攻擊>拿到 web ap server 權限,發現 ap patch 沒上 > 利用本機漏洞提權成管理者權限,拿到組態檔解密,裡面有帳號密碼,拿到 DB 權限,把 DB 資料拿出來,成功獲得獎金
  • 水平提權

    • 我跟你的權限一樣,不代表能看到我的資料(多住戶環境), 例如A會員能否看到B會員資料?
    • 雲端供應商
  • 可能透過釣魚執行提權攻擊

水平提權 Azure 2021年案例 : 微軟修補可在Azure上接管他人容器的Azurescape漏洞

簡單地說,Azurescape是個3步驟的攻擊,駭客首先必須突破自己的ACI容器,再於多租戶的Kubernetes叢集上取得管理權限,這時駭客已經取得了整個容器叢集的管理權,就能執行惡意程式來攻擊其它的容器,存取其它容器的所有資料或破壞其架構。

Session Management P38

2018年 windows RDP有緩衝區攻擊漏洞, Pre-Auth,不用驗證就可以攻擊

可以參考 OWASP SessionManagement

  • SessionManagement是已經有身分驗證了才會到這個階段
  • 後端的Access是看前面拿到的Token來做檢查
  • 很久沒有動強迫踢掉也是 session finalization的一種
    image

    OWASP : Session Management Cheat Sheet

沒有換 session id 的例子

image
http://altoro.testfire.net/login.jsp


Session Management P38

  1. 每個人每次都不能用一樣的 session ID
  2. Session ID要夠長 經濟部定義要128-bit
  3. 產生要亂數
  4. 過期(Expiration)機制(登出,Session中轉)

5.3 federated identity


Singke Sign-ON(SSO) P44

  1. Users
  2. SSO servers 指的是 IM(Identity and Access Management)
  3. Resource Servers

3_Server

2_IdentityAndAccessManagement

1_UserLogin/SSOGrant

Kerberos P45

目的:認證協定,不管授權

角色:

  1. End User
  2. 被存取資源(處理授權)
  3. KDC Servers

三個縮寫

  • KDC:Kerberos Distribution Center
  • AS:Authentication Service
  • TGS:Ticket Granting Service

三個動作:
1.

  • 使用者先跟 KDC AS做身分驗證(帳號密碼)
  • 驗證通過後AS會發憑證 TGT 給 S ,這時候TGT = crendital
  • Subject要使用服務時,把TGT丟給 KDC,這時候由TGS檢查 我發的嗎?有無過期? 通過就換* 成 ST(ServiceTicket)
  1. Server看 ST是否正確,有無過期
  • 都沒問題就依照這個使用者的身分,決定能取得什麼授權

TGT由AS發出

這邊使用的是key wrapping, 用對稱式金鑰加密另一把對稱式金鑰 ,但是事先要把金鑰交換(pre-share),所以 server 事先要交換好

密碼封裝(Key Wrap)

kerberos 相關的攻擊

  • 權限很高的TGT 可以換到所有的ServiceTicket,GOLD Ticket,萬能鑰匙,普通的是ST,也可以想成是 SilverTicket
  • Pass the-Ticket:其實就是replay攻擊,會可以replay因為是靜態的不會變動,所以要加入動態的特性,kerberos有 timestamp機制,可以設定多久後失效,偷到ticket也只有一段時間有效

Pass the-Ticket補充


Errors in Access Control 生物特徵辨識 P46

借外面的圖片  CISSP An (ISC)' Certification

錯誤率

  1. FRR(FalseRejectRate 錯誤拒絕)/Type1:是本人但是被拒絕通過;便利性
  2. FAR(FalseAcceptRate 錯誤接受)/Type2:不是本人但卻通過;對資安疑慮高

FAR 越高資安風險越高,越往右邊越不安全

  1. CER(CrossOverErrorRate),FAR/FRR的表現最佳點,安全便利最平衡的最佳點

舉例:

  1. 用指紋辨識當彈藥庫門禁管制,FRR高還FAR高? 鎖嚴謹一點,FRR高比較好
  2. 用指紋辨識當捷運站人流管制,FRR高還FAR高? 鎖嚴謹一點,FAR高比較好

Just-in-Time(JIT) P47

  • M
  • Alwas-on
  • Excess Privileges
    並非及時on-demand,不是永久給你,只是一段時間

微軟 IAM 的一個 JIT 功能展示
https://www.youtube.com/watch?v=Foem_EIv428

  • Jason 有 AD Admin權限

    image

  • 只要 Jason 有密碼就可以隨時動用權限

    image

  • 有個功能可以改成 JIT

    image

  • 改成 Egli..就是暫時收回

    image

  • 登出再登入後變成一般User了

    image

  • 可以暫時啟用 要用多久幾小時,最小0.5小時,可以寫理由

    image

  • 可以設定啟用流程,自動化或是人工審核都可

    image

JIT適合用在哪? (投影片有4個可以回頭補)

  • PAM
  • 端點權限管理 endpoint
  • 遠端協助 remote

聯盟 Federated Identity Management FIM 跨不同的securityDomain 不同組織 P48

ISC2.okta.com 登入取得權限,但是進到 ISC2.org、office365也可以進去不用重新輸入密碼

FIM怎麼理解他? 跨組織的 SingleSignOn
提供身分驗證服務的 IDP,只是場景拉到Internet上

FIM可以使用很多種技術來達成,例如後面要講的 SAML 和 OpenID


SAML and OpenID P49

  • SAML
    • SAML 為 OASIS 組織定義
    • OASIS 喜歡用 XML格式,所以收尾都是ML,像前面說的 XACML 也是他們家的
    • SPML Provisioning 服務供應標記語言
    • 支援身份技術及授權

User Agent回覆Request AssertionService Provider

IdentityPoviderServiceProviderUserAgentIdentityPoviderServiceProviderUserAgentRequestTargetResource回家重畫回家重畫
  • OpenID Connect(OIDC)
    • OIDC 由 OpenID Foundation組織定義
    • RelyingParty(RP) 數發部很愛用,就是object,被使用者支援
    • IdentityProvider(IdP)OpenID叫OpenID Providers (Ops)

OAuth P51

OPEN Binking 使用到的技術
目的:
這是一種授權技術,不是驗證技術

很重要的一句話 users's passwords are not shared with the third party(client)
使用者在不用把密碼給第三方程式的狀況下,第三方程式可以代理(delegate)使用者去存取在資源伺服器ResourceServer上的資源

OauthProcess Abstract 有圖片看投影片 P52

  1. app提供信用卡消費資料分析,銀行說要取得你的授權
  2. 按下我同意後,身分驗證是我跟銀行驗證,不是我跟app驗證
  3. 銀行驗證我同意的資料後
  4. 銀行產生AccessToken給App (不會永久有效)
  5. App用AccessToken跟銀行資源Server要資料
  6. 銀行資源Server驗證AccessToken後給資料

角色

  1. User(資源負責人)
  2. Application (Client)
  3. Resouece Server(存放資源)

Federated Identity with a Third-Party(IdP)Service P55

  • IDaas
    • 專門做IDaas服務
    • CSP雲端服務供應商
      • AWS IDaas服務:Cognito,可以跟不同Providers整合
        Amazon Cognito user pools

due care due diligence還是取決於自己公司
例如只用一個第三方服務登入,如果他掛掉就整個公司不能運作

講到 Comliance 的時候,就有 Identity Gov 跟治理層面有關


以前用IDP沒什麼選擇,現在多多少少都會用到雲端 Saas服務,如果沒有第三方服務,每一個服務就要一個帳密
用不同SaaS想要SSO,就是 FIM 想要解決的問題

現在提供 IDaaS服務的很多,隨便找 idaas top 10
The Major Players in the Identity and Access Management-as-a-service (IDaaS) Market include:

  • IBM
  • CA Technologies
  • Salesforce.com
  • SAP
  • Exostar
  • Microsoft
  • Bitium
  • ILANTUS Technologies
  • iWelcome
  • Fischer International Identity
  • OneLogin
  • Ping Identity
  • Centrify
  • ForgeRock
  • Oracle
  • Google
  • Simeio Solutions
  • Okta

但也是會出事,Okta最近就有出過

Okta對10月遭駭事件完成調查,134位客戶資料被洩漏

身分及存取管理服務業者Okta在2023年10月公開確認自家服務遭駭的消息,Okta確認攻擊者存取了Okta客戶支援系統內134位客戶相關檔案,其中一些檔案包含對話令牌(Session Token)的HAR(HTTP Archive)檔案,因此被攻擊者用於劫持並控制了5個客戶的Okta對話。