Messages in this thread | | | From | Ondrej Mosnacek <> | Date | Thu, 23 Aug 2018 11:14:15 +0200 | Subject | Re: [RFC PATCH ghak10 v4 0/2] audit: Log modifying adjtimex(2) calls |
| |
On Wed, Aug 22, 2018 at 11:27 PM Paul Moore <paul@paul-moore.com> wrote: > On Tue, Aug 21, 2018 at 3:21 AM Miroslav Lichvar <mlichvar@redhat.com> wrote: > > > On Mon, 20 Aug 2018, Ondrej Mosnacek wrote: > > > > @John or other timekeeping/NTP folks: We had a discussion on the audit > > > > ML on which of the internal timekeeping/NTP variables we should actually > > > > log changes for. We are only interested in variables that can (directly > > > > or indirectly) cause noticeable changes to the system clock, but since we > > > > have only limited understanding of the NTP code, we would like to ask > > > > you for advice on which variables are security relevant. > > > > I guess that mostly depends on whether you consider setting the clock > > to run faster or slower than real time to be an important event for > > the audit. > > > > > > - NTP value adjustments: > > > > - time_offset (probably important) > > > > This can adjust the clock by up to 0.5 seconds per call and also speed > > it up or slow down by up to about 0.05% (43 seconds per day). > > This seems worthwhile. > > > > > - time_freq (maybe not important?) > > > > This can speed up or slow down by up to about 0.05%. > > This too. > > > > > - time_status (likely important, can cause leap second injection) > > > > Yes, it can insert/delete leap seconds and it also enables/disables > > synchronization of the hardware real-time clock. > > This one as well. > > > > > - time_maxerror (maybe not important?) > > > > - time_esterror (maybe not important?) > > > > These two change the error estimates that are reported to applications > > using ntp_gettime()/adjtimex(). If an application was periodically > > checking that the clock is synchronized with some specified accuracy > > and setting the maxerror to a larger value would cause the application > > to abort, would it be an important event in the audit? > > Since these don't really affect the time, just the expected error, I'm > not sure this is important. > > > > > - time_constant (???) > > > > This controls the speed of the clock adjustments that are made when > > time_offset is set. Probably not important for the audit. > > Agreed. I think we can skip this. > > > > > - time_adjust (sounds important) > > > > This is similar to time_freq. It can temporarily speed up or slow down > > the clock by up to 0.05%. > > Like time_freq, we should probably log this too. > > > > > - tick_usec (???) > > > > This is a more extreme version of time_freq. It can speed up or slow > > down the clock by up to 10%. > > Let's audit this one too.
I agree with Paul on all counts. I will go ahead and prepare a patchset that logs everything except maxerror, esterror, and constant.
Thank you, Miroslav, for the explanations!
-- Ondrej Mosnacek <omosnace at redhat dot com> Associate Software Engineer, Security Technologies Red Hat, Inc.
| |