ಕಿನಿಸ್ ಕುಕ್ ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಸ್ಟ್ಯಾಕ್ ಭದ್ರತೆಯನ್ನು ಸುಧಾರಿಸಲು ಹೊಸ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಪರಿಚಯಿಸಿದರು

ಲಿನಕ್ಸ್

ಕೀಸ್ ಕುಕ್, kernel.org ನಲ್ಲಿ ಮಾಜಿ ಮುಖ್ಯ ಸಿಸಾಡ್ಮಿನ್ ಮತ್ತು ಉಬುಂಟು ಭದ್ರತಾ ತಂಡದ ನಾಯಕ, ಈಗ Android ಮತ್ತು ChromeOS ಅನ್ನು ರಕ್ಷಿಸಲು Google ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದಾರೆ, ಕರ್ನಲ್ ಸ್ಟಾಕ್ ಆಫ್‌ಸೆಟ್‌ಗಳನ್ನು ಯಾದೃಚ್ ize ಿಕಗೊಳಿಸುವ ಪ್ಯಾಚ್‌ಗಳ ಗುಂಪನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿದೆ ಸಿಸ್ಟಮ್ ಕರೆಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ. ಪ್ಯಾಚ್ಗಳು ಸ್ಟಾಕ್ ಸ್ಥಳವನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ಕರ್ನಲ್ ಸುರಕ್ಷತೆಯನ್ನು ಸುಧಾರಿಸುತ್ತದೆ, lಅಥವಾ ಅದು ಸ್ಟಾಕ್ ದಾಳಿಯನ್ನು ಹೆಚ್ಚು ಕಷ್ಟಕರ ಮತ್ತು ಕಡಿಮೆ ಯಶಸ್ವಿಯಾಗಿಸುತ್ತದೆ

ಪ್ಯಾಚ್‌ನ ಮೂಲ ಕಲ್ಪನೆಯು ಪ್ಯಾಕ್ಸ್ ರಾಂಡ್‌ಸ್ಟ್ಯಾಕ್ ಯೋಜನೆಗೆ ಸೇರಿದೆ. 2019 ರಲ್ಲಿ, ಇಂಟೆಲ್‌ನ ಎಂಜಿನಿಯರ್ ಎಲೆನಾ ರೆಶೆಟೋವಾ ಈ ಕಲ್ಪನೆಯ ಅನುಷ್ಠಾನವನ್ನು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸಿದರು, ಇದು ಲಿನಕ್ಸ್ ಕರ್ನಲ್‌ನ ಮುಖ್ಯ ಸಂಯೋಜನೆಯಲ್ಲಿ ಸೇರಿಸಲು ಸೂಕ್ತವಾಗಿದೆ.

ತರುವಾಯ, ಕೀಸ್ ಕುಕ್ ಈ ಉಪಕ್ರಮವನ್ನು ಕೈಗೊಂಡರು ಅವರು ಕರ್ನಲ್‌ನ ಮುಖ್ಯ ಆವೃತ್ತಿಗೆ ಸೂಕ್ತವಾದ ಅನುಷ್ಠಾನವನ್ನು ಪ್ರಸ್ತುತಪಡಿಸಿದರು ಮತ್ತು ಅವರ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಲಿನಕ್ಸ್‌ನ ಆವೃತ್ತಿ 5.13 ಕ್ಕೆ ಯೋಜಿಸಲಾಗಿದೆ.

ಮೋಡ್ ಅನ್ನು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು, ಕರ್ನಲ್ ಆಜ್ಞಾ ಸಾಲಿನ ನಿಯತಾಂಕವನ್ನು ನೀಡಲಾಗುತ್ತದೆ "ರಾಂಡಮೈಜ್_ಕ್ಸ್ಟ್ಯಾಕ್_ಆಫ್ಸೆಟ್ = ಆನ್ / ಆಫ್»ಮತ್ತು ಸೆಟ್ಟಿಂಗ್‌ಗಳು CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT, ಹೆಚ್ಚುವರಿಯಾಗಿ, ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವ ಓವರ್ಹೆಡ್ ಕಾರ್ಯಕ್ಷಮತೆಯ ಸರಿಸುಮಾರು 1% ನಷ್ಟ ಎಂದು ಅಂದಾಜಿಸಲಾಗಿದೆ.

ಪ್ರತಿ ಸಿಸ್ಟಮ್ ಕರೆಯಲ್ಲಿ ಯಾದೃಚ್ om ಿಕ ಸ್ಟಾಕ್ ಆಫ್‌ಸೆಟ್ ಅನ್ನು ಆರಿಸುವುದು ಪ್ರಸ್ತಾವಿತ ರಕ್ಷಣೆಯ ಮೂಲತತ್ವವಾಗಿದೆ, ವಿಳಾಸದ ಮಾಹಿತಿಯನ್ನು ಸ್ವೀಕರಿಸಿದರೂ ಸಹ ಮೆಮೊರಿಯಲ್ಲಿ ಸ್ಟಾಕ್ ವಿನ್ಯಾಸದ ನಿರ್ಣಯವನ್ನು ಸಂಕೀರ್ಣಗೊಳಿಸುತ್ತದೆ, ಏಕೆಂದರೆ ಮುಂದಿನ ಕರೆಯಲ್ಲಿ ಸ್ಟಾಕ್‌ನ ಮೂಲ ವಿಳಾಸವು ಬದಲಾಗುತ್ತದೆ.

