Re: [PATCH 0/5] selinux: add prefix/suffix matching to filename type transitions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jun 1, 2023 at 1:03 PM Juraj Marcin <juraj@xxxxxxxxxxxxxxx> wrote:
> On 2023-05-31 18:24, Paul Moore wrote:
> > On Wed, May 31, 2023 at 7:32 AM Juraj Marcin <juraj@xxxxxxxxxxxxxxx> wrote:
> > >
> > > Currently, filename transitions are stored separately from other type
> > > enforcement rules and only support exact name matching. However, in
> > > practice, the names contain variable parts. This leads to many
> > > duplicated rules in the policy that differ only in the part of the name,
> > > or it is even impossible to cover all possible combinations.
> > >
> > > First, this series of patches moves the filename transitions to be part
> > > of the avtab structures. This not only makes the implementation of
> > > prefix/suffix matching and future enhancements easier, but also reduces
> > > the technical debt regarding the filename transitions. Next, the last
> > > patch implements the support for prefix/suffix name matching itself by
> > > extending the structures added in previous patches in this series.
> > >
> > > Even though, moving everything to avtab increases the memory usage and
> > > the size of the binary policy itself and thus the loading time, the
> > > ability to match the prefix or suffix of the name will reduce the
> > > overall number of rules in the policy which should mitigate this issue.
> > >
> > > This implementation has been successfully tested using the existing and
> > > also new tests in the SELinux Testsuite.
> > >
> > > Juraj Marcin (5):
> > >   selinux: move transition to separate structure in avtab_datum
> > >   selinux: move filename transitions to avtab
> > >   selinux: implement new binary format for filename transitions in avtab
> > >   selinux: filename transitions move tests
> > >   selinux: add prefix/suffix matching support to filename type
> > >     transitions
> >
> > Just a quick comment as I haven't had a chance to properly review this
> > series yet; you show some memory usage and performance measurements in
> > some of the intermediate patches, that's good, but I don't see the
> > same measurements taken when the full patchset is applied.  Please
> > provide the same memory usage and performance comparisons with the
> > full patchset applied.
>
> Of course, here are the measurements with the whole patchset applied.
>
> I also included measurements with new policy (based on the Fedora
> policy) that uses prefix filename transitions where possible. This new
> policy has been generated by merging existing filename transitions into
> prefix ones if it would reduce the number of transitions overall while
> keeping the resulting type same.
>
> [1] Reference kernel (c52df19e3759), Fedora policy (format v33)
> [2] This patchset, Fedora policy (format v33)
> [3] This patchset, Fedora policy without prefix/suffix rules (format v35)
> [4] This patchset, Fedora policy with prefix rules (format v35)
>
>
>  Test | Mem   | Binary | Policy | Create tty      | osbench
>       | Usage | policy | load   |                 | create
>       |       | size   | time   | (ms/file)       | files
>       | (MiB) | (MiB)  | (ms)   | real   | kernel | (us/file)
> ------+-------+--------+--------+--------+--------+-----------
>  [1]  |   157 |    3.4 |     78 | 1.1021 | 0.7586 | 7.8277
>  [2]  |   200 |    3.4 |    206 | 1.1193 | 0.7724 | 8.2711
>  [3]  |   169 |    5.8 |    106 | 1.1021 | 0.7724 | 8.0304
>  [4]  |   164 |    3.8 |     86 | 1.1029 | 0.7586 | 7.9609

Thanks for performing those measurements.

I apologize that I haven't had an opportunity to review your patcheset
in detail just yet (I've been struggling with some self-inflicted
networking issues this week), but looking strictly at the numbers
above it appears that by every metric in the table this patchset
results in a policy that is larger (both on-disk and in-memory) as
well as performance that is at best the same (although in most cases,
it is worse).  Are there any improvements expected beyond test
configuration [4] (above)?

-- 
paul-moore.com




[Index of Archives]     [Selinux Refpolicy]     [Linux SGX]     [Fedora Users]     [Fedora Desktop]     [Yosemite Photos]     [Yosemite Camping]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux