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 ...
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