ಅನುಷ್ಠಾನಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿ ಪ್ಯಾಕ್ಸ್ ರಾಂಡ್‌ಸ್ಟ್ಯಾಕ್, ಕರ್ನಲ್ನಲ್ಲಿ ಸೇರಿಸಲು ಪ್ರಸ್ತಾಪಿಸಲಾದ ಪ್ಯಾಚ್ಗಳಲ್ಲಿ, ಆರಂಭಿಕ ಹಂತದಲ್ಲಿ ಯಾದೃಚ್ ization ಿಕೀಕರಣವನ್ನು ಮಾಡಲಾಗುವುದಿಲ್ಲ, ಆದರೆ pt_regs ರಚನೆಯನ್ನು ಹೊಂದಿಸಿದ ನಂತರ, ಇದು ದೀರ್ಘಕಾಲೀನ ಸಿಸ್ಟಮ್ ಕರೆಯ ಸಮಯದಲ್ಲಿ ಯಾದೃಚ್ off ಿಕ ಆಫ್‌ಸೆಟ್ ಅನ್ನು ನಿರ್ಧರಿಸಲು ptrace- ಆಧಾರಿತ ವಿಧಾನಗಳನ್ನು ಬಳಸುವುದು ಅಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ.

ಲಿನಕ್ಸ್ ಕರ್ನಲ್ ಸ್ಟಾಕ್ ರಕ್ಷಣೆಗಳು ನಿರಂತರವಾಗಿ ಸುಧಾರಿಸಿದಂತೆ (ರಕ್ಷಣೆ ಪುಟಗಳೊಂದಿಗೆ vmap- ಆಧಾರಿತ ಸ್ಟಾಕ್ ಮ್ಯಾಪಿಂಗ್, ಥ್ರೆಡ್_ಇನ್ಫೊ ತೆಗೆಯುವಿಕೆ, STACKLEAK), ದಾಳಿಕೋರರು ತಮ್ಮ ಶೋಷಣೆಗಳು ಕೆಲಸ ಮಾಡಲು ಹೊಸ ಮಾರ್ಗಗಳನ್ನು ಹುಡುಕಬೇಕಾಗಿದೆ.

ಅವರು, ಮತ್ತು ಸಂದರ್ಭಗಳಲ್ಲಿ ಕರ್ನಲ್ ಸ್ಟಾಕ್ ನಿರ್ಣಾಯಕತೆಯನ್ನು ಅವಲಂಬಿಸಿರುತ್ತಾರೆ VMAP_STACK ಮತ್ತು THREAD_INFO_IN_TASK_STRUCT ಅವು ಪ್ರಸ್ತುತವಲ್ಲ. ಉದಾಹರಣೆಗೆ, ಸಿಸ್ಟಮ್ ಕರೆಗಳ ನಡುವೆ ಸ್ಟಾಕ್ ಆಫ್‌ಸೆಟ್ ನಿರ್ಣಾಯಕವಾಗಿರದಿದ್ದರೆ ಈ ಕೆಳಗಿನ ಇತ್ತೀಚಿನ ದಾಳಿಗಳು ಅಡ್ಡಿಯಾಗಬಹುದು

ಯಾದೃಚ್ ize ಿಕ_ಸೆಟ್_ಆಫ್ಸೆಟ್ ಕಾರ್ಯದ ಉದ್ದೇಶ ಯಾದೃಚ್ off ಿಕ ಆಫ್‌ಸೆಟ್ ಅನ್ನು ಸೇರಿಸುವುದು pt_regs ಅನ್ನು ಸ್ಟ್ಯಾಕ್‌ಗೆ ತಳ್ಳಿದ ನಂತರ ಮತ್ತು ಸಿಸ್ಟಮ್ ಥ್ರೆಡ್ ಪ್ರಕ್ರಿಯೆಯ ಸಮಯದಲ್ಲಿ ಉಳಿದ ಥ್ರೆಡ್ ಸ್ಟ್ಯಾಕ್ ಅನ್ನು ಬಳಸುವ ಮೊದಲು, ಮತ್ತು ಪ್ರತಿ ಬಾರಿ ಸಿಸ್ಟಮ್ ಕರೆ ನೀಡಿದಾಗ ಅದನ್ನು ಬದಲಾಯಿಸಿ. ಯಾದೃಚ್ ness ಿಕತೆಯ ಮೂಲವನ್ನು ಪ್ರಸ್ತುತ ವಾಸ್ತುಶಿಲ್ಪವು ವ್ಯಾಖ್ಯಾನಿಸಿದೆ (ಆದರೆ x86 rdtsc () ನ ಕಡಿಮೆ ಬೈಟ್ ಅನ್ನು ಬಳಸುತ್ತದೆ).

