Etapas para analisar o abuso de aplicativos OAuth com o Microsoft Graph Activity Logs
By Mirko Peters · · Updated
Detecte ameaças OAuth direcionadas ao Microsoft 365 usando o Entra ID e o Microsoft Graph Activity Log. Saiba como detectar ameaças em aplicativos OAuth por meio dos logs de atividade e da API do Graph.
Automatically translated with AI from the original post. Read the English original
Monitorar o uso de aplicativos OAuth é essencial para manter a segurança na sua organização e prevenir o abuso de aplicativos OAuth. Com o Microsoft Graph Activity Logs, você ganha visibilidade essencial sobre como os aplicativos OAuth operam. Esses logs ajudam a detectar possível abuso de aplicativos OAuth e a identificar ameaças relacionadas à atividade desses aplicativos.
Os Microsoft Graph Activity Logs são fundamentais para:
Monitorar a atividade de aplicativos OAuth.
Detectar possível abuso de aplicativos OAuth.
Fornecer a visibilidade básica necessária para identificar ameaças.
Estabelecer padrões de conformidade é fundamental, devido aos riscos associados ao abuso de aplicativos OAuth. Critérios claros para avaliar segurança e conformidade garantem que você selecione os aplicativos certos para uso corporativo.
Analisando o abuso de aplicativos OAuth com o Microsoft Graph Activity Logs: 5 fatos surpreendentes
Ao analisar o abuso de aplicativos OAuth com o Microsoft Graph Activity Logs, investigadores de segurança frequentemente descobrem capacidades e limitações inesperadas que afetam a detecção e a resposta.
- Os logs de atividade expõem o client_app_id do OAuth para eventos centrados em aplicativos. Os Microsoft Graph Activity Logs incluem o client_app_id (o appId do aplicativo) em muitos eventos de entrada e de consentimento, o que permite relacionar tokens ou ações suspeitas diretamente a um aplicativo OAuth registrado, e não apenas a um usuário.
- A atividade de aplicativos não aparece em um único lugar: vários tipos de log importam. Eventos relacionados ao OAuth podem estar distribuídos entre os Logs de entrada, os Logs de auditoria e os logs de atividade unificados do Microsoft Graph. Depender de uma única fonte pode deixar passar concessões de consentimento, emissões de tokens ou alterações de permissões de aplicativos relevantes para investigações de abuso.
- A retenção e as opções de exportação podem limitar as linhas do tempo forenses, a menos que sejam configuradas. Por padrão, a retenção no locatário é limitada para alguns logs de atividade. Sem as Configurações de diagnóstico exportando para um workspace do Log Analytics ou para uma conta de armazenamento, as evidências históricas de abuso de aplicativos podem se perder rapidamente.
- Alguns campos sensíveis são mascarados ou ocultados nos logs do Graph. Para proteger a privacidade, certos dados pessoais (PII) e detalhes de tokens são truncados ou ofuscados nos payloads de atividade, o que exige correlacionar logs com os logs de entrada ou de Acesso Condicional para reconstruir cadeias completas de ataque.
- Notificações de alteração e consultas delta permitem detecção quase em tempo real, mas exigem configuração. O Microsoft Graph oferece suporte a notificações de alteração (webhooks) e consultas delta para logs de atividade, permitindo a detecção automatizada de permissões de aplicativos recém-concedidas ou de ações anômalas de aplicativos. No entanto, elas precisam ser configuradas proativamente para identificar o abuso no momento em que ocorre.
Principais conclusões
Monitore a atividade de aplicativos OAuth usando o Microsoft Graph Activity Logs para detectar possíveis abusos e ameaças.
Faça auditorias regulares dos aplicativos OAuth para garantir que as permissões estejam adequadas e investigue qualquer aplicativo suspeito.
Implemente controles de acesso rigorosos, como desabilitar o consentimento de usuários para aplicativos de terceiros, para reforçar a segurança.
Utilize a Linguagem de Consulta Kusto (KQL) para analisar os logs e identificar padrões incomuns que possam indicar abuso de aplicativos OAuth.
Eduque os funcionários sobre ameaças de segurança e táticas de phishing para reduzir o risco de abuso de aplicativos OAuth.
Visão geral do abuso de aplicativos OAuth
Principais vetores de ataque
Atacantes frequentemente exploram o consentimento de aplicativos OAuth para obter acesso não autorizado a dados sensíveis. Eles usam diversas táticas para contornar medidas de segurança. Por exemplo, campanhas de phishing se tornaram prevalentes: os atacantes induzem os usuários a inserir códigos de dispositivo em páginas de verificação legítimas da Microsoft. Esse método permite obter tokens de acesso vinculados às contas das vítimas. Ataques desse tipo podem burlar controles de segurança tradicionais, incluindo a autenticação multifator (MFA).
Além disso, muitos aplicativos de terceiros se conectam a plataformas SaaS usando tokens OAuth. Esses tokens podem manter o acesso indefinidamente, a menos que sejam gerenciados ativamente. Isso representa um risco significativo, pois as organizações podem, sem perceber, permitir o acesso a dados sensíveis por meio de aplicativos que não estão mais em uso. Pesquisadores de segurança têm observado que ataques OAuth são particularmente difíceis de detectar. Eles deixam poucos rastros forenses e podem persistir mesmo após a redefinição de senhas.
Riscos de acesso de longo prazo
Os riscos de longo prazo associados ao acesso persistente de aplicativos OAuth são alarmantes. Em ambientes com foco em nuvem, a identidade se tornou o novo perímetro. Invasores podem obter acesso persistente a sistemas corporativos sem comprometer servidores ou senhas. Eles manipulam as relações de confiança inerentes aos sistemas de identidade modernos.
As consequências do abuso de aplicativos OAuth podem ser graves. Aqui estão alguns riscos documentados:
Phishing interno: e-mails enviados de contas confiáveis atraem mais vítimas.
Roubo de dados sensíveis: arquivos confidenciais, contratos e propriedade intelectual podem ser exfiltrados.
Acesso persistente: mesmo que as credenciais sejam redefinidas, os tokens podem permanecer ativos.
Dano à reputação: clientes e parceiros perdem a confiança se uma violação se tornar pública.
As organizações devem manter-se vigilantes. Elas devem revisar regularmente os consentimentos de aplicativos OAuth e monitorar qualquer atividade suspeita. Dessa forma, você pode mitigar os riscos associados ao abuso de aplicativos OAuth e proteger seus dados sensíveis.
Microsoft Graph Activity Logs para segurança
Fonte da imagem: unsplashAcessar os Microsoft Graph Activity Logs é fundamental para monitorar o comportamento dos aplicativos OAuth. Você pode seguir estas etapas para recuperar os logs de forma eficaz:
Transmitir os logs por meio de Configuração de Diagnóstico no portal do Azure ou usando as APIs do Azure Resource Manager.
Integrar os logs de atividade aos logs do Azure Monitor.
Configurar as definições de diagnóstico por meio da API do Azure Resource Manager.
Configurar destinos de armazenamento, como Azure Log Analytics Workspace, Azure Storage ou Azure Event Hubs.
Consultar os logs usando a Kusto Query Language (KQL), caso sejam enviados para um workspace do Log Analytics.
Depois de acessar os logs, concentre-se nas entradas-chave que podem indicar comportamento suspeito de aplicativos OAuth. Aqui estão algumas entradas de log para monitorar:
Descrição | |
|---|---|
Escalonamento de privilégios para acesso a dados | Aplicativos que obtêm permissões extensas, como Sites.Read.All ou Files.ReadWrite.All, sem documentação adequada podem indicar aplicativos não autorizados com o objetivo de roubar dados. |
Atividade de download em alto volume | Uma conta que acessa centenas de arquivos em um curto intervalo de tempo é um forte indicador de possível exfiltração de dados. |
Links de compartilhamento anônimos ou externos | A criação desses links pode ser uma tática usada por invasores para explorar as configurações de acesso a arquivos e exfiltrar dados. |
Padrões de download seguidos de exclusão | Usuários que baixam arquivos sensíveis e os excluem logo depois podem indicar tentativas de apagar rastros após o roubo de dados. |
Os alertas em tempo real desempenham um papel fundamental na detecção e na resposta a incidentes de abuso de aplicativos OAuth. Eles oferecem visibilidade sobre comportamentos suspeitos e permitem respostas automatizadas para mitigar riscos. Por exemplo, os tokens OAuth da Drift tinham tempo de vida estendido, o que resultou em falta de visibilidade para os clientes do Salesforce sobre as conexões de aplicativos. Tokens comprometidos podiam contornar MFA e SSO, o que evidencia a necessidade de alertas em tempo real para detectar anomalias, como grandes volumes de chamadas de API.
Para configurar alertas em tempo real eficazes, considere estas boas práticas:
Configure alertas para atividades suspeitas nos Microsoft Graph Activity Logs, como atribuições de permissões com privilégios elevados e logins incomuns.
Use o Microsoft Defender for Cloud Apps (MCAS) para monitorar e aplicar controles de sessão, gerando alertas para logins de aplicativos OAuth de risco.
Pesquise no Unified Audit Log do Microsoft 365 eventos importantes, como 'Add application' ou 'Consent to application', para identificar possível abuso de aplicativos OAuth.
Correlacione alertas de logins incomuns com os logs de auditoria para detectar atividades maliciosas de aplicativos OAuth.
Ao implementar essas estratégias, você pode fortalecer a postura de segurança da sua organização e se proteger melhor contra o abuso de aplicativos OAuth.
Métodos de detecção de abuso de aplicativos OAuth
Fonte da imagem: pexelsConsultas KQL
A Kusto Query Language (KQL) é uma ferramenta poderosa para analisar os Microsoft Graph Activity Logs. Você pode usar o KQL para identificar padrões e anomalias que podem indicar abuso de aplicativos OAuth. Veja algumas estratégias eficazes para usar o KQL:
Audite regularmente os aplicativos do Entra para identificar permissões excessivas. Isso ajuda a encontrar aplicativos que podem representar risco.
Monitore acessos inesperados à API do Microsoft Graph. Esses acessos podem indicar um comprometimento, permitindo que você aja rapidamente.
Estabeleça uma lista segura de aplicativos aprovados. Essa lista facilita o monitoramento contínuo e ajuda a detectar novos aplicativos com privilégios elevados.
Para começar com o KQL, considere a seguinte consulta de exemplo, que verifica atividades de login incomuns:
AuditLogs
| where ActivityType == "SignIn"
| where Result == "Failure"
| summarize Count = count() by UserPrincipalName, bin(TimeGenerated, 1h)
| order by Count desc
Essa consulta identifica usuários com tentativas de login malsucedidas, permitindo que você investigue possíveis acessos não autorizados.
Automação com PowerShell
A automação com PowerShell pode agilizar significativamente a detecção de abuso de aplicativos OAuth. Usando scripts do PowerShell, você pode automatizar o monitoramento de aplicativos OAuth e de suas atividades. Veja algumas ferramentas e suas funcionalidades:
Ferramenta | Funcionalidade |
|---|---|
GraphRunner | Automatiza interações com a API do Microsoft Graph, pode obter tokens por diversos métodos e assume a identidade de usuários comprometidos sem disparar alertas. |
AutoGraph | Oferece uma interface baseada em menus para interações com a API, automatiza a enumeração de usuários e facilita a extração de dados de diversas fontes. |
Com o PowerShell, você também pode criar scripts para verificar regularmente se há permissões excessivas nos aplicativos do Entra. Essa abordagem proativa ajuda a manter um ambiente seguro.
Por exemplo, você pode executar um script para listar todos os aplicativos com privilégios elevados:
Get-AzureADServicePrincipal | Where-Object { $_.AppRoles -ne $null -and $_.AppRoles.Count -gt 5 }
Este comando retorna as entidades de serviço com mais de cinco funções de aplicativo, permitindo que você avalie possíveis riscos.
Ao combinar consultas KQL e automação com PowerShell, você pode aprimorar suas capacidades de detecção. Esses métodos oferecem as ferramentas necessárias para identificar e responder com eficácia ao abuso de aplicativos OAuth.
Estratégias de mitigação para ameaças baseadas em identidade
Analisando o comportamento do usuário
Para mitigar com eficácia os riscos associados aos aplicativos OAuth, você precisa analisar o comportamento do usuário em busca de anomalias. Ferramentas de UBA (User Behavior Analytics, análise de comportamento do usuário) podem ajudar você a identificar padrões incomuns que podem indicar abuso de aplicativos OAuth. Aqui estão alguns métodos a considerar:
Método/Processo | Descrição |
|---|---|
Criação de modelo de comportamento | As ferramentas de UBA criam modelos com base na atividade dos usuários, registrando locais de login e horários de uso dos aplicativos. |
Detecção de anomalias | As ferramentas de UBA monitoram o comportamento dos usuários em relação aos modelos estabelecidos para identificar desvios. |
Uso de IA e ML | Algoritmos analisam o comportamento dos usuários ao longo do tempo para detectar padrões incomuns, como logins fora do horário normal. |
Comparação com pares | As ferramentas de UBA comparam as ações do usuário com as de seus pares para identificar comportamentos suspeitos, como acesso a dados não autorizados. |
Ao implementar essas estratégias, você pode detectar possíveis ameaças mais cedo. Auditorias regulares dos aplicativos OAuth também desempenham um papel crucial. Você deve revisar periodicamente as permissões para garantir que estejam alinhadas aos papéis dos usuários. Investigue qualquer aplicativo suspeito que possa ter direitos de acesso excessivos.
Correlação de eventos
Correlacionar eventos é outra estratégia eficaz para detectar ameaças baseadas em identidade. Essa abordagem permite reunir informações de diversas fontes para identificar registros maliciosos de aplicativos ou a burla de controles de segurança. Aqui estão alguns dados sobre a importância da correlação de eventos:
Tipo de evidência | Estatística/Insight |
|---|---|
Lacunas de visibilidade | Em 87% das investigações, os respondentes precisaram analisar evidências de duas ou mais fontes distintas. |
Complexidade do ambiente | As linhas de base de segurança foram aplicadas de forma inconsistente entre as unidades de negócio, gerando lacunas exploráveis. |
Deriva de identidade | As contas frequentemente têm mais acesso do que o necessário devido ao acúmulo de permissões ao longo do tempo. |
Ao correlacionar eventos, você pode criar uma avaliação de risco abrangente. Esse processo ajuda a entender como diferentes atividades se relacionam entre si, permitindo detectar padrões que podem indicar técnicas de abuso de OAuth.
Implementar essas estratégias de mitigação exige comprometimento. Você pode enfrentar desafios, como a dificuldade de detectar ataques que exploram fluxos legítimos do OAuth. Os controles de segurança tradicionais costumam falhar depois que o consentimento é concedido. No entanto, com uma abordagem proativa, você pode reduzir significativamente o risco de abuso de aplicativos OAuth.
Para fortalecer ainda mais a sua postura de segurança, considere estas estratégias de mitigação eficazes:
Auditoria: audite regularmente os aplicativos OAuth para garantir que as permissões sejam adequadas e investigue aplicativos suspeitos.
Restringir o consentimento do usuário: desabilite o consentimento do usuário para aplicativos de terceiros, exigindo aprovação administrativa para todas as solicitações de autorização.
Controle de acesso baseado em função (RBAC): implemente RBAC para limitar os privilégios dos usuários ao mínimo necessário.
Treinamento de usuários: realize treinamentos regulares para conscientizar os colaboradores sobre ameaças de segurança e táticas de phishing.
Ao focar na análise do comportamento dos usuários e na correlação de eventos, você pode fortalecer suas defesas contra ameaças baseadas em identidade relacionadas ao abuso de aplicativos OAuth.
Em resumo, a análise do abuso de aplicativos OAuth revela vulnerabilidades críticas em muitos aplicativos. Estudos recentes mostram que aproximadamente 8% dos aplicativos testados são suscetíveis ao abuso de OAuth. Isso evidencia a necessidade de monitoramento contínuo para fortalecer sua postura de segurança.
Você deve focar em:
Auditorias regulares das identidades de usuários e de entidades de serviço.
Implementar políticas de consentimento para bloquear acessos não autorizados.
Realizar buscas proativas por aplicativos arriscados.
Ao adotar essas estratégias de defesa proativas, você pode reduzir significativamente os riscos associados ao abuso de aplicativos OAuth e proteger sua organização contra possíveis ameaças.
Perguntas frequentes
O que é abuso de aplicativos OAuth?
O abuso de aplicativos OAuth ocorre quando invasores exploram aplicativos OAuth para obter acesso não autorizado a dados confidenciais. Eles costumam usar táticas como phishing e phishing de consentimento para enganar usuários e levá-los a conceder permissões.
Como posso detectar o abuso de aplicativos OAuth?
Você pode detectar o abuso de aplicativos OAuth monitorando os logs de atividade do Microsoft Graph em busca de atividades suspeitas. Observe entradas incomuns, downloads de alto volume e alterações inesperadas de permissões.
Quais são os riscos do phishing de consentimento?
O phishing de consentimento permite que invasores enganem usuários para que concedam acesso às suas contas. Isso pode levar ao roubo de dados, ao acesso não autorizado e a possíveis danos à reputação da sua organização.
Com que frequência devo auditar aplicativos OAuth?
Você deve auditar aplicativos OAuth regularmente, idealmente a cada poucos meses. Isso ajuda a garantir que as permissões continuem adequadas e que você identifique rapidamente quaisquer aplicativos suspeitos.
Que medidas posso tomar para prevenir o abuso de aplicativos OAuth?
Para prevenir o abuso de aplicativos OAuth, implemente controles de acesso rigorosos, desative o consentimento do usuário para aplicativos de terceiros e promova treinamentos regulares de conscientização sobre phishing para seus funcionários.
Investigando o Microsoft Graph: espaço de trabalho do Log Analytics e detecção de ameaças
O que é a análise do abuso de aplicativos OAuth com os logs de atividade do Microsoft Graph?
Analisar o abuso de aplicativos OAuth com os logs de atividade do Microsoft Graph significa usar a atividade e os logs da API do Graph para identificar atividades maliciosas de aplicativos ou agentes de ameaça que abusam da autorização OAuth 2.0 no seu ambiente do Microsoft 365. Você examina chamadas à API do Graph, padrões de requisições à API e logs de entrada do Entra ID, junto com a série de logs de atividade do Graph em um espaço de trabalho do Log Analytics, para detectar comportamento OAuth suspeito e aplicativos OAuth arriscados.
Como habilito os logs de atividade do Microsoft Graph e para onde eles são enviados?
Habilitar os logs de atividade do Microsoft Graph exige configurar os serviços do Microsoft 365 e o serviço Microsoft Graph para enviar a atividade e as chamadas da API do Graph a um espaço de trabalho do Log Analytics (ou a um SIEM externo). Use as configurações de diagnóstico do Microsoft Entra ID para direcionar requisições da API do Graph, logs do Entra ID e eventos de entrada para o ID do espaço de trabalho do Log Analytics, onde você pode consultar os logs da API do Graph e executar consultas de detecção de ameaças com Kusto.
Quais indicadores nas chamadas à API do Graph mostram atividade OAuth suspeita?
Observe requisições incomuns à API do Graph, como chamadas de alto volume originadas de um único ID de aplicativo, concessões de consentimento repetidas, reutilização de tokens entre locatários ou atividade da API do Graph vinda de IPs desconhecidos. Correlacione esses sinais com os logs de entrada do Entra ID, eventos do broker de autenticação da Microsoft e anomalias no tempo das chamadas de API para identificar ameaças usando a atividade do Microsoft Graph e possível abuso de aplicativos OAuth.
Como posso investigar aplicativos OAuth arriscados usando o Log Analytics e consultas Kusto?
Use o espaço de trabalho do Log Analytics para centralizar os logs da API do Graph e execute consultas Kusto sobre a série de logs de atividade do Graph. Etapas típicas: ingerir requisições da API do Microsoft Graph e logs do Entra ID, escrever KQL para destacar atividade incomum da API do Graph, fazer pivô por ID de aplicativo e usuário e correlacionar com eventos dos serviços do Microsoft 365. Um playbook para usar o Graph inclui exemplos de KQL para detectar tokens OAuth suspeitos e atividades de API.
Qual é o papel do Entra ID na detecção de abuso de OAuth?
O Microsoft Entra ID (anteriormente Azure AD) fornece os sinais de identidade e acesso — logs do Entra ID e logs de entrada do Entra ID — que mostram qual aplicativo solicitou acesso e qual usuário deu o consentimento. Usar esses logs junto com a API do Microsoft Graph e os logs de atividade do Graph ajuda você a relacionar eventos de autorização OAuth 2.0 com requisições de API, identificar credenciais comprometidas ou aplicativos maliciosos e aplicar acesso condicional ou revogar permissões de aplicativos.
Posso automatizar a detecção de ameaças e a resposta ao abuso de aplicativos OAuth?
Sim. Combine os logs de atividade da API do Graph em um workspace do Log Analytics com alertas automatizados e playbooks para detectar ameaças usando o Microsoft Graph. Use KQL para disparar alertas de anomalias e, em seguida, execute a remediação automatizada (revogar tokens, bloquear o ID do aplicativo e desabilitar o consentimento) por meio das chamadas à API do Microsoft Graph e do serviço Microsoft Graph, para conter atividades maliciosas e reduzir o acesso a recursos do Microsoft 365.
Quais são as melhores práticas para reduzir o risco de OAuth suspeitos e de aplicativos OAuth de alto risco?
As melhores práticas incluem: aplicar o princípio do menor privilégio para aplicativos, monitorar as requisições à API do Graph e os logs de entrada do Entra ID, exigir consentimento de administrador somente quando necessário, usar o Acesso Condicional e MFA, centralizar os logs da API do Graph em um workspace do Log Analytics com o ID do workspace do Log Analytics, e executar investigações regulares com o log de atividades do Graph e consultas Kusto para detectar cedo ameaças por meio da atividade do Microsoft Graph.
Como incluo o Microsoft Teams ou outros serviços do Microsoft 365 nas investigações?
Inclua a telemetria do Microsoft Teams e de outros serviços do Microsoft 365 nos seus logs de atividade da API do Graph e correlacione com as requisições à API do Graph. Muitos cenários de abuso de OAuth envolvem acesso a e-mails, arquivos ou mensagens do Teams. Ao usar a API do Microsoft Graph para extrair a atividade específica de cada serviço e combiná-la com os logs do Entra ID no Log Analytics, você consegue enxergar a cadeia completa, desde a requisição à API até o acesso ao recurso, e detectar atividades maliciosas em todo o ecossistema Microsoft.