La gestione delle Identità nel Cloud sta diventando la sfida più complessa per le strutture di Cybersecurity mentre si moltiplicano gli attacchi che sfruttano tutti i casi di Overly Permissive Policies.
Come Aditinet abbiamo lanciato un servizio che, usando il nostro Tenant di Prisma Cloud, effettua Assesment sulla Postura di sicurezza delle infrastrutture IaaS dei nostri clienti segnalando tutti gli oggetti che non risultano compliant alle normative dei diversi mercati.
La sorpresa, od il finto stupore perché in fondo è quanto ci aspettavamo, è vedere quante delle casistiche di non compliancy siano legati a problematiche IaM.

Al di la delle casistiche di mancata attivazione di meccanismi di MFA, aspetto ancora sottovalutato malgrado l’esperienza di Regione Lazio abbia dimostrato quanto la mancanza di questo meccanismo metta in pericolo l’intera infrastruttura considerato quanto le password sono facilmente violabili con meccanismi di Social Engineering, quello che più si nota è la tendenza a non applicare il Principio del Least Privileged.
Nel Cloud, con un concetto che oramai viene considerato come best practice minimale è quello che ogni entità, sia esso un essere umano od un servizio, debba avere solo i permessi che gli consentono di svolgere il proprio compito. Eppure la realtà è ben diversa e possiamo portare ad esempio anche lo studio più ampio fatto da Unit42 di Palo Alto Networks.
https://www.paloaltonetworks.com/prisma/unit42-cloud-threat-research-volume-six
Dallo studio emerge che il 62% delle permission non vengono utilizzate, chiaro indicatore del fatto che non avrebbero dovuto essere concesse, ed anzi, solo 1% di quelle analizzate risulta aver applicato il principio del Least-Privileged Permission. Interessante notare come le Policy gestite dal CSP tendano a dare due volte e mezza più permission rispetto a policy create custom dall’utente e come queste policy siano il 43% su AWS ed addirittura un 81% su Azure. Se consideriamo che nelle Top5 most-used policy di AWS rientra quella di AdministratorAccess, ci si può rendere conto quanto il problema sia diffuso.
Il problema è intrinsecamente legato alla complessità di gestione che porta ad amplificare il fattore umano e la tendenza a scegliere la via più semplice, per questo diventa fondamentale l’adozione di uno strumento di CIEM in grado di calcolare le “net effective permissions, identificare le “risky permissions”, le “overly permissive policies” e le “ widely granted permissions” nonché identificare tutti gli oggetti a cui è stato dato “public access”.

La pericolosità degli attacchi via IAM è legata soprattutto alla possibilità di effettuare una escalation di privilege sfruttando una catena di permission apparentemente corrette, ma che alla fine portano a garantire agli attaccanti diritti di amministratore.
Questo articolo di Bishopfox https://bishopfox.com/blog/privilege-escalation-in-aws merita una attenta lettura perché mostra una serie di casistiche in cui la mancata applicazione del Least Priviledge ad una serie di metodi IAM porta ad una concatenazione di azione che permettono all’attaccante di avere pieno accesso all’infrastruttura.

Una considerazione ulteriore riguarda la protezione dei Git: sempre più frequentemente nei git pubblici si trovano, esposte al pubblico, credenziali, chiavi, informazioni sulle API: il caso del DataLeak di Toyota Europe di Settembre dove una exfiltration di 30K dati personali ha avuto facilitatore principale, secondo quanto riportato dai siti specializzati, la scoperta di un API-token valido all’interno di un Git pubblico di un programmatore. Diventa necessario adottare una politica di enforcement sull’uso dei git e sulla protezione degli accessi, adottando strumenti che consentano lo scan dei repository pubblici alla ricerca di oggetti che potrebbero facilitare l’accesso dall’esterno alle nostre infrastrutture ed ai nostri dati.
Per concludere, possiamo tornare allo studio di Unit42 e riportare le raccomandazioni, sembrano ovvietà, ma purtroppo il reality check dimostra come molto spesso queste non siano applicate.

- Ridurre al minimo l’uso di credenziali di Admin, meno sono usate meno si rischia che siano compromesse
- Ridurre al minimo l’uso di “long-term credentials” come user password, access key e service-account key.
- Rendere mandatorio l’uso di multi-factor authentication (MFA) per tutte le permissions che consentono di modificare risorse business-critical quali per esempio database deletion, snapshot deletion e modifica delle chiavi di encryption
- Implementare una politica che forza l’uso di password strong.
- Concedere ad ogni identity esclusivamente le permissions necessarie per l’esecuzione del proprio compito, il cosiddetto principio di least-privilege più volte citato. Tutte le Identity devono essere oggetto di audit continui con tools di CIEM ( Cloud Infrastructure Entitlement Management )
Fonti ulteriori delle informazioni e dei disegni:
https://www.paloaltonetworks.com/blog/2020/02/cloud-iam-security/
https://www.paloaltonetworks.com/blog/prisma-cloud/iam-security-essential-cspm/