7 Apr

Le vulnerabilità delle applicazioni Web

Fonte: www.intilinux.com

Navigando in rete ci si imbatte molto spesso in siti nei quali ricorre la dicitura ‘Questo sito è assolutamente sicuro. Le informazioni private sono protette mediante la tecnologia SSL (Secure Socket Layer)’. In realtà, la maggioranza delle applicazioni web non è affatto ‘assolutamente sicura’ e le sue vulnerabilità non hanno niente a che vedere con l’utilizzo di canali sicuri SSL. Ciò non vuol dire che SSL sia inutile, ma semplicemente che esistono altre debolezze sfruttabili
per attacchi alle applicazioni web, le quali possono essere ricondotte alle seguenti
categorie:

  • Broken authentication: debolezze nel sistema di autenticazione degli utenti; l’attaccante può indovinare facilmente le password, effettuare un attacco a forza bruta o aggirare totalmente l’operazione di login.
  • Broken access control: debolezze nel sistema di controllo degli accessi; l’attaccante può accedere ai dati sensibili degli utenti e guadagnare in maniera illecita permessi per effettuare azioni privilegiate.
  • Information leakage: l’attaccante può entrare in possesso di particolari informazioni sensibili, rivelate erroneamente dall’applicazione durante la visualizzazione, ad esempio, di commenti dello sviluppatore o di messaggi di errore.
  • SQL injection: l’attaccante può inserire appositi input, ad esempio atttraverso form, per interferire con l’accesso dell’applicazione ai database, riuscendo in tal modo a reperire le informazioni in essi contenute, modificarle o eseguire comandi sul server contenente il database stesso.
  • Cross-Site Scripting: consente all’attaccante di prendere di mira determinati utenti dell’applicazione al fine di accedere ai loro dati, effettuare azioni per loro conto o eseguire altri attacchi contro di essi.

Secondo test effettuati sulle più comuni applicazioni web [1] , il 36% di esse è vulnerabile alla SQL injection, mentre ben il 91% può essere facilmente attaccato sfruttando il cross-site scripting. Il problema fondamentale dal quale scaturisce l’insicurezza delle applicazioni
web sta nella possibilità dell’utente, che si trova al di fuori del raggio d’azione dell’applicazione stessa, di inserire informazioni totalmente arbitrarie che, se non opportunamente filtrate, possono costituire codice malevolo, utilizzabile per portare a termine un attacco. Il progettista dell’applicazione web deve quindi supporre che qualsiasi informazione inserita possa costituire una potenziale minaccia, avente come obiettivo l’accesso a dati o a funzionalità del sistema riservati. Le modalità mediante le quali è possibile portare a termine un attacco sfruttando questa vulnerabilità, sono svariate: l’utente può interferire in un qualsiasi flusso di dati scambiati tra client e server: dai parametri nell’URL ai cookies di sessione, dalle
query SQL ai form HTML.

Ecco spiegata la ragione per cui introdurre la tecnologia SSL per le transazioni web non è sufficiente a garantire la sicurezza delle informazioni. SSL fornisce infatti gli strumenti per far viaggiare in maniera sicura i messaggi scambiati tra client e server, in modo che non possano essere minate l’integrità e la confidenzialità degli stessi e garantendone l’autenticazione. Tuttavia, nulla vieta che le informazioni trasmesse dal client siano in realtà codice malevolo. In tal caso, tutto ciò che sarà in grado di fare SSL sarà semplicemente offrire all’utente un canale sicuro per far viaggiare il proprio attacco. Ciò che ci si propone negli articoli successivi è, quindi, fornire una descrizione dei possibili attacchi alle applicazioni web, focalizzando l’attenzione su due tra i più diffusi: la SQL injection e il Cross-Site Scripting. Verranno inoltre analizzate alcune delle contromisure utili a fronteggiare tali tipologie di attacchi, al fine di conferire alle proprie applicazioni web una maggiore sicurezza.
Prossimamente : Introduzione sull’SQL injection

 Autore : Simon. U 

[1] Dafydd Stuttard, Marcus Pinto. The Web Application Hacker’s Handbook.
Wiley, 2006.



Leggi Anche :


Continua a leggere..

Nessun Commento »

Puoi lasciare una risposta, oppure fare un trackback dal tuo sito.


Vuoi essere il primo a lasciare un commento per questo articolo? Utilizza il modulo sotto..

Lascia un commento

XHTML: Puoi utilizzare questi tag: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>