All of lore.kernel.org
 help / color / mirror / Atom feed
* Move away from default password
@ 2019-06-17 16:46 Joseph Reynolds
  2019-06-17 18:01 ` Thomaiyar, Richard Marian
  2019-06-17 22:56 ` Stewart Smith
  0 siblings, 2 replies; 11+ messages in thread
From: Joseph Reynolds @ 2019-06-17 16:46 UTC (permalink / raw)
  To: Openbmc

There is some interest in moving OpenBMC away from a default password.
- email: 
https://lists.ozlabs.org/pipermail/openbmc/2019-June/016515.html  (which 
references a RestrictionMode design: 
https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/21195)

Having a default password is a security risk.  Note that changing to a 
different default password is not a good solution.  For example, if a 
bad actor learns the default password from one device, that actor will 
likely know the password for many of them.

I am exploring two options for OpenBMC, and want your feedback.

1. Unique password per BMC.
In this approach, there is a way to change the factory default password. 
  Example flow: assemble the BMC, test it, factory reset, generate unique 
password (such as `pwgen`), then use a new function “save factory 
default settings” which would save the current setting into a new 
“factory settings” flash partition.  After that, a factory reset 
would reset to the factory installed password, not to the setting in the 
source code.
Presumably the new factory default would be printed on a sticker, or 
something.
Are there any other factory settings (settings unique to each device) 
that would benefit from being set like this?
One downside to this approach is someone who orders 100 systems has to 
enter 100 unique passwords.

2. Create new account on first access.
Specifically, default OpenBMC to use a new RestrictionMode=SetupAccess 
which:
  - (A) requires users to set up their credentials (at least: remove the 
default password) before they can leave that mode, and
  - (B) does not let the user do anything else, including other 
provisioning or operating the host, while in this mode.
So we could manufacture the BMC with a default password, but require it 
to be changed as the first step to provision the BMC.
We might want to make network services react to this new mode, for 
example, the phosphor-webui GUI would likely want to handle this 
specially, and most REST APIs would be restricted.
Note this approach gives an attacker a window of time before the 
credentials are set up.

I believe both of these approaches represent reasonable security 
practices which may satisfy laws regarding consumer products.  For 
example, CA Law SB-327 
https://leginfo.legislature.ca.gov/faces/billTextClient.xhtml?bill_id=201720180SB327

Are there guidelines we can follow?  Can you find additional 
vulnerabilities with these approaches?  Can we do better than this 
without requiring additional infrastructure?

I plan to discuss this at the 2019-06-26 Security working group meeting: 
https://docs.google.com/document/d/1b7x9BaxsfcukQDqbvZsU2ehMq4xoJRQvLxxsDUWmAOI/
and would be happy to see ideas here.

- Joseph

^ permalink raw reply	[flat|nested] 11+ messages in thread
* Re: Move away from default password
@ 2019-06-20  7:55 Carter Su(苏孝)
  2019-06-20 15:30 ` Joseph Reynolds
  2019-06-20 22:38 ` Stewart Smith
  0 siblings, 2 replies; 11+ messages in thread
From: Carter Su(苏孝) @ 2019-06-20  7:55 UTC (permalink / raw)
  To: openbmc@lists.ozlabs.org

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


Having a default password is a security risk, but if per BMC has an unique password, it may not very convenient for customer to use.
Customers will change the default password when they install new machinery, or they may creat new account and password for BMC to use.


Carter Su


---------- Forwarded message ---------
From: Stewart Smith <stewart@linux.ibm.com>
Date: Tue, Jun 18, 2019 at 6:59 AM
Subject: Re: Move away from default password
To: Adriana Kobylak <anoo@linux.ibm.com>, Joseph Reynolds <jrey@linux.ibm.com>
Cc: openbmc <openbmc-bounces+anoo=linux.ibm.com@lists.ozlabs.org>,
Openbmc <openbmc@lists.ozlabs.org>, Thomaiyar, Richard Marian <richard.marian.thomaiyar@linux.intel.com>


Adriana Kobylak <anoo@linux.ibm.com> writes:
>>> 1. Unique password per BMC.
>>> In this approach, there is a way to change the factory default 
>>> password.  Example flow: assemble the BMC, test it, factory reset, 
>>> generate unique password (such as `pwgen`), then use a new function 
>>> “save factory default settings” which would save the current setting 
>>> into a new “factory settings” flash partition. After that, a factory 
>>> reset would reset to the factory installed password, not to the 
>>> setting in the source code.
>
> How would this new "factory settings" flash partition be protected 
> against being modified by an unauthorized or malicious user?

My guess would be it'd be protected the same way that the default password is today: not at all. If an attacker can write to flash, the only way to reset the box is to dediprog the BMC flash chip.

--
Stewart Smith
OPAL Architect, IBM.

[-- Attachment #2: smime.p7s --]
[-- Type: application/pkcs7-signature, Size: 4084 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2019-06-20 23:12 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-06-17 16:46 Move away from default password Joseph Reynolds
2019-06-17 18:01 ` Thomaiyar, Richard Marian
2019-06-17 18:41   ` Adriana Kobylak
2019-06-17 22:58     ` Stewart Smith
2019-06-20 16:00       ` Joseph Reynolds
2019-06-17 22:56 ` Stewart Smith
2019-06-20 15:46   ` Joseph Reynolds
2019-06-20 23:12     ` Stewart Smith
  -- strict thread matches above, loose matches on Subject: below --
2019-06-20  7:55 Carter Su(苏孝)
2019-06-20 15:30 ` Joseph Reynolds
2019-06-20 22:38 ` Stewart Smith

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.