La gestione delle identità è essenziale per garantire che sia le persone sia i dispositivi autorizzati ottengano l’accesso alle corrette risorse, nel momento opportuno, e per le ragioni appropriate. Ovvero, un aspetto fondamentale per preservare la sicurezza delle risorse all’interno di un’organizzazione.
Inoltre, è doveroso sottolineare che, con l’avvento delle nuove tecnologie, la gestione delle identità si è evoluta, non limitandosi più solo alle identità umane ma comprendendo anche le identità delle macchine, i.e. dispositivi, carichi di lavoro digitali e bot di automazione dei processi (Robotic Process Automation – RPA).
CSA (Cloud Security Alliance) , in un recente white paper dal titolo “Machine Identity in Cybersecurity and IAM”, si prefigge di fornire una maggiore comprensione delle identità delle macchine e delle implicazioni del loro utilizzo, oltre ad offrire alcune best practices.
Identity and Access Management (Iam), perché passa da qui la nuova sicurezza dei dati aziendali
Indice degli argomenti
Definizione di machine identity
Un’identità è un insieme di caratteristiche che definiscono in modo univoco un soggetto all’interno di un determinato contesto. Questo soggetto può essere una persona, un’organizzazione, un dispositivo, un hardware, una rete, un software, un carico di lavoro o un servizio. È importante sottolineare che l’identità è diversa dalle credenziali utilizzate per autenticare l’identità stessa, come password, chiavi o certificati.
Gli attributi che compongono un’identità possono includere il nome, l’indirizzo email, l’indirizzo IP o altre caratteristiche identificative. Le identità umane sono associate agli individui, mentre le identità delle macchine sono associate ai dispositivi come laptop, smartphone, server e dispositivi IoT, nonché ai carichi di lavoro digitali e ad altre entità.
Le identità digitali sono legate alle “entità digitali” come carichi di lavoro, servizi, applicazioni, macchine, container, cloud, bot RPA e API e vengono utilizzate per autenticare e autorizzare l’accesso alle risorse e alle applicazioni, sia in una rete locale sia nel cloud, verificando le credenziali o i certificati.
Le identità dei computer, in particolare, sono identità digitali che possono utilizzare chiavi crittografiche, token o keypass simmetriche o asimmetriche. Pertanto, è importante comprendere anche i diversi tipi di key encryption e, precisamente:
Asymmetric key encryption (o crittografia a chiave pubblica)
Essa consiste nell’utilizzo di una coppia di chiavi pubblica-privata. La chiave pubblica non è mai un segreto e viene utilizzata per bloccare o crittografare il payload, mentre la chiave privata viene utilizzata per sbloccare o decrittografare il testo crittografato. La chiave privata deve essere mantenuta protetta e viene in genere archiviata in un insieme di credenziali delle chiavi hardware o software o in un archivio chiavi. La stragrande maggioranza delle macchine utilizza chiavi asimmetriche come i certificati digitali per identificarsi e stabilire un rapporto di fiducia. Gli esempi includono certificati server Web, certificati client, chiavi host SSH e certificati host SSH.
Symmetric key encryption
Essa non è così ampiamente utilizzata come la Asymmetric key encryption e si impiega solo in casi d’uso semplici in quanto la symmetric key encryption utilizza una sola chiave, non una coppia di chiavi. Esempi di identità di macchine a chiave simmetrica includono chiavi API, token.
Origine del concetto di Machine Identity e caratteristiche
Il concetto di identità delle macchine si basa sull’assegnazione di identificatori univoci ai dispositivi per controllare l’accesso alle risorse e alle applicazioni nelle reti di computer. Questo concetto ha radici nelle prime reti, dove l’assegnazione di identità come gli indirizzi IP o MAC era fondamentale per limitare l’accesso.
Con l’espansione delle reti e l’aumento della complessità dei carichi di lavoro, identificare e proteggere queste identità è diventato sempre più difficile. Inoltre, è doveroso ricordare che le identità delle macchine non si limitano più solo agli indirizzi fisici, ma includono anche carichi di lavoro digitali, account di servizio, bot RPA, API e dispositivi IoT, aggiungendo ulteriori strati di complessità.
Ancora, la grande quantità di dispositivi collegati, e la loro crescita esponenziale rispetto agli utenti umani, hanno reso cruciale concentrarsi sulla protezione e sulla gestione delle identità delle macchine.
Interessante notare che le organizzazioni spesso implementano rotazioni periodiche delle password per proteggere le credenziali, ma questo può causare interruzioni se l’identità è integrata in un’applicazione o utilizzata da uno strumento.
Per affrontare queste sfide, negli ambienti cloud, vengono utilizzate identità gestite come Azure Identity o ruoli come AWS per gestire l’accesso. Mentre, negli ambienti on-premise, strumenti di gestione degli accessi privilegiati come Thycotic o CyberArk possono individuare le identità delle macchine e le loro dipendenze, aiutando a mitigare i problemi derivanti dalla rotazione delle password.
Identity Management: cos’è, a cosa serve, i consigli degli esperti
Come proteggere le identità delle macchine
La protezione delle identità dei computer è fondamentale per garantire la sicurezza e l’integrità delle informazioni e delle risorse di un’organizzazione. A differenza delle identità umane, le identità delle macchine non dispongono di biometria o altre forme di verifica secondaria integrate nel software.
È quindi importante assicurarsi che gli esseri umani non abbiano accesso diretto agli aspetti privati di queste identità, concentrandosi invece sulla definizione di politiche e di governance, mentre l’automazione si occupa della verifica, dell’emissione e della gestione di tali identità.
Le identità dei computer vengono generalmente autenticate utilizzando coppie di chiavi asimmetriche. Le chiavi private non dovrebbero essere accessibili, poiché potrebbero essere compromesse da utenti malintenzionati. Questo perché un attore malintenzionato potrebbe nascondersi dietro un’identità di computer compromessa.
L’identità di un computer è solitamente rappresentata dal nome assegnato o dal nome di dominio completo. Pertanto, i log e gli eventi di log del computer registreranno il nome dell’identità del computer come attore coinvolto in attività dannose.
Ad esempio, se un account di servizio viene compromesso in un ambiente Active Directory con l’accesso interattivo abilitato, qualsiasi utente che conosce la password può accedere come account di servizio (spoofing).
I log delle attività registreranno il nome dell’account di servizio, non l’attore malintenzionato. Di conseguenza, è consigliabile disabilitare l’accesso interattivo in un account di servizio, a meno che non sia strettamente necessario per esigenze aziendali.
Inoltre, è fondamentale rammentare che non possiamo proteggere le risorse di cui non siamo a conoscenza, quindi, scoprire le identità delle macchine e creare un inventario accurato delle stesse, unitamente agli account di servizio, alle identità gestite e alle API, è un primo passo essenziale per proteggerle,.
È importante sottolineare che la Root of Trust (RoT) rappresenta il fondamento della fiducia all’interno di un’organizzazione. Proteggere e preservare le identità delle macchine attraverso hardware e software sicuri e altamente affidabili è essenziale.
Idealmente, le chiavi private delle identità dei computer vengono archiviate in una RoT hardware, sebbene ciò comporti costi aggiuntivi e complessità nella gestione e manutenzione delle identità. Gli archivi di chiavi software sono ampiamente utilizzati per proteggere le chiavi private grazie alla loro flessibilità.
Pertanto, ogni organizzazione dovrebbe proteggere le identità delle macchine o le chiavi private, utilizzando un archivio di chiavi software e automatizzare il processo per eliminare il coinvolgimento umano nell’accesso e nella gestione degli archivi software.
A causa della natura delle identità delle macchine e del modo in cui vengono gestite, esse pongono diverse sfide per le organizzazioni. Alcuni di queste includono:
Discoverability and Backdoor Machine Identities
Non tutte le organizzazioni seguono un approccio uniforme per l’individuazione e l’inventario delle identità dei computer. A differenza delle identità umane, le identità delle macchine possono emergere da qualsiasi punto all’interno di un’organizzazione.
Pratiche di codifica non sicure possono introdurre identità di macchine backdoor, come ad esempio credenziali codificate all’interno di un’applicazione, di un servizio o di uno script, create intenzionalmente o involontariamente. Queste identità sono difficili da individuare e richiedono strumenti specializzati per essere rilevate.
Legacy Machine Identities
Le identità dei computer legacy possono rappresentare una sfida significativa per le organizzazioni in quanto potrebbero mancare di documentazione, utilizzare algoritmi crittografici vulnerabili o avere controlli di sicurezza obsoleti. Queste identità possono includere dispositivi come stampanti, telecamere a circuito chiuso, proiettori, router wireless, e così via.
Quando si gestiscono identità legacy, è importante adottare un approccio basato sul rischio e dare priorità agli sforzi in base al livello di rischio che ogni identità rappresenta. Ciò può comportare il ritiro delle identità non utilizzate, la rotazione delle chiavi o l’aggiornamento dei controlli di sicurezza.
In alternativa, quando si utilizza un’identità legacy nota, un’organizzazione può cercare di implementare controlli di compensazione per evitare la compromissione delle credenziali.
Ad esempio, un controllo di compensazione potrebbe prevedere che i dispositivi con tali identità siano posizionati in una rete separata che è isolata o segmentata dalla rete che elabora dati sensibili. Un altro esempio potrebbe essere quello di posizionare tali dispositivi su reti interne segmentate invece che su reti pubbliche.
Lifecycle Management of Machine Identities
Un aspetto cruciale della gestione delle identità dei computer è assicurarsi che siano mantenute aggiornate durante tutto il loro ciclo di vita. Ciò include attività come il provisioning di nuove identità, la revoca o la disattivazione delle vecchie identità e la verifica che le identità esistenti siano ancora attive e in uso. Assegnare un identificatore univoco a ciascuna identità del computer e documentare le relative dipendenze consente di abilitare il provisioning degli accessi e l’applicazione dei criteri.
Un processo ben definito per la gestione del ciclo di vita delle identità dei computer garantisce che le identità vengano create e utilizzate in modo appropriato e che vengano revocate o disattivate quando non sono più necessarie. Mantenere le identità dei computer aggiornate è fondamentale per garantire una corretta gestione degli accessi e una migliore sicurezza delle risorse e delle informazioni aziendali.
Perpetual Ownership
Un’altra sfida nella gestione delle identità delle macchine è la questione della proprietà perpetua. A differenza delle identità umane, che sono associate a individui specifici, le identità delle macchine possono essere di proprietà di più individui, dispositivi o entità.
Ad esempio, un bot RPA può essere di proprietà di un singolo individuo o di un’organizzazione responsabile del suo sviluppo e funzionamento, ma potrebbe anche essere utilizzato da più organizzazioni o team. Garantire l’esistenza di un processo chiaro per la gestione della proprietà e il riutilizzo delle identità dei computer è fondamentale per una corretta governance.
È altrettanto importante implementare controlli adeguati a evitare che i proprietari di queste identità di macchine abusino intenzionalmente o involontariamente dei loro privilegi e commettano frodi attraverso una combinazione tossica di transazioni.
Queste transazioni spesso passano inosservate e possono essere difficili da correlare in seguito. Pertanto, si consiglia di implementare controlli proattivi come archiviare le credenziali in un insieme di credenziali e ruotarle regolarmente per prevenire tali compromissioni. Questi controlli aiutano a prevenire abusi e mantenere la sicurezza delle identità delle macchine.
Governance of Machine Identities
Garantire una gestione efficace delle identità dei computer è fondamentale per mantenere la sicurezza delle informazioni e delle risorse di un’organizzazione. Ciò implica garantire che le identità vengano create e utilizzate correttamente, revocate o disattivate quando non sono più necessarie e gestite dalle persone o dalle entità appropriate.
Lo sviluppo e l’implementazione di un ciclo di vita completo per le identità dei computer aiutano a garantire una gestione efficace e a ridurre al minimo i rischi associati.
Questo processo comprende l’individuazione, l’inventario, il provisioning, la gestione delle dipendenze, la revoca e la disattivazione delle identità dei computer in modo tempestivo e accurato. Mantenere un controllo costante sulle identità dei computer permette di garantire che siano gestite in modo efficiente e in linea con le esigenze di sicurezza dell’organizzazione.
Centralized Management of Machine Identities
Le identità delle macchine, gestite da diverse unità organizzative, spesso subiscono errori di gestione a causa della mancanza di consapevolezza delle implicazioni di una gestione inadeguata. È fondamentale promuovere la collaborazione tra i vari team responsabili dello sviluppo delle applicazioni, dell’IT, della sicurezza, dell’Identity and Access Management (IAM), del DevOps, della governance delle identità e dell’infrastruttura cloud per implementare un sistema centralizzato di gestione delle identità delle macchine.
La gestione centralizzata non solo migliora la visibilità e il controllo, ma consente anche l’applicazione di politiche e procedure standardizzate, garantendo pratiche di sicurezza coerenti. Ciò aumenta l’efficienza ed efficacia dei processi e supporta le attività di gestione del rischio, audit, controllo e conformità. Inoltre, la gestione centralizzata semplifica le indagini sugli eventi, l’individuazione delle vulnerabilità e le attività di applicazione delle patch.
Quali buone pratiche adottare
Una gestione efficace di machine identity richiede una combinazione di controlli tecnici e organizzativi. Di seguito sono riportate alcune procedure consigliate per la gestione delle identità dei computer.
Gestione del ciclo di vita
- Implementare un processo formale per la gestione del ciclo di vita delle identità dei computer, inclusi il provisioning, il deprovisioning e la rotazione di chiavi e certificati.
- Stabilire la proprietà e la responsabilità per le identità dei computer, inclusa l’assegnazione di una parte responsabile per ogni identità dei computer e garantire che queste informazioni siano ben documentate.
- Definire una relazione chiara tra l’identità e le concessioni di ruolo e garantire la visibilità di questa relazione.
- Rendere la “cripto-modularità” una best practice di progettazione nello sviluppo dell’applicazione, in modo che l’applicazione possa essere modificata o rilanciata senza dover ricodificare l’intera applicazione.
- Trattare le identità delle macchine in modo simile alle identità umane, implementando i principi del privilegio minimo e dell’accesso JIT (Just-in-Time), che garantisce che le identità delle macchine abbiano solo l’accesso necessario per un periodo di tempo limitato per limitare efficacemente l’ambito dei privilegi e dello sfruttamento.
- Utilizzare identità gestite (Azure)/ruoli (AWS) in ambienti cloud per mantenere bassa la probabilità di compromissione dell’identità. Ciò è dovuto al fatto che i segreti delle credenziali vengono gestiti dal provider di servizi cloud.
- Ridurre le attività di conformità manuale tra le identità dei computer ed applicare l’automazione per le richieste di accesso con privilegi elevati, l’emissione, il rinnovo e le attività di revoca.
- Implementare un sistema centralizzato per la gestione delle identità delle macchine, per fornire una visibilità completa di tutte le identità delle macchine di cui è proprietaria.
- Considerare la maturità dei dispositivi e dei carichi di lavoro come fattori distinti, poiché il miglioramento dell’infrastruttura per i dispositivi può richiedere metodi diversi da quelli necessari per gli strumenti di onboarding.
- Stabilire un monitoraggio continuo (mensile, trimestrale e così via) per le verifiche di accesso delle identità del computer o del carico di lavoro, per determinare se sono inattive.
- Rimozione delle autorizzazioni delle identità dei computer o dei carichi di lavoro inattivi nell’ambito della normale igiene.
- Identificare e dimensionare correttamente le identità dei computer con autorizzazioni eccessive, confrontando le autorizzazioni concesse con quelle utilizzate.
- Fornire indicazioni su misura a sviluppatori, I&O, DevOps e team di sicurezza definendo come gli strumenti negli stack tecnologici devono o non devono essere utilizzati e in quali circostanze possono essere implementati.
- Implementazione di un meccanismo di orchestrazione delle chiavi sicure per convalidare, verificare ed emettere automaticamente le identità in base all’attendibilità ereditata, impedendo così l’accesso umano alle identità delle macchine.
Archiviazione e autenticazione
- Centralizzare e archiviare certificati digitali, chiavi SSH e segreti in posizioni protette, preferibilmente in Hardware Security Modules (HSM) or key vaults. Inoltre, l’accesso a questi dispositivi deve essere limitato agli utenti privilegiati con password complesse o RBAC.
- Optare per un approccio incentrato sull’identità in aggiunta a strumenti comuni come gateway, crittografia o gestione delle chiavi, quando possibile.
Controlli e monitoraggio continui
- Garantire il monitoraggio e l’audit continui delle identità dei computer per attività sospette.
- Utilizzare il rilevamento delle anomalie, quando possibile, per determinare quando sono presenti attività anomale di identità del computer.
- Rilevare periodicamente le identità dei computer compromessi, per disabilitarle o disattivarle.
- Incorporare la gestione dell’identità delle macchine nei processi generali di sicurezza e gestione dei rischi e implementare controlli compensativi laddove i rischi non possono essere mitigati.
- Identificare e documentare le interruzioni legate all’identità delle macchine e creare un programma di sensibilizzazione per prevenirne di ulteriori.
- Garantire la conformità alle normative governative e di settore pertinenti.
- Applicare la separazione dei compiti, non solo per le identità delle macchine, ma anche tra combinazioni di identità e proprietari. Una persona con il controllo sull’identità di una macchina non dovrebbe essere in grado di eseguire una combinazione tossica di transazioni, ad esempio, eseguire una parte di una transazione dannosa come identità della macchina e un’altra parte come sé stessa.
- Assicurarsi che le identità dei computer non dispongano di autorizzazioni interattive di tipo umano a livello di amministratore che consentano la modifica delle autorizzazioni dei ruoli, la creazione di utenti aggiuntivi e così via.
- Evitare di assegnare le autorizzazioni di tipo umano a un’identità del computer senza giustificazione aziendale.
- Assicurarsi che vengano effettuati gli avvisi e il monitoraggio delle attività di escalation dei privilegi eseguite dalle identità delle macchine, tracciando le attività legate a TTP (Tattiche, Tecniche e Procedure) note od a comportamenti associati a modifiche delle autorizzazioni, movimenti laterali (ad esempio, accesso tra account) e componenti sensibili dell’infrastruttura come il firewall virtuale.
Soluzioni di cyber security: in un sondaggio le prospettive 2023
Conclusioni
Le identità dei computer sono un aspetto essenziale della gestione delle identità. Comprenderne le caratteristiche e i rischi unici associati e sviluppare le migliori pratiche per gestirle e governarle è fondamentale per mantenere la sicurezza delle informazioni e delle risorse.
Pertanto, implementando strategie efficaci di gestione delle identità, le organizzazioni possono garantire che le giuste identità di computer – come nel caso dei singoli individui – abbiano il giusto accesso alle risorse giuste, al momento giusto, per la giusta intenzione, riducendo così al minimo il rischio di accesso non autorizzato.
Inoltre, ora più che mai, considerando che le macchine sono la forza dominante del business digitale e il loro numero non potrà che moltiplicarsi man mano che l’intelligenza artificiale generativa prenderà piede, le organizzazioni dovranno essere in grado in grado di “suonare” la sinfonia della cyber resilience quale intersezione del risk management, business continuity e cybersecurity per riuscire a gestire i rischi delle identità delle macchine e una corretta gestione degli accessi.