Nel corso degli anni il Social Engineering è
stato definito in diversi modi da esperti di psicologia e di sicurezza
informatica: l'arte e la scienza di guidare l'interlocutore ad assecondare
i propri desideri, l'uso di trucchi psicologici per ottenere l'accesso
a un sistema, la capacità di raccogliere da una persona le informazioni
necessarie prima di irrompere nel sistema obiettivo e così via.
Il filo conduttore che lega queste definizioni sembra essere la raffinata
capacità degli hackers di manipolare la fiducia insita nella
natura umana. Il termine "Ingegneria Sociale" non rende forse
giustizia al più evocativo corrispondente inglese, ma sicuramente
aiuta a capire il lavoro metodico di preparazione che si cela dietro
a questa tecnica dove, di fatto, l'attacco stesso non è che una
piccola parte: la più evidente.
Il Social Engineering affonda le sue radici nella Storia quindi può
sembrare pretestuoso definirlo una neonata tecnica di hacking, però
è un elemento spesso essenziale alla riuscita di un'intrusione,
un coadiuvante delle tecniche più classiche e tecnologiche. Analizzando
casi realmente accaduti, di cui più avanti forniremo degli esempi,
possiamo notare che il social engineer opera su due piani chiaramente
distinti: il livello fisico e il livello psicologico.
La componente fisica riguarda tutte le persone e i luoghi - reali o
virtuali - da cui si possono raccogliere le informazioni. La sede dell'obiettivo,
le società con cui collabora, gli uffici, i terminali incustoditi.
Ma anche gli archivi online, i newsgroup, i dipendenti raggiungibili
tramite telefono o e-mail. Infine, perché no, il cestino della
spazzatura.
L'hacker potrebbe visitare indisturbato la sede della società
presentandosi come un rappresentante, farsi inviare
tramite e-mail le password di accesso del responsabile spacciandosi
per un tecnico del reparto IT, proporre alla segretaria un sondaggio
telefonico per scoprire quali sistemi informatici vengono utilizzati in azienda. Le possibilità sono limitate solo dalla fantasia del nostro avversario-intruso.
Qualcuno starà già pensando che sembra inverosimile riuscire
a farsi consegnare password e dati riservati con tale facilità,
ma è proprio a questo punto che entra in scena il fattore psicologico.
Il social engineer, dopo aver studiato a tavolino l'obiettivo
e le informazioni raccolte, preparerà un piano di azione
completo di tutte le possibili alternative alle reazioni degli interlocutori:
non finire imbrigliati nella rete sarà, per loro, molto difficile.
A tal proposito ricordiamo le parole di Kevin Mitnick, l'hacker/cracker
più conosciuto (e, anni fa, il più ricercato) in America:
<< Un buon social engineer pianifica il suo attacco come una partita
di scacchi, anticipando le domande che l'interlocutore può rivolgergli,
così da essere pronto con le risposte giuste >>.
Immaginiamo di ricevere una telefonata da uno sconosciuto che vuole
sapere la nostra password di accesso a Internet. Il buonsenso consiglierà
alla maggior parte di noi di liquidare velocemente l'importuno. Se però
la persona che telefona si identificasse come operatore del nostro provider,
conoscesse i dettagli dell'abbonamento e il nostro codice fiscale...probabilmente
saremmo meno sospettosi e più propensi a fornire i dati richiesti.
Il successo del social engineer dipende dalla capacità di utilizzare
a proprio favore alcune tecniche di manipolazione psicologica, per far
leva sulla fiducia dell'obiettivo. Esistono moltissimi
fattori in grado di influenzare la percezione di quello che ci accade
intorno e la nostra disponibilità verso gli altri. Evidenziamone
alcuni tramite l'utilizzo di parole chiave:
- Autorevolezza. Se il social engineering si basa principalmente
sull'impersonificazione di altri soggetti, il miglior modo per avere
successo è essere credibili. Un'accurata analisi delle
informazioni raccolte e una buona fantasia nell'inventare le situazioni
più realistiche (o nel farle sembrare tali) sono indispensabili
per questo principio. Presentandosi come una fonte autorevole, inoltre,
l'aggressore avrà molte più possibilità di riuscita.
Anche virus e catene di Sant'Antonio sfruttano queste indicazioni per
indurre ad aprire un allegato o a diffondere una e-mail a tutti i conoscenti.
- Gentilezza. In un mondo che si fa sempre più
frenetico, le persone gentili suscitano subito simpatia e fiducia. Anche
i semplici "per favore" e "grazie" possono essere
armi per un hacker. Alle persone piace parlare di sé e il social
engineer, ben sapendolo, sfrutta questa propensione per raccogliere
informazioni: basta saper ascoltare.
- Persuasione. Esistono diversi modi per persuadere
l'interlocutore e guidarlo a compiere azioni che normalmente non eseguirebbe.
Pensiamo ad esempio allo sfruttamento del panico (creare una
situazione critica, come un DoS, e poi proporsi per risolverla) e dell'ignoranza
(motivare la richiesta di informazioni con la scusante di una procedura
tecnica non conosciuta dall'utente, ma che può sembrare plausibile).
Altri fattori riguardano più nello specifico la preparazione
mentale e tecnica dell'aggressore:
- Falsità. Avvalersi del social engineering
può comportare la falsificazione non solo delle proprie credenziali,
ma anche di comunicazioni e documenti. L'imitazione di siti web, la
contraffazione dei mittenti di comunicazioni tramite e-mail e fax, la
stampa casalinga di documenti di riconoscimento, tutto diventa normale
routine.
- Sangue freddo. L'hacker deve ragionare molto velocemente
per sapersi adattare a qualsiasi atteggiamento della controparte. È
necessario mantenere il sangue freddo e rimanere impassibili agli eventi
imprevisti, soprattutto se si sta parlando di persona con l'interlocutore.
- Pazienza. Abbiamo già visto come questa tecnica
richieda preparazione e studio dell'obiettivo. La raccolta delle informazioni
può essere diluita nel tempo, anche in diverse settimane, per
evitare di destare sospetti e per essere sicuri di aver provato ogni
strada.
L'analisi di casi realmente accaduti può aiutare a cogliere
le astuzie utilizzate dal social engineer, per riconoscerle e per potersi
difendere in futuro. Vediamo alcuni esempi, dalle situazioni più
classiche agli exploit più geniali.
Caso 1: hacking telefonico.
Dopo un'attenta analisi delle difese dell'obiettivo, la Big Corp Inc,
l'hacker si era reso conto di aver trovato un possibile punto di accesso.
Una sessione di wardialing aveva rivelato un numero telefonico dell'azienda
associato a un modem. Era necessario scoprire quali fossero i dipendenti
che avevano la password dell'accesso remoto, e la risposta non si fece
attendere: un tecnico di Big Corp aveva chiesto su un newsgroup consigli
sulla configurazione di un server RAS per gli agenti in trasferta. L'hacker
si mise subito all'opera: usò i dati del tecnico per falsificare
un messaggio di posta elettronica da inviare agli agenti che era riuscito
a rintracciare, inventandosi una "modifica del sistema di autenticazione",
che ovviamente richiedeva il reinserimento dei dati di login
dei dipendenti.
Le risposte arrivarono in pochi giorni: il social engineer raccolse
un buon numero di username e password da utilizzare a suo piacimento.
Caso 2: l'uomo delle pulizie.
Questa volta l'intruso riuscì nel suo intento utilizzando un approccio
ancor meno tecnologico. Dopo essersi fatto assumere come uomo delle
pulizie part time, cercò di fare amicizia con la guardia preposta
alla sicurezza del NOC (Network Operation Center). L'addetto alla sicurezza
si era appena sposato e non fu difficile, fra una sigaretta e l'altra,
fraternizzare facendolo parlare della sua famiglia, o addirittura avendo
l'ardire di chiedergli cosa fosse l'ammasso di ferraglia dentro il NOC
(la guardia ebbe la bontà di spiegare all'hacker cosa fosse un
server e a cosa servisse). Conquistata la fiducia dell'addetto, non
passò molto tempo che questi chiese all'hacker di dare un'occhiata
al NOC mentre lui era fuori a fumare. Quei pochi minuti bastarono per
installare una backdoor e avere accesso al sistema dell'azienda.
Caso 3: reverse social engineering.
Questa tecnica sfrutta una situazione per cui il pirata ha la massima credibilità: è l'azienda stessa che si rivolge al social engineer per
risolvere un problema, quindi non sussistono i sospetti che potrebbe suscitare
il normale approccio dell'hacker. È il caso dell'aggressore che falsificò
una comunicazione pubblicitaria, proponendosi come Shield Inc, azienda
specializzata nella difesa da attacchi di pirateria (con sede stranamente
nelle vicinanze della società colpita). Il server web della Small Corp
Ltd, pochi giorni dopo, venne preso di mira da una terribile crew di
hackers cinesi. Fortunatamente un tecnico si ricordò
della pubblicità e il social engineer, una volta interpellato,
impiegò poche ore per rimettere in sesto il server di Small Corp.
E per carpire, fra gli altri, i dati di accesso alla rete di Big Enterprise Ltd, importante
azienda in affari con Small Corp.
Il successo delle tecniche di social engineering, come abbiamo visto,
dipende molte volte dalla scarsa familiarità che i dipendenti
delle aziende hanno con questi metodi. Informare il personale e addestrarlo
a riconoscere gli attacchi può ridurre notevolmente
le possibilità del social engineer.
I dipendenti devono essere in grado di valutare quali sono le informazioni
confidenziali che possono permettere un accesso non autorizzato, in
modo da bloccare qualsiasi richiesta in proposito. Vediamo le contromisure
ai principali tipi di attacco:
Area interessata | Tecnica usata | Contromisura |
Telefono (es: Help Desk) | Impersonificazione e persuasione |
Addestrare gli operatori, non fornire informazioni confidenziali via telefono |
Azienda | Accesso fisico non autorizzato | Controllare l'accesso tramite badge, assumere guardiani |
Ufficio - cestino | Raccolta di materiale | Distruggere il materiale cartaceo e cancellare i supporti magnetici prima di cestinarli |
Dipendenti | Psicologia | Informare i dipendenti sulle tecniche di social engineering, fornire politiche di sicurezza da seguire |
Uffici - NOC | Accesso fisico, installazione di programmi | I computer e i server, se incustoditi, devono essere protetti da porte chiuse e passwords |
L'attuazione di tutte queste contromisure potrebbe non essere semplice
per piccole aziende con budget limitato. Ad ogni modo, l'interessamento
al problema Social Engineering e la corretta informazione verso i dipendenti
rappresentano già notevoli passi avanti rispetto alla media e
possono rendere la vita piuttosto difficile ai pirati informatici.