ಝೆನ್ + ಮತ್ತು ಝೆನ್ 2 ಮೈಕ್ರೊ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ ಎಎಮ್‌ಡಿ ಪ್ರೊಸೆಸರ್‌ಗಳಲ್ಲಿ ಮೆಲ್ಟ್‌ಡೌನ್ ವರ್ಗದ ದುರ್ಬಲತೆಯನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗಿದೆ

ಡ್ರೆಸ್ಡೆನ್ ತಾಂತ್ರಿಕ ವಿಶ್ವವಿದ್ಯಾನಿಲಯದ ಸಂಶೋಧಕರ ಗುಂಪು ಝೆನ್ + ಮತ್ತು ಝೆನ್ 2020 ಮೈಕ್ರೊ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳ ಆಧಾರದ ಮೇಲೆ AMD ಪ್ರೊಸೆಸರ್‌ಗಳಲ್ಲಿ ದುರ್ಬಲತೆಯನ್ನು (CVE-12965-2) ಗುರುತಿಸಿದೆ, ಇದು ಮೆಲ್ಟ್‌ಡೌನ್ ವರ್ಗದ ದಾಳಿಯನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಎಎಮ್‌ಡಿ ಝೆನ್+ ಮತ್ತು ಝೆನ್ 2 ಪ್ರೊಸೆಸರ್‌ಗಳು ಮೆಲ್ಟ್‌ಡೌನ್ ದುರ್ಬಲತೆಗೆ ಒಳಗಾಗುವುದಿಲ್ಲ ಎಂದು ಆರಂಭದಲ್ಲಿ ಊಹಿಸಲಾಗಿತ್ತು, ಆದರೆ ಕ್ಯಾನೊನಿಕಲ್ ಅಲ್ಲದ ವರ್ಚುವಲ್ ವಿಳಾಸಗಳನ್ನು ಬಳಸುವಾಗ ಸಂರಕ್ಷಿತ ಮೆಮೊರಿ ಪ್ರದೇಶಗಳಿಗೆ ಊಹಾತ್ಮಕ ಪ್ರವೇಶಕ್ಕೆ ಕಾರಣವಾಗುವ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸಂಶೋಧಕರು ಗುರುತಿಸಿದ್ದಾರೆ.

AMD64 ಆರ್ಕಿಟೆಕ್ಚರ್ ವರ್ಚುವಲ್ ವಿಳಾಸದ ಮೊದಲ 48 ಬಿಟ್‌ಗಳನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತದೆ ಮತ್ತು ಉಳಿದ 16 ಬಿಟ್‌ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ. ಬಿಟ್‌ಗಳು 48 ರಿಂದ 63 ರವರೆಗೆ ಯಾವಾಗಲೂ ಬಿಟ್ 47 (ಸೈನ್ ಬಿಟ್ ವಿಸ್ತರಣೆ) ಮೌಲ್ಯವನ್ನು ನಕಲಿಸಬೇಕು ಎಂದು ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿದೆ. ಈ ಸ್ಥಿತಿಯನ್ನು ಉಲ್ಲಂಘಿಸಿದರೆ ಮತ್ತು ಮೇಲಿನ ಬಿಟ್‌ಗಳ ಅನಿಯಂತ್ರಿತ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ವಿಳಾಸವನ್ನು ಪ್ರವೇಶಿಸಲು ಪ್ರಯತ್ನಿಸಿದರೆ, ಪ್ರೊಸೆಸರ್ ವಿನಾಯಿತಿಯನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಮೇಲಿನ ಬಿಟ್‌ಗಳನ್ನು ಪುನರಾವರ್ತಿತವಾಗಿ ಭರ್ತಿ ಮಾಡುವುದರಿಂದ ಲಭ್ಯವಿರುವ ವಿಳಾಸದ ಜಾಗವನ್ನು ಎರಡು ಬ್ಲಾಕ್‌ಗಳಾಗಿ ವಿಭಜಿಸಲು ಕಾರಣವಾಗುತ್ತದೆ - ಕೆಳಗಿನ ಒಂದು (0 ರಿಂದ 00007FFFFFFFFFFFF), ಇದರಲ್ಲಿ ಮೇಲಿನ ಬಿಟ್‌ಗಳನ್ನು 800000000000 ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ, ಮತ್ತು ಮೇಲಿನ ಬಿಟ್‌ಗಳು (FFFF1 ರಿಂದ FFFFFFFFFFFFF), ಎಲ್ಲಾ ಮೇಲಿನ ಬಿಟ್‌ಗಳನ್ನು XNUMX ಗೆ ಹೊಂದಿಸಲಾಗಿದೆ.

ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಬ್ಲಾಕ್‌ಗಳೊಳಗೆ ಬರುವ ವಿಳಾಸಗಳನ್ನು ಅಂಗೀಕೃತ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಮೇಲಿನ ಬಿಟ್‌ಗಳ ಅನಿಯಂತ್ರಿತ ವಿಷಯಗಳೊಂದಿಗೆ ತಪ್ಪಾದ ವಿಳಾಸಗಳನ್ನು ಕ್ಯಾನೊನಿಕಲ್ ಅಲ್ಲ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಕೆಳಗಿನ ಶ್ರೇಣಿಯ ಅಂಗೀಕೃತ ವಿಳಾಸಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರಕ್ರಿಯೆ ಡೇಟಾಕ್ಕಾಗಿ ಹಂಚಲಾಗುತ್ತದೆ ಮತ್ತು ಮೇಲಿನ ಶ್ರೇಣಿಯನ್ನು ಕರ್ನಲ್ ಡೇಟಾಕ್ಕಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ (ಬಳಕೆದಾರ ಸ್ಥಳದಿಂದ ಈ ವಿಳಾಸಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಸವಲತ್ತು ಬೇರ್ಪಡಿಕೆ ಮಟ್ಟದಲ್ಲಿ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ).

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

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

AMD ಝೆನ್+ ಮತ್ತು ಝೆನ್ 2 ಪ್ರೊಸೆಸರ್‌ಗಳ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರುವ ಹೊಸ ದುರ್ಬಲತೆಯ ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ CPUಗಳು ಮೇಲಿನ 16 ಬಿಟ್‌ಗಳನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ ಅಮಾನ್ಯವಾದ ಅಂಗೀಕೃತವಲ್ಲದ ವಿಳಾಸಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಮೆಮೊರಿಯನ್ನು ಪ್ರವೇಶಿಸುವ ಊಹಾತ್ಮಕ ಓದಲು ಮತ್ತು ಬರೆಯಲು ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ. ಹೀಗಾಗಿ, ಊಹಾತ್ಮಕ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಸಮಯದಲ್ಲಿ, ಪ್ರೊಸೆಸರ್ ಯಾವಾಗಲೂ ಕಡಿಮೆ 48 ಬಿಟ್‌ಗಳನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತದೆ ಮತ್ತು ವಿಳಾಸದ ಸಿಂಧುತ್ವವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಪರಿಶೀಲಿಸಲಾಗುತ್ತದೆ. ಅಸೋಸಿಯೇಟಿವ್ ಟ್ರಾನ್ಸ್ಲೇಶನ್ ಬಫರ್ (TLB) ನಲ್ಲಿನ ಭೌತಿಕ ವಿಳಾಸಕ್ಕೆ ಕ್ಯಾನೊನಿಕಲ್ ಅಲ್ಲದ ವರ್ಚುವಲ್ ವಿಳಾಸವನ್ನು ಭಾಷಾಂತರಿಸುವಾಗ, ವಿಳಾಸದ ಅಂಗೀಕೃತ ಭಾಗದಲ್ಲಿ ಹೊಂದಾಣಿಕೆ ಕಂಡುಬಂದರೆ, ಊಹಾತ್ಮಕ ಲೋಡ್ ಕಾರ್ಯಾಚರಣೆಯು ವಿಷಯಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳದೆ ಮೌಲ್ಯವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ ಮೇಲಿನ 16 ಬಿಟ್‌ಗಳು, ಇದು ಥ್ರೆಡ್‌ಗಳ ನಡುವೆ ಮೆಮೊರಿ ಹಂಚಿಕೆಯನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ. ತರುವಾಯ, ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಅಮಾನ್ಯವೆಂದು ಪರಿಗಣಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ತಿರಸ್ಕರಿಸಲಾಗುತ್ತದೆ, ಆದರೆ ಮೆಮೊರಿ ಪ್ರವೇಶವು ಪೂರ್ಣಗೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಡೇಟಾ ಸಂಗ್ರಹಣೆಯಲ್ಲಿ ಕೊನೆಗೊಳ್ಳುತ್ತದೆ.

ಪ್ರಯೋಗದ ಸಮಯದಲ್ಲಿ, ಫ್ಲಶ್ + ರಿಲೋಡ್ ಸಂಗ್ರಹದ ವಿಷಯಗಳನ್ನು ನಿರ್ಧರಿಸುವ ತಂತ್ರವನ್ನು ಬಳಸಿಕೊಂಡು, ಸಂಶೋಧಕರು ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ 125 ಬೈಟ್‌ಗಳ ವೇಗದಲ್ಲಿ ಗುಪ್ತ ಡೇಟಾ ವರ್ಗಾವಣೆಗಾಗಿ ಚಾನಲ್ ಅನ್ನು ಸಂಘಟಿಸಲು ಸಾಧ್ಯವಾಯಿತು. ಎಎಮ್‌ಡಿ ಚಿಪ್‌ಗಳ ಜೊತೆಗೆ, ಸಮಸ್ಯೆಯು ಎಲ್ಲಾ ಇಂಟೆಲ್ ಪ್ರೊಸೆಸರ್‌ಗಳ ಮೇಲೂ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ, ಇದು ಕ್ಲಾಸಿಕ್ ಮೆಲ್ಟ್‌ಡೌನ್ ದುರ್ಬಲತೆಗೆ ಒಳಗಾಗುತ್ತದೆ. LFENCE ಸೂಚನೆಗಳನ್ನು ಬಳಸುವಂತಹ ಮೆಲ್ಟ್‌ಡೌನ್ ದಾಳಿಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲು ಸಹಾಯ ಮಾಡುವ ಅದೇ ತಂತ್ರಗಳನ್ನು ಈ ಹೊಸ ರೀತಿಯ ದಾಳಿಯಿಂದ ರಕ್ಷಿಸಲು ಬಳಸಬಹುದು. ಉದಾಹರಣೆಗೆ, ಇಂಟೆಲ್ ಪ್ರೊಸೆಸರ್ ಮೆಲ್ಟ್‌ಡೌನ್ ವಿರುದ್ಧ ಹಾರ್ಡ್‌ವೇರ್ ರಕ್ಷಣೆಯನ್ನು ಹೊಂದಿದ್ದರೆ ಅಥವಾ ಸಿಸ್ಟಮ್ ಸಾಫ್ಟ್‌ವೇರ್ ರಕ್ಷಣೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ್ದರೆ, ಅಂತಹ ಕಾನ್ಫಿಗರೇಶನ್‌ಗಳು ಹೊಸ ದಾಳಿಯ ರೂಪಾಂತರಕ್ಕೆ ಒಳಗಾಗುವುದಿಲ್ಲ.

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

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

ಮೂಲ: opennet.ru

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