* Re: [PATCH] tcp: Use absolute system clock for TCP timestamps [not found] <CABPcSq+jxgKkuafpt5ubDLj9CBfHE1WFwmY-cGzRxuRsfM0KGw@mail.gmail.com> @ 2015-09-24 14:49 ` Eric Dumazet 2015-09-24 15:29 ` Florian Westphal 0 siblings, 1 reply; 2+ messages in thread From: Eric Dumazet @ 2015-09-24 14:49 UTC (permalink / raw) To: Jovi Zhangwei Cc: sasha.levin, Jiří Pírko, Tom Herbert, makita.toshiaki, David Miller, Netdev, LKML, Marek Majkowski On Thu, Sep 24, 2015 at 7:14 AM, Jovi Zhangwei <jovi@cloudflare.com> wrote: > From f455dc3958593250909627474100f6cc5c158a5c Mon Sep 17 00:00:00 2001 > From: Marek Majkowski <marek@cloudflare.com> > Date: Fri, 11 Sep 2015 06:05:07 -0700 > Subject: [PATCH] tcp: Use absolute system clock for TCP timestamps > > Using TCP timestamps is beneficial due for to its purpose in PAWS and when > its role when SYN cookies are enabled. In practice though TCP timestamps are > often disabled due to being a perceived security issue - they leak Linux > system uptime. > > This patch introduces a kernel option that makes TCP timestamp always return > an absolute value derived from a system clock as opposed to jiffies from > boot. > > This patch is based on the approach taken by grsecurity: > https://grsecurity.net/~spender/random_timestamp.diff > Please do not send html messages, they wont reach lists. May I ask how this patch was really tested ? It cannot possibly work on current kernels, as TCP Timestamps are generated from clock samples taken from skb_mstamp_get(), and you did not change it. static inline void skb_mstamp_get(struct skb_mstamp *cl) { u64 val = local_clock(); do_div(val, NSEC_PER_USEC); cl->stamp_us = (u32)val; cl->stamp_jiffies = (u32)jiffies; } TCP stack uses tcp_time_stamp internally, we do not want to add overhead adding an offset on all places. tp->lsndtime is an example, but we have others. Therefore, I suggest you add a new function and use it only where needed. static inline u32 secure_tcp_time_stamp(void) { returns (u32)(tcp_time_stamp + rtc_timestamp_base); } ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] tcp: Use absolute system clock for TCP timestamps 2015-09-24 14:49 ` [PATCH] tcp: Use absolute system clock for TCP timestamps Eric Dumazet @ 2015-09-24 15:29 ` Florian Westphal 0 siblings, 0 replies; 2+ messages in thread From: Florian Westphal @ 2015-09-24 15:29 UTC (permalink / raw) To: Eric Dumazet Cc: Jovi Zhangwei, sasha.levin, Jiří Pírko, Tom Herbert, makita.toshiaki, David Miller, Netdev, LKML, Marek Majkowski Eric Dumazet <edumazet@google.com> wrote: > On Thu, Sep 24, 2015 at 7:14 AM, Jovi Zhangwei <jovi@cloudflare.com> wrote: > > From f455dc3958593250909627474100f6cc5c158a5c Mon Sep 17 00:00:00 2001 > > From: Marek Majkowski <marek@cloudflare.com> > > Date: Fri, 11 Sep 2015 06:05:07 -0700 > > Subject: [PATCH] tcp: Use absolute system clock for TCP timestamps > > > > Using TCP timestamps is beneficial due for to its purpose in PAWS and when > > its role when SYN cookies are enabled. In practice though TCP timestamps are > > often disabled due to being a perceived security issue - they leak Linux > > system uptime. > > > > This patch introduces a kernel option that makes TCP timestamp always return > > an absolute value derived from a system clock as opposed to jiffies from > > boot. > > > > This patch is based on the approach taken by grsecurity: > > https://grsecurity.net/~spender/random_timestamp.diff > > I did not see the proposed patch because it didn't make this list, but I do not like the patch linked to above. With HZ=1000 the clock wraps every 49 days anyway. If thats is still deemed a problem, then the proposed solution doesn't help since all this does is add some 'random uptime' when the machine is booted so remote monitoring will easily give a good approximation of real uptime. Really, where is the problem...? > TCP stack uses tcp_time_stamp internally, we do not want to add > overhead adding an offset on all places. > > tp->lsndtime is an example, but we have others. > > Therefore, I suggest you add a new function and use it only where needed. Agreed, the mangling should only be performed when writing ts stamp into tcp header, and undone when reading ts echo from network. ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-09-24 15:29 UTC | newest] Thread overview: 2+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <CABPcSq+jxgKkuafpt5ubDLj9CBfHE1WFwmY-cGzRxuRsfM0KGw@mail.gmail.com> 2015-09-24 14:49 ` [PATCH] tcp: Use absolute system clock for TCP timestamps Eric Dumazet 2015-09-24 15:29 ` Florian Westphal
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).