SAML 2.0 یک استاندارد احراز هویت پیچیده است که بر پایه فناوری XML ناامن و قدیمی ساخته شده است. این پایههای قدیمی، نگهداری از پروتکل را بهطور قابل توجهی دشوار کرده و منجر به جریانی مداوم از آسیبپذیریهای بحرانی در دو دهه گذشته شده است.
این مقاله چندین کلاس جدید از حملات XML Signature Wrapping (XSW) را معرفی میکند که قادر به دور زدن کامل احراز هویت در کتابخانههای SAML متنباز پرکاربرد هستند.
حمله XML Signature Wrapping (XSW)
امنیت کلی جریان SAML کاملاً به نحوه اعتبارسنجی امضای پاسخ SAML بستگی دارد. در بسیاری از پیادهسازیها، تأیید امضا و پردازش Assertion توسط ماژولهای جداگانه یا حتی تجزیهکنندههای XML متفاوت انجام میشود. حمله XSW از ناهماهنگی بین این مؤلفهها بهرهبرداری میکند.
دور زدن کامل احراز هویت
به جای تلاش برای سرقت یا استفاده مجدد از یک Assertion امضا شده، ما به سادگی از هر سند XML دیگری که با کلید خصوصی IdP امضا شده است، استفاده مجدد میکنیم. با آن امضای معتبر، میتوانیم از منطق معیوب تأیید امضای سرور سوءاستفاده کرده و آن را فریب دهیم تا باور کند Assertion مخرب ما همانی است که امضا شده است.
آلودگی ویژگی (Attribute Pollution)
فضاهای نام XML برای حملات Signature Wrapping ایدهآل هستند، زیرا مستقیماً بر نحوه شناسایی عناصر XML توسط پرسوجوهای XPath تأثیر میگذارند. با بهرهگیری از رفتار ناسازگار در کتابخانههایی مانند libxml2 و REXML، مهاجم میتواند ویژگیهای تکراری ایجاد کند.
تکنیک Void Canonicalization
بر اساس استاندارد، عنصر ارجاعشده باید قبل از هش شدن از طریق یک یا چند تبدیل XML پردازش شود. با هدف قرار دادن این مرحله تبدیل، کلاس جدیدی از حملات به نام Void Canonicalization امکانپذیر میشود.
منبع این مقاله:PortSwigger Research
این مقاله توسط تیم افتاچک ترجمه و خلاصهسازی شده است.