La sicurezza in ambiente HPC (High Performance Computing) viene da sempre sacrificata a favore delle prestazioni, ma questo può comportare costi enormi in termini di salvaguardia dei sistemi e dei dati in esso elaborati.
Inoltre, i requisiti di sicurezza da implementare variano notevolmente in base al potenziale impatto della perdita di riservatezza, integrità e disponibilità delle informazioni sui cluster HPC.
La principale sfida per la sicurezza in ambito HPC è, infatti, come tradurne i requisiti impiegati ad es. nel mondo business, agli ambienti ad altissime prestazioni propri delle infrastrutture HPC. Una metodica di risk management[1] è inizialmente la migliore (la più praticabile) strategia[2].
Vale la pena richiamare l’approccio adottato da alcune organizzazioni molto sensibili al tema sicurezza[3] e che si basa sulla identificazione di macroaree di intervento, come ad esempio: accesso, gestione, elaborazione (HPC) e data storage.
Questo criterio si fonda sulla constatazione che zone funzionali diverse forniscono servizi diversi e affrontano minacce diverse mentre d’altra parte i nodi in ciascuna zona funzionale sono tra loro più uniformi, il che ne rende più omogenea ed efficace la configurazione e la protezione.
Indipendentemente dalle strategie adottate – in qualunque tipo di organizzazione, governativa o privata – è indispensabile mantenere un alto livello di vigilanza attiva, che spesso va opportunamente abbinata a pratiche di tipo zero-trust security.
Indice degli argomenti
Il mondo HPC
Realizzate con componenti ad alte prestazioni, le “pregiate” infrastrutture HPC vengono sfruttate in modo massivo soprattutto nelle università e nei centri di ricerca pubblici e privati.
Configurate in modo da offrire servizi computazionali a più utenti in modo asincrono, calcoli e simulazioni vengono aggiunti alle code di elaborazione esistenti in quanto la loro complessità ne previene un uso completamente interattivo.
Dato che le risorse necessarie per completare ciascun lavoro possono non essere immediatamente disponibili e che gli utilizzatori sono, di norma, costituiti da gruppi di lavoro numericamente estesi, la gestione e il controllo di sistemi e dati rappresenta un problema piuttosto complesso, soprattutto per quanto attiene alla sicurezza.
Il giusto significato del termine sicurezza
Il termine italiano “sicurezza” non rende giustizia delle diverse accezioni con le quali viene impiegato in informatica[4].
Tra le declinazioni possibili è importante ricordare che sotto il cappello “sicurezza” troviamo le responsabilità assegnate dal GDPR[5] all’amministratore e al responsabile del trattamento dei dati per la salvaguardia di confidenzialità, riservatezza, integrità e disponibilità delle informazioni gestite nei propri sistemi.
Gran parte del rispetto di quanto previsto dalla normativa è applicabile attraverso policy, procedure e processi utili a adottarle[6].
Non dimentichiamo che una componente rilevante negli attacchi e minacce informatiche può essere contrastata proprio dal comportamento virtuoso di amministratori e utenti, tra l’altro unico baluardo al cosiddetto social engineering.
Altra cosa è l’accezione della sicurezza relativamente alla capacità di indirizzare possibili minacce interne ed esterne (virus, malware, phishing) o la capacità di resistere ad attacchi hacker (DoS, MiM, SQL injection, tunneling DNS ecc.) la cui risposta è estremamente dipendente dalla corretta gestione di sistemi a presidio del canale di rete (firewall e IDS tra tutti).
Un ulteriore aspetto riguarda il tema dell’affidabilità delle componenti hardware/software, alla base della continuità di esercizio dei sistemi e della disponibilità delle informazioni in essi amministrate.
Di fatto la sicurezza, a qualunque livello, si nutre di due fattori primari: vigilanza attenta/ininterrotta e aggiornamento continuo delle dotazioni/protezioni impiegate.
HPC e sicurezza: modalità di accesso degli utenti
Nelle organizzazioni che si avvalgono dell’HPC per accelerare la simulazione di modelli sfruttando l’elaborazione parallela su nodi di calcolo estremamente performanti, è piuttosto comune che gli utenti utilizzino un’unica credenziale per accedere a qualunque sistema o servizio. Non solo, raramente in questi contesti vengono implementati sistemi di autenticazioni a due fattori, indebolendo ulteriormente la sicurezza degli ambienti.
Perché questo approccio rappresenta una forte criticità nelle implementazioni di cluster HPC?
HPC e sicurezza: trasparenza e consapevolezza
Accedere a sistemi dipartimentali significa, da un lato, navigare nelle basi dati e nei file che insistono sugli stessi dispositivi di archiviazione, permettendo agli utenti di accedere a informazioni sensibili e confidenziali per le quali non dispongono della necessaria autorizzazione.
Dall’altro è bene ricordare che alcuni ambiti di ricerca ospitati su cluster HPC di tipo pubblico, accademico o consorziale riguardano ricerche in campo medico, biologico o sociale il cui trattamento di dati è soggetto alle restrizioni (con policy chiare e tracciabili) e alle tutele aggiuntive descritte nel GDPR.
Nel caso di dati di natura biomedica, inoltre, il valore dei dati stessi (data la difficoltà di raccoglierli, oggi ridimensionata, ma comunque maggiore rispetto ad altri tipi di informazione) comporta la necessità non solo di evitarne l’accesso da parte di chi non ne ha specifico motivo o autorizzazione, ma anche di assicurarne la consistenza nel tempo attraverso metodiche di backup e opportune strategie di conservazione o smaltimento post-impiego.
Sappiamo che a volte vengono applicate policy stringenti rispetto al dato “in esercizio”, mentre la libera abilitazione per l’accesso ai sistemi di backup lascia aperta la porta – attraverso le operazioni di ripristino – a informazioni altrove protette per motivi più che stringenti.
Come è evidente, quello che va amministrato è dunque l’intero ciclo di vita del dato: dall’inserimento, alla manutenzione e protezione, sino alla rimozione finale.
Vincoli per il gestore
Ruolo tipico dell’amministratore di un cluster HPC è quello di assicurarsi che i sistemi siano “up and running”, disponibili alle richieste degli utenti e che i carichi di lavoro vengano evasi nei tempi dichiarati.
Evidentemente questa visione mirata alla semplice erogazione dei servizi non considera il tema sicurezza, mentre appare piuttosto chiaro che il responsabile del cluster cumula sulla propria figura professionale tutti gli obblighi e gli oneri richiesti rispetto alla condivisione (interna ed esterna) delle “regole di comportamento” previste dalla propria organizzazione in merito all’accesso alle risorse e alle informazioni in esse elaborate ed immagazzinate.
L’effettivo rispetto delle regole dipende ovviamente sia dai flussi (es. impiego delle medesime credenziali per più ambienti di lavoro) che dalla presenza di strumenti e pratiche adatte (es. obbligo periodico di aggiornamento password o la differenziazione tra accesso alla risorsa in esercizio verso accesso alle copie di archiviazione).
Del resto, non è tanto o solo il mondo dell’HPC a soffrire di queste criticità. Come si legge nel recente Report Imprese e ICT dell’Istat, datato 2022: “Più basse le quote di imprese che adottano misure di sicurezza avanzate, necessarie, ad esempio, all’analisi degli incidenti di sicurezza come la conservazione dei file di registro (44,6%, 40,6% nel 2019) o preventive come le pratiche di valutazione del rischio (35,3%, era 33,8%) e l’esecuzione periodica di test di sicurezza dei sistemi (31,8%, era 33,5%). Ancora limitata la diffusione di misure più sofisticate, come l’utilizzo della crittografia per dati, documenti o e-mail (dal 20,4% del 2019 al 22,0%) e di metodi biometrici per l’identificazione e l’autenticazione dell’utente (dal 4,5% all’8,2%)”.
Il mondo HPC, dunque, è in “buona” compagnia.
NOTE
ISO 31000:2018, Risk management ↑
ISO/IEC 27000:2018, Information Security Management Systems | NIST, Working draft for HPC Security (Nov 2016) | ITIL, IT Service Management | COBIT, framework per gestione e controlli ICT. ↑