Perché il filesystem di Linux è considerato DAC e non MAC

0

Citando l'articolo MAC di wikipedia:

With mandatory access control, this security policy is centrally controlled by a security policy administrator; users do not have the ability to override the policy and, for example, grant access to files that would otherwise be restricted. By contrast, discretionary access control (DAC), which also governs the ability of subjects to access objects, allows users the ability to make policy decisions and/or assign security attributes. (The traditional Unix system of users, groups, and read-write-execute permissions is an example of DAC.) MAC-enabled systems allow policy administrators to implement organization-wide security policies. Under MAC (and unlike DAC), users cannot override or modify this policy, either accidentally or intentionally. This allows security administrators to define a central policy that is guaranteed (in principle) to be enforced for all users.

Da quello che ho letto, con MAC, il sistema definisce i livelli di sicurezza e con DAC, ogni utente è responsabile dell'assegnazione delle autorizzazioni per accedere ai suoi file in base all'identità dell'utente e non al livello di sicurezza.

In Unix, non è possibile assegnare l'accesso a un utente specifico a un file in base alla sua identità (considerando solo le autorizzazioni rwx con i gruppi e non con ACL). Non è nemmeno possibile modificare la proprietà del file su un altro utente senza autorizzazioni elevate. Inoltre, anche se fosse possibile, l'accesso viene valutato in base alla "proprietà" o "appartenenza" (proprietario, gruppo o altro) e non all'identità di ciascun utente. Anche questo assomiglia più a un modello MAC che a un DAC.

Quindi perché le autorizzazioni del file system di Linux modele sono considerate un modello DAC?

    
posta user134167 05.12.2018 - 14:26
fonte

2 risposte

4

In un sistema di controllo di accesso discrezionale il proprietario della fonte decide chi può accedere ai dati. In un sistema di controllo degli accessi obbligatorio un amministratore decide chi può accedere ai dati, che in genere viene determinato dalla politica. Ad esempio, tutti i file nella directory ABC possono essere letti solo dagli utenti XYZ. In un sistema MAC nessun utente non XYZ può leggere il file. In un sistema DAC il proprietario del file potrebbe dire "avvitare gli amministratori, renderò questi file globalmente leggibili". Questo è quello che succede con i file system Linux, quindi sono DAC di default.

Nota: con SELinux abilitato, ciò che è descritto sopra non è più vero.

    
risposta data 05.12.2018 - 16:28
fonte
6

Non penso che la granularità delle autorizzazioni ottenibili sia rilevante qui. Non importa se il permesso può essere assegnato a utenti specifici, importa quali utenti possono modificare le autorizzazioni . Forse l' articolo DAC è più chiaro a riguardo:

In computer security, discretionary access control (DAC) is a type of access control defined by the Trusted Computer System Evaluation Criteria[1] "as a means of restricting access to objects based on the identity of subjects and/or groups to which they belong. The controls are discretionary in the sense that a subject with a certain access permission is capable of passing that permission (perhaps indirectly) on to any other subject (unless restrained by mandatory access control)".

(sottolineatura mia)

La differenza chiave tra MAC e DAC è che con DAC qualcuno che ha determinate autorizzazioni a un file è in grado di modificare le autorizzazioni di quel file.

The term DAC is commonly used in contexts that assume that every object has an owner that controls the permissions to access the object, probably because many systems do implement DAC using the concept of an owner. But the TCSEC definition does not say anything about owners, so technically an access control system doesn't have to have a concept of owner to meet the TCSEC definition of DAC.

Users (owners) have under this DAC implementation the ability to make policy decisions and/or assign security attributes. A straightforward example is the Unix file mode which represent write, read, and execute in each of the 3 bits for each of User, Group and Others. (It is prepended by another bit that indicates additional characteristics).

    
risposta data 05.12.2018 - 15:12
fonte

Leggi altre domande sui tag