Undersök sökvägar för OAuth-programattacker i Defender for Cloud Apps (förhandsversion)

Microsoft Security Exposure Management hjälper dig att hantera företagets attackyta och exponeringsrisk effektivt. Genom att kombinera tillgångar och tekniker illustrerar attackvägarna de vägar från slutpunkt till slutpunkt som angripare kan använda för att flytta från en startpunkt i din organisation till dina kritiska tillgångar. Microsoft Defender for Cloud Apps observerat en ökning av angripare som använder OAuth-program för att komma åt känsliga data i affärskritiska program som Microsoft Teams, SharePoint, Outlook med mera. För att stödja undersökning och minskning integreras dessa program i vyerna för angreppsvägar och kartor över attackytan i Microsoft Security Exposure Management.

Förhandskrav

När du ska komma igång med funktionerna för OAuth-applikationers attackvägar i Exposure Management ska du se till att du uppfyller följande krav.

  • En Microsoft Defender for Cloud Apps licens med appstyrning aktiverad.

  • Anslutningsappen för Microsoft 365-appen måste vara aktiverad. Information om hur du ansluter och om vilka av appanslutningsapparna som ger säkerhetsrekommendationer finns i Ansluta appar för att få synlighet och kontroll med Microsoft Defender for Cloud Apps.

  • Valfritt: För att få fullständig åtkomst till data för attackväg rekommenderar vi att du har en E5-säkerhetslicens, Defender för Endpoint eller Defender för identitetslicens.

Nödvändiga roller och behörigheter

För att få åtkomst till alla exponeringshanteringsupplevelser behöver du antingen en rollroll för enhetlig rollbaserad åtkomstkontroll (RBAC) eller en Entra-ID-roll. Endast en krävs.

  • Hantering av exponeringar (läsa) (enhetlig RBAC)

Du kan också använda någon av följande Entra ID-roller:

Behörighet Åtgärder
Säkerhets-Admin (läs- och skrivbehörigheter)
Säkerhetsoperatör (läsbehörighet och begränsade skrivbehörigheter)
Global läsare (läsbehörigheter)
Säkerhetsläsare (läsbehörigheter)

Obs!

För närvarande endast tillgängligt i kommersiella molnmiljöer. Microsoft Security Exposure Management data och funktioner är för närvarande inte tillgängliga i amerikanska myndighetsmoln – GCC, GCC High, DoD och China Gov.

Kritisk tillgångshantering – tjänstens huvudnamn

Tjänstens huvudnamn är identiteter som Microsoft Entra ID tilldelar till program så att de kan autentisera och komma åt resurser för programmets räkning i stället för en användare. Microsoft Defender for Cloud Apps definierar en uppsättning OAuth-behörigheter med kritisk behörighet. OAuth-program med dessa behörigheter betraktas som värdefulla tillgångar. Om det komprometteras kan en angripare få hög behörighet till SaaS-program. För att återspegla denna risk betraktar attackvägar tjänsthuvudkonton med dessa behörigheter som måltillgångar.

Visa behörigheter för kritiska tillgångar

Om du vill visa en fullständig lista över behörigheter går du till Microsoft Defender-portalen och navigerar till Inställningar > Microsoft Defender XDR > Regler > Kritisk tillgångshantering.

Skärmbild av sidan Kritisk tillgångshantering i Microsoft Defender-portalen.

Undersökningsanvändarflöde: Visa attackvägar som involverar OAuth-program

När du förstår vilka behörigheter som representerar högt värderade mål kan du använda följande steg för att undersöka hur dessa program visas i din miljös attackvägar. För mindre organisationer med ett hanterbart antal attackvägar rekommenderar vi att du följer den här strukturerade metoden för att undersöka varje attackväg:

Obs!

OAuth-appar visas endast på attackvägsytans karta när specifika villkor identifieras.
En OAuth-app kan till exempel visas i attacksökvägen om en sårbar komponent med en lätt exploaterbar startpunkt identifieras. Den här ingångspunkten möjliggör sidledes förflyttning till tjänsthuvudkonton med höga behörigheter.

  1. Gå till Exponeringshantering > Attackyta > Attackvägar

  2. Filtrera efter "Måltyp: AAD-tjänsthuvudnamn"

    Skärmbild av tjänsten attacksökvägar och lägg till primär måltyp

  3. Välj attackvägen med rubriken: "Enhet med sårbarheter av hög allvarlighetsgrad möjliggör lateral förflyttning till tjänstidentitet med känsliga behörigheter"

    Skärmbild av namnet på attacksökvägen

  4. Klicka på knappen Visa i karta för att se attacksökvägen.

    Skärmbild av knappen Visa i karta

  5. Välj tecknet + för att expandera noder och visa detaljerade anslutningar.

    Skärmbild av kartan över attackytan

  6. Hovra över eller välj noder och kanter för att utforska extra data, till exempel vilka behörigheter den här OAuth-appen har.

    Skärmbild som visar de behörigheter som tilldelats OAuth-appen enligt bilden på kartan över attackytan

  7. Kopiera OAuth-programmets namn och klistra in det i sökfältet på sidan Program.

    Skärmbild som visar fliken OAuth-program

  8. Välj appnamnet för att granska tilldelade behörigheter och användningsinsikter, inklusive om behörigheter med hög behörighet används aktivt.

    Skärmbild som visar de behörigheter som tilldelats Oauth-appen

  9. Valfritt: Om du anser att OAuth-programmet ska inaktiveras kan du inaktivera det från sidan Program.

