Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

La sicurezza delle applicazioni Web

Come significa preservare la sicurezza delle applicazioni Web: integrità, disponibilità e confidenzialità dei dati
Come significa preservare la sicurezza delle applicazioni Web: integrità, disponibilità e confidenzialità dei dati
Link copiato negli appunti

Il termine "sicurezza" applicato all'informatica può significare tutto (e niente). Possiamo dare una definizione di sicurezza per semplificare alcuni concetti che dovremo sempre tenere in considerazione quando sviluppiamo un qualunque sistema web.

La sicurezza informatica è la garanzia di mantenimento di "integrità", "disponibilità", "confidenzialità" dei dati che stiamo gestendo.

L'integrità riguarda il mantenimento di consistenza dei dati che "attraversano" i nostri sistemi . Un dato è integro se durante il tragitto che compie al'interno della nostra applicazione non viene modificato da agenti esterni. Immaginiamo un filmato flash, può contenere immagini e animazioni, ma può contenere anche codice e script. Se l'integrità del dato viene meno, possiamo trovarci caricato un sul browser un filmato incompleto e non visualizzarlo o, se siamo meno fortunati, rischiamo di caricare un bellissimo video all'interno del quale qualcuno/qualcosa ha iniettato del codice nocivo. In questo caso chi ha fornito il video, non ha garantito l'integrità dei dati .

La disponibilità di un dato è la garanzia della sua presenza nel posto dove dovrebbe essere e comunque la sua presenza a disposizione dell'utente. La disponibilità è un concetto apparentemente ovvio che in sistemi complessi può venire messo in secondo piano e "dato per scontato" senza essere implementato e controllato da solide policy.

La confidenzialità di un dato è la capacità di un sistema di associare un dato a chi lo può vedere. In parole semplici, se l'applicazione conserva dati demografici di utenti, l'accesso e la visualizzazione dei dati ivi contenuti dovrebbero essere garantiti a chi ha i permessi e vietati a chi non li ha.

È necessario inoltre introdurre le differenze tra i concetti di autorizzazione e autenticazione. L'autenticazione è il processo attraverso il quale un sistema determina l'identità di un utente. L'autorizzazione è il processo attraverso il quale un sistema garantisce o meno l'accesso a una risorsa da parte di un utente.

Introduciamo un'ultima importante differenza terminologica di parole che troppo spesso vengono confuse.

Un Penetration Test è un test in cui un professionista provvede a testare la sicurezza di un sistema informatico attaccandolo attivamente alla ricerca di falle di sicurezza.

Un Vulnerability Assesment è la raccolta di informazioni effettuata da un professionista che recupera quante più informazioni possibili su un sistema informatico, registrando i risultati delle potenziali falle di sicurezza individuate.

Se possibile è sempre meglio iniziare con un vulnerability assesment e poi eventualmente decidere se proseguire con un penetration test.

In questa guida non parleremo né dell'uno né dell'altro. Ci limiteremo a fornire dettagli sulle tecniche di attacco più comuni e sui metodi per verificare la presenza di vulnerabilità in un' applicazione web. Il compito degli esperti di sicurezza web è quello di implementare politiche di sicurezza finalizzate al mantenimento di alti margini di controllo sulla struttura logica e fisica del nostro sistema.

La conoscenza nel dettaglio dei nostri sistemi, accompagnata all'aggiornamento continuo sulle vulnerabilità ci permetterà di gestire con buoni risultati la stabilità della nostra struttura informativa. Vedremo più avanti, in questa guida, come e dove focalizzare la nostra attenzione a partire dalla fase di sviluppo, passando per la fase di test e arrivando alla messa in produzione del nostro applicativo web , senza troppi timori di aver dimenticato qualcosa.

Ti consigliamo anche