x

NBS si occupa di sicurezza informatica a livello procedurale, ispirandosi alla ISO 27001 e alle tecniche di prevenzione e profilassi dei pericoli informatici.

 

Links sull'argomento:

 

Recensione 20/01/2005 Gazzetta del Mezzogiorno (Bari)

 

INDAGINI DIGITALI - il mio libro sulla computer forensics

ISSA JOURNAL - The LogFile and Device Alteration-An experiment
FORENSICS AND INCIDENT RESPONSE (Investigazioni informatiche)

Hardening di una rete wi-fi casalinga
 
xParos un web pen tester free - Hakin9
xDifesa delle Web Application - Hakin9
xADS i fantasmi della NTFS - pubblicato su: Hakin9

 

Versione web del mio libro pubblicato nel 2004:

 

INTRODUZIONE

Aspetti legali (D.lgs 196/03 e BS 7799)
indietro
avanti

SICUREZZA INFORMATICA SUL WEB
by Nanni Bassetti

INTERNET WEB SECURITY

TUTTA LA VERITÀ SULLA SICUREZZA DEL WEB

by Nanni Bassetti digitfor@gmail.com

SOMMARIO

INTRODUZIONE
L'ATTACCO PER RUBARE DATI DA WEB
PRIMA PROVA
Analizziamo la situazione appena vista
SECONDA PROVA
NAME GUESSING
ACCESSO FTP
SQL Injection
Casi di difficoltà della SQL Injection
ACCESSI VARI (applet, javascript, ecc.)
Cross Site Scripting
Il problema
Approfondimento
Homograph Attack
LA TOP TEN DELLE VULNERABILITÀ DELLE WEB APPLICATIONS. 
INPUT NON VALIDO
CONTROLLI DI ACCESSO INSUFFICIENTI 
GESTIONE INSICURA DEGLI ACCOUNT E DELLE SESSIONI 
CAMBIO DI PASSWORD
SICUREZZA DELLA PASSWORD
SALVATAGGIO DELLE PASSWORD
PROTEGGERE IL TRANSITO DELLE CREDENZIALI 
PROTEZIONE DELL'ID DELLA SESSIONE. 
LISTA DEGLI ACCOUNT
CACHE DEL BROWSER
RELAZIONI DI FIDUCIA
CROSS-SITE SCRIPTING (XSS) 
BUFFER OVERFLOWS
INIEZIONE DI COMANDI 
GESTIONE DEGLI ERRORI SUPERFICIALE
USO INSICURO DELLA CRITTOGRAFIA
AMMINISTRAZIONE REMOTA INSICURA
CONFIGURAZIONE SUPERFICIALE DEL SERVER WEB
ASPETTI LEGALI
Il D.lgs. 196/2003
La certificazione BS 7799
LA CRITTOGRAFIA E LA FIRMA DIGITALE
LA STORIA DEGLI HACKER
CONCLUSIONI 
GLOSSARIO HACKER 

INTRODUZIONE

 

Questo libro non vuole essere l'n-esimo testo sulla sicurezza in rete dove alla fine si capisce che comprando firewall e configurando software e sistemi operativi si rende il proprio sito un ambiente sicuro, ma qualcosa di più pratico e realistico alla portata di tutti i webmaster e sviluppatori, inoltre si accennerà  anche agli aspetti legali (D.lgs. 196/03) ed alla certificazione BS 7799, per la realizzazione di un SGSI (Sistema di Gestione della Sicurezza delle Informazioni) e quali controlli effettuare.

Parlare di INTERNET SECURITY può significare tantissime cose, più o meno complicate, ma alla fine, dall'esperienza acquisita sul campo, si può capire che la sicurezza è spesso violata o compromessa, a causa a delle semplici distrazioni umane o ingenuità.

La sicurezza non è solo un fatto tecnico, ma una mentalità, se fossimo in una zona di guerra o su di un'isola deserta, adotteremmo delle norme di sicurezza istintive, come ad esempio non camminare fischiettando a testa alta in una zona coperta dai cecchini, oppure tenere un fuoco acceso la notte per allontanare gli animali pericolosi e così via.

Le norme di sicurezza suddette non sono collegate a mostruosi algoritmi matematici o “paroloni” inglesi, ma al buon senso e all'esperienza, chiaramente nel mondo dell'informatica, mancano sia l'uno che l'altro, per scarsa diffusione del mezzo e relativa giovinezza della disciplina, per non parlare della costante e veloce crescita tecnologica.

