Divisibile in 3 capitoli:
- Segretezza: proteggere da letture non consentite
- Integrità: proteggere da scritture non consentite
- Disponibilità: garantire il giusto accesso agli utenti legittimamente autorizzati (proteggersi da attacchi DOS: Denied Of Service)
Tecniche di protezione:
- Autenticazione: verificare di dare accesso solo a chi consentito
- Controllo dell'accesso: validare richieste di accesso (verificare cosa può fare l'utente autenticato)
- Crittografia: offuscare i dati per renderli non leggibili a terzi
Innanzitutto devono essere definite delle politiche di sicurezza
Le politiche di sicurezza vengono trasformate in Regole di autorizzazione comprensibili al database
Il motore del database ha una parte adibita alla gestione delle autorizzazioni, il Reference Monitor che concede, nega o concede parzialmente l'accesso
Due famiglie politiche di amministrazione della sicurezza (stabiliscono chi può concedere/revocare i permessi di sicurezza):
- Crittografia: offuscare i dati per renderli non leggibili a terzi
- Centralizzato: un unico amministratore concede tutti i permessi di sicurezza
- Distribuito: più di un amministratore. Di solito chi è abilitato a creare oggetti sul DB diventa proprietario degli oggetti che crea e ne è amministratore
Due famiglie di politiche di controllo d'accesso:
- Politica del minimo privilegio. Le autorizzazioni di accesso ai dati vengono concesse solo per il minimo dei dati che l'utente userà. L'accesso è di default negato.
- Politica della massima condivisione. L'accesso è di default consentito (deve essere negato esplicitamente)!
Controllo d'accesso dipendente dal nome: imposto le autorizzazione sui diversi oggetti del DB
Controllo accessi dipendente dal contenuto: creo viste e stored procedure e poi do le autorizzazioni su questi
Controllo accessi dipendente dal contesto (ad esempio dall'orario): mediante stored procedure
Controllo dipendenti dalla storia degli accessi (es: non di n accessi). Mediante stored procedures/triggers
Le politiche di controllo degli accessi si dividono in:
- Discrezionali: DAC
Richiedono che vengano specificati i diritti che ogni soggetto possiede sugli oggetti del sistema. Molto flessibili, ma di limitata portata. I DBMS normali sono DAC (ci sono anche i trusted DBMS che sono MAC) - Mandatorie: MAC
Politiche basate su classificazione di dati e utenti (diversi livelli di sicurezza: Top Secret, Secret, Classified, Unclassified). I sistemi mandatori vietano che dati di livelli elevati possano spostarsi in livelli più bassi. No-Read-Up: Un utente con permessi per un livello può leggere quello e i sottostanti, non i superiori. No-Write-Down: non scrivere dati di livello alto in fonti raggiungibili dal basso
Attacco basato su cavallo di Troia
Un utente privo dei diritti su particolari dati riesce a modificare un programma di utilità generale. Il programma viene lanciato da un utente a privilegi alti e copia i dati in una posizione raggiungibile dall'hacker
Contenuti gestiti da Michele Bernardi. Non mi assumo alcuna responsabilità sulla correttezza di questi dati, usateli a vostro rischio e pericolo.
Nessun commento:
Posta un commento