Documentation/admin-guide/hw-vuln/attack_vector_controls.rst

Source file repositories/reference/linux-study-clean/Documentation/admin-guide/hw-vuln/attack_vector_controls.rst

File Facts

System
Linux kernel
Corpus path
Documentation/admin-guide/hw-vuln/attack_vector_controls.rst
Extension
.rst
Size
9479 bytes
Lines
237
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

Attack Vector Controls
======================

Attack vector controls provide a simple method to configure only the mitigations
for CPU vulnerabilities which are relevant given the intended use of a system.
Administrators are encouraged to consider which attack vectors are relevant and
disable all others in order to recoup system performance.

When new relevant CPU vulnerabilities are found, they will be added to these
attack vector controls so administrators will likely not need to reconfigure
their command line parameters as mitigations will continue to be correctly
applied based on the chosen attack vector controls.

Attack Vectors
--------------

There are 5 sets of attack-vector mitigations currently supported by the kernel:

#. :ref:`user_kernel`
#. :ref:`user_user`
#. :ref:`guest_host`
#. :ref:`guest_guest`
#. :ref:`smt`

To control the enabled attack vectors, see :ref:`cmdline`.

.. _user_kernel:

User-to-Kernel
^^^^^^^^^^^^^^

The user-to-kernel attack vector involves a malicious userspace program
attempting to leak kernel data into userspace by exploiting a CPU vulnerability.
The kernel data involved might be limited to certain kernel memory, or include
all memory in the system, depending on the vulnerability exploited.

If no untrusted userspace applications are being run, such as with single-user
systems, consider disabling user-to-kernel mitigations.

Note that the CPU vulnerabilities mitigated by Linux have generally not been
shown to be exploitable from browser-based sandboxes.  User-to-kernel
mitigations are therefore mostly relevant if unknown userspace applications may
be run by untrusted users.

*user-to-kernel mitigations are enabled by default*

.. _user_user:

User-to-User
^^^^^^^^^^^^

The user-to-user attack vector involves a malicious userspace program attempting
to influence the behavior of another unsuspecting userspace program in order to
exfiltrate data.  The vulnerability of a userspace program is based on the
program itself and the interfaces it provides.

If no untrusted userspace applications are being run, consider disabling
user-to-user mitigations.

Note that because the Linux kernel contains a mapping of all physical memory,
preventing a malicious userspace program from leaking data from another
userspace program requires mitigating user-to-kernel attacks as well for
complete protection.

*user-to-user mitigations are enabled by default*

.. _guest_host:

Annotation

Implementation Notes