I volontari di un progetto open source avvertono le aziende. È necessaria maggiore attenzione per incrementare la sicurezza delle proprie applicazioni
Marzo, 2003
Le aziende spendono cifre ingenti per firewall, sistemi di rilevamento delle
intrusioni e applicazioni antivirus nel tentativo di proteggere i loro network
e la posta elettronica, ma spesso non si rendono conto dell’importanza di concentrare
l’attenzione su uno dei punti più vulnerabili del sistema: le applicazioni
Web.
Secondo una ricerca di Gartner, svolta su un campione di 131
responsabili tecnologici di varie aziende, solo il 27% delle imprese si affida
a consulenze esterne al momento di rivedere o sottoporre a test il codice software
di applicazioni Internet o intranet.
Anche in un’altra ricerca, intitolata "Global Information Security Survey
2002" realizzata da PricewaterhouseCoopers, conferma che
la consulenza esterna sull’argomento è ormai un "must" per
un gran numero di imprese.
Negli ultimi due anni, le falle nelle applicazioni e gli errori di configurazione
sono aumentati: nel 2002, il 30 per cento delle aziende ha avuto vulnerabilità
da applicazioni conosciute come fonte d’attacco, rispetto al 12 per cento del
2001.
Gli scarsi controlli nell’accesso hanno rappresentato l’arma d’assalto più
utilizzata dagli hacker, triplicandosi nel giro di un anno (dal 5% del 2001
al 18% del 2002).
Così l’Open Web Application Security Project, un progetto open source
condotto da esperti volontari, ha realizzato una lista dei 10 errori più
comuni che portano le applicazioni Web a essere vulnerabili nei confronti degli
aggressori elettronici. Secondo i responsabili del gruppo, molte falle sono
estremamente diffuse in Internet e possono essere sfruttate anche da hacker
non esperti, utilizzando strumenti software facili da reperire. Ecco, dunque,
la top-ten delle cose da evitare:
I Parametri invalidati
L’informazione da richieste Web non è convalidata prima di essere utilizzata
come applicazione Web. Gli aggressori possono sfruttare questo difetto per attaccare
componenti backside attraverso una Web application.
II Controlli d’accesso infranti
Le restrizioni su cosa gli utenti accreditati siano legittimati a fare non sono
rispettate adeguatamente.
Gli aggressori possono sfruttare queste falle per accedere agli account di altri
utenti, visualizzare file sensibili o usare funzionalità non autorizzate.
III Interruzione di account e sessioni
Le credenziali dell’account e i contrassegni delle sessioni non sono adeguatamente
protetti e gli aggressori in grado di compromettere password, codici, cookie
di sessione o altri elementi possono eludere le restrizioni dell’autenticazione
e assumere l’identità di altri utenti.
IV Falle scripting cross-site
L’applicazione Web può essere utilizzata come un meccanismo per lanciare
un attacco al browser di un utente. Un attacco successivo può rivelare
i parametri della sessione, compromettere il sistema locale o modificare i contenuti
per ingannare l’utente.
V Buffer overflow
I componenti dell’applicazione Web in alcuni linguaggi che non convalidano adeguatamente
gli input possono essere distrutti e, in alcuni casi, utilizzati per assumere
il controllo di una procedura. Tali componenti possono includere Cgi, librerie,
driver e componenti server dell’applicazione Web.
VI Falle immissione di comandi
Le applicazioni Web superano i parametri quando accedono a sistemi esterni o
al sistema operativo locale.
Se un aggressore riesce a inserire comandi maligni in questi parametri, il sistema
esterno può eseguire quei comandi per conto della stessa applicazione
Web.
VII Problemi gestione errori
Le condizioni di errore che si verificano durante le normali operazioni non
sono adeguatamente gestite.
Se un aggressore provoca errori che l’applicazione non riesce a gestire, può
ottenere dettagliate informazioni sul sistema, interruzioni di tipo denial-of-service,
causare il blocco dei meccanismi di sicurezza o interrompere l’attività
del server.
VIII Uso insicuro della crittografia
Le applicazioni Web utilizzano frequentemente funzioni di crittografia per proteggere
informazioni e credenziali. Tali funzioni e il codice per integrarle hanno dimostrato
difficoltà a raggiungere una codifica efficace, causando spesso una protezione
molto scarsa.
IX Difetti in amministrazione remota
Molte applicazioni lasciano accedere a un sito Web gli amministratori per mezzo
di un’interfaccia Internet.
Se queste funzioni amministrative non sono protette con grande attenzione, un
aggressore può accedere al sito in ogni suo punto.
X Configurazione del Web e application server
Avere un efficace standard di configurazione del server è un punto critico
per la sicurezza dell’applicazione Web.
Questi server dispongono di numerose opzioni di configurazione che minano la
sicurezza e, al di fuori del sistema, non sono ugualmente affidabili.