xref: /openbmc/linux/Documentation/process/embargoed-hardware-issues.rst (revision ab229d620263e2399c1bd611e64bde5250f72dae)
1ddaedbbeSThomas GleixnerEmbargoed hardware issues
2ddaedbbeSThomas Gleixner=========================
3ddaedbbeSThomas Gleixner
4ddaedbbeSThomas GleixnerScope
5ddaedbbeSThomas Gleixner-----
6ddaedbbeSThomas Gleixner
7ddaedbbeSThomas GleixnerHardware issues which result in security problems are a different category
8ddaedbbeSThomas Gleixnerof security bugs than pure software bugs which only affect the Linux
9ddaedbbeSThomas Gleixnerkernel.
10ddaedbbeSThomas Gleixner
11ddaedbbeSThomas GleixnerHardware issues like Meltdown, Spectre, L1TF etc. must be treated
12ddaedbbeSThomas Gleixnerdifferently because they usually affect all Operating Systems ("OS") and
13ddaedbbeSThomas Gleixnertherefore need coordination across different OS vendors, distributions,
14ddaedbbeSThomas Gleixnerhardware vendors and other parties. For some of the issues, software
15ddaedbbeSThomas Gleixnermitigations can depend on microcode or firmware updates, which need further
16ddaedbbeSThomas Gleixnercoordination.
17ddaedbbeSThomas Gleixner
18ddaedbbeSThomas Gleixner.. _Contact:
19ddaedbbeSThomas Gleixner
20ddaedbbeSThomas GleixnerContact
21ddaedbbeSThomas Gleixner-------
22ddaedbbeSThomas Gleixner
23ddaedbbeSThomas GleixnerThe Linux kernel hardware security team is separate from the regular Linux
24ddaedbbeSThomas Gleixnerkernel security team.
25ddaedbbeSThomas Gleixner
26ddaedbbeSThomas GleixnerThe team only handles the coordination of embargoed hardware security
27ddaedbbeSThomas Gleixnerissues.  Reports of pure software security bugs in the Linux kernel are not
28ddaedbbeSThomas Gleixnerhandled by this team and the reporter will be guided to contact the regular
29ddaedbbeSThomas GleixnerLinux kernel security team (:ref:`Documentation/admin-guide/
30ddaedbbeSThomas Gleixner<securitybugs>`) instead.
31ddaedbbeSThomas Gleixner
32ddaedbbeSThomas GleixnerThe team can be contacted by email at <hardware-security@kernel.org>. This
33ddaedbbeSThomas Gleixneris a private list of security officers who will help you to coordinate an
34ddaedbbeSThomas Gleixnerissue according to our documented process.
35ddaedbbeSThomas Gleixner
36ddaedbbeSThomas GleixnerThe list is encrypted and email to the list can be sent by either PGP or
37ddaedbbeSThomas GleixnerS/MIME encrypted and must be signed with the reporter's PGP key or S/MIME
38ddaedbbeSThomas Gleixnercertificate. The list's PGP key and S/MIME certificate are available from
39*ab229d62SKonstantin Ryabitsevthe following URLs:
40*ab229d62SKonstantin Ryabitsev
41*ab229d62SKonstantin Ryabitsev  - PGP: https://www.kernel.org/static/files/hardware-security.asc
42*ab229d62SKonstantin Ryabitsev  - S/MIME: https://www.kernel.org/static/files/hardware-security.crt
43ddaedbbeSThomas Gleixner
44ddaedbbeSThomas GleixnerWhile hardware security issues are often handled by the affected hardware
45ddaedbbeSThomas Gleixnervendor, we welcome contact from researchers or individuals who have
46ddaedbbeSThomas Gleixneridentified a potential hardware flaw.
47ddaedbbeSThomas Gleixner
48ddaedbbeSThomas GleixnerHardware security officers
49ddaedbbeSThomas Gleixner^^^^^^^^^^^^^^^^^^^^^^^^^^
50ddaedbbeSThomas Gleixner
51ddaedbbeSThomas GleixnerThe current team of hardware security officers:
52ddaedbbeSThomas Gleixner
53ddaedbbeSThomas Gleixner  - Linus Torvalds (Linux Foundation Fellow)
54ddaedbbeSThomas Gleixner  - Greg Kroah-Hartman (Linux Foundation Fellow)
55ddaedbbeSThomas Gleixner  - Thomas Gleixner (Linux Foundation Fellow)
56ddaedbbeSThomas Gleixner
57ddaedbbeSThomas GleixnerOperation of mailing-lists
58ddaedbbeSThomas Gleixner^^^^^^^^^^^^^^^^^^^^^^^^^^
59ddaedbbeSThomas Gleixner
60ddaedbbeSThomas GleixnerThe encrypted mailing-lists which are used in our process are hosted on
61*ab229d62SKonstantin RyabitsevLinux Foundation's IT infrastructure. By providing this service, members
62*ab229d62SKonstantin Ryabitsevof Linux Foundation's IT operations personnel technically have the
63*ab229d62SKonstantin Ryabitsevability to access the embargoed information, but are obliged to
64*ab229d62SKonstantin Ryabitsevconfidentiality by their employment contract. Linux Foundation IT
65*ab229d62SKonstantin Ryabitsevpersonnel are also responsible for operating and managing the rest of
66*ab229d62SKonstantin Ryabitsevkernel.org infrastructure.
67ddaedbbeSThomas Gleixner
68*ab229d62SKonstantin RyabitsevThe Linux Foundation's current director of IT Project infrastructure is
69ddaedbbeSThomas GleixnerKonstantin Ryabitsev.
70ddaedbbeSThomas Gleixner
71ddaedbbeSThomas Gleixner
72ddaedbbeSThomas GleixnerNon-disclosure agreements
73ddaedbbeSThomas Gleixner-------------------------
74ddaedbbeSThomas Gleixner
75ddaedbbeSThomas GleixnerThe Linux kernel hardware security team is not a formal body and therefore
76ddaedbbeSThomas Gleixnerunable to enter into any non-disclosure agreements.  The kernel community
77ddaedbbeSThomas Gleixneris aware of the sensitive nature of such issues and offers a Memorandum of
78ddaedbbeSThomas GleixnerUnderstanding instead.
79ddaedbbeSThomas Gleixner
80ddaedbbeSThomas Gleixner
81ddaedbbeSThomas GleixnerMemorandum of Understanding
82ddaedbbeSThomas Gleixner---------------------------
83ddaedbbeSThomas Gleixner
84ddaedbbeSThomas GleixnerThe Linux kernel community has a deep understanding of the requirement to
85ddaedbbeSThomas Gleixnerkeep hardware security issues under embargo for coordination between
86ddaedbbeSThomas Gleixnerdifferent OS vendors, distributors, hardware vendors and other parties.
87ddaedbbeSThomas Gleixner
88ddaedbbeSThomas GleixnerThe Linux kernel community has successfully handled hardware security
89ddaedbbeSThomas Gleixnerissues in the past and has the necessary mechanisms in place to allow
90ddaedbbeSThomas Gleixnercommunity compliant development under embargo restrictions.
91ddaedbbeSThomas Gleixner
92ddaedbbeSThomas GleixnerThe Linux kernel community has a dedicated hardware security team for
93ddaedbbeSThomas Gleixnerinitial contact, which oversees the process of handling such issues under
94ddaedbbeSThomas Gleixnerembargo rules.
95ddaedbbeSThomas Gleixner
96ddaedbbeSThomas GleixnerThe hardware security team identifies the developers (domain experts) who
97ddaedbbeSThomas Gleixnerwill form the initial response team for a particular issue. The initial
98ddaedbbeSThomas Gleixnerresponse team can bring in further developers (domain experts) to address
99ddaedbbeSThomas Gleixnerthe issue in the best technical way.
100ddaedbbeSThomas Gleixner
101ddaedbbeSThomas GleixnerAll involved developers pledge to adhere to the embargo rules and to keep
102ddaedbbeSThomas Gleixnerthe received information confidential. Violation of the pledge will lead to
103ddaedbbeSThomas Gleixnerimmediate exclusion from the current issue and removal from all related
104ddaedbbeSThomas Gleixnermailing-lists. In addition, the hardware security team will also exclude
105ddaedbbeSThomas Gleixnerthe offender from future issues. The impact of this consequence is a highly
106ddaedbbeSThomas Gleixnereffective deterrent in our community. In case a violation happens the
107ddaedbbeSThomas Gleixnerhardware security team will inform the involved parties immediately. If you
108ddaedbbeSThomas Gleixneror anyone becomes aware of a potential violation, please report it
109ddaedbbeSThomas Gleixnerimmediately to the Hardware security officers.
110ddaedbbeSThomas Gleixner
111ddaedbbeSThomas Gleixner
112ddaedbbeSThomas GleixnerProcess
113ddaedbbeSThomas Gleixner^^^^^^^
114ddaedbbeSThomas Gleixner
115ddaedbbeSThomas GleixnerDue to the globally distributed nature of Linux kernel development,
116ddaedbbeSThomas Gleixnerface-to-face meetings are almost impossible to address hardware security
117ddaedbbeSThomas Gleixnerissues.  Phone conferences are hard to coordinate due to time zones and
118ddaedbbeSThomas Gleixnerother factors and should be only used when absolutely necessary. Encrypted
119ddaedbbeSThomas Gleixneremail has been proven to be the most effective and secure communication
120ddaedbbeSThomas Gleixnermethod for these types of issues.
121ddaedbbeSThomas Gleixner
122ddaedbbeSThomas GleixnerStart of Disclosure
123ddaedbbeSThomas Gleixner"""""""""""""""""""
124ddaedbbeSThomas Gleixner
125ddaedbbeSThomas GleixnerDisclosure starts by contacting the Linux kernel hardware security team by
126ddaedbbeSThomas Gleixneremail. This initial contact should contain a description of the problem and
127ddaedbbeSThomas Gleixnera list of any known affected hardware. If your organization builds or
128ddaedbbeSThomas Gleixnerdistributes the affected hardware, we encourage you to also consider what
129ddaedbbeSThomas Gleixnerother hardware could be affected.
130ddaedbbeSThomas Gleixner
131ddaedbbeSThomas GleixnerThe hardware security team will provide an incident-specific encrypted
132ddaedbbeSThomas Gleixnermailing-list which will be used for initial discussion with the reporter,
133ddaedbbeSThomas Gleixnerfurther disclosure and coordination.
134ddaedbbeSThomas Gleixner
135ddaedbbeSThomas GleixnerThe hardware security team will provide the disclosing party a list of
136ddaedbbeSThomas Gleixnerdevelopers (domain experts) who should be informed initially about the
137ddaedbbeSThomas Gleixnerissue after confirming with the developers  that they will adhere to this
138ddaedbbeSThomas GleixnerMemorandum of Understanding and the documented process. These developers
139ddaedbbeSThomas Gleixnerform the initial response team and will be responsible for handling the
140ddaedbbeSThomas Gleixnerissue after initial contact. The hardware security team is supporting the
141ddaedbbeSThomas Gleixnerresponse team, but is not necessarily involved in the mitigation
142ddaedbbeSThomas Gleixnerdevelopment process.
143ddaedbbeSThomas Gleixner
144ddaedbbeSThomas GleixnerWhile individual developers might be covered by a non-disclosure agreement
145ddaedbbeSThomas Gleixnervia their employer, they cannot enter individual non-disclosure agreements
146ddaedbbeSThomas Gleixnerin their role as Linux kernel developers. They will, however, agree to
147ddaedbbeSThomas Gleixneradhere to this documented process and the Memorandum of Understanding.
148ddaedbbeSThomas Gleixner
149dc925a36SThomas GleixnerThe disclosing party should provide a list of contacts for all other
150dc925a36SThomas Gleixnerentities who have already been, or should be, informed about the issue.
151dc925a36SThomas GleixnerThis serves several purposes:
152dc925a36SThomas Gleixner
153dc925a36SThomas Gleixner - The list of disclosed entities allows communication accross the
154dc925a36SThomas Gleixner   industry, e.g. other OS vendors, HW vendors, etc.
155dc925a36SThomas Gleixner
156dc925a36SThomas Gleixner - The disclosed entities can be contacted to name experts who should
157dc925a36SThomas Gleixner   participate in the mitigation development.
158dc925a36SThomas Gleixner
159dc925a36SThomas Gleixner - If an expert which is required to handle an issue is employed by an
160dc925a36SThomas Gleixner   listed entity or member of an listed entity, then the response teams can
161dc925a36SThomas Gleixner   request the disclosure of that expert from that entity. This ensures
162dc925a36SThomas Gleixner   that the expert is also part of the entity's response team.
163ddaedbbeSThomas Gleixner
164ddaedbbeSThomas GleixnerDisclosure
165ddaedbbeSThomas Gleixner""""""""""
166ddaedbbeSThomas Gleixner
167ddaedbbeSThomas GleixnerThe disclosing party provides detailed information to the initial response
168ddaedbbeSThomas Gleixnerteam via the specific encrypted mailing-list.
169ddaedbbeSThomas Gleixner
170ddaedbbeSThomas GleixnerFrom our experience the technical documentation of these issues is usually
171ddaedbbeSThomas Gleixnera sufficient starting point and further technical clarification is best
172ddaedbbeSThomas Gleixnerdone via email.
173ddaedbbeSThomas Gleixner
174ddaedbbeSThomas GleixnerMitigation development
175ddaedbbeSThomas Gleixner""""""""""""""""""""""
176ddaedbbeSThomas Gleixner
177ddaedbbeSThomas GleixnerThe initial response team sets up an encrypted mailing-list or repurposes
178dc925a36SThomas Gleixneran existing one if appropriate.
179ddaedbbeSThomas Gleixner
180ddaedbbeSThomas GleixnerUsing a mailing-list is close to the normal Linux development process and
181ddaedbbeSThomas Gleixnerhas been successfully used in developing mitigations for various hardware
182ddaedbbeSThomas Gleixnersecurity issues in the past.
183ddaedbbeSThomas Gleixner
184ddaedbbeSThomas GleixnerThe mailing-list operates in the same way as normal Linux development.
185ddaedbbeSThomas GleixnerPatches are posted, discussed and reviewed and if agreed on applied to a
186ddaedbbeSThomas Gleixnernon-public git repository which is only accessible to the participating
187ddaedbbeSThomas Gleixnerdevelopers via a secure connection. The repository contains the main
188ddaedbbeSThomas Gleixnerdevelopment branch against the mainline kernel and backport branches for
189ddaedbbeSThomas Gleixnerstable kernel versions as necessary.
190ddaedbbeSThomas Gleixner
191ddaedbbeSThomas GleixnerThe initial response team will identify further experts from the Linux
192dc925a36SThomas Gleixnerkernel developer community as needed. Bringing in experts can happen at any
193dc925a36SThomas Gleixnertime of the development process and needs to be handled in a timely manner.
194dc925a36SThomas Gleixner
195dc925a36SThomas GleixnerIf an expert is employed by or member of an entity on the disclosure list
196dc925a36SThomas Gleixnerprovided by the disclosing party, then participation will be requested from
197dc925a36SThomas Gleixnerthe relevant entity.
198dc925a36SThomas Gleixner
199dc925a36SThomas GleixnerIf not, then the disclosing party will be informed about the experts
200dc925a36SThomas Gleixnerparticipation. The experts are covered by the Memorandum of Understanding
201dc925a36SThomas Gleixnerand the disclosing party is requested to acknowledge the participation. In
202dc925a36SThomas Gleixnercase that the disclosing party has a compelling reason to object, then this
203dc925a36SThomas Gleixnerobjection has to be raised within five work days and resolved with the
204dc925a36SThomas Gleixnerincident team immediately. If the disclosing party does not react within
205dc925a36SThomas Gleixnerfive work days this is taken as silent acknowledgement.
206dc925a36SThomas Gleixner
207dc925a36SThomas GleixnerAfter acknowledgement or resolution of an objection the expert is disclosed
208dc925a36SThomas Gleixnerby the incident team and brought into the development process.
209dc925a36SThomas Gleixner
210ddaedbbeSThomas Gleixner
211ddaedbbeSThomas GleixnerCoordinated release
212ddaedbbeSThomas Gleixner"""""""""""""""""""
213ddaedbbeSThomas Gleixner
214ddaedbbeSThomas GleixnerThe involved parties will negotiate the date and time where the embargo
215ddaedbbeSThomas Gleixnerends. At that point the prepared mitigations are integrated into the
216ddaedbbeSThomas Gleixnerrelevant kernel trees and published.
217ddaedbbeSThomas Gleixner
218ddaedbbeSThomas GleixnerWhile we understand that hardware security issues need coordinated embargo
219ddaedbbeSThomas Gleixnertime, the embargo time should be constrained to the minimum time which is
220ddaedbbeSThomas Gleixnerrequired for all involved parties to develop, test and prepare the
221ddaedbbeSThomas Gleixnermitigations. Extending embargo time artificially to meet conference talk
222ddaedbbeSThomas Gleixnerdates or other non-technical reasons is creating more work and burden for
223ddaedbbeSThomas Gleixnerthe involved developers and response teams as the patches need to be kept
224ddaedbbeSThomas Gleixnerup to date in order to follow the ongoing upstream kernel development,
225ddaedbbeSThomas Gleixnerwhich might create conflicting changes.
226ddaedbbeSThomas Gleixner
227ddaedbbeSThomas GleixnerCVE assignment
228ddaedbbeSThomas Gleixner""""""""""""""
229ddaedbbeSThomas Gleixner
230ddaedbbeSThomas GleixnerNeither the hardware security team nor the initial response team assign
231ddaedbbeSThomas GleixnerCVEs, nor are CVEs required for the development process. If CVEs are
232ddaedbbeSThomas Gleixnerprovided by the disclosing party they can be used for documentation
233ddaedbbeSThomas Gleixnerpurposes.
234ddaedbbeSThomas Gleixner
235ddaedbbeSThomas GleixnerProcess ambassadors
236ddaedbbeSThomas Gleixner-------------------
237ddaedbbeSThomas Gleixner
238ddaedbbeSThomas GleixnerFor assistance with this process we have established ambassadors in various
239ddaedbbeSThomas Gleixnerorganizations, who can answer questions about or provide guidance on the
240ddaedbbeSThomas Gleixnerreporting process and further handling. Ambassadors are not involved in the
241ddaedbbeSThomas Gleixnerdisclosure of a particular issue, unless requested by a response team or by
242ddaedbbeSThomas Gleixneran involved disclosed party. The current ambassadors list:
243ddaedbbeSThomas Gleixner
244ddaedbbeSThomas Gleixner  ============= ========================================================
245ddaedbbeSThomas Gleixner  ARM
2464a9acb6dSTom Lendacky  AMD		Tom Lendacky <tom.lendacky@amd.com>
247ddaedbbeSThomas Gleixner  IBM
24838c7a30aSTony Luck  Intel		Tony Luck <tony.luck@intel.com>
249a8e0abaeSTrilok Soni  Qualcomm	Trilok Soni <tsoni@codeaurora.org>
250ddaedbbeSThomas Gleixner
2511f493162SSasha Levin  Microsoft	Sasha Levin <sashal@kernel.org>
252ddaedbbeSThomas Gleixner  VMware
25302e740aeSAndrew Cooper  Xen		Andrew Cooper <andrew.cooper3@citrix.com>
254ddaedbbeSThomas Gleixner
255ddaedbbeSThomas Gleixner  Canonical	Tyler Hicks <tyhicks@canonical.com>
256ddaedbbeSThomas Gleixner  Debian	Ben Hutchings <ben@decadent.org.uk>
257ddaedbbeSThomas Gleixner  Oracle	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
258ddaedbbeSThomas Gleixner  Red Hat	Josh Poimboeuf <jpoimboe@redhat.com>
259ddaedbbeSThomas Gleixner  SUSE		Jiri Kosina <jkosina@suse.cz>
260ddaedbbeSThomas Gleixner
261ddaedbbeSThomas Gleixner  Amazon
262f56f791fSKees Cook  Google	Kees Cook <keescook@chromium.org>
263f56f791fSKees Cook  ============= ========================================================
264ddaedbbeSThomas Gleixner
265ddaedbbeSThomas GleixnerIf you want your organization to be added to the ambassadors list, please
266ddaedbbeSThomas Gleixnercontact the hardware security team. The nominated ambassador has to
267ddaedbbeSThomas Gleixnerunderstand and support our process fully and is ideally well connected in
268ddaedbbeSThomas Gleixnerthe Linux kernel community.
269ddaedbbeSThomas Gleixner
270ddaedbbeSThomas GleixnerEncrypted mailing-lists
271ddaedbbeSThomas Gleixner-----------------------
272ddaedbbeSThomas Gleixner
273ddaedbbeSThomas GleixnerWe use encrypted mailing-lists for communication. The operating principle
274ddaedbbeSThomas Gleixnerof these lists is that email sent to the list is encrypted either with the
275ddaedbbeSThomas Gleixnerlist's PGP key or with the list's S/MIME certificate. The mailing-list
276ddaedbbeSThomas Gleixnersoftware decrypts the email and re-encrypts it individually for each
277ddaedbbeSThomas Gleixnersubscriber with the subscriber's PGP key or S/MIME certificate. Details
278ddaedbbeSThomas Gleixnerabout the mailing-list software and the setup which is used to ensure the
279ddaedbbeSThomas Gleixnersecurity of the lists and protection of the data can be found here:
280*ab229d62SKonstantin Ryabitsevhttps://korg.wiki.kernel.org/userdoc/remail.
281ddaedbbeSThomas Gleixner
282ddaedbbeSThomas GleixnerList keys
283ddaedbbeSThomas Gleixner^^^^^^^^^
284ddaedbbeSThomas Gleixner
285ddaedbbeSThomas GleixnerFor initial contact see :ref:`Contact`. For incident specific mailing-lists
286ddaedbbeSThomas Gleixnerthe key and S/MIME certificate are conveyed to the subscribers by email
287ddaedbbeSThomas Gleixnersent from the specific list.
288ddaedbbeSThomas Gleixner
289ddaedbbeSThomas GleixnerSubscription to incident specific lists
290ddaedbbeSThomas Gleixner^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
291ddaedbbeSThomas Gleixner
292ddaedbbeSThomas GleixnerSubscription is handled by the response teams. Disclosed parties who want
293ddaedbbeSThomas Gleixnerto participate in the communication send a list of potential subscribers to
294ddaedbbeSThomas Gleixnerthe response team so the response team can validate subscription requests.
295ddaedbbeSThomas Gleixner
296ddaedbbeSThomas GleixnerEach subscriber needs to send a subscription request to the response team
297ddaedbbeSThomas Gleixnerby email. The email must be signed with the subscriber's PGP key or S/MIME
298ddaedbbeSThomas Gleixnercertificate. If a PGP key is used, it must be available from a public key
299ddaedbbeSThomas Gleixnerserver and is ideally connected to the Linux kernel's PGP web of trust. See
300ddaedbbeSThomas Gleixneralso: https://www.kernel.org/signature.html.
301ddaedbbeSThomas Gleixner
302ddaedbbeSThomas GleixnerThe response team verifies that the subscriber request is valid and adds
303ddaedbbeSThomas Gleixnerthe subscriber to the list. After subscription the subscriber will receive
304ddaedbbeSThomas Gleixneremail from the mailing-list which is signed either with the list's PGP key
305ddaedbbeSThomas Gleixneror the list's S/MIME certificate. The subscriber's email client can extract
306ddaedbbeSThomas Gleixnerthe PGP key or the S/MIME certificate from the signature so the subscriber
307ddaedbbeSThomas Gleixnercan send encrypted email to the list.
308ddaedbbeSThomas Gleixner
309