All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Vladimir 'φ-coder/phcoder' Serbinenko" <phcoder@gmail.com>
To: The development of GNU GRUB <grub-devel@gnu.org>
Subject: Re: Keyfile Support for GRUBs LUKS
Date: Wed, 20 Nov 2013 07:52:01 +0100	[thread overview]
Message-ID: <528C5C11.80606@gmail.com> (raw)
In-Reply-To: <20131120064227.GA35859@scollay.m5p.com>

[-- Attachment #1: Type: text/plain, Size: 2469 bytes --]

On 20.11.2013 07:42, Elliott Mitchell wrote:
> On Tue, Nov 19, 2013 at 11:43:12PM -0600, Glenn Washburn wrote:
>> On Tue, 19 Nov 2013 17:55:40 -0800
>> Elliott Mitchell <ehem+grub@m5p.com> wrote:
>>
>>> On Tue, Nov 19, 2013 at 07:31:35PM -0600, Glenn Washburn wrote:
>>>> I've had this setup ever since grub had LUKS support, except for the
>>>> signature checking.  I don't really see the point of checking
>>>> signatures if the kernel and initrd are encrypted.
>>>
>>> You're setting yourself up for a *lot* of pain then.  In places where
>>> security is important, *always* check signatures.  Utilizing
>>> encryption without checking signatures leaves you *wide-open* to
>>> attacks!  In a case like this, by observing whether the system
>>> continues or halts the attacker will be able to figuring out how the
>>> incoming stream was handled.  While this may not allow them to figure
>>> out what the keys are, it will allow them to easily break in.
>>>
>>> Not checking signatures has repeatedly killed zillions of security
>>> products.  If you worry about security, signatures are non-optional!
>>
>> I'm not exactly following you.  Checking signatures is a way to verify
>> that certain data is what you expect it to be.  Can you provide an
>> example of what you mean by "observing whether the system
>> continues or halts the attacker will be able to figuring out how the
>> incoming stream was handled"?
> 
> Some of the portions at the start of the kernel are fixed.  If I have
> knowledge of the architecture the kernel is for, I'll be able to recover
> parts of the cryptographic stream by XORing the known parts.  The rest of
> the stream is harder to recover, but I could try changing individual
> bytes to all 256 values and observing which values cause the processor to
> halt where.  From this I could come up with a map of what the byte in the
> kernel is and what the byte of the cryptographic stream is.  The process
> would be slow, but it is entirely doable if someone is willing to spend
> the resources.
> 
> Heck, even the known bytes may allow someone to inject enough code to
> break into the kernel at a later stage.  Look for information on "single
> byte buffer overflows" for how systems have been successfully broken into
> merely by initially controlling 1 byte.
You assume here stream cipher or block cipher in CTR mode. Disks are
encrypted in XTS mode (usually) or some CBC-variant.



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 291 bytes --]

  reply	other threads:[~2013-11-20  6:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-11-19 23:43 Keyfile Support for GRUBs LUKS Ralf Ramsauer
2013-11-20  1:31 ` Glenn Washburn
2013-11-20  1:55   ` Elliott Mitchell
2013-11-20  5:43     ` Glenn Washburn
2013-11-20  5:48       ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-11-20  7:02         ` Glenn Washburn
2013-11-20  7:36           ` Vladimir 'φ-coder/phcoder' Serbinenko
2013-11-21  5:57             ` Glenn Washburn
2013-11-25 10:38             ` Darren J Moffat
2013-11-20  6:42       ` Elliott Mitchell
2013-11-20  6:52         ` Vladimir 'φ-coder/phcoder' Serbinenko [this message]
2013-11-20 21:08         ` Glenn Washburn
2013-11-21 15:31 ` Vladimir 'phcoder' Serbinenko
2013-11-21 19:34   ` Ralf Ramsauer
2013-11-22  3:01     ` Vladimir 'φ-coder/phcoder' Serbinenko

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=528C5C11.80606@gmail.com \
    --to=phcoder@gmail.com \
    --cc=grub-devel@gnu.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 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.