Image Credits: thehackernews.com

Il vero nemico della Cybersecurity è la Complessità malgestita, non gli ‘Hacker’ ragazzini

Premesso che l’uso improprio del termine “hacker”, ormai invalso tra i media, ha completamente perso l’accezione originaria (che non aveva nulla di negativo, ma al contrario sottolineava gli aspetti costruttivi associati al termine), tuttavia anche noi ne facciamo uso, nostro malgrado, proprio per sottolineare l’inadeguatezza della narrazione, specie nel caso di incidenti di sicurezza come quello di recente realizzato dalla cybergang Lapsus$, che per di più sembrerebbe essere formata e capitanata da un adolescente inglese.

A parte il solito sensazionalismo mediatico che caratterizza tali eventi, quello che colpisce l’uomo della strada è come sia possibile (e relativamente “facile”, almeno all’apparenza, e sempre sulla base di tale narrazione) per una banda di ragazzini mettere sotto scacco strutture aziendali di particolare rilevanza, che al contrario dovrebbero essere maggiormente attrezzate (almeno sulla carta) a gestire e contrastare tali tipologie di attacchi.

Allo stesso modo stupisce non solo l’uomo della strada, ma anche gli addetti ai lavori, il fatto che le contromisure proposte dai “cyberzar” della Cybersecurity si dimostrino nei fatti non solo inefficaci a prevenire tali incidenti, ma anche inadeguate a descrivere e gestire i rischi ad essi associati.

Una lettura non convenzionale (o quantomeno inconsueta) di tali fenomeni può contribuire a spiegare l’apparente paradosso; è quello che ci proponiamo di fare in questa sede.

Exit Predictability, Enter Complexity!

La realtà dei fatti è che le strutture aziendali sono spesso caratterizzate da elevata complessità gestionale, legata non solo al numero dei dispositivi digitali impiegati, e dalle relative procedure di amministrazione implementate, ma anche dai diversi obiettivi (spesso in contrasto tra loro) e interessi afferenti ai singoli comparti aziendali.

Tale complessità si riflette inevitabilmente nelle architetture digitali che modellano tali obiettivi e i relativi processi aziendali.

A rendere il tutto ancora più complesso è l’inevitabile interazione con il “fattore umano” (sia a livello amministrativo, che lato utente) che contribuisce a rendere imprevedibile l’evoluzione nel tempo del sistema informativo nel suo complesso.

Ed è proprio in questa imprevedibilità, derivante dalla crescente complessità del sistema nel suo insieme, che spesso si celano le maggiori vulnerabilità alla sicurezza e all’integrità dei dati.

Complesso non è Complicato

Per chi è abituato a ragionare in termini ingegneristici, il concetto di imprevedibilità, specie se associato ad apparati e sistemi che sono il frutto dell’ingegnerizzazione stessa, è sostanzialmente inconcepibile.

È un lapsus mentale (o forse più una questione di forma mentis) che induce a considerare come intimamente “deterministici” gli artefatti che sono il prodotto dell’attività umana, e in quanto deterministici, essi sono reputati essenzialmente prevedibili nei loro comportamenti attesi.

In altri termini, si tende a trattare tutti i sistemi alla stregua di orologi (o calcolatrici elettroniche): oggetti complicati senza dubbio, ma che seguono regole di azione e reazione ben precise e predeterminate, che non sono di certo imprevedibili.

La questione cambia radicalmente quando si ha a che fare con artefatti riprogrammabili (ovvero che realizzano macchine programmabili secondo linguaggi di programmazione Turing-complete, per questo motivo anche conosciuti come linguaggi general-purpose) come i computer.

I computer sono per loro natura riprogrammabili a piacimento nelle loro funzionalità, e pertanto sono caratterizzati da complessità crescente, che ne rende imprevedibile la loro evoluzione nel tempo, specie se posti in stretta relazione e comunicazione tra di loro (come capita nelle architetture distribuite), e che li rende più assimilabili a sistemi complessi che oggetti complicati…

Gestire la Complessità secondo il modello Top-Down

L’approccio solitamente adottato nella gestione della complessità, specie in ambito accademico, è quello noto come modello Top-Down: in pratica vengono stabiliti rigorosamente a monte gli obiettivi e le funzionalità implementate dalle architetture e dai software, cercando in questo modo di rendere predicibile nel tempo il comportamento del sistema informativo.

Il problema principale dell’approccio Top-Down è che esso presuppone completezza informativa e chiarezza degli obiettivi perseguiti, sia in fase di design, che di successiva evoluzione nell’implementazione delle architetture.

La realtà dei fatti è ben diversa: spesso gli obiettivi che si intendono realizzare sono vaghi o non ben definiti fin dall’inizio, o semplicemente cambiano nel tempo, a seguito dell’evolversi degli eventi.

Questo influisce inevitabilmente sul risultato finale, che spesso è molto diverso da quanto previsto in origine, e il sistema che ne deriva solitamente espone funzionalità che possono mostrare comportamenti diversi da quelli originariamente progettati, dando luogo a veri e propri “effetti indesiderati” che sono all’origine delle vulnerabilità sfruttate dagli attaccanti…

Gli “Hacker” ragazzini e il vantaggio competitivo del modello Bottom-Up

In realtà quindi, i “ragazzini” spesso non fanno altro che sfruttare a loro vantaggio la complessità dei sistemi informativi (e le vulnerabilità associate ai “side effects” frutto di tale complessità) adottando un approccio Bottom-Up basato su euristiche e “trial & errors”, che permette di fare emergere aspetti peculiari del sistema target (spesso analizzandolo come black box) senza averne necessariamente una conoscenza completa.

Questo pone l’attaccante in un duplice vantaggio rispetto a chi si difende.

Da un lato, l’attaccante sfrutta il classico problema noto come asimmetria informativa che domina nella cybersecurity:

Solo l’attaccante sa dove, come, quando e perchè attaccherà, mentre chi si difende è costretto a fare una scelta degli obiettivi da proteggere, in quanto “proteggere tutto” si traduce in non proteggere nulla…

Dall’altro, l’attaccante può sfruttare la maggiore “economicità” dei metodi di scoperta del nuovo associati all’approccio Bottom-Up.

Ecco spiegato perchè attaccare architetture e sistemi complessi può spesso rivelarsi un “gioco da ragazzi”…