Allora, va bene aggiornarsi sempre, ma comunque usare il buon senso, facciamo degli esempi: aprireste mai la porta di casa facendo accomodare un tipo losco ? Fareste entrare un tipo simpatico e gioviale ma che si presenta con delle strane storie ? Aprireste mai (in tempi sospetti) un pacco postale proveniente da uno sconosciuto ? Lascereste mai la porta di casa aperta, mentre voi siete fuori a far la spesa ? Vi mettereste mai una porta blindata per poi lasciare le chiavi nella toppa della serratura ?

A tutte queste domande la risposta è una sola: NO !

Eppure in ambito informatico a gran parte di quelle domande si risponde in maniera affermativa, il motivo è, forse, da ricercarsi nel maggior senso di sicurezza che si ha rimanendo, comunque, davanti ad un monitor ed una tastiera e dalla scarsa consapevolezza di tutte le minacce esistenti e delle vulnerabilità dei sistemi, unitamente alla fiducia che si ripone negli sviluppatori di siti web, poiché mancano le capacità di verifica del lavoro effettuato.

Un ulteriore puntualizzazione va fatta nei riguardi dei mass media, che terrorizzano e informano male il grande pubblico, con informazioni per lo più false o imprecise.

Pensiamo al caso dell'e-commerce, questo mostro telematico, dal quale guardarsi bene, infatti è stato fatto un terrorismo pazzesco sul furto della carta di credito via internet, causando così uno scarso sviluppo del mercato virtuale.

La carta di credito è un numero e questo numero può essere rubato da un cameriere di un ristorante o da un collega di ufficio, con una semplice penna biro, trascrivendolo su di un foglietto, senza essere dei maghi dell'informatica o dei super hacker, ma questo non lo dicono, inoltre quasi tutti i circuiti degli istituti di credito, avvalorano l'acquisto se c'è la firma del proprietario della carta di credito, nel caso del commercio elettronico, avvenendo tutto online, non vi è firma, quindi il mercante è quello che rischia di dover rimborsare tutto l'importo nel caso in cui ci sia una ricusazione dell'acquisto da parte del proprietario della carta.

Ma questo non lo dicono !

Spesso poi sono gli utenti stessi a dare informazioni di loro spontanea volontà ad eventuali truffatori, pensiamo al SOCIAL ENGINEERING o al PHISHING, tecniche usate da dei loschi figuri che si spacciano al telefono o via email, per persone, enti o aziende di fiducia, per la vittima, e si fanno dare, spontaneamente, dati o informazioni riservate, es: password, carta di credito, ecc.

Insomma le solite vecchie truffe modernizzate, l'unica regola di difesa è sempre quella di controllare bene con chi si ci si sta relazionando e verificare sempre le credenziali prima di cedere le vostre informazioni !

In quasi tutti gli articoli inerenti la sicurezza sul web si parla sempre di fantomatici hacker che entrano nei sistemi, attaccandoli in maniera misteriosa sfruttando le "backdoors", ossia delle porte logiche lasciate aperte e sguarnite sui server.

Certo è una realtà….ma come fanno questi hacker ad usare le backdoors ? come le individuano ? e poi come mai quasi nessuno sa riprodurre un attacco hacker inteso all'intrusione in un sistema e quando parlo di intrusione intendo proprio un entrata nel computer con tanto di furto di dati o pagine web ecc. ecc.?

La maggior parte degli attacchi hacker hanno nomi altisonanti ed inquietanti come:

 

Hijacking

Man In the Middle

Packet Sniffing

Smurfing

Spoofing

Dump Diving

Shoulder Surfing

Ecc.

 

Sono tutte tecniche che in genere funzionano solo sulle LAN e, spesso, devono essere messe in atto da qualcuno, in loco, molto esperto, questo genere di attacchi non interesserà questo libro, ma diamo soltanto una breve panoramica generale:

 

Le contromisure per questo genere di attacchi sono gli IDS (Intrusion Detection System) ed i Firewall e gli AntiVirus.

I primi sono dei software che identificano se ci sono state delle intrusioni nel sistema e quale indirizzo IP le ha effettuate.

I Firewall sono software (o hardware) che permettono un controllo totale su quali porte aprire o chiudere e chi o cosa le può aprire.

Gli Antivirus servono ad intercettare eventuali virus che potrebbero istallare dei Trojan (cavalli di Troia), ossia dei software che aprono delle porte particolari e che potrebbero permettere ad un hacker di penetrare il vostro sistema o spiarvi tramite questo “mini server”, che il virus istalla.

Per concludere questa breve panoramica sugli attacchi dai nomi strani, pensiamo soltanto che il Dump Diving non è altro che il frugare nella spazzatura aziendale, con la speranza di trovare qualche Post-It o fogliettino che riporti qualche dato importante, tipo password o numeri di codice.
Ma forse il più ridicolo è lo Shoulder Surfing, che significa “Fare il surf alle spalle”, il che significa che qualcuno potrebbe carpire delle informazioni, semplicemente sbirciando da dietro un operatore al computer.

