From: Reiner Sailer <sailer@us.ibm.com>
To: Pavel Machek <pavel@ucw.cz>
Cc: Emilyr@us.ibm.com, James Morris <jmorris@redhat.com>,
Kylene@us.ibm.com, linux-kernel@vger.kernel.org,
linux-security-module@wirex.com, Toml@us.ibm.com,
Valdis.Kletnieks@vt.edu
Subject: Re: [PATCH 2 of 4] ima: related Makefile compile order change and Readme
Date: Tue, 24 May 2005 17:17:53 -0400 (Eastern Daylight Time) [thread overview]
Message-ID: <Pine.WNT.4.63.0505241524170.828@laptop> (raw)
Pavel Machek <pavel@ucw.cz> wrote on 05/24/2005 02:47:52 PM:
> Hi!
>
> > > * remove all the buffer overflows. I.e. if grub contains buffer
> > > overflow in parsing menu.conf... that is not a security hole
> > > (as of now) because only administrator can modify menu.conf.
> > > With IMA enabled, it would make your certification useless...
> >
> > Taking your example: Even if you run a buffer-overflow grub, IMA will
> > enable remote parties to differentiate between systems that run
> > the vulnerable grub and systems that don't. IMA in this case actually
> > can put value to running better software.
>
> Yes, but see above: that buffer overflow in grub was *not* a
> vulnerability... not until you introduce IMA.
>
> That is my biggest concern. You are completely changing rules for
> userland code. Buffer overflow that only root could exploit used to be
> okay. It used to be okay to read config files without communicating
> with TPM.
> Pavel
>
I don't follow your argumentation.
Measuring a file is done by new IMA code (hook) that opens the file,
calculates the SHA1, closes the file, and saves new SHA1 measurements in the
measurement list. This code must be carefully inspected. The only code
that a user can trigger through IMA is the IMA kernel code that calculates
the SHA1 over a file that the user has already opened (requires file
descriptor).
Can you be more specific about how IMA affects existing buffer overflow
vulnerabilities in grub or other applications?
Also, grub/grub.conf is not measured by users or the kernel but by the stages
loading it (see below) according to the "measure-before-load" principle,
coined by the Trusted Computing Group.
I shortly summarize the steps involving TPM and measurements when booting
a system to avoid misunderstandings of "who is measuring what and when":
(i) On TPM-enabled systems, the BIOS automatically measures the first
bootstage (MBR) and some platform configuration parameters (usually
configurable in the BIOS setup).
(ii) Then tcg-grub (if installed) measures its configuration file and
later tcg-grub stages. Grub finally measures kernel and initrd before
booting the kernel. This requires a grub-patch that creates the
SHA1 measurements and extends TPM PCRs. There are to my knowlege
opensource versions of grub extensions for tpm support already available
and there are patches in preparation to be released soon.
(iii) Once started, the kernel part of IMA (the currently submitted ima
patches) picks up these boot measurements and integrates them as the
very first measurement into the measurement list and TPM PCR aggregate
(look for it in the initialization code of the IMA patches submitted).
(iv) From then on, the IMA in the kernel is responsible for measuring
executables/modules before loading them and for maintaining the
measurement list and its TPM aggregate.
(v) Remote parties will validate the boot stages with the very first
measurement, which they receive as part of the measurement list from IMA.
Thanks
Reiner
next reply other threads:[~2005-05-24 21:20 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-24 21:17 Reiner Sailer [this message]
2005-05-24 22:41 ` 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 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-22 23:59 Reiner Sailer
2005-05-23 4:30 ` James Morris
2005-05-23 4:52 ` Valdis.Kletnieks
2005-05-23 8:58 ` 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.0505241524170.828@laptop \
--to=sailer@us.ibm.com \
--cc=Emilyr@us.ibm.com \
--cc=Kylene@us.ibm.com \
--cc=Toml@us.ibm.com \
--cc=Valdis.Kletnieks@vt.edu \
--cc=jmorris@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@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®