1Embargoed hardware issues
2=========================
3
4Scope
5-----
6
7Hardware issues which result in security problems are a different category
8of security bugs than pure software bugs which only affect the Linux
9kernel.
10
11Hardware issues like Meltdown, Spectre, L1TF etc. must be treated
12differently because they usually affect all Operating Systems ("OS") and
13therefore need coordination across different OS vendors, distributions,
14hardware vendors and other parties. For some of the issues, software
15mitigations can depend on microcode or firmware updates, which need further
16coordination.
17
18.. _Contact:
19
20Contact
21-------
22
23The Linux kernel hardware security team is separate from the regular Linux
24kernel security team.
25
26The team only handles the coordination of embargoed hardware security
27issues.  Reports of pure software security bugs in the Linux kernel are not
28handled by this team and the reporter will be guided to contact the regular
29Linux kernel security team (:ref:`Documentation/admin-guide/
30<securitybugs>`) instead.
31
32The team can be contacted by email at <hardware-security@kernel.org>. This
33is a private list of security officers who will help you to coordinate an
34issue according to our documented process.
35
36The list is encrypted and email to the list can be sent by either PGP or
37S/MIME encrypted and must be signed with the reporter's PGP key or S/MIME
38certificate. The list's PGP key and S/MIME certificate are available from
39https://www.kernel.org/....
40
41While hardware security issues are often handled by the affected hardware
42vendor, we welcome contact from researchers or individuals who have
43identified a potential hardware flaw.
44
45Hardware security officers
46^^^^^^^^^^^^^^^^^^^^^^^^^^
47
48The current team of hardware security officers:
49
50  - Linus Torvalds (Linux Foundation Fellow)
51  - Greg Kroah-Hartman (Linux Foundation Fellow)
52  - Thomas Gleixner (Linux Foundation Fellow)
53
54Operation of mailing-lists
55^^^^^^^^^^^^^^^^^^^^^^^^^^
56
57The encrypted mailing-lists which are used in our process are hosted on
58Linux Foundation's IT infrastructure. By providing this service Linux
59Foundation's director of IT Infrastructure security technically has the
60ability to access the embargoed information, but is obliged to
61confidentiality by his employment contract. Linux Foundation's director of
62IT Infrastructure security is also responsible for the kernel.org
63infrastructure.
64
65The Linux Foundation's current director of IT Infrastructure security is
66Konstantin Ryabitsev.
67
68
69Non-disclosure agreements
70-------------------------
71
72The Linux kernel hardware security team is not a formal body and therefore
73unable to enter into any non-disclosure agreements.  The kernel community
74is aware of the sensitive nature of such issues and offers a Memorandum of
75Understanding instead.
76
77
78Memorandum of Understanding
79---------------------------
80
81The Linux kernel community has a deep understanding of the requirement to
82keep hardware security issues under embargo for coordination between
83different OS vendors, distributors, hardware vendors and other parties.
84
85The Linux kernel community has successfully handled hardware security
86issues in the past and has the necessary mechanisms in place to allow
87community compliant development under embargo restrictions.
88
89The Linux kernel community has a dedicated hardware security team for
90initial contact, which oversees the process of handling such issues under
91embargo rules.
92
93The hardware security team identifies the developers (domain experts) who
94will form the initial response team for a particular issue. The initial
95response team can bring in further developers (domain experts) to address
96the issue in the best technical way.
97
98All involved developers pledge to adhere to the embargo rules and to keep
99the received information confidential. Violation of the pledge will lead to
100immediate exclusion from the current issue and removal from all related
101mailing-lists. In addition, the hardware security team will also exclude
102the offender from future issues. The impact of this consequence is a highly
103effective deterrent in our community. In case a violation happens the
104hardware security team will inform the involved parties immediately. If you
105or anyone becomes aware of a potential violation, please report it
106immediately to the Hardware security officers.
107
108
109Process
110^^^^^^^
111
112Due to the globally distributed nature of Linux kernel development,
113face-to-face meetings are almost impossible to address hardware security
114issues.  Phone conferences are hard to coordinate due to time zones and
115other factors and should be only used when absolutely necessary. Encrypted
116email has been proven to be the most effective and secure communication
117method for these types of issues.
118
119Start of Disclosure
120"""""""""""""""""""
121
122Disclosure starts by contacting the Linux kernel hardware security team by
123email. This initial contact should contain a description of the problem and
124a list of any known affected hardware. If your organization builds or
125distributes the affected hardware, we encourage you to also consider what
126other hardware could be affected.
127
128The hardware security team will provide an incident-specific encrypted
129mailing-list which will be used for initial discussion with the reporter,
130further disclosure and coordination.
131
132The hardware security team will provide the disclosing party a list of
133developers (domain experts) who should be informed initially about the
134issue after confirming with the developers  that they will adhere to this
135Memorandum of Understanding and the documented process. These developers
136form the initial response team and will be responsible for handling the
137issue after initial contact. The hardware security team is supporting the
138response team, but is not necessarily involved in the mitigation
139development process.
140
141While individual developers might be covered by a non-disclosure agreement
142via their employer, they cannot enter individual non-disclosure agreements
143in their role as Linux kernel developers. They will, however, agree to
144adhere to this documented process and the Memorandum of Understanding.
145
146
147Disclosure
148""""""""""
149
150The disclosing party provides detailed information to the initial response
151team via the specific encrypted mailing-list.
152
153From our experience the technical documentation of these issues is usually
154a sufficient starting point and further technical clarification is best
155done via email.
156
157Mitigation development
158""""""""""""""""""""""
159
160The initial response team sets up an encrypted mailing-list or repurposes
161an existing one if appropriate. The disclosing party should provide a list
162of contacts for all other parties who have already been, or should be,
163informed about the issue. The response team contacts these parties so they
164can name experts who should be subscribed to the mailing-list.
165
166Using a mailing-list is close to the normal Linux development process and
167has been successfully used in developing mitigations for various hardware
168security issues in the past.
169
170The mailing-list operates in the same way as normal Linux development.
171Patches are posted, discussed and reviewed and if agreed on applied to a
172non-public git repository which is only accessible to the participating
173developers via a secure connection. The repository contains the main
174development branch against the mainline kernel and backport branches for
175stable kernel versions as necessary.
176
177The initial response team will identify further experts from the Linux
178kernel developer community as needed and inform the disclosing party about
179their participation. Bringing in experts can happen at any time of the
180development process and often needs to be handled in a timely manner.
181
182Coordinated release
183"""""""""""""""""""
184
185The involved parties will negotiate the date and time where the embargo
186ends. At that point the prepared mitigations are integrated into the
187relevant kernel trees and published.
188
189While we understand that hardware security issues need coordinated embargo
190time, the embargo time should be constrained to the minimum time which is
191required for all involved parties to develop, test and prepare the
192mitigations. Extending embargo time artificially to meet conference talk
193dates or other non-technical reasons is creating more work and burden for
194the involved developers and response teams as the patches need to be kept
195up to date in order to follow the ongoing upstream kernel development,
196which might create conflicting changes.
197
198CVE assignment
199""""""""""""""
200
201Neither the hardware security team nor the initial response team assign
202CVEs, nor are CVEs required for the development process. If CVEs are
203provided by the disclosing party they can be used for documentation
204purposes.
205
206Process ambassadors
207-------------------
208
209For assistance with this process we have established ambassadors in various
210organizations, who can answer questions about or provide guidance on the
211reporting process and further handling. Ambassadors are not involved in the
212disclosure of a particular issue, unless requested by a response team or by
213an involved disclosed party. The current ambassadors list:
214
215  ============= ========================================================
216  ARM
217  AMD
218  IBM
219  Intel
220  Qualcomm	Trilok Soni <tsoni@codeaurora.org>
221
222  Microsoft	Sasha Levin <sashal@kernel.org>
223  VMware
224  Xen		Andrew Cooper <andrew.cooper3@citrix.com>
225
226  Canonical	Tyler Hicks <tyhicks@canonical.com>
227  Debian	Ben Hutchings <ben@decadent.org.uk>
228  Oracle	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
229  Red Hat	Josh Poimboeuf <jpoimboe@redhat.com>
230  SUSE		Jiri Kosina <jkosina@suse.cz>
231
232  Amazon
233  Google	Kees Cook <keescook@chromium.org>
234  ============= ========================================================
235
236If you want your organization to be added to the ambassadors list, please
237contact the hardware security team. The nominated ambassador has to
238understand and support our process fully and is ideally well connected in
239the Linux kernel community.
240
241Encrypted mailing-lists
242-----------------------
243
244We use encrypted mailing-lists for communication. The operating principle
245of these lists is that email sent to the list is encrypted either with the
246list's PGP key or with the list's S/MIME certificate. The mailing-list
247software decrypts the email and re-encrypts it individually for each
248subscriber with the subscriber's PGP key or S/MIME certificate. Details
249about the mailing-list software and the setup which is used to ensure the
250security of the lists and protection of the data can be found here:
251https://www.kernel.org/....
252
253List keys
254^^^^^^^^^
255
256For initial contact see :ref:`Contact`. For incident specific mailing-lists
257the key and S/MIME certificate are conveyed to the subscribers by email
258sent from the specific list.
259
260Subscription to incident specific lists
261^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
262
263Subscription is handled by the response teams. Disclosed parties who want
264to participate in the communication send a list of potential subscribers to
265the response team so the response team can validate subscription requests.
266
267Each subscriber needs to send a subscription request to the response team
268by email. The email must be signed with the subscriber's PGP key or S/MIME
269certificate. If a PGP key is used, it must be available from a public key
270server and is ideally connected to the Linux kernel's PGP web of trust. See
271also: https://www.kernel.org/signature.html.
272
273The response team verifies that the subscriber request is valid and adds
274the subscriber to the list. After subscription the subscriber will receive
275email from the mailing-list which is signed either with the list's PGP key
276or the list's S/MIME certificate. The subscriber's email client can extract
277the PGP key or the S/MIME certificate from the signature so the subscriber
278can send encrypted email to the list.
279
280