ಕರ್ನಲ್ ಇಂಟರ್ನಲ್‌ಗಳಿಗೆ ರೂಟ್ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಲು Linux 5.4 ಕರ್ನಲ್ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸಿದೆ

ಲಿನಸ್ ಟೊರ್ವಾಲ್ಡ್ಸ್ ಸ್ವೀಕರಿಸಲಾಗಿದೆ Linux 5.4 ಕರ್ನಲ್‌ನ ಮುಂಬರುವ ಬಿಡುಗಡೆಯಲ್ಲಿ ಸೇರಿಸಲಾದ ಪ್ಯಾಚ್‌ಗಳ ಒಂದು ಸೆಟ್ ಆಗಿದೆ "ಲಾಕ್« ಪ್ರಸ್ತಾಪಿಸಿದರು ಡೇವಿಡ್ ಹೋವೆಲ್ಸ್ (ರೆಡ್ ಹ್ಯಾಟ್) ಮತ್ತು ಮ್ಯಾಥ್ಯೂ ಗ್ಯಾರೆಟ್ (ಮ್ಯಾಥ್ಯೂ ಗ್ಯಾರೆಟ್, ಕರ್ನಲ್‌ಗೆ ರೂಟ್ ಬಳಕೆದಾರರ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸಲು Google ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಲಾಕ್‌ಡೌನ್-ಸಂಬಂಧಿತ ಕಾರ್ಯವನ್ನು ಐಚ್ಛಿಕವಾಗಿ ಲೋಡ್ ಮಾಡಲಾದ LSM ಮಾಡ್ಯೂಲ್‌ನಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ (ಲಿನಕ್ಸ್ ಭದ್ರತಾ ಮಾಡ್ಯೂಲ್), ಇದು UID 0 ಮತ್ತು ಕರ್ನಲ್ ನಡುವೆ ತಡೆಗೋಡೆಯನ್ನು ಇರಿಸುತ್ತದೆ, ಕೆಲವು ಕಡಿಮೆ-ಮಟ್ಟದ ಕಾರ್ಯವನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತದೆ.

ಆಕ್ರಮಣಕಾರನು ರೂಟ್ ಹಕ್ಕುಗಳೊಂದಿಗೆ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಅನ್ನು ಸಾಧಿಸಿದರೆ, ಅವನು ತನ್ನ ಕೋಡ್ ಅನ್ನು ಕರ್ನಲ್ ಮಟ್ಟದಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು, ಉದಾಹರಣೆಗೆ, kexec ಅನ್ನು ಬಳಸಿಕೊಂಡು ಕರ್ನಲ್ ಅನ್ನು ಬದಲಿಸುವ ಮೂಲಕ ಅಥವಾ /dev/kmem ಮೂಲಕ ಮೆಮೊರಿಯನ್ನು ಓದುವುದು/ಬರೆಯುವ ಮೂಲಕ. ಅಂತಹ ಚಟುವಟಿಕೆಯ ಅತ್ಯಂತ ಸ್ಪಷ್ಟವಾದ ಪರಿಣಾಮವು ಇರಬಹುದು ಬೈಪಾಸ್ UEFI ಸುರಕ್ಷಿತ ಬೂಟ್ ಅಥವಾ ಕರ್ನಲ್ ಮಟ್ಟದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾದ ಸೂಕ್ಷ್ಮ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯುವುದು.

ಆರಂಭದಲ್ಲಿ, ಪರಿಶೀಲಿಸಿದ ಬೂಟ್‌ನ ರಕ್ಷಣೆಯನ್ನು ಬಲಪಡಿಸುವ ಸಂದರ್ಭದಲ್ಲಿ ರೂಟ್ ನಿರ್ಬಂಧದ ಕಾರ್ಯಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾಯಿತು, ಮತ್ತು ವಿತರಣೆಗಳು ಸ್ವಲ್ಪ ಸಮಯದವರೆಗೆ UEFI ಸುರಕ್ಷಿತ ಬೂಟ್‌ನ ಬೈಪಾಸ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲು ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಬಳಸುತ್ತಿವೆ. ಅದೇ ಸಮಯದಲ್ಲಿ, ಅಂತಹ ನಿರ್ಬಂಧಗಳನ್ನು ಕರ್ನಲ್ನ ಮುಖ್ಯ ಸಂಯೋಜನೆಯಲ್ಲಿ ಸೇರಿಸಲಾಗಿಲ್ಲ ಭಿನ್ನಾಭಿಪ್ರಾಯಗಳು ಅವುಗಳ ಅನುಷ್ಠಾನ ಮತ್ತು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಅಡ್ಡಿಯಾಗುವ ಭಯದಲ್ಲಿ. "ಲಾಕ್‌ಡೌನ್" ಮಾಡ್ಯೂಲ್ ಈಗಾಗಲೇ ವಿತರಣೆಗಳಲ್ಲಿ ಬಳಸಲಾದ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಹೀರಿಕೊಳ್ಳುತ್ತದೆ, ಇದನ್ನು 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” ಅಥವಾ ಅಸೆಂಬ್ಲಿ ಆಯ್ಕೆಗಳ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಿದಾಗ ಇದನ್ನು ನಿರ್ಮಿಸಲಾಗುತ್ತದೆ. LOCK_DOWN_KERNEL_FORCE_*, ಇದು "ಸಮಗ್ರತೆ" ಮತ್ತು "ಗೌಪ್ಯತೆ" ಮೌಲ್ಯಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಮೊದಲ ಸಂದರ್ಭದಲ್ಲಿ, ಬಳಕೆದಾರರ ಸ್ಥಳದಿಂದ ಚಾಲನೆಯಲ್ಲಿರುವ ಕರ್ನಲ್‌ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಲು ಅನುಮತಿಸುವ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ ಮತ್ತು ಎರಡನೆಯ ಸಂದರ್ಭದಲ್ಲಿ, ಕರ್ನಲ್‌ನಿಂದ ಸೂಕ್ಷ್ಮ ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯಲು ಬಳಸಬಹುದಾದ ಕಾರ್ಯವನ್ನು ಸಹ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಲಾಕ್‌ಡೌನ್ ಕರ್ನಲ್‌ಗೆ ಪ್ರಮಾಣಿತ ಪ್ರವೇಶವನ್ನು ಮಾತ್ರ ಸೀಮಿತಗೊಳಿಸುತ್ತದೆ, ಆದರೆ ದುರ್ಬಲತೆಗಳ ಶೋಷಣೆಯ ಪರಿಣಾಮವಾಗಿ ಮಾರ್ಪಾಡುಗಳಿಂದ ರಕ್ಷಿಸುವುದಿಲ್ಲ ಎಂಬುದನ್ನು ಗಮನಿಸುವುದು ಮುಖ್ಯವಾಗಿದೆ. ಓಪನ್‌ವಾಲ್ ಪ್ರಾಜೆಕ್ಟ್‌ನಿಂದ ಶೋಷಣೆಗಳನ್ನು ಬಳಸಿದಾಗ ಚಾಲನೆಯಲ್ಲಿರುವ ಕರ್ನಲ್‌ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲು ಅಭಿವೃದ್ಧಿ ಹೊಂದುತ್ತಿದೆ ಪ್ರತ್ಯೇಕ ಮಾಡ್ಯೂಲ್ ಎಲ್.ಕೆ.ಆರ್.ಜಿ (ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ರನ್ಟೈಮ್ ಗಾರ್ಡ್).

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