ಎಂಟ್ರೊಪಿಯ ವಿವಿಧ ಮೂಲಗಳಿಗೆ ಭವಿಷ್ಯದ ವರ್ಧನೆಗಳು ಸಾಧ್ಯ, ಆದರೆ ಈ ಪ್ಯಾಚ್‌ನ ವ್ಯಾಪ್ತಿಯಿಂದ ಹೊರಗಿದೆ. ಅಲ್ಲದೆ, ಹೆಚ್ಚಿನ ಅನಿರೀಕ್ಷಿತತೆಯನ್ನು ಸೇರಿಸಲು, ಸಿಸ್ಟಮ್ ಕರೆಗಳ ಕೊನೆಯಲ್ಲಿ ಹೊಸ ಆಫ್‌ಸೆಟ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗುತ್ತದೆ (ಸಿಸ್ಟಂ ಕರೆ ಪ್ರವೇಶಿಸುವ ಸಮಯಕ್ಕಿಂತ ಬಳಕೆದಾರರ ಸ್ಥಳದಿಂದ ಅಳೆಯುವ ಸಮಯ ಕಡಿಮೆ ಇರಬೇಕು) ಮತ್ತು ಅವುಗಳನ್ನು ಪ್ರತಿ ವೇರಿಯೇಬಲ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಸಿಪಿಯು, ಇದರಿಂದಾಗಿ ಮೌಲ್ಯದ ಜೀವಿತಾವಧಿಯು ಒಂದೇ ಕಾರ್ಯಕ್ಕೆ ಸ್ಪಷ್ಟವಾಗಿ ಸಂಬಂಧಿಸಿಲ್ಲ.

X86 ನಲ್ಲಿ ಇದಕ್ಕಾಗಿ ಯಾವುದೇ ಗೋಚರ ಬದಲಾವಣೆಗಳಿಲ್ಲ ಏಕೆಂದರೆ ಸ್ಟ್ಯಾಕ್ ಸೇವರ್ ಅನ್ನು ಈಗಾಗಲೇ ಸಂಕಲನ ಘಟಕಕ್ಕೆ ಬೇಷರತ್ತಾಗಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ, ಆದರೆ ಬದಲಾವಣೆ ಆರ್ಮ್ 64 ನಲ್ಲಿ ಅಗತ್ಯವಿದೆ. ದುರದೃಷ್ಟವಶಾತ್, ನಿರ್ದಿಷ್ಟ ಕಾರ್ಯಗಳಿಗಾಗಿ ಸ್ಟಾಕ್ ಸೇವರ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಯಾವುದೇ ಗುಣಲಕ್ಷಣಗಳಿಲ್ಲ. PaX RANDKSTACK ಕ್ರಿಯೆಯೊಂದಿಗೆ ಹೋಲಿಕೆ: RANDKSTACK ಕಾರ್ಯವು ಸ್ಟಾಕ್‌ನ ಪ್ರಾರಂಭದ ಸ್ಥಳವನ್ನು (cpu_current_top_of_stack) ಯಾದೃಚ್ izes ಿಕಗೊಳಿಸುತ್ತದೆ, ಅಂದರೆ, ಇದು ಸ್ಟಾಕ್‌ನಲ್ಲಿನ pt_regs ರಚನೆಯ ಸ್ಥಳವನ್ನು ಒಳಗೊಂಡಿದೆ.

ಆರಂಭದಲ್ಲಿ, ಈ ಪ್ಯಾಚ್ ಅದೇ ವಿಧಾನವನ್ನು ಅನುಸರಿಸಿತು, ಆದರೆ ಇತ್ತೀಚಿನ ಚರ್ಚೆಗಳ ಸಮಯದಲ್ಲಿ ಆಕ್ರಮಣಕಾರರಿಗೆ ಪಿಟ್ರೇಸ್ ಕಾರ್ಯವು ಲಭ್ಯವಾಗಿದೆಯೆಂದು ಕಡಿಮೆ ಮೌಲ್ಯದ್ದಾಗಿದೆ ಎಂದು ನಿರ್ಧರಿಸಲಾಗಿದೆ, ನೀವು pt_regs ರಚನೆಗೆ ವಿಭಿನ್ನ ಆಫ್‌ಸೆಟ್‌ಗಳನ್ನು ಓದಲು / ಬರೆಯಲು PTRACE_PEEKUSR ಅನ್ನು ಬಳಸಬಹುದು, ಪ್ರವೇಶ ಸಂಗ್ರಹ ನಡವಳಿಕೆಯನ್ನು ಗಮನಿಸಿ pt_regs ಸ್ಟಾಕ್ ಆಫ್ಸೆಟ್.

ಅಂತಿಮವಾಗಿ ಅದನ್ನು ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ ಆರಂಭಿಕ ಅನುಷ್ಠಾನವು ARM64 ಮತ್ತು x86 / x86_64 ಪ್ರೊಸೆಸರ್‌ಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ.


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: AB ಇಂಟರ್ನೆಟ್ ನೆಟ್ವರ್ಕ್ಸ್ 2008 SL
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.