+− THE DAILY DIFFdev & AI news
REVERT

SAML, અંદરથી: પત્રની અંદરની સહી

SAML તમને લગભગ દરેક કાર્ય એપ્લિકેશનમાં લૉગ ઇન કરે છે, અને તેની સહી તે હસ્તાક્ષર કરેલા XML ની અંદર રહે છે.

SAML તમને લગભગ દરેક કાર્ય એપ્લિકેશનમાં લૉગ ઇન કરે છે, અને તેની સહી તે હસ્તાક્ષર કરેલા XML ની અંદર રહે છે. અંદરથી: એપ્લિકેશન, બ્રાઉઝર અને ઓળખ પ્રદાતા વચ્ચેનો લૉગિન ડાન્સ, એક એસર્શન કેવું દેખાય છે, શા માટે કેનોનિકલાઇઝેશન દરેક બાઇટ પર સહમત થવું પડે છે, અને શા માટે 2012 થી 2025 સુધી સમાન બગ ક્લાસ પાછો આવતો રહે છે. આ ટ્રેઇલ ઑફ બિટ્સના "SAML: અ ફ્રેક્ટલ ઑફ બેડ ડિઝાઈન" (હેકર ન્યૂઝ પર 312 પોઈન્ટ્સ) દ્વારા પ્રેરિત છે.

લખેલી આવૃત્તિ વાંચો (અંગ્રેજી) ↗

આ વીડિયોમાં શું આવરી લેવામાં આવ્યું છે

  • SAML: અંદરથી જ પોતાની જાતે સહી કરતો લૉગિન
  • 2002: ચાર XML ફોર્મેટ્સ, એક કમિટી, એક આખો ઉદ્યોગ
  • લૉગિન ડાન્સ: એપ્લિકેશન → ઓળખ પ્રદાતા → તમારા બ્રાઉઝર દ્વારા પાછા
  • એસર્શન: સહી તેની અંદર રહે છે જેને તે સાઇન કરે છે
  • કેનોનિકલાઇઝેશન: દરેક બાઇટ પર સહમત થાઓ, નહીં તો કોઈ લૉગ ઇન નહીં થાય

અનુવાદિત ટ્રાન્સક્રિપ્ટ

મૂળ અંગ્રેજી કથામાંથી અનુવાદિત. ઉપલબ્ધ ઑડિઓ અને કૅપ્શન્સ YouTube દ્વારા નિયંત્રિત થાય છે.

SAML: અંદરથી જ પોતાની જાતે સહી કરતો લૉગિન

0:00 SAML એ XML છે જે તમને તમારી માલિકીની લગભગ દરેક કાર્ય એપ્લિકેશનમાં લૉગ ઇન કરે છે, અને તેની સહી તે સાઇન કરેલા દસ્તાવેજની અંદર રહે છે, જેમ કે એક નોટરી તેની સીલ કરતા પરબિડીયાની અંદર તેની સ્ટેમ્પ લગાવે છે. એક કમિટીએ તે લખ્યાના દસ વર્ષ પછી, સંશોધકોએ ચૌદ SAML ફ્રેમવર્કનું પરીક્ષણ કર્યું. અગિયાર નિષ્ફળ ગયા. અને આ અઠવાડિયે ટ્રેઇલ ઑફ બિટ્સની એક પોસ્ટ તેને ખરાબ ડિઝાઇનનો ફ્રેક્ટલ ગણાવતી હેકર ન્યૂઝના પ્રથમ પૃષ્ઠ પર આવી. ત્રણ મિનિટમાં: લૉગિન ડાન્સ કેવી રીતે કાર્ય કરે છે, સહી ક્યાં છુપાયેલી છે,

0:27 અને શા માટે દરેક જણ જે ઉકેલ પર સહમત છે તે એક અલગ પ્રોટોકોલ છે. આ The Daily Diff છે, અંદરથી.

2002: ચાર XML ફોર્મેટ્સ, એક કમિટી, એક આખો ઉદ્યોગ

0:34 બે હજાર બે. ઓસિસ ખાતેની એક સુરક્ષા સમિતિ ચાર વિક્રેતા XML ફોર્મેટ્સને એકમાં મર્જ કરે છે. યુનિવર્સિટીઓ તેને પહેલા અપનાવે છે, પછી Okta તેના પર એક કંપની બનાવે છે, એક કમિટી દસ્તાવેજ સૌથી ઝડપથી આવકમાં રૂપાંતરિત થયો. તમે એપ્લિકેશન ખોલો છો.

