Cyberheist: The Invisible Enemy

Cyber espionage from an insider’s perspective. See how a group of persistent attackers break through corporate security, explore the network at will and make off with the gold. This video is based on the true story of how a global corporation was hacked, costing the victim more than $60 million.

Le SQL Injections, dopo 15 anni sono ancora oggi il metodo di attacco più potente a disposizione dei black-hat

Che cosa sono le iniezioni SQL

Le iniezioni SQL sono l’attacco più a buon mercato, spesso molto semplice grazie ai tool che automatizzano il processo di ricerca delle vulnerabilità, cosa che rende l’uso della tecnica accessibile anche ai meno esperti. Che cos’è esattamente un’iniezione SQL?

Come suggerisce il termine stesso, l’iniezione SQL è un attacco che si basa sull’iniezione di istruzioni non desiderate all’interno di un’applicazione web. Un’applicazione PHP si interfaccia quasi sempre con un database relazionale. Chi visita un sito dinamico compie delle azioni attraverso il browser. Clicca per visitare le pagine del sito od inserisce dei prodotti in un carrello. Ogni azione del visitatore corrisponde ad una serie di richieste verso il database che vive sotto l’applicazione. Niente di pericoloso fino a quando si tratta di semplici visitatori o di clienti che stanno per acquistare un prodotto. Ma la musica cambia quando dall’altra parte del browser c’è un blackhat o uno script kiddie.

Considera questo esempio:

Una query come questa, passata nel browser, non fa altro che interrogare il database MySql per prelevare dalla tabella catalogo un valore che corrisponde all’idarticolo 88. Ma sicuramente c’è un problema. Sappiamo che l’applicazione può essere vulnerabile ad un’iniezione SQL perchè qualsiasi web app che accetta come input un parametro di query SQL può essere quasi sicuramente sfruttata.

Che cosa succede quindi se l’applicazione web è vulnerabile alle SQL Injections? Un attaccante può passare come parametro di query una qualsiasi istruzione SQL, che verrà interpretata dall’applicazione e passata al DB senza battere ciglio.

Le possibilità sono infinite. Un’applicazione vulnerabile alle iniezioni SQL può rivelare all’attaccante tutti i databases, le tabelle, le colonne, gli utenti e praticamente qualsiasi dato memorizzato all’interno dei DB. Soprattutto se il server non è configurato in modo da limitare i privilegi di ogni utente.

Difendersi dalle iniezioni SQL

La responsabilità più grande è principalmente nelle mani dei developer. Chi scrive il codice può scegliere se scriverlo tenendo a mente la sicurezza e considerando sempre il pericolo che può derivare da un’iniezione SQL andata a buon fine.

Le principali raccomandazioni che gli esperti consigliano per difendersi dalle iniezioni SQL sono:

  • Evitare i dati in chiaro

La principale conseguenza di un’iniezione SQL è l’esfiltrazione di dati. Username, password, indirizzi email, codici fiscali e numeri di carte di credito sono solo alcuni dei dati che possono essere estratti da un’applicazione vulnerabile. Per questo motivo un’applicazione web non dovrebbe mai memorizzare dati in chiaro all’interno del database. Questo vale soprattutto per le password. Inoltre i numeri delle carte di credito non dovrebbero essere affatto memorizzati all’interno di un database potenzialmente esposto all’esterno.

  • Sanitizzazione degli input

Un’applicazione web non dovrebbe accettare ed eseguire ad occhi chiusi qualsiasi istruzione SQL. Gli esperti raccomandano di sanitizzare gli input con tecniche che permettono di ripulire eventuali query anomale e di usare quando possibile i parameterized statement.

  • WAF e hardening del server DB

Lato server sono numerosi gli accorgimenti che possono essere adottati per rendere più sicura un’applicazione web. Primo tra tutti l’uso di un web application firewall come Mod Security. Anche se è importante essere consapevoli che un WAF non può tappare tutti i buchi di un applicativo, l’obiettivo è quello di rendere difficile la vita dell’attaccante. Più ostacoli vengono posti tra un blackhat e l’applicazione e più c’è la possibilità di rallentare, fermare e raccogliere importanti informazioni sull’attacco.
La chiave della difesa è anche nell’hardening del server di database.
I grant degli utenti di un database devono seguire il principio del minor privilegio possibile.
Il logging è fondamentale per registrare anomalie e tentativi di attacco. La crittografia dei dati è essenziale per prevenire esfiltrazioni di dati in chiaro. Inoltre accanto ai WAF esistono software che hanno la funzione di firewall per il database.
Chi difende un’applicazione web deve predisporre qualcosa di simile ad una fortezza, composta da strati concentrici ed irta di ostacoli posati per fermare o rallentare l’attaccante. L’atteggiamento migliore per fronteggiare i rischi di un’iniezione SQL è considerarsi già violati. È fondamentale il penetration testing continuo delle applicazioni e non ultimo è essenziale mettersi nei panni dell’attaccante per comprendere a fondo le tecniche di attacco più elaborate. E non dimentare che i WAF possono essere bypassati con poco sforzo dagli avversari più sofisticati.

