Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Uno sviluppatore che vuole progettare e implementare applicazioni che seguono i principi guida di Zero Trust può aumentare la sicurezza delle applicazioni con il principio del privilegio minimo. È fondamentale ridurre la superficie di attacco dell'applicazione e l'effetto di una violazione della sicurezza.
Questo articolo illustra perché le applicazioni non devono richiedere più autorizzazioni di quelle necessarie. Si apprende il termine overprivilege. Sono disponibili raccomandazioni e procedure consigliate per limitare i privilegi nelle applicazioni, gestire l'accesso e migliorare la sicurezza.
Che cos'è l'eccesso di privilegi (overprivilege)?
L'overprivilege si verifica quando un'applicazione richiede o riceve più autorizzazioni di quelle necessarie per il corretto funzionamento. Migliora la comprensione dei privilegi eccessivi con esempi di autorizzazioni inutilizzate e riducibili nella parte restante di questo articolo.
Autorizzazioni inutilizzate
Per questo esempio di chiave inutilizzata, si supponga che siano presenti tre porte bloccate (blu, giallo e verde), come illustrato nel diagramma seguente.
Le tue risorse sono dietro le porte. Si hanno tre tasti (blu, giallo e verde) che consentono di aprire la porta corrispondente. Ad esempio, la chiave blu può aprire la porta blu. Quando è sufficiente accedere alla porta gialla, si porta solo la chiave gialla.
Per proteggere al meglio gli asset, è sufficiente trasportare le chiavi necessarie quando sono necessarie e mantenere le chiavi inutilizzate in una posizione sicura.
Autorizzazioni reducibili
L'esempio di chiavi reducibili è più complesso dell'esempio di chiave inutilizzata a cui ora si aggiungono due chiavi speciali, come illustrato nel diagramma seguente.
Il primo tasto nero è un tasto pass che può aprire tutte le porte. La seconda chiave nera può aprire il giallo e le porte verdi. Quando è sufficiente accedere al giallo e alle porte verdi, si porta solo la seconda chiave nera. Mantieni la chiave di accesso in una posizione sicura con la chiave ridondante verde.
Con Microsoft Identity Platform, le chiavi sono autorizzazioni di accesso. Tu e le tue risorse, in qualità di titolare della chiave, siete applicazioni. Se si comprende il rischio di trasportare chiavi non necessarie, si è consapevoli del rischio che le applicazioni presentino autorizzazioni non necessarie.
Gap di autorizzazione e rischio
In che modo le porte e le chiavi possono aiutare a capire come si verifica l'overprivilege? Perché l'applicazione può avere le autorizzazioni appropriate per eseguire un'attività, ma avere comunque permessi in eccesso? Si esaminerà ora il gap di autorizzazione che potrebbe causare la discrepanza nel diagramma seguente.
L'asse X rappresenta l'ora e l'asse Y rappresenta Le autorizzazioni. All'inizio del Tempo misurato, richiedi e ricevi il permesso per la tua applicazione. Man mano che l'azienda cresce e cambia nel tempo, si aggiungono nuove autorizzazioni per supportare le proprie esigenze e aumenta la pendenza delle autorizzazioni concesse . Le autorizzazioni usate potrebbero essere inferiori a quelle concesse quando si dimentica di rimuovere autorizzazioni non necessarie (ad esempio, se l'applicazione non si interrompe) con conseguente gap di autorizzazione.
Di seguito sono riportate osservazioni interessanti in Microsoft Identity Platform.
- In Microsoft Graph sono disponibili più di 4.000 API.
- In Microsoft Identity Platform sono disponibili più di 200 autorizzazioni di Microsoft Graph.
- Gli sviluppatori hanno accesso a un'ampia gamma di dati e possono applicare granularità alle autorizzazioni richieste dall'app.
- Nelle indagini è stato rilevato che le app usano completamente solo 10% di autorizzazioni per i relativi scenari.
Valutare attentamente le autorizzazioni necessarie per l'app. Presta attenzione al divario nelle autorizzazioni e controlla regolarmente le autorizzazioni dell'applicazione.
Sicurezza compromessa a causa di diritti eccessivi
Verranno ora approfonditi i rischi che derivano da gap di autorizzazione con un esempio. Questo scenario di compromissione comprende due ruoli: amministratore IT e sviluppatore.
- Amministratore IT: Jeff è un amministratore tenant che garantisce che le applicazioni in Microsoft Entra ID siano attendibili e sicure. Parte del processo di Jeff consiste nel concedere il consenso alle autorizzazioni richieste agli sviluppatori di app.
- Sviluppatore: Kelly è uno sviluppatore di app che usa Microsoft Identity Platform e possiede app. Il compito di Kelly è garantire che le applicazioni dispongano delle autorizzazioni appropriate per eseguire le attività necessarie.
Lo scenario comune di compromissione della sicurezza con privilegi eccessivo seguente prevede in genere quattro fasi.
- Lo sviluppatore inizia a configurare l'applicazione e ad aggiungere le autorizzazioni necessarie.
- L'amministratore IT esamina le autorizzazioni necessarie e concede il consenso.
- L'hacker inizia a violare le credenziali dell'utente e riesce a violare l'identità dell'utente.
- Se l'utente è proprietario di più applicazioni, è anche eccessivamente privilegiato. L'attore non valido può usare rapidamente il token dell'autorizzazione concessa per recuperare i dati sensibili.
Applicazioni privilegiate
Un'entità è sovraprivilegiata quando richiede o riceve più autorizzazioni di quelle necessarie. La definizione di un'applicazione priva di privilegi in Microsoft Identity Platform è qualsiasi applicazione con autorizzazioni inutilizzate o reducibili.
Si userà Microsoft Graph come parte di Microsoft Identity Platform in un esempio reale per comprendere meglio le autorizzazioni inutilizzate e le autorizzazioni reducibili.
L'autorizzazione inutilizzata si verifica quando l'applicazione riceve autorizzazioni non necessarie per le attività desiderate. Ad esempio, si sta creando un'app del calendario. L'app di calendario riceve e richiede l'autorizzazione Files.ReadWrite.All. L'app non si integra con le API dei file. Pertanto, l'applicazione dispone di un'autorizzazione inutilizzata Files.ReadWrite.All .
L'autorizzazione reducibile è più difficile da individuare. Si verifica quando l'applicazione riceve poche autorizzazioni, ma ha un'alternativa con privilegi inferiore che fornisce un accesso sufficiente per le attività necessarie. Nell'esempio dell'app calendario l'app richiede e riceve l'autorizzazione Files.ReadWrite.All . Tuttavia, deve solo leggere i file da OneDrive dell'utente connesso e non deve mai creare nuovi file o modificarli esistenti. In questo caso, l'applicazione usa Files.ReadWrite.All solo parzialmente, quindi è necessario effettuare il downgrade a Files.Read.All.
Suggerimenti per la riduzione degli scenari con privilegi eccessivo
La sicurezza è un percorso, non una destinazione. Esistono tre fasi distinte nel ciclo di vita della sicurezza:
- Prevenzione
- Auditing
- Remediation
Il diagramma seguente illustra le raccomandazioni per ridurre gli scenari sovraprivilegiati.
- Prevenire: quando compili un'applicazione, comprendi appieno le autorizzazioni necessarie per le chiamate API che la tua applicazione deve effettuare. Richiedere solo gli elementi necessari per abilitare lo scenario. La documentazione di Microsoft Graph include riferimenti chiari per le autorizzazioni con privilegi minimi per l'autorizzazione con privilegi più elevati per tutti gli endpoint. Tenere presente gli scenari con privilegi eccessivo durante la determinazione delle autorizzazioni necessarie.
- Controllo: l'utente e gli amministratori IT devono esaminare regolarmente i privilegi precedentemente concessi alle applicazioni esistenti.
- Correzione: se l'utente o gli amministratori IT notano un'applicazione con troppi privilegi nell'ecosistema, interrompere la richiesta di token per l'autorizzazione eccessiva. Gli amministratori IT devono revocare i consenso concessi. Questo passaggio richiede in genere una modifica del codice.
Procedure consigliate per mantenere l'autorizzazione con privilegi minimi
Due importanti incentivi per mantenere i privilegi minimi nelle applicazioni sono facilitare l'adozione delle applicazioni e fermare la propagazione.
- Favorire l'adozione creando un'app affidabile per i clienti che evitano richieste di autorizzazione eccessive. Limitare le autorizzazioni dell'applicazione solo a ciò che deve completare l'attività. Questa procedura riduce il potenziale area di impatto degli attacchi e aumenta l'adozione delle app da parte dei clienti. Applicare un maggior controllo quando si esaminano le autorizzazioni richieste dall'applicazione e si decide se concedere le autorizzazioni dell'app.
- Arrestare la distribuzione assicurando che gli attori malintenzionati non siano in grado di usare privilegi eccessivi per ottenere ulteriore accesso. Quando crei un'app che richiede autorizzazioni non necessarie, è meno probabile che riceva l'approvazione o ne venga negata del tutto. Il modo migliore per controllare i danni consiste nel impedire agli attori malintenzionati di ottenere privilegi elevati che aumentano l'ambito della compromissione. Ad esempio, se l'applicazione deve
User.ReadBasic.Allleggere solo le informazioni di base dell'utente, OneDrive, Outlook, Teams e tutti i dati riservati sono sicuri se un'app viene compromessa.
Passaggi successivi
- Acquisire l'autorizzazione per accedere alle risorse consente di comprendere come garantire al meglio Zero Trust durante l'acquisizione delle autorizzazioni di accesso alle risorse per l'applicazione.
- La creazione di app con un approccio Zero Trust all'identità offre una panoramica delle autorizzazioni e delle procedure consigliate per l'accesso.
- Personalizzare i token descrive le informazioni che è possibile ricevere nei token di Microsoft Entra. Spiega come personalizzare i token per migliorare la flessibilità e il controllo aumentando al contempo la sicurezza Zero Trust dell'applicazione con privilegi minimi.
- Configurare le attestazioni di gruppo e i ruoli dell'app nei token illustra come configurare le app con definizioni di ruoli applicativi e assegnare gruppi di sicurezza ai ruoli applicativi. Questi metodi consentono di migliorare la flessibilità e il controllo aumentando la sicurezza zero trust dell'applicazione con privilegi minimi.
- Ottenere l'idoneità Zero Trust nelle app: la progettazione di privilegi minimi consente di progettare app con il principio di accesso con privilegi minimi con Microsoft Identity Platform.
- Aumentare la sicurezza delle applicazioni con il principio dei privilegi minimi consente di ridurre la superficie di attacco di un'applicazione e l'effetto di una violazione della sicurezza (il raggio di esplosione) dovrebbe verificarsi in un'applicazione integrata di Microsoft Identity Platform.
- Graph Explorer e riferimento sulle autorizzazioni di Microsoft Graph aiutano a selezionare le chiamate API di Microsoft Graph per abilitare lo scenario dell'app e a trovare le autorizzazioni corrispondenti, dai privilegi minori a quelli maggiori.