Blame view

Documentation/process/embargoed-hardware-issues.rst 13.1 KB
dec6224bb   Alex Shi   docs/zh_CN: add C...
1
  .. _embargoed_hardware_issues:
ddaedbbec   Thomas Gleixner   Documentation/pro...
2
3
4
5
6
7
8
  Embargoed hardware issues
  =========================
  
  Scope
  -----
  
  Hardware issues which result in security problems are a different category
f56f791f6   Kees Cook   Documentation/pro...
9
  of security bugs than pure software bugs which only affect the Linux
ddaedbbec   Thomas Gleixner   Documentation/pro...
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  kernel.
  
  Hardware issues like Meltdown, Spectre, L1TF etc. must be treated
  differently because they usually affect all Operating Systems ("OS") and
  therefore need coordination across different OS vendors, distributions,
  hardware vendors and other parties. For some of the issues, software
  mitigations can depend on microcode or firmware updates, which need further
  coordination.
  
  .. _Contact:
  
  Contact
  -------
  
  The Linux kernel hardware security team is separate from the regular Linux
  kernel security team.
  
  The team only handles the coordination of embargoed hardware security
  issues.  Reports of pure software security bugs in the Linux kernel are not
  handled by this team and the reporter will be guided to contact the regular
  Linux kernel security team (:ref:`Documentation/admin-guide/
  <securitybugs>`) instead.
  
  The team can be contacted by email at <hardware-security@kernel.org>. This
  is a private list of security officers who will help you to coordinate an
  issue according to our documented process.
  
  The list is encrypted and email to the list can be sent by either PGP or
  S/MIME encrypted and must be signed with the reporter's PGP key or S/MIME
  certificate. The list's PGP key and S/MIME certificate are available from
ab229d620   Konstantin Ryabitsev   Process: provide ...
40
41
42
43
  the following URLs:
  
    - PGP: https://www.kernel.org/static/files/hardware-security.asc
    - S/MIME: https://www.kernel.org/static/files/hardware-security.crt
ddaedbbec   Thomas Gleixner   Documentation/pro...
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
  
  While hardware security issues are often handled by the affected hardware
  vendor, we welcome contact from researchers or individuals who have
  identified a potential hardware flaw.
  
  Hardware security officers
  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  
  The current team of hardware security officers:
  
    - Linus Torvalds (Linux Foundation Fellow)
    - Greg Kroah-Hartman (Linux Foundation Fellow)
    - Thomas Gleixner (Linux Foundation Fellow)
  
  Operation of mailing-lists
  ^^^^^^^^^^^^^^^^^^^^^^^^^^
  
  The encrypted mailing-lists which are used in our process are hosted on
ab229d620   Konstantin Ryabitsev   Process: provide ...
62
63
64
65
66
67
68
69
  Linux Foundation's IT infrastructure. By providing this service, members
  of Linux Foundation's IT operations personnel technically have the
  ability to access the embargoed information, but are obliged to
  confidentiality by their employment contract. Linux Foundation IT
  personnel are also responsible for operating and managing the rest of
  kernel.org infrastructure.
  
  The Linux Foundation's current director of IT Project infrastructure is
ddaedbbec   Thomas Gleixner   Documentation/pro...
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
  Konstantin Ryabitsev.
  
  
  Non-disclosure agreements
  -------------------------
  
  The Linux kernel hardware security team is not a formal body and therefore
  unable to enter into any non-disclosure agreements.  The kernel community
  is aware of the sensitive nature of such issues and offers a Memorandum of
  Understanding instead.
  
  
  Memorandum of Understanding
  ---------------------------
  
  The Linux kernel community has a deep understanding of the requirement to
  keep hardware security issues under embargo for coordination between
  different OS vendors, distributors, hardware vendors and other parties.
  
  The Linux kernel community has successfully handled hardware security
  issues in the past and has the necessary mechanisms in place to allow
  community compliant development under embargo restrictions.
  
  The Linux kernel community has a dedicated hardware security team for
  initial contact, which oversees the process of handling such issues under
  embargo rules.
  
  The hardware security team identifies the developers (domain experts) who
  will form the initial response team for a particular issue. The initial
  response team can bring in further developers (domain experts) to address
  the issue in the best technical way.
  
  All involved developers pledge to adhere to the embargo rules and to keep
  the received information confidential. Violation of the pledge will lead to
  immediate exclusion from the current issue and removal from all related
  mailing-lists. In addition, the hardware security team will also exclude
  the offender from future issues. The impact of this consequence is a highly
  effective deterrent in our community. In case a violation happens the
  hardware security team will inform the involved parties immediately. If you
  or anyone becomes aware of a potential violation, please report it
  immediately to the Hardware security officers.
  
  
  Process
  ^^^^^^^
  
  Due to the globally distributed nature of Linux kernel development,
  face-to-face meetings are almost impossible to address hardware security
  issues.  Phone conferences are hard to coordinate due to time zones and
  other factors and should be only used when absolutely necessary. Encrypted
  email has been proven to be the most effective and secure communication
  method for these types of issues.
  
  Start of Disclosure
  """""""""""""""""""
  
  Disclosure starts by contacting the Linux kernel hardware security team by
  email. This initial contact should contain a description of the problem and
  a list of any known affected hardware. If your organization builds or
  distributes the affected hardware, we encourage you to also consider what
  other hardware could be affected.
  
  The hardware security team will provide an incident-specific encrypted
  mailing-list which will be used for initial discussion with the reporter,
  further disclosure and coordination.
  
  The hardware security team will provide the disclosing party a list of
  developers (domain experts) who should be informed initially about the
  issue after confirming with the developers  that they will adhere to this
  Memorandum of Understanding and the documented process. These developers
  form the initial response team and will be responsible for handling the
  issue after initial contact. The hardware security team is supporting the
  response team, but is not necessarily involved in the mitigation
  development process.
  
  While individual developers might be covered by a non-disclosure agreement
  via their employer, they cannot enter individual non-disclosure agreements
  in their role as Linux kernel developers. They will, however, agree to
  adhere to this documented process and the Memorandum of Understanding.