fonte: http://www.servermanaged.it/sicurezza/sql-injections-attacco-iniezioni-sql/

Internet of Everything: quali sono le principali minacce alla sicurezza?

Secondo il rapporto dell’Osservatorio sull’Internet of Things (IoT), nel 2013 in Italia si contano sei milioni di oggetti interconnessi tramite rete mobile, con un aumento su base annua del 20%, ed aumenta la consapevolezza di dover garantire la sicurezza di questi oggetti.

Con il termine Internet of Things ci si riferisce ad un’ampia gamma di oggetti di uso quotidiano che dispongono di  capacità computazionale, dispositivi che si rendono riconoscibili attraverso la rete e che sono in grado di scambiare dati sul proprio stato ed acquisire informazioni fornite da altre entità in rete. E quando da questo contesto si passa a quello dell’Internet of Everything, nel quale si aggregano alle cose processi, persone, dati, lo scenario non può che diventare ancora più complesso.

La rapida diffusione dell’Internet of Things ha ovviamente attirato l’interesse del crimine organizzato e della comunità di hacking mondiale: per questo motivo gli esperti di sicurezza prevedono un sensibile aumento del numero di attacchi informatici dai quali, per sviluppare un ecosistema IoE realmente sostenibile, sarà necessario imparare a difendersi. È cruciale, infatti, valutare attentamente le principali minacce informatiche e il livello di esposizione delle informazioni gestite dai dispositivi connessi.

I principali fattori di minaccia? Sono:

  • Botnet e attacchi basati su malware – I codici malevoli sono tra le principali minacce all’Internet of Things, essi possono essere utilizzati per compromettere una qualsiasi componente delle architetture IoT. Un malware può essere utilizzato per infettare un computer per il controllo dei dispositivi intelligenti, o peggio potrebbe compromettere il software di ciascuno dei dispositivi per alterarne il comportamento. Di recente gli esperti della Symantec hanno individuato un nuovo Linux worm concepito per infettare specificamente i dispositivi dell’Internet of Things e utilizzarli per l’invio di email di spam, per inviare messaggi SMS a numeri a pagamento oppure per utilizzarli in attacchi DDoS.
  • Denial of service – Attacchi di tipo DoS possono colpire ciascuna delle component del IoT causando un interruzione temporanea di un servizio oppure la sua paralisi totale.
  • Ampliamento superficie di attacco – Non sempre chi sviluppa device da inserire in un contesto IoT/IoE lo fa con la dovuta attenzione per la sicurezza. Quei dispositivi per i quali sono stati ignorati i principi del “security by design”, ovvero dell’implementazione di requisiti di sicurezza in fase di progetto, rappresentano l’anello debole della catena di sicurezza. Compromettendo il termostato di un forno oppure un contatore intelligente, un hacker potrebbe avere accesso alla nostra rete di casa e causare anche seri danni. Contestualizzando il discorso a un qualunque ambito industriale ci si rende conto dell’importanza della sicurezza per ciascun dispositivo, e dell’impatto che la mancata osservanza dei principi di sicurezza potrebbero avere sull’interno processo produttivo.
  • Violazioni di dati – Aziende e privati devono essere consapevoli della possibilità che un attaccante possa avere accesso alle informazioni gestite da reti di dispositivi intelligenti.
  • Esposizione accidentale delle informazioni – Le informazioni gestite dalle componenti di un sistema IoT potrebbero essere accidentalmente perdute oppure esposte. Symantec in un interessante articolo sul tema fornì l’esempio dell’auto del proprio amministratore delegato che diffondeva informazioni sulla sua posizione, ma molte sono le informazioni sensibili che potrebbero essere rivelate da una rete di dispositivi intelligenti.
  • Hacking dei dispositivi – Hackers potrebbero trovare il modo di compromettere un dispositivo affinché possa eseguire compiti differenti da quelli per cui è stato progettato.

Gli esperti non hanno dubbi, il numero di attacchi contro i dispositivi “smart” è in rapido aumento e gli hacker affineranno nuove tecniche per compromettere queste architetture che in pochi anni saranno in ogni dove. La sicurezza è un aspetto fondamentale per lo sviluppo dell’IoE, l’utilizzo di dispositivi intelligenti offre un ventaglio di opportunità infinito alla nostra società. Ma l’IoE potrebbe nascondere anche numerose insidie, se non venisse sviluppato con la dovuta attenzione alle problematiche inerenti la sicurezza.

fonte: http://www.techeconomy.it/2014/02/11/internet-of-everything-quali-sono-le-principali-minacce-alla-sicurezza/