Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Documentation/process: Embargoed hardware security issues

To address the requirements of embargoed hardware issues, like Meltdown,
Spectre, L1TF etc. it is necessary to define and document a process for
handling embargoed hardware security issues.

Following the discussion at the maintainer summit 2018 in Edinburgh
(https://lwn.net/Articles/769417/) the volunteered people have worked
out a process and a Memorandum of Understanding. The latter addresses
the fact that the Linux kernel community cannot sign NDAs for various
reasons.

The initial contact point for hardware security issues is different from
the regular kernel security contact to provide a known and neutral
interface for hardware vendors and researchers. The initial primary
contact team is proposed to be staffed by Linux Foundation Fellows, who
are not associated to a vendor or a distribution and are well connected
in the industry as a whole.

The process is designed with the experience of the past incidents in
mind and tries to address the remaining gaps, so future (hopefully rare)
incidents can be handled more efficiently. It won't remove the fact,
that most of this has to be done behind closed doors, but it is set up
to avoid big bureaucratic hurdles for individual developers.

The process is solely for handling hardware security issues and cannot
be used for regular kernel (software only) security bugs.

This memo can help with hardware companies who, and I quote, "[my
manager] doesn't want to bet his job on the list keeping things secret."
This despite numerous leaks directly from that company over the years,
and none ever so far from the kernel security team. Cognitive
dissidence seems to be a requirement to be a good manager.

To accelerate the adoption of this process, we introduce the concept of
ambassadors in participating companies. The ambassadors are there to
guide people to comply with the process, but are not automatically
involved in the disclosure of a particular incident.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Josh Poimboeuf <jpoimboe@redhat.com>
Acked-by: Laura Abbott <labbott@redhat.com>
Acked-by: Ben Hutchings <ben@decadent.org.uk>
Reviewed-by: Tyler Hicks <tyhicks@canonical.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Jiri Kosina <jkosina@suse.cz>
Link: https://lore.kernel.org/r/20190815212505.GC12041@kroah.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Thomas Gleixner and committed by
Greg Kroah-Hartman
ddaedbbe b9bc7b8b

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