dc925a360   Thomas Gleixner   Documentation/pro...
149
150
151
152
153
154
155
156
157
158
159
160
161
162
  The disclosing party should provide a list of contacts for all other
  entities who have already been, or should be, informed about the issue.
  This serves several purposes:
  
   - The list of disclosed entities allows communication accross the
     industry, e.g. other OS vendors, HW vendors, etc.
  
   - The disclosed entities can be contacted to name experts who should
     participate in the mitigation development.
  
   - If an expert which is required to handle an issue is employed by an
     listed entity or member of an listed entity, then the response teams can
     request the disclosure of that expert from that entity. This ensures
     that the expert is also part of the entity's response team.
ddaedbbec   Thomas Gleixner   Documentation/pro...
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
  
  Disclosure
  """"""""""
  
  The disclosing party provides detailed information to the initial response
  team via the specific encrypted mailing-list.
  
  From our experience the technical documentation of these issues is usually
  a sufficient starting point and further technical clarification is best
  done via email.
  
  Mitigation development
  """"""""""""""""""""""
  
  The initial response team sets up an encrypted mailing-list or repurposes
dc925a360   Thomas Gleixner   Documentation/pro...
178
  an existing one if appropriate.
ddaedbbec   Thomas Gleixner   Documentation/pro...
179
180
181
182
183
184
185
186
187
188
189
190
191
  
  Using a mailing-list is close to the normal Linux development process and
  has been successfully used in developing mitigations for various hardware
  security issues in the past.
  
  The mailing-list operates in the same way as normal Linux development.
  Patches are posted, discussed and reviewed and if agreed on applied to a
  non-public git repository which is only accessible to the participating
  developers via a secure connection. The repository contains the main
  development branch against the mainline kernel and backport branches for
  stable kernel versions as necessary.
  
  The initial response team will identify further experts from the Linux
dc925a360   Thomas Gleixner   Documentation/pro...
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
  kernel developer community as needed. Bringing in experts can happen at any
  time of the development process and needs to be handled in a timely manner.
  
  If an expert is employed by or member of an entity on the disclosure list
  provided by the disclosing party, then participation will be requested from
  the relevant entity.
  
  If not, then the disclosing party will be informed about the experts
  participation. The experts are covered by the Memorandum of Understanding
  and the disclosing party is requested to acknowledge the participation. In
  case that the disclosing party has a compelling reason to object, then this
  objection has to be raised within five work days and resolved with the
  incident team immediately. If the disclosing party does not react within
  five work days this is taken as silent acknowledgement.
  
  After acknowledgement or resolution of an objection the expert is disclosed
  by the incident team and brought into the development process.
