# SAML, ішінде: хаттағы қолтаңба

Published: 2026-09-24

SAML сізді дерлік барлық жұмыс қолданбаларына кіргізеді, оның қолтаңбасы өзі қол қоятын XML ішінде өмір сүреді. Жүйенің ішінде: қолданба, браузер және идентификация провайдері арасындағы кіру биі, мәлімдеме қандай болады, неліктен канонизация әр байтта келісуі керек және неліктен бір қате класы 2012 жылдан 2025 жылға дейін қайталана береді. Trail of Bits компаниясының "SAML: нашар дизайн фракталы" (Hacker News-те 312 ұпай) мақаласынан туындаған.

Canonical: https://thedailydiff.dev/kk/video/2026-09-24-saml-under-the-hood/

## Бұл бейне не туралы

- SAML: өзін ішінен қол қоятын кіру
- 2002: төрт XML форматы, бір комитет, бүкіл индустрия
- Кіру биі: қолданба → идентификация провайдері → браузер арқылы кері
- Мәлімдеме: қолтаңба өзі қол қоятын нәрсенің ішінде өмір сүреді
- Канонизация: әр байтта келісіңіз, әйтпесе ешкім кіре алмайды

## Тараулар

- 0:00 SAML: өзін ішінен қол қоятын кіру
- 0:34 2002: төрт XML форматы, бір комитет, бүкіл индустрия
- 0:46 Кіру биі: қолданба → идентификация провайдері → браузер арқылы кері
- 0:59 Мәлімдеме: қолтаңба өзі қол қоятын нәрсенің ішінде өмір сүреді
- 1:10 Канонизация: әр байтта келісіңіз, әйтпесе ешкім кіре алмайды
- 1:32 2012: тексеруші мен оқушы әртүрлі элементтерге қарайды
- 1:51 2018 және 2025: екі парсер, екі түрлі жауап
- 2:08 Неліктен ол бұзыла береді: нашар дизайн фракталы
- 2:27 Дүйсенбі: алдымен OIDC, қолдау көрсетілетін кітапхана, қатаң пішіндер
- 2:43 Үкім, ішінде: REVERT

## Аударылған транскрипция

Бастапқы ағылшын тіліндегі баяндамадан аударылған. Қолжетімді аудио және субтитрлерді YouTube басқарады.

### SAML: өзін ішінен қол қоятын кіру

0:00 SAML сізді өзіңіздегі дерлік барлық жұмыс қолданбаларына кіргізетін XML болып табылады, және оның қолтаңбасы ол қол қоятын құжаттың ішінде орналасқан, мөрлейтін конверттің ішіне мөрін тігіп жатқан нотариус сияқты. Комитет оны жазғаннан он жыл өткен соң, зерттеушілер он төрт SAML фреймворкін тексерді. Он бір құлады. Осы аптада Trail of Bits компаниясының оны нашар дизайн фракталы деп атаған жазбасы Hacker News-тің бас бетіне шықты. Үш минут ішінде: кіру биі қалай жұмыс істейді, қолтаңба қайда жасырылған,

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 және Shibboleth оған алданған он бірдің қатарында болды. Salesforce және Shibboleth оған алданған он бірдің қатарында болды. Екі мың он сегізінші жылы Duo пайдаланушы атының ішіндегі түсініктеме кейбір

### 2018 және 2025: екі парсер, екі түрлі жауап

1:55 кітапханалардың атаудың тек жартысын оқуына себеп болатынын көрсетті, ал қолтаңба әлі де дұрыс тексерілді. Екі мың жиырма бесінші жылы GitHub ruby Saml ішіндегі екі XML парсерінің бір құжат бойынша келіспейтінін тапты. Бір қате, жаңа онжылдық. Trail of Bits оны фрактал деп атайды, себебі масштабтаған әр деңгейде бірдей

### Неліктен ол бұзыла береді: нашар дизайн фракталы

2:12 ақау бар. Ол XML негізінде құрылған, қолтаңба орап алынған, және нақты кірулер спецификацияның оннан бір бөлігін ғана пайдаланады. Ал Hacker News-тегі ең жақсы жауап сатып алушыдан. Егер сізде SAML қолдауы болмаса, мен SAML қолдайтын өнім таба аламын. Екеуі де рас, бұл мәселе. Сонымен, дүйсенбі. Бірінші OpenID Connect-ті шығарыңыз, Fly және Tailscale

### Дүйсенбі: алдымен OIDC, қолдау көрсетілетін кітапхана, қатаң пішіндер

2:31 кәсіпорындарға SAML-сыз сатады. Егер тұтынушы оны талап етсе, қолдау көрсетілетін кітапхананы пайдаланыңыз, оны жаңартып отырыңыз, және Okta немесе Google жіберетін хабарламаларға ұқсамайтын хабарламаларды қабылдамаңыз. Ешқашан өзіңіздің қолтаңбаңызды тексермеңіз.

### Үкім, ішінде: REVERT

2:43 Үкім, ішінде. REVERT. Жиырма бес жылға жуық, ешқашан жоғалмайтын бір қате класы, және барлығы келісетін түзету басқа протокол. Өткен сенбіде мен passkeys-ті бөлшектедім, сондықтан келесіде нені ашу керектігін пікірлерде айтыңыз. Бүгінгі айырмашылық осы. Мен Axrisi-ден Нико. Жауапкершілікпен біріктіріңіз.

## Дереккөздер

- [Trail of Bits, "SAML: A fractal of bad design" (Matt Schwager, Sep 21, 2026)](https://blog.trailofbits.com/2026/09/21/saml-a-fractal-of-bad-design/) — blog.trailofbits.com
- [Hacker News thread](https://news.ycombinator.com/item?id=49806335) — news.ycombinator.com
- [Somorovsky et al., "On Breaking SAML: Be Whoever You Want to Be", USENIX Security 2012](https://www.usenix.org/conference/usenixsecurity12/technical-sessions/presentation/somorovsky) — www.usenix.org
- [Duo Labs, SAML vulnerabilities affecting multiple implementations (2018): https://duo.com/blog/duo-finds-saml-vulnerabilities-affecting-multiple-implementations · CERT VU#475445](https://www.kb.cert.org/vuls/id/475445) — www.kb.cert.org
- [GitHub Security Lab, "Sign in as anyone: Bypassing SAML SSO authentication with parser differentials" (Mar 12, 2025)](https://github.blog/security/sign-in-as-anyone-bypassing-saml-sso-authentication-with-parser-differentials/) — github.blog
