JIT spraying
ಜೆಐಟಿ ಸಿಂಪಡಿಸುವಿಕೆಯು ಕಂಪ್ಯೂಟರ್ ಭದ್ರತಾ ಶೋಷಣೆಯ ಒಂದು ವರ್ಗವಾಗಿದ್ದು, ಇದು ಜಸ್ಟ್-ಇನ್-ಟೈಮ್ ಸಂಕಲನದ ನಡವಳಿಕೆಯನ್ನು ಬಳಸಿಕೊಳ್ಳುವ ಮೂಲಕ ವಿಳಾಸ ಸ್ಥಳ ವಿನ್ಯಾಸ ಯಾದೃಚ್ಛಿಕತೆ ಮತ್ತು ದತ್ತಾಂಶ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ತಡೆಗಟ್ಟುವಿಕೆಯ ರಕ್ಷಣೆಯನ್ನು ತಪ್ಪಿಸುತ್ತದೆ. ಇದನ್ನು ಪಿಡಿಎಫ್ ಸ್ವರೂಪ ಮತ್ತು ಅಡೋಬ್ ಫ್ಲ್ಯಾಶ್ ಅನ್ನು ಬಳಸಿಕೊಳ್ಳಲು ಬಳಸಲಾಗಿದೆ. ಜಸ್ಟ್-ಇನ್-ಟೈಮ್ ಕಂಪೈಲರ್ (ಜೆಐಟಿ) ವ್ಯಾಖ್ಯಾನದ ಪ್ರಕಾರ ಕೋಡ್ ಅನ್ನು ಅದರ ದತ್ತಾಂಶವಾಗಿ ಉತ್ಪಾದಿಸುತ್ತದೆ. ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ದತ್ತಾಂಶವನ್ನು ಉತ್ಪಾದಿಸುವುದು ಇದರ ಉದ್ದೇಶವಾಗಿರುವುದರಿಂದ, ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗದ-ದತ್ತಾಂಶ ಪರಿಸರದಲ್ಲಿ ಚಲಾಯಿಸಲಾಗದ ಕೆಲವು ರೀತಿಯ ಪ್ರೋಗ್ರಾಂಗಳಲ್ಲಿ ಜೆಐಟಿ ಕಂಪೈಲರ್ ಒಂದಾಗಿದೆ. ಈ ಕಾರಣದಿಂದಾಗಿ, ಜೆಐಟಿ ಕಂಪೈಲರ್ಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ದತ್ತಾಂಶ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯ ತಡೆಗಟ್ಟುವಿಕೆಯಿಂದ ವಿನಾಯಿತಿ ನೀಡಲಾಗುತ್ತದೆ. ಜೆಐಟಿ ಸ್ಪ್ರೇ ದಾಳಿಯು ಉತ್ಪತ್ತಿಯಾದ ಕೋಡ್ನೊಂದಿಗೆ ಶೇಖರಣೆಯನ್ನು ಸಿಂಪಡಿಸುತ್ತದೆ. ಜೆಐಟಿಯಿಂದ ಎಕ್ಸ್ಪ್ಲೋಯಿಟ್ ಕೋಡ್ ಅನ್ನು ತಯಾರಿಸಲು, ಡಿಯೋನ್ ಬ್ಲೇಜಾಕಿಸ್ ಅವರ ಕಲ್ಪನೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. ಇನ್ಪುಟ್ ಪ್ರೋಗ್ರಾಂ, ಸಾಮಾನ್ಯವಾಗಿ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅಥವಾ ಆಕ್ಷನ್ಸ್ಕ್ರಿಪ್ಟ್, ಸಾಮಾನ್ಯವಾಗಿ ಕೋಡ್ ಆಗಿ ತಪ್ಪಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಹಲವಾರು ಸ್ಥಿರ ಮೌಲ್ಯಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, XOR ಕಾರ್ಯಾಚರಣೆಯನ್ನು ಬಳಸಬಹುದುಃ ವಾರ್ a = (0x11223344 ^ 0x44332211 ^ 0x44332211); ಜೆಐಟಿ ನಂತರ ಬೈಟೆಕೋಡ್ ಅನ್ನು ಸ್ಥಳೀಯ x86 ಕೋಡ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆಃ 0: b8 44 33 22 11 5:35 11 22 33 44 a: 35 11 22 33 44 ಆಕ್ರಮಣಕಾರನು ಕೋಡ್ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಹೊಸದಾಗಿ ರಚಿಸಲಾದ ಕೋಡ್ಗೆ ಮರುನಿರ್ದೇಶಿಸಲು ಸೂಕ್ತವಾದ ದೋಷವನ್ನು ಬಳಸುತ್ತಾನೆ. ಉದಾಹರಣೆಗೆ, ಬಫರ್ ಓವರ್ಫ್ಲೋ ಅಥವಾ ಫ್ರೀ ಬಗ್ ನಂತರದ ಬಳಕೆಯು ದಾಳಿಯು ಫಂಕ್ಷನ್ ಪಾಯಿಂಟರ್ ಅಥವಾ ರಿಟರ್ನ್ ವಿಳಾಸವನ್ನು ಮಾರ್ಪಡಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಇದು ಜೆಐಟಿ ಲೇಖಕರು ಯೋಜಿಸದ ರೀತಿಯಲ್ಲಿ ಸೂಚನೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸಿಪಿಯುಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಆಕ್ರಮಣಕಾರನು ಸಾಮಾನ್ಯವಾಗಿ ನಿರೀಕ್ಷಿತ ಸೂಚನಾ ಗಡಿಗಳಿಗೆ ಸೀಮಿತವಾಗಿಲ್ಲ; ಸಿಪಿಯು ಅದನ್ನು ಬೇರೆ ಯಾವುದೋ ಎಂದು ಅರ್ಥೈಸಿಕೊಳ್ಳಲು ಉದ್ದೇಶಿತ ಸೂಚನೆಯ ಮಧ್ಯಕ್ಕೆ ಜಿಗಿಯಲು ಸಾಧ್ಯವಿದೆ. ಜೆಐಟಿ ಅಲ್ಲದ ಆರ್ಓಪಿ ದಾಳಿಯಂತೆ, ಇದು ಕಂಪ್ಯೂಟರ್ನ ನಿಯಂತ್ರಣವನ್ನು ಉಪಯುಕ್ತವಾಗಿ ತೆಗೆದುಕೊಳ್ಳಲು ಸಾಕಷ್ಟು ಕಾರ್ಯಾಚರಣೆಗಳಾಗಿರಬಹುದು. ಮೇಲಿನ ಉದಾಹರಣೆಯನ್ನು ಮುಂದುವರಿಸುತ್ತಾ, "ಮೂವ್" ಸೂಚನೆಯ ಎರಡನೇ ಬೈಟ್ಗೆ ಜಿಗಿಯುವುದು "ಇಂಕ್" ಸೂಚನೆಗೆ ಕಾರಣವಾಗುತ್ತದೆಃ 1:44 2:33 22 4:11 35 11 22 33 44 a: 35 11 22 33 44 x86 ಮತ್ತು x 86-64 ಸೂಚನೆಯ ಮಧ್ಯಕ್ಕೆ ಜಿಗಿಯಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ, ಆದರೆ ಎಆರ್ಎಂನಂತಹ ಸ್ಥಿರ-ಉದ್ದದ ವಿನ್ಯಾಸಗಳಲ್ಲ. ಜೆಐಟಿ ಸಿಂಪಡಿಸುವುದರಿಂದ ರಕ್ಷಿಸಿಕೊಳ್ಳಲು, ಜೆಐಟಿ ಸಂಕೇತವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು ಅಥವಾ ಆಕ್ರಮಣಕಾರರಿಗೆ ಕಡಿಮೆ ಊಹಿಸಬಹುದಾದಂತೆ ಮಾಡಬಹುದು. ಉಲ್ಲೇಖಗಳು ಗಣಕಯಂತ್ರದ ಭದ್ರತಾ ಕಾರ್ಯಗಳು