Quando la sicurezza è un problema: SQL Injection e Scrawlr

La sicurezza informatica è un problema spesso trascurato, un pò da tutti. Da sviluappotori professionisti che lavorano per le primarie software house (leggi Microsoft e compagni – ndr) fino al piccolo sviluppatore dell’aziendina di informatica rilegata in 40mq d’ufficio.

I problemi, nel secondo caso, vengono molte volte amplificati da una errata conoscenza degli strumenti che si hanno a disposizione. Cose apparentemente banali, valori passati in chiaro o memorizzati in luoghi accessibili con un minimo di hijacking. E’ il caso del recente attacco ai siti scritti in ASP con database SQL server, vittime piuttosto recentemente di una nuova ondata di SQL injection. Problema che si è poi esteso anche ai siti scritti in perl e PHP, perchè del resto, programmare male non dipende certo dal linguaggio che usi.

Quello dell’injection è un problema arcinoto, che va in giro ancora dall’ASP 2.0, quindi stiamo parlando di roba di oltre 10 anni, tuttavia il lupo perde il pelo ma non il vizio.

Il programmatore durante la fase di testing è solito correggere una falla e crearne una nuova.

In alcuni casi, in passato, Microsoft è intervenuta con alcune patch, laddove c’erano dei problemi a carattere generale, ma mi piace ricordare che quello dell’injection è un problema principalmente dovuto ad una errata programmazione.

In questo frangente, apprendo dal sito della HP Security Labs (la stessa HP delle stampanti per capirci) che Microsoft li contatta per chiedere loro supporto nella realizzazione di un tool di diagnostica al fine di riportare gli eventuali problemi trovati durante dei test effettuati da Scrawlr.Immagine 2

Ovviamente non è stata una telefonata a caso quella fatta da Microsoft. HP già aveva dei prodotti di diagnostica in grado di analizzare siti web scritti con le loro tecnlogie, ma serviva un prodotto semplice da installare, veloce, di facile configurazione. Ecco il già citato Scrawlr, che si occupa esclusivamente di SQL Injection. Il prodotto è gratutito, ma fornito senza supporto di alcun tipo, si occupa solo del mondo Microsoft ed è scaricabile qui.

Le principali caratteristiche del prodotto sono:

  • Identifica le vulnerabilità di SQL Injection nella URL;
  • Accesso ai siti ance tramite un server proxy;
  • Identificazione della versione di SQL in uso;
  • Estrazione dei nomi delle tabelle per evitare i falsi positivi;

Scrawlr ha ovviamente delle limitazioni che vengono meno nel prodotto professionale della HP, chiamato SQL Injector tool, quali:

  • Crawling limitato a sole 1500
  • Non supporta l’autenticazione dei siti
  • Non effettua quella che loro chiamano Blind SQL injection,ovvero dei tentativi multipli di attacco senza avere una traccia di errore da segue;
  • Non recupera dati dal db
  • Non supporta il parsing di JavaScript o di elementi in Flash
  • Non effettua il test del POST dei form

Insomma, in poche parole, Scrawlr va bene per dei test molto stringati su applicazioni certamente non scalari e di piccola portata. Già un sito di e-commerce, pur banale che sia, non potrebbe essere testato dallo strumento in questione senza mettere mano al codice originale per disabilitare quantomeno l’autenticazione al sito per condurre un pò piiù di analisi.

Con tutti questi limiti, credo che valga più la pena andare a guardare altri prodotti tipo N-Stealth Security Scanner, Acunetix Ltd.’s Web Vulnerability Scanner o SPI Dynamics WebInspect.