Inoltre, puntualizziamo che la realtà è che spesso gli attacchi sulle backdoors sono soltanto dei bombingossia dei bombardamenti di pacchetti TCP/IP su quella famosa porta lasciata aperta o sguarnita che mandano in crash il sistema, ossia causando un DOS (Denial Of Service).
Con un attacco DOS (Denial Of Service) si cerca di "negare un servizio" mettendo il sistema vittima nell'impossibilità di erogare regolarmente il suo servizio.

Ultimo famoso attacco di questo tipo è stato condotto verso i server della Yahoo e CNN, ed altri colossi nel Febbraio 2000, ma l'attacco è stato di tipo DDOS (Distributed Denial Of Service), in cui gli IP da cui viene sferrato sono molteplici e permettono una amplificazione degli effetti.

La diffusione di questi attacchi è  dovuta al fatto che è molto più facile rendere una rete o un sistema impraticabile piuttosto che ottenerne l'accesso e, vista anche la facile reperibilità di comodi tool per farlo, questo ha scatenato le ambizioni di molti aspiranti hacker che vedono in un DOS un modo veloce per ottenere effetti di cui vantarsi.

Ma per essere un vero hacker, bisogna saper penetrare i sistemi informatici ed in pratica per scorazzare liberamente in un computer online bisogna avere le userid e le password e spesso quando qualche pirata entra in un sistema è semplicemente perché possiede la userid e la password, insomma un po' come se comprassimo casa e non cambiassimo la serratura, magari il vecchio proprietario ha fatto dei duplicati delle vostre chiavi e quei duplicati hanno girato di mano in mano fino ad arrivare al fantomatico ladro che entrerà in casa vostra senza usare chissà quali escamotages esoterici e tecnologici.


 LA SITUAZIONE

 

 

Rivediamo come funziona Internet !

La Rete delle Reti funziona con architettura client/server, ossia ci sono dei programmi “client” che interrogano dei servizi su dei programmi “server”, così i server devono soltanto fornire dei dati grezzi ai client, che poi gli elaborano mostrandoli come da specifiche del client.

Per esempio il browser Internet Explorer è un client http (HyperText Transport Protocol), in parole povere è un client per navigare il web, quando digitiamo un URL (Uniform Resurce Locator), insomma un indirizzo web, il browser invia questa richiesta ad un server che contiene le pagine HTML (HyperText Markup Language) del sito richiesto.
Il server, allora, si limita ad inviare al client il codice html, che poi il browser interpreterà come pagina web, bella formattata e colorata.
Prima di andare avanti, dobbiamo ancora ricordare che ogni servizio Internet, (http, ftp, smtp, ecc.) lavora su ben precise porte logiche, elenchiamo le porte più famose e più usate da tutti i server:

La 21 porta FTP (File Transfer Protocol) cioè dove è in ascolto il server FTP che permette di uplodare e downlodare file dal vostro PC al server e viceversa.

La porta 25 dell'SMTP (Simple Mail Transfer Protocol) che serve per inviare posta

La porta 110 del POP (Post Office Protocol) che serve per prendere la posta

La porta 80 del http (HyperText Transfer Protocol) cioè quella del web-server, quella usata dal browser per navigare i siti web.

Altra potra pericolosa è la 23 quella usata dal Telnet (emulatore di terminale) che permette di controllare dal vostro ufficio/casa il vostro server ovunque esso sia, in genere è attiva solo sui server Linux/Unix e non sui server Microsoft.

I server Microsoft sono in genere gestiti con console di amministrazione remota come il Symantec PcAnywhere o il Radmin, che ha una sua porta di lavoro, quindi se si conosce la username e la password ci si può collegare al desktop del vostro server, che però a sua volta chiederà una username e password per farvi accedere al sistema, quindi è consigliabile utilizzare due password diverse.

Poi ci sono le porte dei vari sistemi di database (MS SQLServer, MySQL, ORACLE, ecc.) questi  sono accessibili tramite client dedicati, quindi se si ha la username e la password si può scorazzare tra i vari database contenuti in essi e cancellare, copiare o modificare records e tabelle.

Infine ci sono i linguaggi utilizzati dai webmaster (spesso di scripting) per interfacciare i siti web con i database, quindi la debolezza può essere nel software scritto e dai bugs noti.

Dunque questa è la situazione, tutto questo c'è dietro un sito web, che fare allora per attaccarlo e cercare di rubare informazioni ?