+− THE DAILY DIFFdev & AI news
REVERT

SAML, chini ya mfuniko: sahihi ndani ya barua

SAML hukuwezesha kuingia karibu kila programu ya kazi, na sahihi yake huishi ndani ya XML inayosaini.

SAML hukuwezesha kuingia karibu kila programu ya kazi, na sahihi yake huishi ndani ya XML inayosaini. Chini ya mfuniko: densi ya kuingia kati ya programu, kivinjari na mtoa huduma wa utambulisho, jinsi uthibitisho unavyoonekana, kwa nini uboreshaji unapaswa kukubaliana kwenye kila baiti, na kwa nini kosa la darasa moja linaendelea kurudi kutoka 2012 hadi 2025. Imetokana na "SAML: A fractal of bad design" ya Trail of Bits (pointi 312 kwenye Hacker News).

Soma toleo lililoandikwa (Kiingereza) ↗

Nini video hii inashughulikia

  • SAML: kuingia kunakojisaini kutoka ndani
  • 2002: fomati nne za XML, kamati moja, tasnia nzima
  • Densi ya kuingia: programu → mtoa huduma wa utambulisho → kurudi kupitia kivinjari chako
  • Uthibitisho: sahihi huishi ndani ya kile inachosaini
  • Uboreshaji: kubaliana kwenye kila baiti, au hakuna anayeingia

Nakala iliyotafsiriwa

Imetafsiriwa kutoka simulizi asili ya Kiingereza. Sauti na manukuu yanayopatikana yanadhibitiwa na YouTube.

SAML: kuingia kunakojisaini kutoka ndani

0:00 SAML ni XML inayokuingiza kwenye karibu kila programu ya kazi unayomiliki, na saini yake huishi ndani ya hati inayosaini, kama notari akigonga stempu yake ndani ya bahasha anayoifunga. Miaka kumi baada ya kamati kuiandika, watafiti walijaribu SAML kumi na nne fremu. Kumi na moja zilianguka. Na wiki hii chapisho la Trail of Bits likiita taswira ya muundo mbaya lilifika ukurasa wa mbele wa Hacker News. Katika dakika tatu: jinsi densi ya kuingia inavyofanya kazi, wapi saini inajificha,

0:27 na kwa nini suluhisho ambalo kila mtu anakubali ni itifaki tofauti. Huu ni The Daily Diff, chini ya mfuniko.

2002: fomati nne za XML, kamati moja, tasnia nzima

0:34 Mwili elfu mbili na mbili. Kamati ya usalama huko Oasis inaunganisha fomati nne za XML za muuzaji kuwa moja. Vyuo vikuu vinaikubali kwanza, kisha Okta inajenga kampuni juu yake, haraka hati ya kamati iliyowahi kugeuka kuwa mapato. Unafungua programu.

Densi ya kuingia: programu → mtoa huduma wa utambulisho → kurudi kupitia kivinjari chako

0:46 Haina wazo wewe ni nani, kwa hivyo inarudisha kivinjari chako kwa mtoa huduma wa utambulisho, sema Okta ya kampuni yako. Unaingia hapo. Okta inakupa kivinjari chako hati ya XML iliyosainiwa inayosema wewe ni nani, na kivinjari kinaipost tena.

Uthibitisho: sahihi huishi ndani ya kile inachosaini

0:59 Hati hiyo ni uthibitisho. Inamtaja mtumiaji, na saini inakaa ndani yake, ikirejelea uthibitisho kwa kitambulisho chake. Na kitu chote kinapitia kivinjari chako, yaani, kupitia mtumiaji. Ili kukikagua, programu

Uboreshaji: kubaliana kwenye kila baiti, au hakuna anayeingia

1:11 inajenga upya baiti halisi zilizosainiwa. Inakata saini tena, inarekebisha nafasi nyeupe na mpangilio wa sifa, na inahashia matokeo. Huo ni uboreshaji, na ikiwa pande mbili hazikubaliani kwa baiti moja, hakuna anayeingia. Ishara ya wavuti ya JSON inafanya hivyo tofauti. Kichwa, mzigo na saini hukaa kando kando na vitone katikati. Hakuna cha kukata kwanza.

2012: kikagua na msomaji huangalia vipengele tofauti

1:32 Hapa ndio mpasuko. Msimbo unaokagua saini na msimbo unaosoma jina la mtumiaji mara nyingi ni vipande viwili tofauti. Katika elfu mbili na kumi na mbili, karatasi iitwayo 'On Breaking SAML' ilionyesha unaweza kusogeza uthibitisho uliosainiwa ambapo msomaji anaupuuza, na kuweka wa pili ambapo unatafuta. Salesforce na Shibboleth walikuwa miongoni mwa kumi na moja walioangukia hapo. Katika elfu mbili na kumi na nane, Duo ilionyesha kuwa maoni ndani ya jina la mtumiaji yanaweza kufanya

2018 na 2025: wachambuzi wawili, majibu mawili tofauti

1:55 maktaba zingine kusoma nusu tu ya jina, wakati saini bado ilikuwa sawa. Katika elfu mbili na ishirini na tano, GitHub ilipata wachambuzi wawili wa XML ndani ya ruby SAML wakikinzana kuhusu hati hiyo hiyo. Hitilafu ile ile, muongo mpya. Trail of Bits inaiita taswira, kwa sababu kila kiwango unachokizingatia kina

Kwa nini inaendelea kuharibika: taswira ya muundo mbaya

2:12 kasoro ile ile. Imejengwa juu ya XML, saini imezungukwa, na kuingia halisi kunatumia labda sehemu ya kumi ya maelezo. Na jibu kuu kwenye Hacker News linatoka kwa mnunuzi. Ikiwa huna usaidizi wa SAML, ninaweza kupata bidhaa inayofanya hivyo. Zote ni kweli, ndilo tatizo. Kwa hivyo, Jumatatu. Tumia OpenID Connect kwanza, Fly na Tailscale huuza kwa

Jumatatu: OIDC kwanza, maktaba inayodumishwa, maumbo magumu

2:31 makampuni bila SAML kabisa. Ikiwa mteja analazimisha, tumia maktaba inayodumishwa, iweke imerekebishwa, na ukatae ujumbe ambao hauonekani kama ule unaotumwa na Okta au Google. Kamwe usiandike ukaguzi wako mwenyewe wa saini.

Hukumu, chini ya mfuniko: REVERT

2:43 Hukumu, chini ya mfuniko. REVERT. Karibu miaka ishirini na tano, darasa moja la hitilafu ambalo halifi kamwe, na suluhisho ambalo kila mtu anakubali ni itifaki tofauti. Jumamosi iliyopita nilivunja passkeys, kwa hivyo niambie nini nifungue baadaye kwenye maoni. Na huo ndio utofauti wa leo. Mimi ni Niko kutoka Axrisi. Unganisha kwa uwajibikaji.

Vyanzo

  1. Trail of Bits, "SAML: A fractal of bad design" (Matt Schwager, Sep 21, 2026)blog.trailofbits.com
  2. Hacker News threadnews.ycombinator.com
  3. Somorovsky et al., "On Breaking SAML: Be Whoever You Want to Be", USENIX Security 2012www.usenix.org
  4. 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
  5. GitHub Security Lab, "Sign in as anyone: Bypassing SAML SSO authentication with parser differentials" (Mar 12, 2025)github.blog

Video zinazohusiana