Please enable JavaScript.
Coggle requires JavaScript to display documents.
TEST DI SICUREZZA - Coggle Diagram
TEST DI SICUREZZA
Servono a verificare ed evidenziare eventuali vulnerabilità del sistema.
Minacce
In base a come i
software
sono realizzati
Spoofing
L'accesso attraverso un'identità non propria, ricavata falsificano i dati relativi alla propria identità.
Information disclosure
Qual'ora informazioni ritenute al sicuro vengono rivelate a soggetti non sicuri.
Backdoor
Consiste nell'aggirare o evitare la parte del sistema dedicata alla protezione dell'accesso all'applicazione.
Privilege escalation
Attraverso un attacco l'utente cerca di guadagnare un privilegio che non gli dovrebbe essere concesso.
Esempio di minaccia sfruttando la
SQL Injection
I programmatori utilizzano dei
gradi di libertà
per comporre un'interrogazione SQL da inviare al motore del database.
Ipotizzando una query SQL che ricerca un utente e che ricava questa informazione da un semplice FORM, concatenando poi la stringa ricevuta dal form alla query SQL siamo in grado di utilizzare una condizione sempre True che ci permette quindi di farci ritornare tutti gli utenti e non solo un determinato utente.
SELECT
ast
FROM
users
WHERE
name='mario.rossi';
Ipotizzando del codice in backend che riceva i dati dal form:
istruzioneSQL = '
SELECT
ast
FROM
users
WHERE
name=' " + nomeUtente + " ';
'
nomeUtente
viene ricavato da un
FORM HTML
, se noi invece di fornire un nome utilizzassimo "
' or '1' = '1'
" andremo ad inizializzare una query
SQL
con la clausola
WHERE
sempre
True
che ci fornirà quindi non solo un determinato utente bensì tutta la lista utenza e quindi, potenziali dati.
Cosa devono garantire?
Integrità
Durante la trasmissione dei dati questi devono essere corretti e non alterati.
Confidenzialità
La protezione dei dati rispetto ai tentativi di impossessarsene.
Disponibilità
I dati devono essere disponibili quando devono essere utilizzati.