From: "Tobin C. Harding" <me@tobin.cc> To: kaiwan.billimoria@gmail.com Cc: kernel-hardening@lists.openwall.com, "Jason A. Donenfeld" <Jason@zx2c4.com>, "Theodore Ts'o" <tytso@mit.edu>, Linus Torvalds <torvalds@linux-foundation.org>, Kees Cook <keescook@chromium.org>, Paolo Bonzini <pbonzini@redhat.com>, Tycho Andersen <tycho@docker.com>, "Roberts, William C" <william.c.roberts@intel.com>, Tejun Heo <tj@kernel.org>, Jordan Glover <Golden_Miller83@protonmail.ch>, Greg KH <gregkh@linuxfoundation.org>, Petr Mladek <pmladek@suse.com>, Joe Perches <joe@perches.com>, Ian Campbell <ijc@hellion.org.uk>, Sergey Senozhatsky <sergey.senozhatsky@gmail.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <wilal.deacon@arm.com>, Steven Rostedt <rostedt@goodmis.org>, Chris Fries <cfries@google.com>, Dave Weinstein <olorin@google.com>, Daniel Micay <danielmicay@gmail.com>, Djalal Harouni <tixxdz@gmail.com>, linux-kernel@vger.kernel.org, Network Development <netdev@vger.kernel.org>, David Miller <davem@davemloft.net> Subject: Re: [kernel-hardening] [PATCH v4] scripts: add leaking_addresses.pl Date: Mon, 13 Nov 2017 17:08:07 +1100 [thread overview] Message-ID: <20171113060807.GK11398@eros> (raw) In-Reply-To: <1510551988.30178.10.camel@gmail.com> On Mon, Nov 13, 2017 at 11:16:28AM +0530, kaiwan.billimoria@gmail.com wrote: > On Mon, 2017-11-13 at 09:21 +1100, Tobin C. Harding wrote: > > On Fri, Nov 10, 2017 at 07:26:34PM +0530, kaiwan.billimoria@gmail.com > > wrote: > > > On Tue, 2017-11-07 at 21:32 +1100, Tobin C. Harding wrote: > > > > Currently we are leaking addresses from the kernel to user space. > > > > This > > > > script is an attempt to find some of those leakages. Script > > > > parses > > > > `dmesg` output and /proc and /sys files for hex strings that look > > > > like > > > > kernel addresses. > > > > > > > > Only works for 64 bit kernels, the reason being that kernel > > > > addresses > > > > on 64 bit kernels have 'ffff' as the leading bit pattern making > > > > greping > > > > possible. On 32 kernels we don't have this luxury. > > > > > > Tobin C. Harding <me@tobin.cc> wrote: > > > > Only works for 64 bit kernels, the reason being that kernel > > > > addresses > > > > on 64 bit kernels have 'ffff' as the leading bit pattern making > > > > greping > > > > possible. On 32 kernels we don't have this luxury. > > > > > > [RFC] leaking_addresses.pl - enhance it to work for 32-bit kernels > > > as well > > > > > > (Firstly, apologies if I've got the protocol horribly wrong- should > > > this > > > be a new thread altogether?) > > > > I think this patch will need to wait until the patch set that is > > currently in flight is either merged or dropped. > > > Thanks for looking at it! > Okay; blocking on merge || drop... :-) So, Linus has requested that I set up a tree for the development of this. I have to work out the details of how to do that and then I'll email you so you can get the pull the current version. I can then take your patch via LKML as per usual. > > We can work this out pragmatically, Perl can give us an architecture > > string then a few regexs can ascertain which architecture we are > > running > > on. This is in the inflight patch set. > > > > > The patch below does Not take into account (yet) stuff like: > > > - exactly which files & dirs should be skipped on 32-bit (will it > > > be > > > identical to 64-bit?; unsure..) > > > > As per discussion later in this thread we may need to consider > > architecture specific lists for files/directories to skip. > Right > > > > > - it currently hard-codes a global 'PAGE_OFFSET_32BIT=0xc0000000' > > > , just > > > so I can test quickly; must figure whether to query it or pass it; > > > Suggestions? > > > > Perhaps we should have a command line option for this. > > > > --kernel-base-address > > Why not just detect it programatically? We could devise a series of > fallbacks; something like: > - if .config exists in the kernel source tree root, grep it for > PAGE_OFFSET > - if not, grep the arch-specific (arch/<arch>/configs/<config-file>) > for the same > - if for some reason we don't have enough info regarding specific > platform and thus the defconfig filename (could happen for ARM, PPC?), > we then fail and request the user to pass it as a parameter. > > > > - the 'false positives'; again, what differs for 32-bit? Sounds good to me. thanks, Tobin.
WARNING: multiple messages have this Message-ID (diff)
From: "Tobin C. Harding" <me@tobin.cc> To: kaiwan.billimoria@gmail.com Cc: kernel-hardening@lists.openwall.com, "Jason A. Donenfeld" <Jason@zx2c4.com>, Theodore Ts'o <tytso@mit.edu>, Linus Torvalds <torvalds@linux-foundation.org>, Kees Cook <keescook@chromium.org>, Paolo Bonzini <pbonzini@redhat.com>, Tycho Andersen <tycho@docker.com>, "Roberts, William C" <william.c.roberts@intel.com>, Tejun Heo <tj@kernel.org>, Jordan Glover <Golden_Miller83@protonmail.ch>, Greg KH <gregkh@linuxfoundation.org>, Petr Mladek <pmladek@suse.com>, Joe Perches <joe@perches.com>, Ian Campbell <ijc@hellion.org.uk>, Sergey Senozhatsky <sergey.senozhatsky@gmail.com>, Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <wilal.deacon@arm.com>, Steven Rostedt <rostedt@goodmis.org>, Chris Fries <cfries@google.com>, Dave Weinstein <olorin@goo Subject: Re: [kernel-hardening] [PATCH v4] scripts: add leaking_addresses.pl Date: Mon, 13 Nov 2017 17:08:07 +1100 [thread overview] Message-ID: <20171113060807.GK11398@eros> (raw) In-Reply-To: <1510551988.30178.10.camel@gmail.com> On Mon, Nov 13, 2017 at 11:16:28AM +0530, kaiwan.billimoria@gmail.com wrote: > On Mon, 2017-11-13 at 09:21 +1100, Tobin C. Harding wrote: > > On Fri, Nov 10, 2017 at 07:26:34PM +0530, kaiwan.billimoria@gmail.com > > wrote: > > > On Tue, 2017-11-07 at 21:32 +1100, Tobin C. Harding wrote: > > > > Currently we are leaking addresses from the kernel to user space. > > > > This > > > > script is an attempt to find some of those leakages. Script > > > > parses > > > > `dmesg` output and /proc and /sys files for hex strings that look > > > > like > > > > kernel addresses. > > > > > > > > Only works for 64 bit kernels, the reason being that kernel > > > > addresses > > > > on 64 bit kernels have 'ffff' as the leading bit pattern making > > > > greping > > > > possible. On 32 kernels we don't have this luxury. > > > > > > Tobin C. Harding <me@tobin.cc> wrote: > > > > Only works for 64 bit kernels, the reason being that kernel > > > > addresses > > > > on 64 bit kernels have 'ffff' as the leading bit pattern making > > > > greping > > > > possible. On 32 kernels we don't have this luxury. > > > > > > [RFC] leaking_addresses.pl - enhance it to work for 32-bit kernels > > > as well > > > > > > (Firstly, apologies if I've got the protocol horribly wrong- should > > > this > > > be a new thread altogether?) > > > > I think this patch will need to wait until the patch set that is > > currently in flight is either merged or dropped. > > > Thanks for looking at it! > Okay; blocking on merge || drop... :-) So, Linus has requested that I set up a tree for the development of this. I have to work out the details of how to do that and then I'll email you so you can get the pull the current version. I can then take your patch via LKML as per usual. > > We can work this out pragmatically, Perl can give us an architecture > > string then a few regexs can ascertain which architecture we are > > running > > on. This is in the inflight patch set. > > > > > The patch below does Not take into account (yet) stuff like: > > > - exactly which files & dirs should be skipped on 32-bit (will it > > > be > > > identical to 64-bit?; unsure..) > > > > As per discussion later in this thread we may need to consider > > architecture specific lists for files/directories to skip. > Right > > > > > - it currently hard-codes a global 'PAGE_OFFSET_32BIT=0xc0000000' > > > , just > > > so I can test quickly; must figure whether to query it or pass it; > > > Suggestions? > > > > Perhaps we should have a command line option for this. > > > > --kernel-base-address > > Why not just detect it programatically? We could devise a series of > fallbacks; something like: > - if .config exists in the kernel source tree root, grep it for > PAGE_OFFSET > - if not, grep the arch-specific (arch/<arch>/configs/<config-file>) > for the same > - if for some reason we don't have enough info regarding specific > platform and thus the defconfig filename (could happen for ARM, PPC?), > we then fail and request the user to pass it as a parameter. > > > > - the 'false positives'; again, what differs for 32-bit? Sounds good to me. thanks, Tobin.
next prev parent reply other threads:[~2017-11-13 6:08 UTC|newest] Thread overview: 98+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-11-07 10:32 [PATCH v4] scripts: add leaking_addresses.pl Tobin C. Harding 2017-11-07 10:32 ` [kernel-hardening] " Tobin C. Harding 2017-11-07 10:32 ` Tobin C. Harding 2017-11-07 10:50 ` Greg KH 2017-11-07 10:50 ` [kernel-hardening] " Greg KH 2017-11-07 10:50 ` Greg KH 2017-11-07 20:51 ` Tobin C. Harding 2017-11-07 20:51 ` [kernel-hardening] " Tobin C. Harding 2017-11-07 20:51 ` Tobin C. Harding 2017-11-07 13:56 ` David Laight 2017-11-07 13:56 ` [kernel-hardening] " David Laight 2017-11-07 13:56 ` David Laight 2017-11-07 20:58 ` Tobin C. Harding 2017-11-07 20:58 ` [kernel-hardening] " Tobin C. Harding 2017-11-07 20:58 ` Tobin C. Harding 2017-11-07 21:11 ` Linus Torvalds 2017-11-07 21:11 ` [kernel-hardening] " Linus Torvalds 2017-11-07 21:11 ` Linus Torvalds 2017-11-07 15:51 ` Petr Mladek 2017-11-07 15:51 ` [kernel-hardening] " Petr Mladek 2017-11-07 15:51 ` Petr Mladek 2017-11-07 20:39 ` Tobin C. Harding 2017-11-07 20:39 ` [kernel-hardening] " Tobin C. Harding 2017-11-07 20:39 ` Tobin C. Harding 2017-11-07 23:36 ` [kernel-hardening] " Laura Abbott 2017-11-07 23:36 ` Laura Abbott 2017-11-08 0:59 ` Linus Torvalds 2017-11-08 0:59 ` Linus Torvalds 2017-11-08 0:59 ` Linus Torvalds 2017-11-08 20:39 ` Linus Torvalds 2017-11-08 20:39 ` Linus Torvalds 2017-11-08 20:39 ` Linus Torvalds 2017-11-09 4:43 ` Kaiwan N Billimoria 2017-11-09 4:43 ` Kaiwan N Billimoria 2017-11-09 4:43 ` Kaiwan N Billimoria 2017-11-09 4:54 ` Kaiwan N Billimoria 2017-11-09 4:54 ` Kaiwan N Billimoria 2017-11-09 4:54 ` Kaiwan N Billimoria 2017-11-09 18:11 ` Steven Rostedt 2017-11-09 18:11 ` Steven Rostedt 2017-11-09 18:11 ` Steven Rostedt 2017-11-10 3:03 ` Kaiwan N Billimoria 2017-11-10 3:03 ` Kaiwan N Billimoria 2017-11-10 3:03 ` Kaiwan N Billimoria 2017-11-08 1:13 ` Tobin C. Harding 2017-11-08 1:13 ` Tobin C. Harding 2017-11-08 12:10 ` [kernel-hardening] " Michael Ellerman 2017-11-08 12:10 ` Michael Ellerman 2017-11-08 12:10 ` Michael Ellerman 2017-11-08 21:16 ` Tobin C. Harding 2017-11-08 21:16 ` Tobin C. Harding 2017-11-08 22:48 ` Tobin C. Harding 2017-11-08 22:48 ` Tobin C. Harding 2017-11-09 0:49 ` Michael Ellerman 2017-11-09 0:49 ` Michael Ellerman 2017-11-09 0:49 ` Michael Ellerman 2017-11-09 2:08 ` Tobin C. Harding 2017-11-09 2:08 ` Tobin C. Harding 2017-11-10 22:12 ` [kernel-hardening] " Frank Rowand 2017-11-10 22:12 ` Frank Rowand 2017-11-12 11:49 ` Michael Ellerman 2017-11-12 11:49 ` Michael Ellerman 2017-11-12 11:49 ` Michael Ellerman 2017-11-12 18:02 ` Frank Rowand 2017-11-12 18:02 ` Frank Rowand 2017-11-12 21:18 ` Tobin C. Harding 2017-11-12 21:18 ` Tobin C. Harding 2017-11-13 1:06 ` Michael Ellerman 2017-11-13 1:06 ` Michael Ellerman 2017-11-13 1:06 ` Michael Ellerman 2017-11-10 13:56 ` kaiwan.billimoria 2017-11-10 13:56 ` kaiwan.billimoria 2017-11-12 22:21 ` Tobin C. Harding 2017-11-12 22:21 ` Tobin C. Harding 2017-11-13 5:46 ` kaiwan.billimoria 2017-11-13 5:46 ` kaiwan.billimoria 2017-11-13 6:08 ` Tobin C. Harding [this message] 2017-11-13 6:08 ` Tobin C. Harding 2017-11-13 6:52 ` Kaiwan N Billimoria 2017-11-13 6:52 ` Kaiwan N Billimoria 2017-11-20 15:39 ` [kernel-hardening] " Petr Mladek 2017-11-20 15:39 ` Petr Mladek 2017-11-19 23:56 ` [kernel-hardening] " Tobin C. Harding 2017-11-19 23:56 ` Tobin C. Harding 2017-11-11 23:10 ` Kirill A. Shutemov 2017-11-11 23:10 ` [kernel-hardening] " Kirill A. Shutemov 2017-11-11 23:10 ` Kirill A. Shutemov 2017-11-12 23:06 ` Tobin C. Harding 2017-11-12 23:06 ` [kernel-hardening] " Tobin C. Harding 2017-11-12 23:06 ` Tobin C. Harding 2017-11-13 3:37 ` Kirill A. Shutemov 2017-11-13 3:37 ` [kernel-hardening] " Kirill A. Shutemov 2017-11-13 3:37 ` Kirill A. Shutemov 2017-11-13 4:35 ` Tobin C. Harding 2017-11-13 4:35 ` [kernel-hardening] " Tobin C. Harding 2017-11-13 4:35 ` Tobin C. Harding 2017-11-13 5:27 ` [kernel-hardening] " Kaiwan N Billimoria 2017-11-13 5:27 ` Kaiwan N Billimoria
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20171113060807.GK11398@eros \ --to=me@tobin.cc \ --cc=Golden_Miller83@protonmail.ch \ --cc=Jason@zx2c4.com \ --cc=catalin.marinas@arm.com \ --cc=cfries@google.com \ --cc=danielmicay@gmail.com \ --cc=davem@davemloft.net \ --cc=gregkh@linuxfoundation.org \ --cc=ijc@hellion.org.uk \ --cc=joe@perches.com \ --cc=kaiwan.billimoria@gmail.com \ --cc=keescook@chromium.org \ --cc=kernel-hardening@lists.openwall.com \ --cc=linux-kernel@vger.kernel.org \ --cc=netdev@vger.kernel.org \ --cc=olorin@google.com \ --cc=pbonzini@redhat.com \ --cc=pmladek@suse.com \ --cc=rostedt@goodmis.org \ --cc=sergey.senozhatsky@gmail.com \ --cc=tixxdz@gmail.com \ --cc=tj@kernel.org \ --cc=torvalds@linux-foundation.org \ --cc=tycho@docker.com \ --cc=tytso@mit.edu \ --cc=wilal.deacon@arm.com \ --cc=william.c.roberts@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.