語言:
Microsoft 透過 Entra ID 中的應用程式提供 API,讓第三方應用程式在 Microsoft Entra ID 和 Microsoft 365 (Office 365),以及 SharePoint Online 和 Exchange Online 等服務中執行操作。「API 權限」會保護這些 API 的存取權,只將其提供給有需要的服務主體。此權限核准程序叫做「應用程式角色指派」或「同意授予」。
某些 Microsoft API 的特定權限可能會威脅到環境中的敏感資料,因為擁有這些權限的服務主體能夠存取潛在的敏感資訊,且相較於擁有強大管理員角色 (例如全域管理員) 的使用者,較不引人注意。
即使是在正當的情況下,這些權限也會增加資料外洩風險。在不正當的情況下,可能表示有惡意人士嘗試存取和竊取敏感資料,例如電子郵件。
如 Microsoft 說明文件「[權限與同意簡介]」(https://learn.microsoft.com/zh-tw/entra/identity-platform/permissions-consent-overview) 所述,Microsoft Entra ID 有兩種 API 權限,其中一種是:
應用程式權限適用於無需使用者登入即可執行的應用程式,例如,作為背景服務或精靈執行的應用程式。應用程式權限只能由管理員授予。
本曝險指標 (IoE) 只會報告有關服務主體的內容,因為 API 權限僅適用於服務主體而非使用者。
本曝險指標 (IoE) 會追蹤敏感權限清單,其中大多不需要過多解釋,但以下權限需要進一步說明:
Group.Read.All
(由 Microsoft Graph API 和 Office 365 Exchange Online 提供): 令人意外的是,此權限具有高風險,因為允許讀取的範圍甚至包括 M365 群組「行事曆、對話、檔案和其他群組內容」。考慮 Microsoft Teams 使用的 Microsoft 365 群組帶來的影響。擁有這些敏感權限的正當應用程式要求的存取權可能過於廣泛。這也可能是網路釣魚攻擊「非法同意授予」的跡象,在這種攻擊中,攻擊者會成功取得管理員同意。
根據預設,曝險指標 (IoE) 會略過已停用的服務主體,因為攻擊者無法立即利用這項資源。
外部參考資料:
首先判斷報告中擁有權限的服務主體是否正當。請注意,技術上來說,網路釣魚攻擊可以偽造顯示名稱。如果服務主體似乎屬於已知軟體廠商,請對方確認報告中的應用程式 ID 是否為其所擁有。如果服務主體不正當,並偽造了已知應用程式名稱,您應執行鑑識分析。
如果服務主體是正當的:
應用程式權限 一律需要管理員同意。訓練這些管理員辨別可疑應用程式和機密權限,包括資料相關的 應用程式權限。這必須為大型應用程式監管工作的一環。
如果您認為某個權限不正當,請將其移除。如果打算執行更深入的鑑識調查,Tenable 建議您先保留證據。Microsoft Entra 入口網站有專門的功能來審查授予企業應用程式的權限。
Microsoft 還發佈了兩份關於如何執行應用程式同意授權調查以及如何偵測和修復非法同意授權的指南。
務必從服務主體 (位於入口網站的「企業應用程式」選單),而不是從應用程式 (位於「應用程式註冊」選單) 移除危險權限。從應用程式中移除權限只會刪除權限請求,並不會影響實際的權限指派。
最後,啟用 Graph API 活動記錄以擷取有關 Graph API 事件的詳細資訊,在發生攻擊時幫助您的 SOC 或 SIEM 識別可疑活動或進行鑑識調查。此外,監控服務主體登入並設定可疑行為警示,尤其是針對此處重點強調的高風險服務主體。
名稱: 影響資料的危險應用程式權限
代碼名稱: DANGEROUS-APPLICATION-PERMISSIONS-AFFECTING-DATA
嚴重性: Medium
類型: Microsoft Entra ID Indicator of Exposure