લૉગિન ડાન્સ: એપ્લિકેશન → ઓળખ પ્રદાતા → તમારા બ્રાઉઝર દ્વારા પાછા

0:46 તેને ખબર નથી કે તમે કોણ છો, તેથી તે તમારા બ્રાઉઝરને ઓળખ પ્રદાતા પર ઉછાળે છે, કહો કે તમારી કંપનીનું Okta. તમે ત્યાં લૉગ ઇન કરો છો. Okta તમારા બ્રાઉઝરને એક હસ્તાક્ષરિત XML દસ્તાવેજ આપે છે જે કહે છે કે તમે કોણ છો, અને બ્રાઉઝર તેને પાછું પોસ્ટ કરે છે.

એસર્શન: સહી તેની અંદર રહે છે જેને તે સાઇન કરે છે

0:59 તે દસ્તાવેજ એસર્શન છે. તે વપરાશકર્તાનું નામ આપે છે, અને સહી તેની અંદર રહે છે, તેના ID દ્વારા એસર્શન તરફ પાછા નિર્દેશ કરે છે. અને આખી વસ્તુ તમારા બ્રાઉઝર દ્વારા પસાર થાય છે, એટલે કે, વપરાશકર્તા દ્વારા. તેને તપાસવા માટે, એપ્લિકેશન

કેનોનિકલાઇઝેશન: દરેક બાઇટ પર સહમત થાઓ, નહીં તો કોઈ લૉગ ઇન નહીં થાય

1:11 સહી કરાયેલા ચોક્કસ બાઇટ્સને ફરીથી બનાવે છે. તે સહીને પાછી કાપી નાખે છે, ખાલી જગ્યા અને એટ્રિબ્યુટને સામાન્ય બનાવે છે ક્રમ, અને પરિણામને હેશ કરે છે. તે કેનોનિકલાઇઝેશન છે, અને જો બે બાજુઓ એક પણ બાઇટ દ્વારા અસંમત હોય, કોઈ લૉગ ઇન થતું નથી. એક JSON વેબ ટોકન તે અલગ રીતે કરે છે. હેડર, પેલોડ અને સહી વચ્ચે બિંદુઓ સાથે બાજુમાં બેસે છે. પહેલા કંઈ કાપવાનું નથી.

2012: ચેકર અને રીડર જુદા જુદા ઘટકો જુએ છે

1:32 અહીં તિરાડ છે. સહી તપાસતો કોડ અને યુઝરનેમ વાંચતો કોડ ઘણીવાર બે જુદા જુદા ટુકડા હોય છે. બે હજાર બારમાં, On Breaking Saml નામના એક પેપરમાં દર્શાવવામાં આવ્યું કે તમે હસ્તાક્ષરિત એસર્શનને ત્યાં ખસેડી શકો છો જ્યાં રીડર તેને અવગણે છે, અને બીજું એક ત્યાં મૂકી શકો છો જ્યાં તે જુએ છે. Salesforce અને Shibboleth એ અગિયારમાંના હતા જેઓ તેના શિકાર બન્યા. બે હજાર અઢારમાં, Duo એ દર્શાવ્યું કે યુઝરનેમની અંદરની એક ટિપ્પણી કેટલાક

2018 અને 2025: બે પાર્સર્સ, બે જુદા જુદા જવાબો

1:55 લાઇબ્રેરીઓને નામનો ફક્ત અડધો ભાગ વાંચવા માટે મજબૂર કરી શકે છે, જ્યારે સહી હજુ પણ બરાબર હતી. બે હજાર પચીસમાં, GitHub એ રૂબી SAML ની અંદર બે XML પાર્સર્સ શોધી કાઢ્યા જેઓ સમાન દસ્તાવેજ વિશે અસંમત હતા. સમાન બગ, નવો દાયકો. ટ્રેઇલ ઑફ બિટ્સ તેને ફ્રેક્ટલ કહે છે, કારણ કે તમે જે પણ સ્તરે ઝૂમ કરો છો તેમાં

શા માટે તે તૂટતું રહે છે: ખરાબ ડિઝાઇનનો ફ્રેક્ટલ

