DAC — Discretionary Access Control

Indice dei contenuti

    Il DAC (Discretionary Access Control, controllo degli accessi discrezionale) è un modello di controllo degli accessi in cui il proprietario di ogni risorsa decide autonomamente chi può accedervi e con quali permessi. Il controllo è “discrezionale” perché è lasciato alla discrezione del proprietario: non esiste un’autorità centrale che impone le politiche.

    Il modello Unix

    L’implementazione più diffusa di DAC è il sistema di permessi dei filesystem Unix/Linux. Ogni file o directory ha:

    • Un proprietario (owner, utente)
    • Un gruppo primario
    • Un insieme di bit di permesso per tre categorie: proprietario, gruppo, altri
    -rwxr-xr--  1 alice  developers  4096  May 4 script.sh
     ↑↑↑ ↑↑↑ ↑↑↑
     │   │   └── Others:  r-- (lettura solo)
     │   └──────── Group:  r-x (lettura ed esecuzione)
     └──────────── Owner:  rwx (tutti i permessi)

    I tre permessi per categoria sono r (read — lettura del contenuto), w (write — modifica) ed e (execute — esecuzione del file o accesso alla directory). Numericamente: r=4, w=2, x=1; la combinazione rwxr-xr-- corrisponde a ottale 754.

    Il comando chmod 750 script.sh imposta: proprietario=rwx (7), gruppo=r-x (5), altri=—- (0). Il comando chown alice:developers script.sh assegna proprietario e gruppo.

    Access Control List (ACL)

    Il DAC classico Unix a tre categorie (owner/group/others) è insufficiente per permessi più granulari. Le ACL POSIX estendono il modello permettendo di specificare permessi per utenti e gruppi arbitrari:

    setfacl -m u:bob:r-- file.txt       # Bob può solo leggere
    setfacl -m g:marketing:rw- file.txt  # Il gruppo marketing può leggere e scrivere
    getfacl file.txt                      # Mostra le ACL correnti

    In Windows, il sistema DAC usa le DACL (Discretionary Access Control List) nell’oggetto di sicurezza di ogni risorsa, con ACE (Access Control Entry) che specificano permessi per SID di utenti e gruppi.

    Limiti del DAC

    Il limite strutturale del DAC è che il malware o il software malevolo che gira con i permessi dell’utente eredita tutti i suoi diritti di accesso: può leggere, modificare e cancellare qualsiasi file di cui l’utente è proprietario. Un ransomware che compromette l’account di un utente con accesso a una condivisione di rete cifra potenzialmente migliaia di file. Inoltre, il proprietario può concedere permessi ad altri utenti per errore — il DAC non impone politiche di sicurezza organizzative in modo sistematico.

    Per questi motivi, negli ambienti ad alta sicurezza il DAC viene affiancato o sostituito dal MAC (che impone politiche centralmente) o complementato dal RBAC per la gestione su larga scala.

    Ultimo aggiornamento: