La piramide di Maslow delle vulnerabilità informatiche

Vulnerabilità informatiche

Quali sono le vulnerabilità informatiche che portano a una privilege escalation l’attacker? Le abbiamo inserite nella piramide di Maslow

In un recente articolo pubblicato su un portale di sicurezza è stato fatto notare come le fasi durante cui si può cadere vittima di un inganno informatico possono essere collocate all’interno della piramide di Maslow. Un’idea che abbiamo trovato molto interessante e che abbiamo voluto provare a sviluppare prendendo in considerazione le vulnerabilità informatiche.

Cos’è una Piramide di Maslow

Iniziamo con il dire che Abram Maslow era uno psicologo degli anni ’50. Il suo modello organizzativo aveva, ed ha, lo scopo di stabilire una gerarchia di bisogni, da quelli primari ed elementari a quelli più complessi; dal momento che tali bisogni sono caratterizzati da una scala crescente, quelli più in alto sono perseguibili solo quando quelli più in basso vengono soddisfatti.

La Piramide è suddivisa in 5 sezioni: bisogni fisiologici, di sicurezza, di appartenenza, di stima e di autorealizzazione.

I bisogni delle vulnerabilità informatiche

Cosa ha che fare il modello di Maslow con le vulnerabilità informatiche e gli attacchi hacker?

Di sicuro, il fatto che sono sempre di più le aziende vittime di attacchi che devono gestire sia i bisogni primari che di livello più elevato (abbiamo visto come nel primo quarter 2016 gli attacchi sono sempre più frequenti, complessi e di carattere maggiore). In sostanza, aziende e PMI cercano di portare la sicurezza nella propria infrastruttura attraverso un percorso articolato composto da step tra loro propedeutici.

Ma quali sono le vulnerabilità informatiche che possono portare a una privilege escalation l’attacker prendendo in questo modo il pieno controllo del server?

La piramide di Maslow delle vulnerabilità informatiche

Directory Traversal

L’attacco Directory Traversal è un exploit che consente all’attaccante di visualizzare la lista dei file contenuti nella “Document Root” del sito, ovvero dove si trovano le pagine web, con la possibilità di sfogliare l’intero filesystem del server remoto. Questa vulnerabilità di per sé non è pericolosa in quanto non fornisce accesso remoto al sistema o a altri dati ma, per un attacker, è utile per riuscire ad ottenere più informazioni e dettagli possibile per lanciare attacchi più complessi.

Diventa pericoloso se espone la presenza di file non linkati nelle pagine ma che contengono dati sensibili, come ad esempio password o informazioni private.

Generalmente sono oggetto di questo attacco quei dati che sono stati rinominati dal webmaster in fase di manutenzione del sito e mai cancellati (es. “config.php-old”, “.htaccess_orig”, ecc.).

Inclusione di file locali (Local File Inclusion, LFI)

Una LFI è una vulnerabilità che consente all’attaccante di includere in una pagina web il contenuto di un file ospitato sul server e non accessibile direttamente tramite gli script messi a disposizione per navigare nel sito.

Quando si usa una LFI, si vogliono acquisire dati privilegiati come ad esempio la password della connessione al database, leggendo, nel caso di un sito sviluppato con WordPress, il file “wp- config.php”.

Come proteggersi?

Dal momento che questa falla di sicurezza si basa sulla manipolazione degli argomenti utilizzati dagli script installati sul vostro dominio, è necessario sanitizzare l’input fornito dal visitatore e installare un web application firewall ove possibile, che sia un plugin del cms che state utilizzando o un modulo per il web server.

SQL Injection

L’SQL Injection è una delle pratiche più semplici da utilizzare per attaccare un’applicazione poco sicura e violarla o arrecare danni al database. Sostanzialmente consiste in una vulnerabilità presente nelle applicazioni che si interfacciano ad una base di dati di tipo SQL. Un hacker può elaborare una richiesta incorporando query SQL insieme ai dati che deve gestire il sito, inserendola ad esempio nel campo “Nome” di un form contatti via web.

Lo scopo è quello di far compiere allo script un’azione del tutto imprevista e accedere al database alterando le interrogazioni già esistenti nelle pagine dinamiche.

Se la propria applicazione permette SQL Injection la sicurezza è del tutto compromessa e i danni potenziali sono infiniti. E’ possibile infatti ottenere dati sensibili come gli indirizzi email degli utenti registrati, le loro password, ecc. Nella sua “semplicità” è tra gli attacchi più temuti e frequenti; basti pensare che sono stati vittima di questa falla di sicurezza anche grandi colossi come Nokia, Sony e LinkedIn.

Tra le contromisure che possono essere prese in considerazione ci sono quelle di convalidare tutti gli input inseriti nei form e forniti alle URL, identificando comandi SQL come ad esempio i delimitatori di commento, di comandi, ecc. E’ necessario inoltre ridurre al minimo i privilegi dell’utente che si interfaccia al database implementando sistemi di “Intrusion Detection” o Web Application Firewall.

Inclusione di file remoti (RFI)

Il Remote File Inclusion, o RFI, è una delle vulnerabilità informatiche che fa leva sullo scarso controllo delle variabili fornite dall’utente agli script del sito. L’attaccante può in questo caso eseguire del codice arbitrario sul server, potendo installare backdoor e avendo accesso ad ogni risorsa su cui ha controllo l’utente “web”.

Per risolvere questo genere di problema si possono includere nella propria applicazione controlli sugli argomenti che il visitatore invia alle pagine, e installare un web application firewall. Nel caso in cui il sito sia stato implementato in PHP, è opportuno disabilitare le funzioni “allow_url_include” e “allow_url_fopen”.

Remote Command Execution

Tramite questa vulnerabilità il malintenzionato può, inviando una richiesta elaborata ad-hoc, eseguire comandi sul server come se fosse in possesso di una shell. L’hacker ha quindi il pieno controllo del sito, potendo inoltre tentare una scalata di privilegi ed attaccare l’intero sistema.

Per porre rimedio a questa falla è indispensabile validare ogni forma di input che l’utente può inviare alle pagine web, installare un Intrusion Detection System (IDS) e quindi un Web Application Firewall (WAF).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*

Accedi

Registrati | Password dimenticata?