Aumente a segurança com o princípio do menor privilégio
O princípio de segurança da informação de menor privilégio afirma que os usuários e aplicativos devem ter acesso apenas aos dados e operações de que precisam para executar suas tarefas. Siga as orientações aqui para ajudar a reduzir a superfície de ataque de um aplicativo e o impacto de uma violação de segurança (o raio de explosão) caso ocorra em um aplicativo integrado à plataforma de identidade da Microsoft.
Recomendações num relance
- Impeça aplicativos com privilégios excessivos revogando permissões não utilizadas e reduzíveis .
- Use a estrutura de consentimento da plataforma de identidade para exigir que um consentimento humano para a solicitação do aplicativo acesse dados protegidos.
- Crie aplicativos com o mínimo de privilégios em mente durante todos os estágios de desenvolvimento.
- Audite os aplicativos implantados periodicamente para identificar os que estão com privilégios excessivos.
Aplicações superprivilegiadas
Qualquer aplicativo que tenha recebido uma permissão não utilizada ou reduzível é considerado superprivilegiado. As permissões não utilizadas e reduzíveis têm o potencial de fornecer acesso não autorizado ou não intencional a dados ou operações não exigidos pelo aplicativo ou seus usuários para executar seus trabalhos. Evite riscos de segurança representados por permissões não utilizadas e reduzíveis concedendo apenas as permissões apropriadas. As permissões apropriadas são aquelas com o acesso menos permissivo exigido por um aplicativo ou usuário para executar suas tarefas necessárias.
Permissões não utilizadas
Uma permissão não utilizada é uma permissão que foi concedida a um aplicativo, mas cuja API ou operação exposta por essa permissão não é chamada pelo aplicativo quando usada como pretendido.
Exemplo: um aplicativo exibe uma lista de arquivos armazenados no OneDrive do usuário conectado chamando a API do Microsoft Graph usando a permissão Files.Read . No entanto, o aplicativo também recebeu a permissão Calendars.Read , mas não fornece recursos de calendário e não chama a API de Calendários.
Risco de segurança: as permissões não utilizadas representam um risco de segurança de escalonamento de privilégios horizontais. Uma entidade que explore uma vulnerabilidade de segurança no aplicativo pode usar uma permissão não utilizada para obter acesso a uma API ou operação normalmente não suportada ou permitida pelo aplicativo quando ele é usado como pretendido.
Atenuação: remova qualquer permissão que não seja usada em chamadas de API feitas pelo aplicativo.
Permissões redutíveis
Uma permissão redutível é uma permissão que tem uma contrapartida com privilégios inferiores que ainda forneceria ao aplicativo e seus usuários o acesso de que precisam para executar suas tarefas necessárias.
Exemplo: um aplicativo exibe as informações de perfil do usuário conectado chamando a API do Microsoft Graph, mas não oferece suporte à edição de perfil. No entanto, o aplicativo recebeu a permissão User.ReadWrite.All . A permissão User.ReadWrite.All é considerada reduzível aqui porque a permissão menos permissiva User.Read.All concede acesso somente leitura suficiente aos dados do perfil do usuário.
Risco de segurança: as permissões redutíveis representam um risco de segurança de escalonamento de privilégios vertical. Uma entidade que explore uma vulnerabilidade de segurança no aplicativo pode usar a permissão redutível para acesso não autorizado a dados ou para executar operações normalmente não permitidas por essa função da entidade.
Atenuação: Substitua cada permissão redutível no aplicativo por sua contraparte menos permissiva ainda permitindo a funcionalidade pretendida do aplicativo.
Consentimento de uso para controlar o acesso aos dados
A maioria dos aplicativos requer acesso a dados protegidos, e o proprietário desses dados precisa consentir esse acesso. O consentimento pode ser concedido de várias maneiras, incluindo por um administrador locatário que pode consentir para todos os usuários em um locatário do Microsoft Entra ou pelos próprios usuários do aplicativo que podem conceder acesso.
Sempre que uma aplicação executada num dispositivo solicite acesso a dados protegidos, a aplicação deve pedir o consentimento do utilizador antes de conceder acesso aos dados protegidos. O usuário é obrigado a conceder (ou negar) consentimento para a permissão solicitada antes que o aplicativo possa progredir.
Menor privilégio durante o desenvolvimento de aplicativos
A segurança de uma aplicação e dos dados de utilizador a que acede é da responsabilidade do programador.
Siga estas diretrizes durante o desenvolvimento do aplicativo para ajudar a evitar torná-lo superprivilegiado:
- Compreenda completamente as permissões necessárias para as chamadas de API que o aplicativo precisa fazer.
- Entenda a permissão menos privilegiada para cada chamada de API que o aplicativo precisa fazer usando o Graph Explorer.
- Encontre as permissões correspondentes do menos para o mais privilegiado.
- Remova todos os conjuntos duplicados de permissões nos casos em que o aplicativo faz chamadas de API com permissões sobrepostas.
- Aplique apenas o conjunto de permissões menos privilegiado ao aplicativo escolhendo a permissão menos privilegiada na lista de permissões.
Menor privilégio para aplicativos implantados
As organizações muitas vezes hesitam em modificar aplicativos em execução para evitar afetar suas operações comerciais normais. No entanto, uma organização deve considerar reduzir o risco de um incidente de segurança tornado possível ou mais grave usando permissões com privilégios excessivos para ser digno de uma atualização agendada do aplicativo.
Faça estas práticas padrão em uma organização para ajudar a garantir que os aplicativos implantados não sejam superprivilegiados e não se tornem superprivilegiados com o tempo:
- Avalie as chamadas de API que estão sendo feitas a partir dos aplicativos.
- Use o Graph Explorer e a documentação do Microsoft Graph para obter as permissões necessárias e menos privilegiadas.
- Privilégios de auditoria concedidos a usuários ou aplicativos.
- Atualize os aplicativos com o conjunto de permissões menos privilegiado.
- Revise as permissões regularmente para garantir que todas as permissões autorizadas ainda sejam relevantes.