mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Reiner Sailer <sailer@us.ibm.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: linux-kernel@vger.kernel.org,
	linux-security-module@mail.wirex.com, Kylene@us.ibm.com,
	Emilyr@us.ibm.com, Toml@us.ibm.com
Subject: Re: [PATCH 2 of 4] ima: related Makefile compile order change and Readme
Date: Sun, 22 May 2005 19:59:55 -0400 (Eastern Daylight Time)	[thread overview]
Message-ID: <Pine.WNT.4.63.0505221821520.4896@laptop> (raw)

Pavel Machek <pavel@ucw.cz> wrote on 05/22/2005 03:37:17 PM:

> Hi!
> 
> > +Limitations: IMA does not detect corruption of software once it is
> > +loaded into main memory. Instead, it indicates known vulnerabilities
> > +in such software (e.g., buffer overflow) by securely identifying the
> > +software at load-time. Only executable files (binaries, libraries,
> > +kernel modules) are measured by default. However, IMA offers a
> > +sysfs-interface that allows applications to instruct the kernel to
> > +measure files that they have opened.
> 
> What is it good for, then? So I have to put my backdoor into script,
> not into an executable...

Scripts can be measured as well (from the user space).
 
For example, equipping the bash shell with 5-10 lines of code, bash 
initiates IMA measurements on scripts and files that are sourced into bash before 
they are "executed" by bash. This way, startup scripts and executed scripts can 
be logged as measurements and the measuremnt list will include them. 

> > +Some of our work shows that IMA is very useful to detect Rootkit
> > +exploits that totally take over the software of a Linux system but
> > +cannot hide themselves from contributing to the TPM aggregate and this
> > +will be detectable from a non-corrupted platform. While the corrupted
> > +system might not show the Rootkit, a remote party can securely
> > +identify known bad or unknown software having been loaded into the
> > +system.
> 
> How does it work? It is corrupted software, not your TPM chip that is
> talking over network.... Do you sign the measurements inside TPM chip?
> 
>                         Pavel

We sign the _integrity_value_ of the measurements inside the TPM.

TPMs offer signing of their so-called Platform Configuration 
Registers (PCR) inside the TPM (Quote). IMA uses one of these PCRs (kernel 
configuration option) to maintains an integrity value over the 
kernel-held measurement list. Whenever a new measurement is added, we 
also adjust the TPM PCR holding the integrity value (that's why we call 
it also a measurement aggregate).

You retrieve not only the measurement list from a system (kernel) but also 
a signature over the TPM PCR holding the integrity value. Nonces 
(random numbers) are used to protect against replay of old signed TPM PCR 
contents by the kernel. Since PCR is signed inside the TPM together with 
the nonce, corrupt system software can't cheat unnoticedly.

IMA implements the measurment hooks and maintains the measurement list 
and its integrity value in the TPM PCR. Services retrieving and evaluating 
measurement lists can be based on top of IMA.

Thanks
Reiner


             reply	other threads:[~2005-05-23  0:24 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-05-22 23:59 Reiner Sailer [this message]
2005-05-23  4:30 ` James Morris
2005-05-23  4:52   ` Valdis.Kletnieks
2005-05-23  8:58 ` Pavel Machek
  -- strict thread matches above, loose matches on Subject: below --
2005-05-25 15:32 Reiner Sailer
2005-05-25 21:58 ` Pavel Machek
2005-05-25 15:00 Reiner Sailer
2005-05-25 15:06 ` Pavel Machek
2005-05-24 21:17 Reiner Sailer
2005-05-24 22:41 ` Pavel Machek
2005-05-24 13:45 Reiner Sailer
2005-05-24 18:47 ` Pavel Machek
2005-05-23 21:36 Reiner Sailer
2005-05-23 23:44 ` Pavel Machek
2005-05-23 23:59 ` James Morris
2005-05-25 18:06   ` Reiner Sailer
2005-05-23 19:56 Reiner Sailer
2005-05-23 20:39 ` Pavel Machek
2005-05-20 13:36 Reiner Sailer
2005-05-21  6:02 ` Greg KH
2005-05-22 19:37 ` Pavel Machek

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=Pine.WNT.4.63.0505221821520.4896@laptop \
    --to=sailer@us.ibm.com \
    --cc=Emilyr@us.ibm.com \
    --cc=Kylene@us.ibm.com \
    --cc=Toml@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@mail.wirex.com \
    --cc=pavel@ucw.cz \
    /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

all inboxes | Powered by JetHome®