[PATCH 4/5] LSM: Define SELinux function to measure security state
Mimi Zohar
zohar at linux.ibm.com
Mon Jun 15 17:44:28 UTC 2020
(Cc'ing John)
On Mon, 2020-06-15 at 10:33 -0700, Casey Schaufler wrote:
> On 6/15/2020 9:45 AM, Lakshmi Ramasubramanian wrote:
> > On 6/15/20 4:57 AM, Stephen Smalley wrote:
> >
> > Hi Stephen,
> >
> > Thanks for reviewing the patches.
> >
> >>> +void security_state_change(char *lsm_name, void *state, int state_len)
> >>> +{
> >>> + ima_lsm_state(lsm_name, state, state_len);
> >>> +}
> >>> +
> >>
> >> What's the benefit of this trivial function instead of just calling
> >> ima_lsm_state() directly?
> >
> > One of the feedback Casey Schaufler had given earlier was that calling an IMA function directly from SELinux (or, any of the Security Modules) would be a layering violation.
>
> Hiding the ima_lsm_state() call doesn't address the layering.
> The point is that SELinux code being called from IMA (or the
> other way around) breaks the subsystem isolation. Unfortunately,
> it isn't obvious to me how you would go about what you're doing
> without integrating the subsystems.
Casey, I'm not sure why you think there is a layering issue here.
There were multiple iterations of IMA before it was upstreamed. One
iteration had separate integrity hooks(LIM). Only when the IMA calls
and the security hooks are co-located, are they combined, as requested
by Linus.
There was some AppArmour discussion about calling IMA directly, but I
haven't heard about it in a while or seen the patch.
Mimi
More information about the Linux-security-module-archive
mailing list