162306a36Sopenharmony_ci.. _embargoed_hardware_issues: 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciEmbargoed hardware issues 462306a36Sopenharmony_ci========================= 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciScope 762306a36Sopenharmony_ci----- 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciHardware issues which result in security problems are a different category 1062306a36Sopenharmony_ciof security bugs than pure software bugs which only affect the Linux 1162306a36Sopenharmony_cikernel. 1262306a36Sopenharmony_ci 1362306a36Sopenharmony_ciHardware issues like Meltdown, Spectre, L1TF etc. must be treated 1462306a36Sopenharmony_cidifferently because they usually affect all Operating Systems ("OS") and 1562306a36Sopenharmony_citherefore need coordination across different OS vendors, distributions, 1662306a36Sopenharmony_cihardware vendors and other parties. For some of the issues, software 1762306a36Sopenharmony_cimitigations can depend on microcode or firmware updates, which need further 1862306a36Sopenharmony_cicoordination. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci.. _Contact: 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ciContact 2362306a36Sopenharmony_ci------- 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciThe Linux kernel hardware security team is separate from the regular Linux 2662306a36Sopenharmony_cikernel security team. 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ciThe team only handles developing fixes for embargoed hardware security 2962306a36Sopenharmony_ciissues. Reports of pure software security bugs in the Linux kernel are not 3062306a36Sopenharmony_cihandled by this team and the reporter will be guided to contact the regular 3162306a36Sopenharmony_ciLinux kernel security team (:ref:`Documentation/admin-guide/ 3262306a36Sopenharmony_ci<securitybugs>`) instead. 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ciThe team can be contacted by email at <hardware-security@kernel.org>. This 3562306a36Sopenharmony_ciis a private list of security officers who will help you to coordinate a 3662306a36Sopenharmony_cifix according to our documented process. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciThe list is encrypted and email to the list can be sent by either PGP or 3962306a36Sopenharmony_ciS/MIME encrypted and must be signed with the reporter's PGP key or S/MIME 4062306a36Sopenharmony_cicertificate. The list's PGP key and S/MIME certificate are available from 4162306a36Sopenharmony_cithe following URLs: 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci - PGP: https://www.kernel.org/static/files/hardware-security.asc 4462306a36Sopenharmony_ci - S/MIME: https://www.kernel.org/static/files/hardware-security.crt 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ciWhile hardware security issues are often handled by the affected hardware 4762306a36Sopenharmony_civendor, we welcome contact from researchers or individuals who have 4862306a36Sopenharmony_ciidentified a potential hardware flaw. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciHardware security officers 5162306a36Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^^^^^^^ 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciThe current team of hardware security officers: 5462306a36Sopenharmony_ci 5562306a36Sopenharmony_ci - Linus Torvalds (Linux Foundation Fellow) 5662306a36Sopenharmony_ci - Greg Kroah-Hartman (Linux Foundation Fellow) 5762306a36Sopenharmony_ci - Thomas Gleixner (Linux Foundation Fellow) 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ciOperation of mailing-lists 6062306a36Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^^^^^^^ 6162306a36Sopenharmony_ci 6262306a36Sopenharmony_ciThe encrypted mailing-lists which are used in our process are hosted on 6362306a36Sopenharmony_ciLinux Foundation's IT infrastructure. By providing this service, members 6462306a36Sopenharmony_ciof Linux Foundation's IT operations personnel technically have the 6562306a36Sopenharmony_ciability to access the embargoed information, but are obliged to 6662306a36Sopenharmony_ciconfidentiality by their employment contract. Linux Foundation IT 6762306a36Sopenharmony_cipersonnel are also responsible for operating and managing the rest of 6862306a36Sopenharmony_cikernel.org infrastructure. 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciThe Linux Foundation's current director of IT Project infrastructure is 7162306a36Sopenharmony_ciKonstantin Ryabitsev. 7262306a36Sopenharmony_ci 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ciNon-disclosure agreements 7562306a36Sopenharmony_ci------------------------- 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ciThe Linux kernel hardware security team is not a formal body and therefore 7862306a36Sopenharmony_ciunable to enter into any non-disclosure agreements. The kernel community 7962306a36Sopenharmony_ciis aware of the sensitive nature of such issues and offers a Memorandum of 8062306a36Sopenharmony_ciUnderstanding instead. 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ciMemorandum of Understanding 8462306a36Sopenharmony_ci--------------------------- 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ciThe Linux kernel community has a deep understanding of the requirement to 8762306a36Sopenharmony_cikeep hardware security issues under embargo for coordination between 8862306a36Sopenharmony_cidifferent OS vendors, distributors, hardware vendors and other parties. 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ciThe Linux kernel community has successfully handled hardware security 9162306a36Sopenharmony_ciissues in the past and has the necessary mechanisms in place to allow 9262306a36Sopenharmony_cicommunity compliant development under embargo restrictions. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ciThe Linux kernel community has a dedicated hardware security team for 9562306a36Sopenharmony_ciinitial contact, which oversees the process of handling such issues under 9662306a36Sopenharmony_ciembargo rules. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ciThe hardware security team identifies the developers (domain experts) who 9962306a36Sopenharmony_ciwill form the initial response team for a particular issue. The initial 10062306a36Sopenharmony_ciresponse team can bring in further developers (domain experts) to address 10162306a36Sopenharmony_cithe issue in the best technical way. 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ciAll involved developers pledge to adhere to the embargo rules and to keep 10462306a36Sopenharmony_cithe received information confidential. Violation of the pledge will lead to 10562306a36Sopenharmony_ciimmediate exclusion from the current issue and removal from all related 10662306a36Sopenharmony_cimailing-lists. In addition, the hardware security team will also exclude 10762306a36Sopenharmony_cithe offender from future issues. The impact of this consequence is a highly 10862306a36Sopenharmony_cieffective deterrent in our community. In case a violation happens the 10962306a36Sopenharmony_cihardware security team will inform the involved parties immediately. If you 11062306a36Sopenharmony_cior anyone becomes aware of a potential violation, please report it 11162306a36Sopenharmony_ciimmediately to the Hardware security officers. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ci 11462306a36Sopenharmony_ciProcess 11562306a36Sopenharmony_ci^^^^^^^ 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ciDue to the globally distributed nature of Linux kernel development, 11862306a36Sopenharmony_ciface-to-face meetings are almost impossible to address hardware security 11962306a36Sopenharmony_ciissues. Phone conferences are hard to coordinate due to time zones and 12062306a36Sopenharmony_ciother factors and should be only used when absolutely necessary. Encrypted 12162306a36Sopenharmony_ciemail has been proven to be the most effective and secure communication 12262306a36Sopenharmony_cimethod for these types of issues. 12362306a36Sopenharmony_ci 12462306a36Sopenharmony_ciStart of Disclosure 12562306a36Sopenharmony_ci""""""""""""""""""" 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ciDisclosure starts by contacting the Linux kernel hardware security team by 12862306a36Sopenharmony_ciemail. This initial contact should contain a description of the problem and 12962306a36Sopenharmony_cia list of any known affected hardware. If your organization builds or 13062306a36Sopenharmony_cidistributes the affected hardware, we encourage you to also consider what 13162306a36Sopenharmony_ciother hardware could be affected. 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ciThe hardware security team will provide an incident-specific encrypted 13462306a36Sopenharmony_cimailing-list which will be used for initial discussion with the reporter, 13562306a36Sopenharmony_cifurther disclosure, and coordination of fixes. 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ciThe hardware security team will provide the disclosing party a list of 13862306a36Sopenharmony_cidevelopers (domain experts) who should be informed initially about the 13962306a36Sopenharmony_ciissue after confirming with the developers that they will adhere to this 14062306a36Sopenharmony_ciMemorandum of Understanding and the documented process. These developers 14162306a36Sopenharmony_ciform the initial response team and will be responsible for handling the 14262306a36Sopenharmony_ciissue after initial contact. The hardware security team is supporting the 14362306a36Sopenharmony_ciresponse team, but is not necessarily involved in the mitigation 14462306a36Sopenharmony_cidevelopment process. 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciWhile individual developers might be covered by a non-disclosure agreement 14762306a36Sopenharmony_civia their employer, they cannot enter individual non-disclosure agreements 14862306a36Sopenharmony_ciin their role as Linux kernel developers. They will, however, agree to 14962306a36Sopenharmony_ciadhere to this documented process and the Memorandum of Understanding. 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ciThe disclosing party should provide a list of contacts for all other 15262306a36Sopenharmony_cientities who have already been, or should be, informed about the issue. 15362306a36Sopenharmony_ciThis serves several purposes: 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci - The list of disclosed entities allows communication across the 15662306a36Sopenharmony_ci industry, e.g. other OS vendors, HW vendors, etc. 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ci - The disclosed entities can be contacted to name experts who should 15962306a36Sopenharmony_ci participate in the mitigation development. 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci - If an expert which is required to handle an issue is employed by an 16262306a36Sopenharmony_ci listed entity or member of an listed entity, then the response teams can 16362306a36Sopenharmony_ci request the disclosure of that expert from that entity. This ensures 16462306a36Sopenharmony_ci that the expert is also part of the entity's response team. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciDisclosure 16762306a36Sopenharmony_ci"""""""""" 16862306a36Sopenharmony_ci 16962306a36Sopenharmony_ciThe disclosing party provides detailed information to the initial response 17062306a36Sopenharmony_citeam via the specific encrypted mailing-list. 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ciFrom our experience the technical documentation of these issues is usually 17362306a36Sopenharmony_cia sufficient starting point and further technical clarification is best 17462306a36Sopenharmony_cidone via email. 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ciMitigation development 17762306a36Sopenharmony_ci"""""""""""""""""""""" 17862306a36Sopenharmony_ci 17962306a36Sopenharmony_ciThe initial response team sets up an encrypted mailing-list or repurposes 18062306a36Sopenharmony_cian existing one if appropriate. 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ciUsing a mailing-list is close to the normal Linux development process and 18362306a36Sopenharmony_cihas been successfully used in developing mitigations for various hardware 18462306a36Sopenharmony_cisecurity issues in the past. 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ciThe mailing-list operates in the same way as normal Linux development. 18762306a36Sopenharmony_ciPatches are posted, discussed and reviewed and if agreed on applied to a 18862306a36Sopenharmony_cinon-public git repository which is only accessible to the participating 18962306a36Sopenharmony_cidevelopers via a secure connection. The repository contains the main 19062306a36Sopenharmony_cidevelopment branch against the mainline kernel and backport branches for 19162306a36Sopenharmony_cistable kernel versions as necessary. 19262306a36Sopenharmony_ci 19362306a36Sopenharmony_ciThe initial response team will identify further experts from the Linux 19462306a36Sopenharmony_cikernel developer community as needed. Bringing in experts can happen at any 19562306a36Sopenharmony_citime of the development process and needs to be handled in a timely manner. 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ciIf an expert is employed by or member of an entity on the disclosure list 19862306a36Sopenharmony_ciprovided by the disclosing party, then participation will be requested from 19962306a36Sopenharmony_cithe relevant entity. 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ciIf not, then the disclosing party will be informed about the experts 20262306a36Sopenharmony_ciparticipation. The experts are covered by the Memorandum of Understanding 20362306a36Sopenharmony_ciand the disclosing party is requested to acknowledge the participation. In 20462306a36Sopenharmony_cicase that the disclosing party has a compelling reason to object, then this 20562306a36Sopenharmony_ciobjection has to be raised within five work days and resolved with the 20662306a36Sopenharmony_ciincident team immediately. If the disclosing party does not react within 20762306a36Sopenharmony_cifive work days this is taken as silent acknowledgement. 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ciAfter acknowledgement or resolution of an objection the expert is disclosed 21062306a36Sopenharmony_ciby the incident team and brought into the development process. 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ciList participants may not communicate about the issue outside of the 21362306a36Sopenharmony_ciprivate mailing list. List participants may not use any shared resources 21462306a36Sopenharmony_ci(e.g. employer build farms, CI systems, etc) when working on patches. 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ciCoordinated release 21862306a36Sopenharmony_ci""""""""""""""""""" 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ciThe involved parties will negotiate the date and time where the embargo 22162306a36Sopenharmony_ciends. At that point the prepared mitigations are integrated into the 22262306a36Sopenharmony_cirelevant kernel trees and published. There is no pre-notification process: 22362306a36Sopenharmony_cifixes are published in public and available to everyone at the same time. 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ciWhile we understand that hardware security issues need coordinated embargo 22662306a36Sopenharmony_citime, the embargo time should be constrained to the minimum time which is 22762306a36Sopenharmony_cirequired for all involved parties to develop, test and prepare the 22862306a36Sopenharmony_cimitigations. Extending embargo time artificially to meet conference talk 22962306a36Sopenharmony_cidates or other non-technical reasons is creating more work and burden for 23062306a36Sopenharmony_cithe involved developers and response teams as the patches need to be kept 23162306a36Sopenharmony_ciup to date in order to follow the ongoing upstream kernel development, 23262306a36Sopenharmony_ciwhich might create conflicting changes. 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ciCVE assignment 23562306a36Sopenharmony_ci"""""""""""""" 23662306a36Sopenharmony_ci 23762306a36Sopenharmony_ciNeither the hardware security team nor the initial response team assign 23862306a36Sopenharmony_ciCVEs, nor are CVEs required for the development process. If CVEs are 23962306a36Sopenharmony_ciprovided by the disclosing party they can be used for documentation 24062306a36Sopenharmony_cipurposes. 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ciProcess ambassadors 24362306a36Sopenharmony_ci------------------- 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ciFor assistance with this process we have established ambassadors in various 24662306a36Sopenharmony_ciorganizations, who can answer questions about or provide guidance on the 24762306a36Sopenharmony_cireporting process and further handling. Ambassadors are not involved in the 24862306a36Sopenharmony_cidisclosure of a particular issue, unless requested by a response team or by 24962306a36Sopenharmony_cian involved disclosed party. The current ambassadors list: 25062306a36Sopenharmony_ci 25162306a36Sopenharmony_ci ============= ======================================================== 25262306a36Sopenharmony_ci AMD Tom Lendacky <thomas.lendacky@amd.com> 25362306a36Sopenharmony_ci Ampere Darren Hart <darren@os.amperecomputing.com> 25462306a36Sopenharmony_ci ARM Catalin Marinas <catalin.marinas@arm.com> 25562306a36Sopenharmony_ci IBM Power Anton Blanchard <anton@linux.ibm.com> 25662306a36Sopenharmony_ci IBM Z Christian Borntraeger <borntraeger@de.ibm.com> 25762306a36Sopenharmony_ci Intel Tony Luck <tony.luck@intel.com> 25862306a36Sopenharmony_ci Qualcomm Trilok Soni <tsoni@codeaurora.org> 25962306a36Sopenharmony_ci RISC-V Palmer Dabbelt <palmer@dabbelt.com> 26062306a36Sopenharmony_ci Samsung Javier González <javier.gonz@samsung.com> 26162306a36Sopenharmony_ci 26262306a36Sopenharmony_ci Microsoft James Morris <jamorris@linux.microsoft.com> 26362306a36Sopenharmony_ci Xen Andrew Cooper <andrew.cooper3@citrix.com> 26462306a36Sopenharmony_ci 26562306a36Sopenharmony_ci Canonical John Johansen <john.johansen@canonical.com> 26662306a36Sopenharmony_ci Debian Ben Hutchings <ben@decadent.org.uk> 26762306a36Sopenharmony_ci Oracle Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> 26862306a36Sopenharmony_ci Red Hat Josh Poimboeuf <jpoimboe@redhat.com> 26962306a36Sopenharmony_ci SUSE Jiri Kosina <jkosina@suse.cz> 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci Google Kees Cook <keescook@chromium.org> 27262306a36Sopenharmony_ci 27362306a36Sopenharmony_ci LLVM Nick Desaulniers <ndesaulniers@google.com> 27462306a36Sopenharmony_ci ============= ======================================================== 27562306a36Sopenharmony_ci 27662306a36Sopenharmony_ciIf you want your organization to be added to the ambassadors list, please 27762306a36Sopenharmony_cicontact the hardware security team. The nominated ambassador has to 27862306a36Sopenharmony_ciunderstand and support our process fully and is ideally well connected in 27962306a36Sopenharmony_cithe Linux kernel community. 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ciEncrypted mailing-lists 28262306a36Sopenharmony_ci----------------------- 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ciWe use encrypted mailing-lists for communication. The operating principle 28562306a36Sopenharmony_ciof these lists is that email sent to the list is encrypted either with the 28662306a36Sopenharmony_cilist's PGP key or with the list's S/MIME certificate. The mailing-list 28762306a36Sopenharmony_cisoftware decrypts the email and re-encrypts it individually for each 28862306a36Sopenharmony_cisubscriber with the subscriber's PGP key or S/MIME certificate. Details 28962306a36Sopenharmony_ciabout the mailing-list software and the setup which is used to ensure the 29062306a36Sopenharmony_cisecurity of the lists and protection of the data can be found here: 29162306a36Sopenharmony_cihttps://korg.wiki.kernel.org/userdoc/remail. 29262306a36Sopenharmony_ci 29362306a36Sopenharmony_ciList keys 29462306a36Sopenharmony_ci^^^^^^^^^ 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ciFor initial contact see :ref:`Contact`. For incident specific mailing-lists 29762306a36Sopenharmony_cithe key and S/MIME certificate are conveyed to the subscribers by email 29862306a36Sopenharmony_cisent from the specific list. 29962306a36Sopenharmony_ci 30062306a36Sopenharmony_ciSubscription to incident specific lists 30162306a36Sopenharmony_ci^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 30262306a36Sopenharmony_ci 30362306a36Sopenharmony_ciSubscription is handled by the response teams. Disclosed parties who want 30462306a36Sopenharmony_cito participate in the communication send a list of potential subscribers to 30562306a36Sopenharmony_cithe response team so the response team can validate subscription requests. 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ciEach subscriber needs to send a subscription request to the response team 30862306a36Sopenharmony_ciby email. The email must be signed with the subscriber's PGP key or S/MIME 30962306a36Sopenharmony_cicertificate. If a PGP key is used, it must be available from a public key 31062306a36Sopenharmony_ciserver and is ideally connected to the Linux kernel's PGP web of trust. See 31162306a36Sopenharmony_cialso: https://www.kernel.org/signature.html. 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ciThe response team verifies that the subscriber request is valid and adds 31462306a36Sopenharmony_cithe subscriber to the list. After subscription the subscriber will receive 31562306a36Sopenharmony_ciemail from the mailing-list which is signed either with the list's PGP key 31662306a36Sopenharmony_cior the list's S/MIME certificate. The subscriber's email client can extract 31762306a36Sopenharmony_cithe PGP key or the S/MIME certificate from the signature so the subscriber 31862306a36Sopenharmony_cican send encrypted email to the list. 31962306a36Sopenharmony_ci 320