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).
> - time_freq (maybe not important?)
This can speed up or slow down by up to about 0.05%.
> - 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.
> - 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?
> - time_constant (???)
This controls the speed of the clock adjustments that are made when
time_offset is set. Probably not important for the audit.
> - 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%.
> - tick_usec (???)
This is a more extreme version of time_freq. It can speed up or slow
down the clock by up to 10%.
--
Miroslav Lichvar