2:12 સમાન ખામી છે. તે XML પર બનેલું છે, સહી પરબિડીયામાં છે, અને વાસ્તવિક લૉગિન સ્પેકનો કદાચ દસમો ભાગ વાપરે છે. અને હેકર ન્યૂઝ પરની ટોચની ટિપ્પણી ખરીદનાર તરફથી આવે છે. જો તમારી પાસે SAML સપોર્ટ નથી, તો હું એક પ્રોડક્ટ શોધી શકું છું જેમાં તે છે. બંને સાચા છે, જે સમસ્યા છે. તો, સોમવાર. OpenID Connect પ્રથમ મોકલો, Fly અને Tailscale

સોમવાર: OIDC પ્રથમ, એક જાળવવામાં આવેલી લાઇબ્રેરી, કડક આકારો

2:31 એન્ટરપ્રાઇઝને SAML વિના બિલકુલ વેચે છે. જો કોઈ ગ્રાહક તેને દબાણ કરે, તો એક જાળવવામાં આવેલી લાઇબ્રેરીનો ઉપયોગ કરો, તેને અપડેટ રાખો, અને એવા સંદેશાઓને નકારો જે Okta અથવા Google મોકલે છે તેના જેવા નથી લાગતા. તમારી પોતાની સહી તપાસ ક્યારેય ન લખો.

નિર્ણય, અંદરથી: REVERT

2:43 નિર્ણય, અંદરથી. REVERT. લગભગ પચીસ વર્ષ, એક બગ ક્લાસ જે ક્યારેય મરતો નથી, અને દરેક જણ જે ઉકેલ પર સહમત છે તે એક અલગ પ્રોટોકોલ છે. ગયા શનિવારે મેં પાસકીઝને અલગ કર્યા, તેથી ટિપ્પણીઓમાં મને કહો કે આગળ શું ખોલવું. અને આજે આ ડિફ છે. હું Axrisi થી Niko છું. જવાબદારીપૂર્વક મર્જ કરો.

સ્ત્રોતો

  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

સંબંધિત વીડિયો

under-the-hood · gu · 19 સપ્ટે, 2026

પાસકી, અંદરથી

પાસકી એ એક પાસવર્ડ છે જે તમારું ઉપકરણ શોધે છે, તમને ક્યારેય બતાવતું નથી અને તમને સહિત, કોઈને પણ આપવાની ના પાડે છે. અંદરથી: વેબઓથન વિધિ (પ્રતિ-સાઇટ કી જોડી, પડકાર, હસ્તાક્ષર), બ્રાઉઝર એક જ ક્ષેત્ર લખે

3:12 ↗
under-the-hood · gu · 23 સપ્ટે, 2026

જ્યારે કોઈ મોડેલ મરી જાય, ત્યારે અંદર શું થાય છે

એક AI મોડેલ મરતું નથી — તેને શટડાઉન તારીખ મળે છે, અને બીજા દિવસે સવારે, તમારો API કૉલ 404 રિટર્ન કરે છે: "મોડેલ અપ્રચલિત થઈ ગયું છે, અહીં વધુ જાણો." અંદર શું થાય છે: ફોર-સ્ટેટ પાઇપલાઇન (active → legac

3:15 ↗
under-the-hood · gu · 21 સપ્ટે, 2026

ક્લાઉડે RSA-896નું અવયવીકરણ કર્યું. RSA ખરેખર કેવી રીતે તૂટે છે તે અહીં છે

19 સપ્ટેમ્બરના રોજ એક એન્થ્રોપિક એન્જિનિયરે RSA-896 — એક 270-અંકનો પડકારરૂપ નંબર — ક્લાઉડે, ઓપન-સોર્સ CADO-NFS સીવનું GPU પોર્ટ અને દસ દિવસમાં 2,048 નિષ્ક્રિય GPUs પર ~30 GPU-વર્ષ સાથે અવયવીકરણ કર્યું

3:39 ↗
under-the-hood · gu · 18 સપ્ટે, 2026

રિકર્સિવ સેલ્ફ-ઇમ્પ્રૂવમેન્ટ, પડદા પાછળ

ગૂગલ ડીપમાઇન્ડે "ડ્રીમ-આરએસઆઈ: ઇવોલ્વિંગ વર્લ્ડ્સ દ્વારા રિકર્સિવ સેલ્ફ-ઇમ્પ્રૂવમેન્ટ" પ્રકાશિત કર્યું — અને તેની અંદરનો કોડિંગ મોડેલ ક્યારેય બદલાતો નથી. પડદા પાછળ: આ શબ્દનો 60 વર્ષથી શું અર્થ થતો હતો

4:03 ↗