SAML, ಅಡಗಿರುವ ರಹಸ್ಯ: ಪತ್ರದೊಳಗಿನ ಸಹಿ
SAML ನಿಮ್ಮನ್ನು ಬಹುತೇಕ ಎಲ್ಲಾ ಕೆಲಸದ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಲಾಗ್ ಇನ್ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಅದರ ಸಹಿಯು ಅದು ಸಹಿ ಮಾಡುವ XML ನ ಒಳಗೆ ಇರುತ್ತದೆ.
SAML ನಿಮ್ಮನ್ನು ಬಹುತೇಕ ಎಲ್ಲಾ ಕೆಲಸದ ಅಪ್ಲಿಕೇಶನ್ಗಳಿಗೆ ಲಾಗ್ ಇನ್ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಅದರ ಸಹಿಯು ಅದು ಸಹಿ ಮಾಡುವ XML ನ ಒಳಗೆ ಇರುತ್ತದೆ. ಅಡಗಿರುವ ರಹಸ್ಯ: ಅಪ್ಲಿಕೇಶನ್, ಬ್ರೌಸರ್ ಮತ್ತು ಗುರುತಿನ ಪೂರೈಕೆದಾರರ ನಡುವಿನ ಲಾಗಿನ್ ನೃತ್ಯ, ಒಂದು ಅಸರ್ಶನ್ ಹೇಗೆ ಕಾಣುತ್ತದೆ, ಪ್ರತಿ ಬೈಟ್ನ ಬಗ್ಗೆ ಕ್ಯಾನೊನಿಕಲೈಸೇಶನ್ ಏಕೆ ಒಪ್ಪಿಕೊಳ್ಳಬೇಕು, ಮತ್ತು ಅದೇ ಬಗ್ ವರ್ಗವು 2012 ರಿಂದ 2025 ರವರೆಗೆ ಏಕೆ ಮತ್ತೆ ಮತ್ತೆ ಬರುತ್ತಿದೆ. ಟ್ರೈಲ್ ಆಫ್ ಬಿಟ್ಸ್ನ "SAML: A fractal of bad design" (ಹ್ಯಾಕರ್ ನ್ಯೂಸ್ನಲ್ಲಿ 312 ಅಂಕಗಳು) ನಿಂದ ಪ್ರೇರಿತವಾಗಿದೆ.
ಲಿಖಿತ ಆವೃತ್ತಿಯನ್ನು ಓದಿ (ಇಂಗ್ಲಿಷ್) ↗
ಈ ವೀಡಿಯೊ ಏನನ್ನು ಒಳಗೊಂಡಿದೆ
- SAML: ಒಳಗಿನಿಂದಲೇ ಸಹಿ ಮಾಡುವ ಲಾಗಿನ್
- 2002: ನಾಲ್ಕು XML ಸ್ವರೂಪಗಳು, ಒಂದು ಸಮಿತಿ, ಒಂದು ಇಡೀ ಉದ್ಯಮ
- ಲಾಗಿನ್ ನೃತ್ಯ: ಅಪ್ಲಿಕೇಶನ್ → ಗುರುತಿನ ಪೂರೈಕೆದಾರ → ನಿಮ್ಮ ಬ್ರೌಸರ್ ಮೂಲಕ ಮರಳಿ
- ಅಸರ್ಶನ್: ಸಹಿಯು ಅದು ಸಹಿ ಮಾಡುವ ವಿಷಯದ ಒಳಗೆ ಇರುತ್ತದೆ
- ಕ್ಯಾನೊನಿಕಲೈಸೇಶನ್: ಪ್ರತಿ ಬೈಟ್ನ ಬಗ್ಗೆ ಒಪ್ಪಿಕೊಳ್ಳಿ, ಇಲ್ಲದಿದ್ದರೆ ಯಾರೂ ಲಾಗ್ ಇನ್ ಆಗುವುದಿಲ್ಲ
ಅನುವಾದಿತ ಪ್ರತಿಲೇಖನ
ಮೂಲ ಇಂಗ್ಲಿಷ್ ನಿರೂಪಣೆಯಿಂದ ಅನುವಾದಿಸಲಾಗಿದೆ. ಲಭ್ಯವಿರುವ ಆಡಿಯೋ ಮತ್ತು ಶೀರ್ಷಿಕೆಗಳನ್ನು YouTube ನಿಯಂತ್ರಿಸುತ್ತದೆ.
SAML: ಒಳಗಿನಿಂದಲೇ ಸಹಿ ಮಾಡುವ ಲಾಗಿನ್
0:00 Saml ಎಂಬುದು ನೀವು ಹೊಂದಿರುವ ಬಹುತೇಕ ಪ್ರತಿಯೊಂದು ಕೆಲಸದ ಅಪ್ಲಿಕೇಶನ್ಗೆ ನಿಮ್ಮನ್ನು ಲಾಗ್ ಇನ್ ಮಾಡುವ XML ಆಗಿದೆ, ಮತ್ತು ಅದರ ಸಹಿಯು ಅದು ಸಹಿ ಮಾಡುವ ಡಾಕ್ಯುಮೆಂಟ್ನ ಒಳಗೆ ಇರುತ್ತದೆ, ತನ್ನ ಮೊಹರನ್ನು ಸೀಲ್ ಮಾಡುತ್ತಿರುವ ಲಕೋಟೆಯೊಳಗೆ ಅಂಚೆಯವನು ಸ್ಟೇಪಲ್ ಮಾಡಿದಂತೆ. ಒಂದು ಸಮಿತಿ ಅದನ್ನು ಬರೆದು ಹತ್ತು ವರ್ಷಗಳ ನಂತರ, ಸಂಶೋಧಕರು ಹದಿನಾಲ್ಕು Saml ಫ್ರೇಮ್ವರ್ಕ್ಗಳನ್ನು ಪರೀಕ್ಷಿಸಿದರು. ಹನ್ನೊಂದು ವಿಫಲವಾಯಿತು. ಮತ್ತು ಈ ವಾರ ಟ್ರೈಲ್ ಆಫ್ ಬಿಟ್ಸ್ ಪೋಸ್ಟ್ ಅದನ್ನು ಕೆಟ್ಟ ವಿನ್ಯಾಸದ ಫ್ರ್ಯಾಕ್ಟಲ್ ಎಂದು ಕರೆದು ಹ್ಯಾಕರ್ ನ್ಯೂಸ್ನ ಮುಖಪುಟದಲ್ಲಿ ಬಂದಿದೆ. ಮೂರು ನಿಮಿಷಗಳಲ್ಲಿ: ಲಾಗಿನ್ ಡ್ಯಾನ್ಸ್ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಸಹಿ ಎಲ್ಲಿ ಅಡಗಿದೆ,
0:27 ಮತ್ತು ಪ್ರತಿಯೊಬ್ಬರೂ ಒಪ್ಪುವ ಪರಿಹಾರವು ವಿಭಿನ್ನ ಪ್ರೋಟೋಕಾಲ್ ಏಕೆ. ಇದು The Daily Diff, ಅಡಗಿರುವ ರಹಸ್ಯ.
2002: ನಾಲ್ಕು XML ಸ್ವರೂಪಗಳು, ಒಂದು ಸಮಿತಿ, ಒಂದು ಇಡೀ ಉದ್ಯಮ
0:34 ಎರಡು ಸಾವಿರ ಎರಡು. Oasis ನಲ್ಲಿನ ಭದ್ರತಾ ಸಮಿತಿಯು ನಾಲ್ಕು ಮಾರಾಟಗಾರ XML ಸ್ವರೂಪಗಳನ್ನು ಒಂದಾಗಿ ವಿಲೀನಗೊಳಿಸುತ್ತದೆ. ವಿಶ್ವವಿದ್ಯಾಲಯಗಳು ಮೊದಲು ಅದನ್ನು ಅಳವಡಿಸಿಕೊಂಡವು, ನಂತರ Okta ಅದರ ಮೇಲೆ ಒಂದು ಕಂಪನಿಯನ್ನು ನಿರ್ಮಿಸುತ್ತದೆ, ಸಮಿತಿಯ ಡಾಕ್ಯುಮೆಂಟ್ ಎಂದಿಗೂ ಆದಾಯವಾಗಿ ಬದಲಾದ ವೇಗವಾದ ಮಾರ್ಗ. ನೀವು ಅಪ್ಲಿಕೇಶನ್ ತೆರೆಯಿರಿ.
ಲಾಗಿನ್ ನೃತ್ಯ: ಅಪ್ಲಿಕೇಶನ್ → ಗುರುತಿನ ಪೂರೈಕೆದಾರ → ನಿಮ್ಮ ಬ್ರೌಸರ್ ಮೂಲಕ ಮರಳಿ
0:46 ನೀವು ಯಾರೆಂದು ಅದಕ್ಕೆ ತಿಳಿದಿಲ್ಲ, ಆದ್ದರಿಂದ ಅದು ನಿಮ್ಮ ಬ್ರೌಸರ್ ಅನ್ನು ಗುರುತಿನ ಪೂರೈಕೆದಾರರಿಗೆ ಬೌನ್ಸ್ ಮಾಡುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ನಿಮ್ಮ ಕಂಪನಿಯ Okta. ನೀವು ಅಲ್ಲಿ ಲಾಗ್ ಇನ್ ಮಾಡಿ. Okta ನಿಮ್ಮ ಬ್ರೌಸರ್ಗೆ ನೀವು ಯಾರೆಂದು ಹೇಳುವ ಸಹಿ ಮಾಡಿದ XML ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ನೀಡುತ್ತದೆ, ಮತ್ತು ಬ್ರೌಸರ್ ಅದನ್ನು ಮತ್ತೆ ಪೋಸ್ಟ್ ಮಾಡುತ್ತದೆ.
ಅಸರ್ಶನ್: ಸಹಿಯು ಅದು ಸಹಿ ಮಾಡುವ ವಿಷಯದ ಒಳಗೆ ಇರುತ್ತದೆ
0:59 ಆ ಡಾಕ್ಯುಮೆಂಟ್ ಅಸರ್ಶನ್ ಆಗಿದೆ. ಅದು ಬಳಕೆದಾರರ ಹೆಸರನ್ನು ಹೇಳುತ್ತದೆ, ಮತ್ತು ಸಹಿಯು ಅದರೊಳಗೆ ಇರುತ್ತದೆ, ಅದರ ID ಯಿಂದ ಅಸರ್ಶನ್ ಅನ್ನು ಹಿಂತಿರುಗಿ ಸೂಚಿಸುತ್ತದೆ. ಮತ್ತು ಇಡೀ ವಿಷಯವು ನಿಮ್ಮ ಬ್ರೌಸರ್ ಮೂಲಕ ಸಾಗುತ್ತದೆ, ಅಂದರೆ, ಬಳಕೆದಾರರ ಮೂಲಕ. ಅದನ್ನು ಪರಿಶೀಲಿಸಲು, ಅಪ್ಲಿಕೇಶನ್
ಕ್ಯಾನೊನಿಕಲೈಸೇಶನ್: ಪ್ರತಿ ಬೈಟ್ನ ಬಗ್ಗೆ ಒಪ್ಪಿಕೊಳ್ಳಿ, ಇಲ್ಲದಿದ್ದರೆ ಯಾರೂ ಲಾಗ್ ಇನ್ ಆಗುವುದಿಲ್ಲ
1:11 ಸಹಿ ಮಾಡಿದ ನಿಖರವಾದ ಬೈಟ್ಗಳನ್ನು ಪುನರ್ನಿರ್ಮಿಸುತ್ತದೆ. ಇದು ಸಹಿಯನ್ನು ಮತ್ತೆ ಕತ್ತರಿಸಿ, ವೈಟ್ಸ್ಪೇಸ್ ಮತ್ತು ಗುಣಲಕ್ಷಣದ ಕ್ರಮವನ್ನು ಸಾಮಾನ್ಯೀಕರಿಸುತ್ತದೆ, ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಹ್ಯಾಶ್ ಮಾಡುತ್ತದೆ. ಅದು ಕ್ಯಾನೊನಿಕಲೈಸೇಶನ್, ಮತ್ತು ಎರಡೂ ಕಡೆ ಒಂದೇ ಬೈಟ್ನಿಂದ ಭಿನ್ನವಾಗಿದ್ದರೆ, ಯಾರೂ ಲಾಗ್ ಇನ್ ಆಗುವುದಿಲ್ಲ. JSON ವೆಬ್ ಟೋಕನ್ ಇದನ್ನು ವಿಭಿನ್ನವಾಗಿ ಮಾಡುತ್ತದೆ. ಹೆಡರ್, ಪೇಲೋಡ್ ಮತ್ತು ಸಹಿಯು ಚುಕ್ಕೆಗಳೊಂದಿಗೆ ಅಕ್ಕಪಕ್ಕದಲ್ಲಿ ಇರುತ್ತವೆ. ಮೊದಲು ಕತ್ತರಿಸಲು ಏನೂ ಇಲ್ಲ.
2012: ಪರಿಶೀಲಕ ಮತ್ತು ಓದುಗರು ವಿಭಿನ್ನ ಅಂಶಗಳನ್ನು ನೋಡುತ್ತಾರೆ
1:32 ಇಲ್ಲಿ ಸಮಸ್ಯೆ ಇದೆ. ಸಹಿಯನ್ನು ಪರಿಶೀಲಿಸುವ ಕೋಡ್ ಮತ್ತು ಬಳಕೆದಾರಹೆಸರನ್ನು ಓದುವ ಕೋಡ್ ಆಗಾಗ್ಗೆ ಎರಡು ವಿಭಿನ್ನ ಭಾಗಗಳಾಗಿವೆ. ಎರಡು ಸಾವಿರ ಹನ್ನೆರಡರಲ್ಲಿ, On Breaking Saml ಎಂಬ ಒಂದು ಪೇಪರ್ ನೀವು ಸಹಿ ಮಾಡಿದ ಅಸರ್ಶನ್ ಅನ್ನು ಓದುಗನು ನಿರ್ಲಕ್ಷಿಸುವ ಸ್ಥಳಕ್ಕೆ ಸರಿಸಬಹುದು ಮತ್ತು ಅದು ನೋಡುವ ಸ್ಥಳದಲ್ಲಿ ಎರಡನೆಯದನ್ನು ಇಡಬಹುದು ಎಂದು ತೋರಿಸಿದೆ. ಸೇಲ್ಸ್ಫೋರ್ಸ್ ಮತ್ತು ಶಿಬ್ಬೋಲೆತ್ ಸೇರಿದಂತೆ ಹನ್ನೊಂದು ಕಂಪನಿಗಳು ಇದಕ್ಕೆ ಬಲಿಯಾದವು. Salesforce and Shibboleth were among the eleven that fell for it. ಎರಡು ಸಾವಿರ ಹದಿನೆಂಟರಲ್ಲಿ, ಡ್ಯುವೋ ಒಂದು ಬಳಕೆದಾರಹೆಸರಿನೊಳಗಿನ ಕಾಮೆಂಟ್ ಕೆಲವು
2018 ಮತ್ತು 2025: ಎರಡು ಪಾರ್ಸರ್ಗಳು, ಎರಡು ವಿಭಿನ್ನ ಉತ್ತರಗಳು
1:55 ಲೈಬ್ರರಿಗಳು ಹೆಸರಿನ ಅರ್ಧದಷ್ಟು ಮಾತ್ರ ಓದುವಂತೆ ಮಾಡಬಹುದು ಎಂದು ತೋರಿಸಿದೆ, ಸಹಿ ಇನ್ನೂ ಪರಿಶೀಲನೆಯಲ್ಲಿ ಉತ್ತೀರ್ಣವಾಯಿತು. ಎರಡು ಸಾವಿರ ಇಪ್ಪತ್ತೈದರಲ್ಲಿ, GitHub ರೂಬಿ ಸ್ಯಾಮಲ್ನಲ್ಲಿ ಎರಡು XML ಪಾರ್ಸರ್ಗಳು ಅದೇ ಡಾಕ್ಯುಮೆಂಟ್ ಬಗ್ಗೆ ಭಿನ್ನಾಭಿಪ್ರಾಯ ಹೊಂದಿವೆ ಎಂದು ಕಂಡುಹಿಡಿಯಿತು. ಅದೇ ದೋಷ, ಹೊಸ ದಶಕ. ಟ್ರೈಲ್ ಆಫ್ ಬಿಟ್ಸ್ ಇದನ್ನು ಫ್ರ್ಯಾಕ್ಟಲ್ ಎಂದು ಕರೆಯುತ್ತದೆ, ಏಕೆಂದರೆ ನೀವು ಜೂಮ್ ಮಾಡುವ ಪ್ರತಿ ಹಂತದಲ್ಲೂ
ಇದು ಏಕೆ ಮುರಿಯುತ್ತಲೇ ಇರುತ್ತದೆ: ಕೆಟ್ಟ ವಿನ್ಯಾಸದ ಒಂದು ಫ್ರ್ಯಾಕ್ಟಲ್
2:12 ಅದೇ ದೋಷವಿದೆ. ಇದು XML ಮೇಲೆ ನಿರ್ಮಿಸಲ್ಪಟ್ಟಿದೆ, ಸಹಿ ಲಕೋಟೆಯಲ್ಲಿದೆ, ಮತ್ತು ನಿಜವಾದ ಲಾಗಿನ್ಗಳು ಸ್ಪೆಕ್ನ ಹತ್ತನೇ ಒಂದು ಭಾಗವನ್ನು ಮಾತ್ರ ಬಳಸುತ್ತವೆ. ಮತ್ತು ಹ್ಯಾಕರ್ ನ್ಯೂಸ್ನಲ್ಲಿನ ಉನ್ನತ ಪ್ರತಿಕ್ರಿಯೆ ಖರೀದಿದಾರರಿಂದ ಬಂದಿದೆ. ನಿಮ್ಮಲ್ಲಿ Saml ಬೆಂಬಲವಿಲ್ಲದಿದ್ದರೆ, ನಾನು ಅದನ್ನು ಹೊಂದಿರುವ ಉತ್ಪನ್ನವನ್ನು ಹುಡುಕಬಲ್ಲೆ. ಎರಡೂ ನಿಜ, ಅದು ಸಮಸ್ಯೆಯಾಗಿದೆ. ಆದ್ದರಿಂದ, ಸೋಮವಾರ. ಮೊದಲು OpenID Connect ಅನ್ನು ರವಾನಿಸಿ, Fly ಮತ್ತು Tailscale
ಸೋಮವಾರ: ಮೊದಲು OIDC, ನಿರ್ವಹಿಸಲ್ಪಡುವ ಲೈಬ್ರರಿ, ಕಠಿಣ ಆಕಾರಗಳು
2:31 ಸಂಸ್ಥೆಗಳಿಗೆ Saml ಇಲ್ಲದೆ ಮಾರಾಟ ಮಾಡುತ್ತವೆ. ಒಬ್ಬ ಗ್ರಾಹಕ ಅದನ್ನು ಬಲವಂತಪಡಿಸಿದರೆ, ನಿರ್ವಹಿಸಲ್ಪಡುವ ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಿ, ಅದನ್ನು ಪ್ಯಾಚ್ ಮಾಡಿ, ಮತ್ತು Okta ಅಥವಾ Google ಕಳುಹಿಸದ ಸಂದೇಶಗಳನ್ನು ತಿರಸ್ಕರಿಸಿ. ನಿಮ್ಮ ಸ್ವಂತ ಸಹಿ ಪರಿಶೀಲನೆಯನ್ನು ಎಂದಿಗೂ ಬರೆಯಬೇಡಿ.
ತೀರ್ಪು, ಅಡಗಿರುವ ರಹಸ್ಯ: REVERT
2:43 ತೀರ್ಪು, ಅಡಗಿರುವ ರಹಸ್ಯ. REVERT. ಸುಮಾರು ಇಪ್ಪತ್ತೈದು ವರ್ಷಗಳು, ಎಂದಿಗೂ ಸಾಯದ ಒಂದು ಬಗ್ ವರ್ಗ, ಮತ್ತು ಪ್ರತಿಯೊಬ್ಬರೂ ಒಪ್ಪುವ ಪರಿಹಾರವು ವಿಭಿನ್ನ ಪ್ರೋಟೋಕಾಲ್ ಆಗಿದೆ. ಕಳೆದ ಶನಿವಾರ ನಾನು ಪಾಸ್ಕೀಗಳನ್ನು ವಿಂಗಡಿಸಿದೆ, ಆದ್ದರಿಂದ ಕಾಮೆಂಟ್ಗಳಲ್ಲಿ ಮುಂದೆ ಏನನ್ನು ತೆರೆಯಬೇಕು ಎಂದು ನನಗೆ ತಿಳಿಸಿ. ಮತ್ತು ಅದು ಇಂದಿನ ವಿಭಿನ್ನತೆಯಾಗಿದೆ. ನಾನು Axrisi ನಿಂದ ನಿಕೋ. ಜವಾಬ್ದಾರಿಯುತವಾಗಿ ವಿಲೀನಗೊಳಿಸಿ.
ಮೂಲಗಳು
- Trail of Bits, "SAML: A fractal of bad design" (Matt Schwager, Sep 21, 2026)blog.trailofbits.com
- Hacker News threadnews.ycombinator.com
- Somorovsky et al., "On Breaking SAML: Be Whoever You Want to Be", USENIX Security 2012www.usenix.org
- Duo Labs, SAML vulnerabilities affecting multiple implementations (2018): https://duo.com/blog/duo-finds-saml-vulnerabilities-affecting-multiple-implementations · CERT VU#475445www.kb.cert.org
- GitHub Security Lab, "Sign in as anyone: Bypassing SAML SSO authentication with parser differentials" (Mar 12, 2025)github.blog