Användarflöde för beslutsfattare: Prioritera angreppsväg med hjälp av flaskhalsar

För större organisationer med många attackvägar som inte kan undersökas manuellt rekommenderar vi att du använder data för attackväg och använder Choke Points-upplevelsen som ett prioriteringsverktyg. Med den här metoden kan du:

  • Identifiera tillgångar som är anslutna till flest attackvägar.
  • Fatta välgrundade beslut om vilka tillgångar som ska prioriteras för undersökning.
  • Filtrera efter Microsoft Entra OAuth-app för att se vilka OAuth-appar som är inblandade i flest angreppsvägar.
  • Bestäm vilka OAuth-program som minst behörighet ska tillämpas på.

Så här kommer du igång:

  1. Gå till sidan Attackvägar > Chokepunkter.

    Skärmbild som visar sidan chokepunkter

  2. Välj ett namn på en chokepunkt om du vill se mer information om de vanligaste attackvägarna, till exempel namn, startpunkt och mål.

  3. Välj Visa påverkansområde för att undersöka flaskhalsen närmare i kartan över attackytan. Skärmbild som visar knappen för att visa tryckvågsradie

Om choke-punkten är ett OAuth-program fortsätter du undersökningen genom att söka efter appen efter namn på sidan Program , granska dess tilldelade behörigheter och användningsinsikter och eventuellt inaktivera appen om det är lämpligt.

Analysera attackytekarta och sök med frågor

kartan attackytan kan du se anslutningar från användarägda appar, OAuth-appar och tjänstens huvudnamn. Relationsdata är tillgängliga i:

  • Tabellen ExposureGraphEdges (visar anslutningar)

  • Tabellen ExposureGraphNodes (innehåller nodegenskaper som behörigheter)

Använd följande Advanced Hunting-fråga för att identifiera alla OAuth-program med kritiska behörigheter. Den här frågan sammanfogar ExposureGraphNodes- och ExposureGraphEdges-tabellerna för att hitta Microsoft Entra OAuth-appregistreringar som kan autentisera sig som tjänsthuvudnamn klassificerade som kritiska (kriticitetsnivå 0) och som har behörigheter till Microsoft Graph. Använd den för att identifiera vilka OAuth-appar i din klientorganisation som har hög behörighet och för att prioritera dem för granskning:

let RelevantNodes = ExposureGraphNodes
| where NodeLabel == "Microsoft Entra OAuth App" or NodeLabel == "serviceprincipal"
| project NodeId, NodeLabel, NodeName, NodeProperties;
ExposureGraphEdges
| where EdgeLabel == "has permissions to" or EdgeLabel == "can authenticate as"
| make-graph SourceNodeId --> TargetNodeId with RelevantNodes on NodeId
| graph-match (AppRegistration)-[canAuthAs]->(SPN)-[hasPermissionTo]->(Target)
        where AppRegistration.NodeLabel == "Microsoft Entra OAuth App" and
        canAuthAs.EdgeLabel == "can authenticate as" and
        SPN.NodeLabel == "serviceprincipal" and
        SPN.NodeProperties["rawData"]["criticalityLevel"]["criticalityLevel"] == 0 and
        hasPermissionTo.EdgeLabel == @"has permissions to" and
        Target.NodeLabel == "Microsoft Entra OAuth App" and
        Target.NodeName == "Microsoft Graph"
        project AppReg=AppRegistration.NodeLabel,
         canAuthAs=canAuthAs.EdgeLabel, SPN.NodeLabel, DisplayName=SPN.NodeProperties["rawData"]["accountDisplayName"],
         Enabled=SPN.NodeProperties["rawData"]["accountEnabled"], AppTenantID=SPN.NodeProperties["rawData"]["appOwnerOrganizationId"],
         hasPermissionTo=hasPermissionTo.EdgeLabel, Target=Target.NodeName,
         AppPerm=hasPermissionTo.EdgeProperties["rawData"]["applicationPermissions"]["permissions"]
| mv-apply AppPerm on (summarize AppPerm = make_list(AppPerm.permissionValue))
| project AppReg, canAuthAs, DisplayName, Enabled, AppTenantID, hasPermissionTo, Target, AppPerm

Nästa steg

Mer information finns i: