Trojan Source
ಟ್ರೋಜನ್ ಸೋರ್ಸ್ ಎಂಬುದು ಸೋರ್ಸ್ ಕೋಡ್ನ ನಿಜವಾದ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಗಿಂತ ವಿಭಿನ್ನವಾಗಿ ಸೋರ್ಸ್ ಕೋಡ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸಲು ಯೂನಿಕೋಡ್ನ ದ್ವಿದಿಶೆಯ ಅಕ್ಷರಗಳನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳುವ ಸಾಫ್ಟ್ವೇರ್ ದುರ್ಬಲತೆಯ ಹೆಸರಾಗಿದೆ. ವಿವಿಧ ಓದುವ ನಿರ್ದೇಶನಗಳ ಬರವಣಿಗೆಯ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಕಂಪ್ಯೂಟರ್ಗಳಲ್ಲಿ ಹೇಗೆ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಎನ್ಕೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಈ ಎಕ್ಸ್ಪ್ಲೋಯಿಟ್ ಬಳಸುತ್ತದೆ. ಇದನ್ನು 2021ರ ಕೊನೆಯಲ್ಲಿ ಕೇಂಬ್ರಿಡ್ಜ್ ವಿಶ್ವವಿದ್ಯಾಲಯದಲ್ಲಿ ನಿಕೋಲಸ್ ಬೌಚರ್ ಮತ್ತು ರಾಸ್ ಆಂಡರ್ಸನ್ ಕಂಡುಹಿಡಿದರು. ಹಿನ್ನೆಲೆ ಯುನಿಕೋಡ್ ಎಂಬುದು ಪಠ್ಯ, ಚಿಹ್ನೆಗಳು ಮತ್ತು ಗ್ಲಿಫ್ಗಳನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಎನ್ಕೋಡಿಂಗ್ ಮಾನದಂಡವಾಗಿದೆ. ಯುನಿಕೋಡ್ ಕಂಪ್ಯೂಟರ್ಗಳಲ್ಲಿ ಅತ್ಯಂತ ಪ್ರಬಲವಾದ ಎನ್ಕೋಡಿಂಗ್ ಆಗಿದ್ದು, 98 ಪ್ರತಿಶತಕ್ಕೂ ಹೆಚ್ಚು ವೆಬ್ಸೈಟ್ಗಳಲ್ಲಿ ಇದನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಇದು ಅನೇಕ ಭಾಷೆಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ, ಮತ್ತು ಈ ಕಾರಣದಿಂದಾಗಿ, ಇದು ಪಠ್ಯವನ್ನು ಬರೆಯುವ ವಿವಿಧ ವಿಧಾನಗಳನ್ನು ಬೆಂಬಲಿಸಬೇಕು. ಇದಕ್ಕೆ ಇಂಗ್ಲಿಷ್ ಮತ್ತು ರಷ್ಯಾದಂತಹ ಎಡದಿಂದ ಬಲಕ್ಕೆ ಮತ್ತು ಹೀಬ್ರೂ ಮತ್ತು ಅರೇಬಿಕ್ನಂತಹ ಬಲದಿಂದ ಎಡಕ್ಕೆ ಎರಡೂ ಭಾಷೆಗಳಿಗೆ ಬೆಂಬಲದ ಅಗತ್ಯವಿದೆ. ಯೂನಿಕೋಡ್ ಒಂದಕ್ಕಿಂತ ಹೆಚ್ಚು ಬರವಣಿಗೆ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಪರಿಹರಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿರುವುದರಿಂದ, ಇದು ವಿವಿಧ ಪ್ರದರ್ಶನ ಆದೇಶಗಳೊಂದಿಗೆ ಸ್ಕ್ರಿಪ್ಟ್ಗಳನ್ನು ಬೆರೆಸಲು ಮತ್ತು ಸಂಘರ್ಷದ ಆದೇಶಗಳನ್ನು ಪರಿಹರಿಸಲು ಸಮರ್ಥವಾಗಿರಬೇಕು. ಇದನ್ನು ಸರಿಪಡಿಸಲು, ಯೂನಿಕೋಡ್ ಪಠ್ಯವನ್ನು ಹೇಗೆ ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ವಿವರಿಸುವ ದ್ವಿದಿಶೆಯ ಅಕ್ಷರಗಳನ್ನು (ಬೀಡಿ) ಹೊಂದಿದೆ. ಅಕ್ಷರಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಅಗೋಚರವಾಗಿರುವುದರಿಂದ, ಪಠ್ಯವನ್ನು ದೃಷ್ಟಿಗೋಚರವಾಗಿ ಬದಲಾಯಿಸದೆ ಅದನ್ನು ಹೇಗೆ ಅರ್ಥೈಸಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ಬದಲಾಯಿಸಲು ಈ ಅಕ್ಷರಗಳನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳಬಹುದು. ವಿಧಾನವು ಶೋಷಣೆಯಲ್ಲಿ, ಮೂಲ ಕೋಡ್ನಲ್ಲಿ ಪಠ್ಯವನ್ನು ದೃಷ್ಟಿಗೋಚರವಾಗಿ ಮರುಕ್ರಮಗೊಳಿಸಲು ದ್ವಿ-ದಿಕ್ಕಿನ ಅಕ್ಷರಗಳನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳಲಾಗುತ್ತದೆ, ಇದರಿಂದಾಗಿ ನಂತರದ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯು ಬೇರೆ ಕ್ರಮದಲ್ಲಿ ಸಂಭವಿಸುತ್ತದೆ. ಸ್ಟ್ರಿಂಗ್ ಅಕ್ಷರಗಳನ್ನು ಅನುಮತಿಸಲಾಗಿರುವ ಮೂಲ ಸಂಕೇತದ ಪ್ರದೇಶಗಳಲ್ಲಿ ದ್ವಿದಿಶೆಯ ಅಕ್ಷರಗಳನ್ನು ಸೇರಿಸಬಹುದು. ಇದು ಹಲವುವೇಳೆ ದಾಖಲೆಗಳು, ಅಸ್ಥಿರತೆಗಳು ಅಥವಾ ಟಿಪ್ಪಣಿಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತದೆ. ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಆರ್ಎಲ್ಐ ಗುರುತು (ಬಲದಿಂದ ಎಡಕ್ಕೆ ಪ್ರತ್ಯೇಕ) ಈ ಕೆಳಗಿನ ಪಠ್ಯವನ್ನು ಹಿಮ್ಮುಖ ಕ್ರಮದಲ್ಲಿ ಅರ್ಥೈಸಿಕೊಳ್ಳುವಂತೆ ಒತ್ತಾಯಿಸುತ್ತದೆಃ ತ್ರಿವಳಿ-ಉಲ್ಲೇಖವು ಮೊದಲು (ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ), ನಂತರ ಅರ್ಧವಿರಾಮ (ಹೊಸ ರೇಖೆಯನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ), ಮತ್ತು ಅಂತಿಮವಾಗಿ ಅಕಾಲಿಕ ರಿಟರ್ನ್ (ಅದರ ಕೆಳಗಿರುವ ಯಾವುದೇ ಕೋಡ್ ಅನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ ಮತ್ತು ನಿರ್ಲಕ್ಷಿಸುತ್ತದೆ). ಹೊಸ ರೇಖೆಯು ಆರ್ಎಲ್ಐ ಚಿಹ್ನೆಯನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ, ಇದು ಕೆಳಗಿನ ಕೋಡ್ಗೆ ಹರಿಯುವುದನ್ನು ತಡೆಯುತ್ತದೆ. ಬೀಡಿ ಅಕ್ಷರದ ಕಾರಣದಿಂದಾಗಿ, ಕೆಲವು ಸೋರ್ಸ್ ಕೋಡ್ ಎಡಿಟರ್ಗಳು ಮತ್ತು ಐಡಿಇಗಳು ಕೋಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸಲಾಗಿದೆ ಎಂಬ ಯಾವುದೇ ದೃಶ್ಯ ಸೂಚನೆಯಿಲ್ಲದೆ ಪ್ರದರ್ಶನಕ್ಕಾಗಿ ಕೋಡ್ ಅನ್ನು ಮರುಹೊಂದಿಸುತ್ತಾರೆ, ಆದ್ದರಿಂದ ಮಾನವ ಕೋಡ್ ವಿಮರ್ಶಕರು ಸಾಮಾನ್ಯವಾಗಿ ಅವುಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವುದಿಲ್ಲ. ಆದಾಗ್ಯೂ, ಕೋಡ್ ಅನ್ನು ಕಂಪೈಲರ್ನಲ್ಲಿ ಸೇರಿಸಿದಾಗ, ಕಂಪೈಲರ್ ಬೀಡಿ ಚಾರ್ ಅನ್ನು ನಿರ್ಲಕ್ಷಿಸಬಹುದು ಮತ್ತು ಅಕ್ಷರಗಳನ್ನು ದೃಷ್ಟಿಗೋಚರವಾಗಿ ಪ್ರದರ್ಶಿಸುವುದಕ್ಕಿಂತ ವಿಭಿನ್ನ ಕ್ರಮದಲ್ಲಿ ಸಂಸ್ಕರಿಸಬಹುದು. ಕಂಪೈಲರ್ ಪೂರ್ಣಗೊಂಡಾಗ, ಅದು ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗದು ಎಂದು ದೃಷ್ಟಿಗೋಚರವಾಗಿ ತೋರುವ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು. ಸಂಕೀರ್ಣ ದಾಳಿಗಳನ್ನು ರಚಿಸಲು ಫಾರ್ಮ್ಯಾಟಿಂಗ್ ಗುರುತುಗಳನ್ನು ಅನೇಕ ಬಾರಿ ಸಂಯೋಜಿಸಬಹುದು. ಯುನಿಕೋಡ್ ತಂತಿಗಳನ್ನು ಬೆಂಬಲಿಸುವ ಮತ್ತು ಯೂನಿಕೋಡ್ನ ಬೀಡಿ ಅಲ್ಗಾರಿದಮ್ ಅನ್ನು ಅನುಸರಿಸುವ ಇಂಪ್ಯಾಕ್ಟ್ ಮತ್ತು ಮಿಟಿಗೇಷನ್ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಗಳು ಶೋಷಣೆಗೆ ಗುರಿಯಾಗುತ್ತವೆ. ಇದು ಜಾವಾ, ಗೋ, ಸಿ, ಸಿ + +, ಸಿ #, ಪೈಥಾನ್ ಮತ್ತು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಂತಹ ಭಾಷೆಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ದಾಳಿಯು ಕಟ್ಟುನಿಟ್ಟಾಗಿ ದೋಷವಲ್ಲವಾದರೂ, ಅನೇಕ ಸಂಕಲಕರು, ವ್ಯಾಖ್ಯಾನಕಾರರು ಮತ್ತು ಜಾಲತಾಣಗಳು ಶೋಷಣೆಗೆ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಅಥವಾ ಉಪಶಮನಗಳನ್ನು ಸೇರಿಸಿದವು. ಈ ಶೋಷಣೆಯನ್ನು ನಿಭಾಯಿಸಲು ಗ್ನೂ ಜಿಸಿಸಿ ಮತ್ತು ಎಲ್ಎಲ್ವಿಎಂ ಎರಡೂ ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸಿದವು. ಮಾರೆಕ್ ಪೋಲಾಸೆಕ್ ಈ ಶೋಷಣೆಯನ್ನು ಪ್ರಕಟಿಸಿದ ಸ್ವಲ್ಪ ಸಮಯದ ನಂತರ ಜಿಸಿಸಿಗೆ ಒಂದು ಪ್ಯಾಚ್ ಅನ್ನು ಸಲ್ಲಿಸಿದರು, ಅದು ಅಸುರಕ್ಷಿತ ದಿಕ್ಕಿನ ಅಕ್ಷರಗಳಿಗೆ ಎಚ್ಚರಿಕೆಯನ್ನು ಜಾರಿಗೆ ತಂದಿತು; ಈ ಕಾರ್ಯವನ್ನು ಜಿಸಿಸಿ 12 ಗಾಗಿ-ವಿಬಿಡಿ-ಅಕ್ಷರಗಳ ಧ್ವಜದ ಅಡಿಯಲ್ಲಿ ವಿಲೀನಗೊಳಿಸಲಾಯಿತು. ಎಲ್ಎಲ್ವಿಎಂ ಸಹ ಇದೇ ರೀತಿಯ ಪ್ಯಾಚ್ಗಳನ್ನು ವಿಲೀನಗೊಳಿಸಿತು. ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಅಕ್ಷರಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಕೋಡ್ ಅನ್ನು ತಿರಸ್ಕರಿಸುವ ಮೂಲಕ ರಸ್ಟ್ ಶೋಷಣೆಯನ್ನು 1.56.1 ನಲ್ಲಿ ಸರಿಪಡಿಸಿತು. ರಸ್ಟ್ನ ಅಭಿವರ್ಧಕರು ಸರಿಪಡಿಸುವ ಮೊದಲು ಯಾವುದೇ ದುರ್ಬಲ ಪ್ಯಾಕೇಜುಗಳನ್ನು ಕಂಡುಕೊಂಡಿಲ್ಲ. ರೆಡ್ ಹ್ಯಾಟ್ ತಮ್ಮ ಜಾಲತಾಣದಲ್ಲಿ ಈ ಶೋಷಣೆಯನ್ನು "ಮಧ್ಯಮ" ಎಂದು ಲೇಬಲ್ ಮಾಡುವ ಸಲಹೆಯನ್ನು ನೀಡಿತು. ಗಿಟ್ಹಬ್ ತಮ್ಮ ಬ್ಲಾಗ್ನಲ್ಲಿ ಎಚ್ಚರಿಕೆಯನ್ನು ಬಿಡುಗಡೆ ಮಾಡಿತು, ಜೊತೆಗೆ ಭಂಡಾರದ ಕೋಡ್ನಲ್ಲಿ ಬೀಡಿ ಅಕ್ಷರಗಳು ಪತ್ತೆಯಾದಾಗ ಸಂವಾದ ಪೆಟ್ಟಿಗೆಯನ್ನು ತೋರಿಸಲು ಜಾಲತಾಣವನ್ನು ನವೀಕರಿಸಿತು. ಉಲ್ಲೇಖಗಳು ಆವಿಷ್ಕಾರಕಾರರಿಂದ ಬಾಹ್ಯ ಕೊಂಡಿಗಳು, ನಿಕೋಲಸ್ ಬೌಚರ್ ಮತ್ತು ರಾಸ್ ಆಂಡರ್ಸನ್ ಪರಿಕಲ್ಪನೆಯ ಸಂಕೇತದ ಪುರಾವೆ ಟ್ರೋಜನ್ ಮೂಲ ಪೂರ್ಣ ಸಂಶೋಧನಾ ಪ್ರಬಂಧ ಎನ್ಐಎಸ್ಟಿ ರಾಷ್ಟ್ರೀಯ ದುರ್ಬಲತೆಯ ದತ್ತಸಂಚಯ ಮತ್ತು ಸಿವಿಇ ಸಾಮಾನ್ಯ ದುರ್ಬಲತೆಗಳು ಮತ್ತು ಒಡ್ಡುವಿಕೆಗಳು ಸಿವಿಇ-2021-42574-ಎನ್ಐಎಸ್ಟಿ ಮತ್ತು ಸಿವಿಇ (ಬಿಐಡಿಐ ಶೋಷಣೆ) ಸಿವಿಇ-2021-42694-ಎನ್ಐಎಸ್ಟಿ ಮತ್ತು ಸಿವಿಇ (ಹೋಮೋಗ್ಲಿಫ್ ದಾಳಿ) ಯುಎಎಕ್ಸ್ 9 ಯೂನಿಕೋಡ್ ಒಕ್ಕೂಟದಿಂದ ದ್ವಿದಿಶೆಯ ಅಕ್ಷರಗಳ ಬಗ್ಗೆ ಮತ್ತು ಯೂನಿಕೋಡ್ ಒಕ್ಕೂಟದಿಂದ ಯುಟಿಆರ್ 36 ಅನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವ ಬಗ್ಗೆ, ಇದು ಕಂಪ್ಯೂಟಿಂಗ್ನಲ್ಲಿ ಯೂನಿಕೋಡ್ ಸಿಇಆರ್ಟಿ/ಸಿಸಿ ದುರ್ಬಲತೆಯ ವರದಿಯಲ್ಲಿನ ದುರ್ಬಲತೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ.