ARM ಮತ್ತು Intel CPUಗಳ ಮೇಲಿನ ದತ್ತಾಂಶದ ಮೇಲೆ ಸೂಚನೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯದ ಅವಲಂಬನೆ

ಅಡಿಯಾಂಟಮ್ ಸೈಫರ್‌ನ ಡೆವಲಪರ್‌ಗಳಲ್ಲಿ ಒಬ್ಬರಾದ ಮತ್ತು ಲಿನಕ್ಸ್ ಕರ್ನಲ್ fscrypt ಉಪವ್ಯವಸ್ಥೆಯ ನಿರ್ವಾಹಕರಾದ ಎರಿಕ್ ಬಿಗ್ಗರ್ಸ್, ಇಂಟೆಲ್ ಪ್ರೊಸೆಸರ್‌ಗಳ ವೈಶಿಷ್ಟ್ಯದಿಂದ ಉದ್ಭವಿಸುವ ಭದ್ರತಾ ಸಮಸ್ಯೆಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲು ಪ್ಯಾಚ್‌ಗಳ ಗುಂಪನ್ನು ಪ್ರಸ್ತಾಪಿಸಿದರು, ಅದು ವಿಭಿನ್ನ ಸಂಸ್ಕರಿಸಿದ ಡೇಟಾಗೆ ನಿರಂತರವಾದ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯವನ್ನು ಖಾತರಿಪಡಿಸುವುದಿಲ್ಲ. ಐಸ್ ಲೇಕ್ ಕುಟುಂಬದಿಂದ ಪ್ರಾರಂಭವಾಗುವ ಇಂಟೆಲ್ ಪ್ರೊಸೆಸರ್‌ಗಳಲ್ಲಿ ಸಮಸ್ಯೆ ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತದೆ. ARM ಪ್ರೊಸೆಸರ್‌ಗಳಲ್ಲಿ ಇದೇ ರೀತಿಯ ಸಮಸ್ಯೆಯನ್ನು ಗಮನಿಸಲಾಗಿದೆ.

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

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

ಈ ನಡವಳಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು, Intel ಮತ್ತು ARM ಹೊಸ ಫ್ಲ್ಯಾಗ್‌ಗಳನ್ನು ಪ್ರಸ್ತಾಪಿಸಿವೆ: ARM CPU ಗಳಿಗಾಗಿ PSTATE ಬಿಟ್ DIT (ಡೇಟಾ ಇಂಡಿಪೆಂಡೆಂಟ್ ಟೈಮಿಂಗ್) ಮತ್ತು Intel CPU ಗಳಿಗಾಗಿ MSR ಬಿಟ್ DOITM (ಡೇಟಾ ಆಪರೇಂಡ್ ಇಂಡಿಪೆಂಡೆಂಟ್ ಟೈಮಿಂಗ್ ಮೋಡ್), ನಿರಂತರ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯದೊಂದಿಗೆ ಹಳೆಯ ನಡವಳಿಕೆಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ನಿರ್ಣಾಯಕ ಕೋಡ್‌ಗೆ ಅಗತ್ಯವಿರುವಂತೆ ರಕ್ಷಣೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು Intel ಮತ್ತು ARM ಶಿಫಾರಸು ಮಾಡುತ್ತವೆ, ಆದರೆ ವಾಸ್ತವದಲ್ಲಿ, ನಿರ್ಣಾಯಕ ಗಣನೆಯು ಕರ್ನಲ್ ಮತ್ತು ಬಳಕೆದಾರರ ಜಾಗದಲ್ಲಿ ಎಲ್ಲಿಯಾದರೂ ಸಂಭವಿಸಬಹುದು, ಆದ್ದರಿಂದ ನಾವು ಎಲ್ಲಾ ಸಮಯದಲ್ಲೂ ಸಂಪೂರ್ಣ ಕರ್ನಲ್‌ಗಾಗಿ DOITM ಮತ್ತು DIT ಮೋಡ್‌ಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಪರಿಗಣಿಸುತ್ತಿದ್ದೇವೆ.

ARM ಪ್ರೊಸೆಸರ್‌ಗಳಿಗಾಗಿ, Linux 6.2 ಕರ್ನಲ್ ಶಾಖೆಯು ಈಗಾಗಲೇ ಕರ್ನಲ್‌ಗಾಗಿ ವರ್ತನೆಯನ್ನು ಬದಲಾಯಿಸುವ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಅಳವಡಿಸಿಕೊಂಡಿದೆ, ಆದರೆ ಈ ಪ್ಯಾಚ್‌ಗಳು ಕರ್ನಲ್ ಕೋಡ್ ಅನ್ನು ಮಾತ್ರ ಒಳಗೊಂಡಿರುವುದರಿಂದ ಮತ್ತು ಬಳಕೆದಾರರ ಸ್ಥಳಕ್ಕಾಗಿ ನಡವಳಿಕೆಯನ್ನು ಬದಲಾಯಿಸದ ಕಾರಣ ಈ ಪ್ಯಾಚ್‌ಗಳನ್ನು ಸಾಕಷ್ಟಿಲ್ಲವೆಂದು ಪರಿಗಣಿಸಲಾಗಿದೆ. ಇಂಟೆಲ್ ಪ್ರೊಸೆಸರ್‌ಗಳಿಗಾಗಿ, ರಕ್ಷಣೆಯ ಸೇರ್ಪಡೆಯು ಇನ್ನೂ ಪರಿಶೀಲನೆ ಹಂತದಲ್ಲಿದೆ. ಕಾರ್ಯಕ್ಷಮತೆಯ ಮೇಲೆ ಪ್ಯಾಚ್‌ನ ಪ್ರಭಾವವನ್ನು ಇನ್ನೂ ಅಳೆಯಲಾಗಿಲ್ಲ, ಆದರೆ ಇಂಟೆಲ್ ದಾಖಲಾತಿಯ ಪ್ರಕಾರ, DOITM ಮೋಡ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುವುದರಿಂದ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ (ಉದಾಹರಣೆಗೆ, ಡೇಟಾ-ನಿರ್ದಿಷ್ಟ ಪೂರ್ವಲೋಡಿಂಗ್‌ನಂತಹ ಕೆಲವು ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವ ಮೂಲಕ) ಮತ್ತು ಭವಿಷ್ಯದ ಪ್ರೊಸೆಸರ್ ಮಾದರಿಗಳಲ್ಲಿ ಕಾರ್ಯಕ್ಷಮತೆಯ ಕಡಿತವು ಹೆಚ್ಚಾಗಬಹುದು. .

ಮೂಲ: opennet.ru

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