ಲಿನಸ್ ಟೊರ್ವಾಲ್ಡ್ಸ್
ಆಕ್ರಮಣಕಾರನು ರೂಟ್ ಹಕ್ಕುಗಳೊಂದಿಗೆ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಸಾಧಿಸಿದರೆ, ಅವನು ತನ್ನ ಕೋಡ್ ಅನ್ನು ಕರ್ನಲ್ ಮಟ್ಟದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, kexec ಅನ್ನು ಬಳಸಿಕೊಂಡು ಕರ್ನಲ್ ಅನ್ನು ಬದಲಿಸುವ ಮೂಲಕ ಅಥವಾ /dev/kmem ಮೂಲಕ ಮೆಮೊರಿಯನ್ನು ಓದುವುದು/ಬರೆಯುವ ಮೂಲಕ. ಅಂತಹ ಚಟುವಟಿಕೆಯ ಅತ್ಯಂತ ಸ್ಪಷ್ಟವಾದ ಪರಿಣಾಮವು ಇರಬಹುದು
ಆರಂಭದಲ್ಲಿ, ಪರಿಶೀಲಿಸಿದ ಬೂಟ್ನ ರಕ್ಷಣೆಯನ್ನು ಬಲಪಡಿಸುವ ಸಂದರ್ಭದಲ್ಲಿ ರೂಟ್ ನಿರ್ಬಂಧದ ಕಾರ್ಯಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಯಿತು, ಮತ್ತು ವಿತರಣೆಗಳು ಸ್ವಲ್ಪ ಸಮಯದವರೆಗೆ UEFI ಸುರಕ್ಷಿತ ಬೂಟ್ನ ಬೈಪಾಸ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಪ್ಯಾಚ್ಗಳನ್ನು ಬಳಸುತ್ತಿವೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, ಅಂತಹ ನಿರ್ಬಂಧಗಳನ್ನು ಕರ್ನಲ್ನ ಮುಖ್ಯ ಸಂಯೋಜನೆಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿಲ್ಲ
ಲಾಕ್ಡೌನ್ ಮೋಡ್ /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes ಡೀಬಗ್ ಮೋಡ್, mmiotrace, tracefs, BPF, PCMCIA CIS (ಕಾರ್ಡ್ ಮಾಹಿತಿ ರಚನೆ), ಕೆಲವು ACPI ಇಂಟರ್ಫೇಸ್ಗಳು ಮತ್ತು CPU ಗೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ MSR ರೆಜಿಸ್ಟರ್ಗಳು, kexec_file ಮತ್ತು kexec_load ಕರೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ, ಸ್ಲೀಪ್ ಮೋಡ್ ಅನ್ನು ನಿಷೇಧಿಸಲಾಗಿದೆ, PCI ಸಾಧನಗಳಿಗೆ DMA ಬಳಕೆ ಸೀಮಿತವಾಗಿದೆ, EFI ವೇರಿಯೇಬಲ್ಗಳಿಂದ ACPI ಕೋಡ್ ಆಮದು ನಿಷೇಧಿಸಲಾಗಿದೆ,
I/O ಪೋರ್ಟ್ಗಳೊಂದಿಗಿನ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್ಗಳನ್ನು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ, ಸರಣಿ ಪೋರ್ಟ್ಗಾಗಿ ಅಡಚಣೆ ಸಂಖ್ಯೆ ಮತ್ತು I/O ಪೋರ್ಟ್ ಅನ್ನು ಬದಲಾಯಿಸುವುದು ಸೇರಿದಂತೆ.
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಲಾಕ್ಡೌನ್ ಮಾಡ್ಯೂಲ್ ಸಕ್ರಿಯವಾಗಿಲ್ಲ, SECURITY_LOCKDOWN_LSM ಆಯ್ಕೆಯನ್ನು kconfig ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದಾಗ ಮತ್ತು ಕರ್ನಲ್ ಪ್ಯಾರಾಮೀಟರ್ “lockdown=”, ನಿಯಂತ್ರಣ ಫೈಲ್ “/sys/kernel/security/lockdown” ಅಥವಾ ಅಸೆಂಬ್ಲಿ ಆಯ್ಕೆಗಳ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ ಇದನ್ನು ನಿರ್ಮಿಸಲಾಗುತ್ತದೆ.
ಲಾಕ್ಡೌನ್ ಕರ್ನಲ್ಗೆ ಪ್ರಮಾಣಿತ ಪ್ರವೇಶವನ್ನು ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ, ಆದರೆ ದುರ್ಬಲತೆಗಳ ಶೋಷಣೆಯ ಪರಿಣಾಮವಾಗಿ ಮಾರ್ಪಾಡುಗಳಿಂದ ರಕ್ಷಿಸುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಓಪನ್ವಾಲ್ ಪ್ರಾಜೆಕ್ಟ್ನಿಂದ ಶೋಷಣೆಗಳನ್ನು ಬಳಸಿದಾಗ ಚಾಲನೆಯಲ್ಲಿರುವ ಕರ್ನಲ್ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲು
ಮೂಲ: opennet.ru