02.06.2013 Views

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

analisi e gestione della sicurezza di una complessa applicazione ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

CAPITOLO VI - Gli attacchi e il progetto OWASP<br />

• rigenerazione dell’id: questa è <strong>una</strong> delle tecniche trasparenti all’utente secondo la quale, in<br />

un istante arbitrario, il server cambia l’identificativo <strong>di</strong> sessione dei dati memorizzati,<br />

aggiornando tale valore nelle risposte fornite al client. Il risultato è simile al time-out, cioè<br />

l’id viene invalidato, ma questa volta il cambiamento del numero non tiene conto del tempo<br />

<strong>di</strong> vita <strong>della</strong> sessione o del tempo <strong>di</strong> inutilizzo, ma è casuale. In PHP è stata pre<strong>di</strong>sposta <strong>una</strong><br />

funzione apposita (session regenerate()) per la rigenerazione del session id. Tale<br />

funzionalità rende semplicissima l’attuazione <strong>di</strong> tale contromisura ;<br />

• brute-forcing detection: questa misura <strong>di</strong> <strong>sicurezza</strong> viene espletata bloccando l’accesso a<br />

quelle macchine (definite tramite il loro ip o nome dell’ host) che inviano molte richieste<br />

con id errato (estrapolato da bruteforcing) in un tempo troppo breve per essere considerate<br />

accidentali;<br />

• riautenticazione: le operazioni più critiche possono essere salvaguardate annullando<br />

l’autenticazione effettuata dall’utente in modo tale da controllare la sua identità<br />

imme<strong>di</strong>atamente prima dell’esecuzione dell’operazione critica ;<br />

• trasmissione dell’id: se un id viene catturato in fase <strong>di</strong> trasmissione dello stesso sulla rete,<br />

l’account viene facilmente esposto a duplicazione o attacco <strong>di</strong> hijacking. La scelta riguardo<br />

il mezzo <strong>di</strong> trasporto dell’id risulta quin<strong>di</strong> determinante per quanto riguarda la salvaguar<strong>di</strong>a<br />

<strong>della</strong> riservatezza.<br />

Asp.NET implementa un meccanismo <strong>di</strong> <strong>gestione</strong> <strong>della</strong> sessione molto avanzato; in Talete, e in<br />

particolare nel file web.config, sono due gli elementi da considerare e da specificare:<br />

1. è stata impostata a true la proprietà FormsAuthentication.Sli<strong>di</strong>ngExpiration, che<br />

specifica se è abilitata la scadenza variabile, che consente <strong>di</strong> reimpostare il tempo <strong>di</strong><br />

un cookie <strong>di</strong> autenticazione attivo in modo che scada a ogni richiesta durante <strong>una</strong><br />

singola sessione. Se impostata a true in<strong>di</strong>ca che è attivata la scadenza variabile e<br />

quin<strong>di</strong> il cookie <strong>di</strong> autenticazione viene aggiornato e la scadenza viene reimpostata a<br />

ogni richiesta durante <strong>una</strong> singola sessione. Mentre con false si specifica che la<br />

scadenza variabile non è attivata e che il cookie scade dopo un determinato periodo<br />

<strong>di</strong> tempo dalla propria emissione. Ovviamente l’intervallo <strong>di</strong> tempo, espresso in<br />

132

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!