{"description": "Randomize at compile-time the layouts of structures that are entirely function pointers\n(and have not been manually annotated with __no_randomize_layout), or structures that have\nbeen explicitly marked with __randomize_layout.\nThis configuration is available from kernel 4.13, but may be available if backported\nby distros.\n\nThe configuration that was used to build kernel is available at <tt>/boot/config-*</tt>.\n    To check the configuration value for <tt>CONFIG_GCC_PLUGIN_RANDSTRUCT</tt>, run the following command:\n    <tt>grep CONFIG_GCC_PLUGIN_RANDSTRUCT /boot/config-*</tt>\n    \n    For each kernel installed, a line with value \"y\" should be returned.\n    ", "rationale": "Randomizing the layout of kernel data structures make it more difficult for an attacker to\nknow the location of sensitive data.", "severity": "medium", "references": {"anssi": ["R21"]}, "control_references": {"anssi": ["R21"]}, "components": [], "identifiers": {}, "ocil_clause": "the kernel was built with the required value", "ocil": "To determine the config value the kernel was built with, run the following command:\n    <pre>$ grep CONFIG_GCC_PLUGIN_RANDSTRUCT /boot/config.*</pre>\n    \n    For each kernel installed, a line with value \"y\" should be returned.\n    ", "oval_external_content": null, "fixtext": "", "checktext": "", "vuldiscussion": "", "srg_requirement": "", "warnings": [{"general": "There is no remediation for this besides re-compiling the kernel with the appropriate value for the config."}], "conflicts": [], "requires": [], "policy_specific_content": {}, "platform": null, "platforms": [], "sce_metadata": {}, "inherited_platforms": ["system_with_kernel"], "cpe_platform_names": [], "inherited_cpe_platform_names": ["system_with_kernel"], "bash_conditional": null, "fixes": {}, "title": "Randomize layout of sensitive kernel structures", "definition_location": "/aptdata/openscap/scap-security-guide/linux_os/guide/system/kernel_build_config/gcc_plugin/kernel_config_gcc_plugin_randstruct/rule.yml", "template": {"name": "kernel_build_config", "vars": {"config": "CONFIG_GCC_PLUGIN_RANDSTRUCT", "value": "y"}, "backends": {}}}