ಮೆಲ್ಟ್‌ಡೌನ್ ದಾಳಿಯನ್ನು ಅನುಮತಿಸುವ AMD ಪ್ರೊಸೆಸರ್‌ಗಳಲ್ಲಿ ಮತ್ತೊಂದು ದುರ್ಬಲತೆಯನ್ನು ಗುರುತಿಸಲಾಗಿದೆ

ತಾಂತ್ರಿಕ ವಿಶ್ವವಿದ್ಯಾನಿಲಯ ಆಫ್ ಗ್ರಾಜ್ (ಆಸ್ಟ್ರಿಯಾ) ಮತ್ತು ಹೆಲ್ಮ್‌ಹೋಲ್ಟ್ಜ್ ಸೆಂಟರ್ ಫಾರ್ ಇನ್‌ಫರ್ಮೇಷನ್ ಸೆಕ್ಯುರಿಟಿ (ಸಿಐಎಸ್‌ಪಿಎ) ಯ ಸಂಶೋಧಕರ ತಂಡವು ಎಲ್ಲಾ ಎಎಮ್‌ಡಿ ಪ್ರೊಸೆಸರ್‌ಗಳಲ್ಲಿ ದುರ್ಬಲತೆಯನ್ನು (ಸಿವಿಇ-2021-26318) ಬಹಿರಂಗಪಡಿಸಿದೆ, ಅದು ಮೆಲ್ಟ್‌ಡೌನ್-ಕ್ಲಾಸ್ ಸೈಡ್ ಅನ್ನು ನಿರ್ವಹಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ಚಾನಲ್ ದಾಳಿಗಳು (ಆರಂಭದಲ್ಲಿ ಎಎಮ್‌ಡಿ ಪ್ರೊಸೆಸರ್‌ಗಳು ಮೆಲ್ಟ್‌ಡೌನ್ ದುರ್ಬಲತೆಯಿಂದ ಪ್ರಭಾವಿತವಾಗಿಲ್ಲ ಎಂದು ಭಾವಿಸಲಾಗಿತ್ತು). ಪ್ರಾಯೋಗಿಕ ಪರಿಭಾಷೆಯಲ್ಲಿ, ಕರ್ನಲ್‌ನಲ್ಲಿನ ದುರ್ಬಲತೆಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುವಾಗ KASLR ರಕ್ಷಣೆಯನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ರಹಸ್ಯ ಸಂವಹನ ಚಾನಲ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸಲು, ಕರ್ನಲ್‌ನಲ್ಲಿ ಚಟುವಟಿಕೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಅಥವಾ ಕರ್ನಲ್ ಮೆಮೊರಿಯಲ್ಲಿನ ವಿಳಾಸಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ದಾಳಿಯನ್ನು ಬಳಸಬಹುದು.

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

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

ಪ್ರಯೋಗದ ಸಮಯದಲ್ಲಿ, ಸಂಶೋಧಕರು ಸೆಕೆಂಡಿಗೆ 52 ಬೈಟ್‌ಗಳ ವೇಗದಲ್ಲಿ ಬಳಕೆದಾರರ ಜಾಗದಲ್ಲಿ ಪ್ರಕ್ರಿಯೆಗೆ ಕರ್ನಲ್‌ನಿಂದ ಮಾಹಿತಿಯನ್ನು ಸೋರಿಕೆ ಮಾಡಲು ನಿರ್ವಹಿಸುತ್ತಿದ್ದರು, ಕರ್ನಲ್‌ನಲ್ಲಿ ಗ್ಯಾಜೆಟ್‌ನ ಉಪಸ್ಥಿತಿಯನ್ನು ನೀಡಿದರೆ ಅದು ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ “if (ofset <data_len) tmp = LUT[ಡೇಟಾ[ಆಫ್‌ಸೆಟ್] * 4096]; ಊಹಾತ್ಮಕ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ಸಂಗ್ರಹದಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುವ ಸೈಡ್ ಚಾನಲ್‌ಗಳ ಮೂಲಕ ಮಾಹಿತಿಯನ್ನು ಮರುಪಡೆಯಲು ಹಲವಾರು ವಿಧಾನಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ. ಮೊದಲ ವಿಧಾನವು ಪ್ರೊಸೆಸರ್ ಸೂಚನೆಯ "ಪ್ರಿಫೆಚ್" (ಪ್ರಿಫೆಚ್ + ಟೈಮ್) ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯದಲ್ಲಿ ವಿಚಲನಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುವುದನ್ನು ಆಧರಿಸಿದೆ, ಮತ್ತು ಎರಡನೆಯದು "ಪ್ರಿಫೆಚ್" (ಪ್ರಿಫೆಚ್ + ಪವರ್) ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ ಶಕ್ತಿಯ ಬಳಕೆಯಲ್ಲಿ ಬದಲಾವಣೆಯನ್ನು ಬದಲಾಯಿಸುತ್ತದೆ.

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

ಊಹಾತ್ಮಕವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಕಾರ್ಯಾಚರಣೆಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಸೂಚನೆಗಳಂತೆಯೇ ಅದೇ ಸಂಗ್ರಹವನ್ನು ಬಳಸುವುದರಿಂದ, ಖಾಸಗಿ ಮೆಮೊರಿ ಪ್ರದೇಶದಲ್ಲಿ ಪ್ರತ್ಯೇಕ ಬಿಟ್‌ಗಳ ವಿಷಯಗಳನ್ನು ಪ್ರತಿಬಿಂಬಿಸುವ ಸಂಗ್ರಹದಲ್ಲಿ ಮಾರ್ಕರ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು ಊಹಾತ್ಮಕ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ಸಾಧ್ಯವಿದೆ ಮತ್ತು ನಂತರ ಸಾಮಾನ್ಯವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಿದ ಕೋಡ್‌ನಲ್ಲಿ ಸಮಯದ ಮೂಲಕ ಅವುಗಳ ಮೌಲ್ಯವನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಿದೆ. ಕ್ಯಾಶ್ ಮಾಡಿದ ಮತ್ತು ಕ್ಯಾಶ್ ಮಾಡದ ಡೇಟಾಗೆ ವಿಶ್ಲೇಷಣೆ ಪ್ರವೇಶಗಳು.

ಮೂಲ: opennet.ru

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