ddaedbbec   Thomas Gleixner   Documentation/pro...
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
  
  Coordinated release
  """""""""""""""""""
  
  The involved parties will negotiate the date and time where the embargo
  ends. At that point the prepared mitigations are integrated into the
  relevant kernel trees and published.
  
  While we understand that hardware security issues need coordinated embargo
  time, the embargo time should be constrained to the minimum time which is
  required for all involved parties to develop, test and prepare the
  mitigations. Extending embargo time artificially to meet conference talk
  dates or other non-technical reasons is creating more work and burden for
  the involved developers and response teams as the patches need to be kept
  up to date in order to follow the ongoing upstream kernel development,
  which might create conflicting changes.
  
  CVE assignment
  """"""""""""""
  
  Neither the hardware security team nor the initial response team assign
  CVEs, nor are CVEs required for the development process. If CVEs are
  provided by the disclosing party they can be used for documentation
  purposes.
  
  Process ambassadors
  -------------------
  
  For assistance with this process we have established ambassadors in various
  organizations, who can answer questions about or provide guidance on the
  reporting process and further handling. Ambassadors are not involved in the
  disclosure of a particular issue, unless requested by a response team or by
  an involved disclosed party. The current ambassadors list:
  
    ============= ========================================================
ae7fce069   Grant Likely   Documentation/pro...
244
    ARM           Grant Likely <grant.likely@arm.com>
4a9acb6de   Tom Lendacky   Documentation/pro...
245
    AMD		Tom Lendacky <tom.lendacky@amd.com>
2f7eaa30a   Christian Borntraeger   Documentation: pr...
246
247
    IBM Z         Christian Borntraeger <borntraeger@de.ibm.com>
    IBM Power     Anton Blanchard <anton@linux.ibm.com>
38c7a30a9   Tony Luck   Documentation/pro...
248
    Intel		Tony Luck <tony.luck@intel.com>
a8e0abae2   Trilok Soni   Documentation/pro...
249
    Qualcomm	Trilok Soni <tsoni@codeaurora.org>
ddaedbbec   Thomas Gleixner   Documentation/pro...
250

4bc4f8128   James Morris   Documentation/pro...
251
    Microsoft	James Morris <jamorris@linux.microsoft.com>
ddaedbbec   Thomas Gleixner   Documentation/pro...
252
    VMware
02e740aec   Andrew Cooper   Documentation/pro...
253
    Xen		Andrew Cooper <andrew.cooper3@citrix.com>
ddaedbbec   Thomas Gleixner   Documentation/pro...
254

3da627073   Tyler Hicks   Documentation/pro...
255
    Canonical	John Johansen <john.johansen@canonical.com>
ddaedbbec   Thomas Gleixner   Documentation/pro...
256
257
258
259
    Debian	Ben Hutchings <ben@decadent.org.uk>
    Oracle	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Red Hat	Josh Poimboeuf <jpoimboe@redhat.com>
    SUSE		Jiri Kosina <jkosina@suse.cz>
485d5b759   Greg Kroah-Hartman   embargoed-hardwar...
260
    Amazon
f56f791f6   Kees Cook   Documentation/pro...
261
262
    Google	Kees Cook <keescook@chromium.org>
    ============= ========================================================
ddaedbbec   Thomas Gleixner   Documentation/pro...
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
  
  If you want your organization to be added to the ambassadors list, please
  contact the hardware security team. The nominated ambassador has to
  understand and support our process fully and is ideally well connected in
  the Linux kernel community.
  
  Encrypted mailing-lists
  -----------------------
  
  We use encrypted mailing-lists for communication. The operating principle
  of these lists is that email sent to the list is encrypted either with the
  list's PGP key or with the list's S/MIME certificate. The mailing-list
  software decrypts the email and re-encrypts it individually for each
  subscriber with the subscriber's PGP key or S/MIME certificate. Details
  about the mailing-list software and the setup which is used to ensure the
  security of the lists and protection of the data can be found here:
ab229d620   Konstantin Ryabitsev   Process: provide ...
279
  https://korg.wiki.kernel.org/userdoc/remail.
ddaedbbec   Thomas Gleixner   Documentation/pro...
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
  
  List keys
  ^^^^^^^^^
  
  For initial contact see :ref:`Contact`. For incident specific mailing-lists
  the key and S/MIME certificate are conveyed to the subscribers by email
  sent from the specific list.
  
  Subscription to incident specific lists
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  
  Subscription is handled by the response teams. Disclosed parties who want
  to participate in the communication send a list of potential subscribers to
  the response team so the response team can validate subscription requests.
  
  Each subscriber needs to send a subscription request to the response team
  by email. The email must be signed with the subscriber's PGP key or S/MIME
  certificate. If a PGP key is used, it must be available from a public key
  server and is ideally connected to the Linux kernel's PGP web of trust. See
  also: https://www.kernel.org/signature.html.
  
  The response team verifies that the subscriber request is valid and adds
  the subscriber to the list. After subscription the subscriber will receive
  email from the mailing-list which is signed either with the list's PGP key
  or the list's S/MIME certificate. The subscriber's email client can extract
  the PGP key or the S/MIME certificate from the signature so the subscriber
  can send encrypted email to the list.