embargoed-hardware-issues.rst 13 KB

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