public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Michael Jensen <kernel@millcreeksys.com>
To: Valdis.Kletnieks@vt.edu
Cc: "Linux-Kernel (E-mail)" <linux-kernel@vger.kernel.org>
Subject: Re: [2.7 "thoughts"] V0.3
Date: Fri, 10 Oct 2003 16:33:09 -0600	[thread overview]
Message-ID: <1065825189.3f8733a55cfd4@secure.millcreeksys.com> (raw)
In-Reply-To: <200310102205.h9AM5lRX007520@turing-police.cc.vt.edu>


I agree that it wouldn't have any effect on buffer overflows.  It would prevent
further abuse of the system unless the perpetrator was able to install and load
a modified kernel.  Even if they had root access, they would be unable to
execute backdoor binaries because they would not be signed with a trusted key. 
This would also thwart rootkits.

I also agree that there would be much maintenance and performance overhead.  But
there are some people/companies that are willing to sacrifice such things to
increase the security of their systems.

Another problem that I see is that it would be quite easy to get around signed
binaries if perl was one of those binaries.  Care would need to be taken in
deciding what is trusted and signed.

Does anyone have additional comments?

Michael

BTW - I like your suggestion of mounting everything either 'read only' or
'noexec', and using LSM.  I'm going to have to mess around with that.



Quoting Valdis.Kletnieks@vt.edu:

> On Fri, 10 Oct 2003 15:17:30 MDT, Uncle Jens said:
> > What about some type of kernel-based-DRM, where only properly(trusted)
> signed
> > binaries can be executed?  For example, I could compile my public key in
> with
> > the kernel and it would only run binaries that had been signed by my
> private
> > key.  I feel that this would be a great security enhancement and would like
> t
> o
> > hear about any issues this may present.
> > I've searched all over for a project that does something like this and have
> b
> een
> > unable to find one.  I'd like to start one up on my own, but lack the
> kernel
> > development expertise.
> > 
> > I'm open for any input/flames/etc....
> 
> There are two basic problems with the idea:
> 
> 1) It does nothing to prevent any of the usual abuses of a system - buffer
> overflows, shellcode, and the like.  You get fed a bad packet, the signed
> Apache binary overflows, and executes the signed /bin/sh that then calls
> the signed /bin/echo to append stuff to the appropriate files to create
> a back door.....
> 
> 2) Unless you're working with a kiosk/embedded system where the number of
> binaries is quite small, you're looking at a maintenance headache (remember,
> if you blindly sign binaries without auditing every single one, you're really
> not
> doing anything useful...)
> 
> A *much* better approach would be to do the following:
> 
> 1) Mount everything either 'read only' or 'noexec', and use something like
> LSM
> to make sure it doesn't get remounted.  So binaries off /home won't run, and
> binaries on /usr can't be trojaned (barring OTHER breaches such as
> remounting,
> or scribbling on the raw disk, etc...)
> 
> 2) Fix the bypasses of noexec (like '/lib/ld-linux.so.2 /your/binary/here').
> 
> That's probably a much better way of addressing the "running unauthorized
> binaries" threat, without taking a crypto signature hit on every exec().....
> 



  reply	other threads:[~2003-10-10 22:33 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-10-10  7:54 [2.7 "thoughts"] V0.3 Frederick, Fabian
2003-10-10  8:01 ` Jens Axboe
2003-10-10  8:13 ` John Bradford
2003-10-10 14:38   ` Rik van Riel
2003-10-10  9:11 ` William Lee Irwin III
2003-10-10 21:17 ` Uncle Jens
2003-10-10 21:59   ` Jeff Sipek
2003-10-10 22:05   ` Valdis.Kletnieks
2003-10-10 22:33     ` Michael Jensen [this message]
2003-10-10 23:13       ` Valdis.Kletnieks
2003-10-11  1:54         ` Michael Jensen
2003-10-11  2:23   ` Greg KH
2003-10-11  2:04 ` ---
2003-10-11  2:13   ` William Lee Irwin III
2003-10-11  2:30     ` ---
2003-10-11  6:24 ` Gabor MICSKO
2003-10-11  6:43   ` Zwane Mwaikambo
2003-10-11 10:56   ` Meelis Roos

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=1065825189.3f8733a55cfd4@secure.millcreeksys.com \
    --to=kernel@millcreeksys.com \
    --cc=Valdis.Kletnieks@vt.edu \
    --cc=linux-kernel@vger.kernel.org \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox