RFC: Requirements for MAC policies and implementation
Magosányi Árpád
mag at bunuel.tii.matav.hu
Wed Sep 20 14:38:32 GMT 2000
A levelezőm azt hiszi, hogy Robert Watson a következőeket írta:
[]
> - Multi-Level Security Model (MLS)
> - Biba Integrity Model
> - Strong Non-Intersecting Partition Model
-Low water mark model
-Fisher-Hübner privacy model
-Role-based access control
I am increasingly on the opinion that if you want to implement some
sensitivity oriented MAC, like Bell-LaPadula, there are also some
features that should be there to make a system work with only
light modifications. One such issue is the virtualisation of namespaces.
If you use sensitivity oriented MAC combined with non-intersecting partitions,
it is all okay. But if you use it in one namespace, there are problems
like 'what is the label of /tmp?'. The file redirection feature of Medusa
(if it would work) is an elegant way to resolve these issues. (another way
is to make all programs aware of the situation, but I think it isn't
feasible even with the closed development model of BSD.)
> - Labeling Issues
I think the network related things could be adressed elegantly
from the packet filter side. I am thinking of something like
the "fwmark" feature, where the packet filter rules can mark
incoming packets. The network sockets could be labeled by
the creating process (either implicitly or explicitly),
and the implicit narrowing and the access control could be
done using the packets' label. The labels of an interface
could also be a factor in the computing the label of a packet
or a socket, but I feel it is unnecessary if we base the marking
on the packet filter rules (you can be selective based on
interface there).
From the flow control point of view an interface or a network
socket is a communication channel, and not a system object.
And as such, they labels should be designated (either implicitly
or explicitly) by the authorized administrator, and the access
to them should be governed by the importation and exportation
rules.
This means that the labels associated by the packet filters should
be labelsets instead, which can describe the minimal and maximal
label of an interface, and there are rules which can narrow
a labelset of an object/channel.
[Add a distinction between data and control, define sensitivity
and integrity rules for both, and you will get Zorp's access
control model:]
> - Access Control Points
> - Access control points for mandatory policies would certainly
> include all existing discretionary access control points (file
> name lookup and open operations, socket creation, inter-process
> control such as signaling and debugging), but what other
> points may now require access control or revocation?
>
> - Floating label schemes would require access control and
> revocation at the granularity of individual reads/writes
> rather than the DAC cached credential model for file and
> socket access. Revocation even in non-floating schemes might
> demand blocking access to previously accessible services
> such as file descriptors and sockets, based on the requirements
> of the scheme. Similarly, shared memory resources might
> fall under revocation environments, something that the VM
> system has not been designed for.
The TCSEC interpretation is clear abut revocation:
You are not required to promptly revoke a resource which is given
to a user if her rights which made her eligible to get the resource
has been revoked. So you can wait with freeing memory
until the process exits, and in a static label scheme you
are not even required to knock out that label from the proc
structure when it is changed in "/etc/passwd".
> For reference with regards to long term development plans, this MAC
> implementation would be prior to the implementation of a generalized
> labeling and access control scheme such as Poligraph, but would be a
> useful step towards the implementation of such a system, providing a
> stronger understanding of requirements for the implementation of these
> common MAC schemes.
I just wanted to suggest some generalized framework approach.
In this case I guess this implementation shall choose one sensitivity
(Bell-LaPadula of course), and one integrity (Biba or low water mark
comes to mind) model, augmented with capability handling , packet filter
change and file redirection.
--
GNU GPL: csak tiszta forrásból
To Unsubscribe: send mail to majordomo at trustedbsd.org
with "unsubscribe trustedbsd-discuss" in the body of the message
More information about the trustedbsd-discuss
mailing list