نشر باحثون في شركة SALT لأمن تشفير الويب وصفًا رائعًا لكيفية العثور على ملف خطأ في المصادقة يطلق عليها اسم CVE-2023-28131 في مجموعة أدوات شعبية لبناء التطبيقات على الإنترنت تُعرف باسم Expo.
والخبر السار هو أن رد إكسبو حقًا سريعًا في تقرير الأخطاء الخاص بـ SALT ، والتوصل إلى إصلاح في غضون ساعات قليلة فقط من الكشف المسؤول لـ SALT.
لحسن الحظ ، لم يعتمد الإصلاح على قيام العملاء بتنزيل أي شيء ، لأنه تم تنفيذ التصحيح داخل الخدمة السحابية لـ Expo ، ولم يتطلب تصحيحات لأي تطبيقات مثبتة مسبقًا أو رمز من جانب العميل.
اكسبو استشاري لم تشرح فقط ما حدث وكيف أصلحته الشركة ، بل قدمت أيضًا نصائح برمجية لعملائها حول كيفية تجنب هذا النوع من الثغرات الأمنية المحتملة مع الخدمات الأخرى عبر الإنترنت.
ثم انتظرت SALT ثلاثة أشهر قبل نشر تقريرها ، بدلاً من الاستعجال في نشره لأغراض الدعاية بأسرع ما يمكن ، مما يمنح مستخدمي Expo فرصة لاستيعاب رد إكسبو والتصرف بناءً عليه.
الاحتفاظ بها بسيطة
تم شرح عملية المصادقة على عربات التي تجرها الدواب بالتفصيل في تقرير سالت، لكننا سنقدم هنا وصفًا مبسطًا إلى حد كبير لما حدث من خطأ في خدمة OAUTH الخاصة بإكسبو.
أوث، باختصار ل فتح إطار التفويض، هي عملية تسمح لك بالوصول إلى البيانات الخاصة في خدمة عبر الإنترنت (مثل تحرير ملفك الشخصي عبر الإنترنت ، أو إضافة مقالة مدونة جديدة ، أو الموافقة على خدمة ويب لإنشاء منشورات على وسائل التواصل الاجتماعي لك) ، دون إعداد كلمة مرور باستخدام ، أو تسجيل الدخول مباشرة إلى تلك الخدمة نفسها.
عندما ترى خدمات الويب التي تقدم لك ملف تسجيل الدخول باستخدام Google أو Facebook الخيار ، على سبيل المثال ، دائمًا ما يستخدمون OAUTH في الخلفية ، بحيث لا تحتاج إلى إنشاء اسم مستخدم جديد وكلمة مرور جديدة مع موقع ويب آخر ، أو إعطاء رقم هاتفك لخدمة أخرى عبر الإنترنت.
بالمعنى الدقيق للكلمة ، أنت تقوم بالمصادقة بشكل غير مباشر ، فقط تضع بيانات اعتماد Google أو Facebook في أحد تلك المواقع.
لا يحب بعض المستخدمين هذا ، لأنهم لا يريدون المصادقة على Google أو Facebook فقط لإثبات هويتهم لمواقع أخرى غير ذات صلة. يحب الآخرون ذلك لأنهم يفترضون أن مواقع مثل Facebook و Google تتمتع بخبرة أكبر في التعامل مع عملية تسجيل الدخول ، وتخزين تجزئة كلمات المرور بشكل آمن ، وتنفيذ 2FA ، أكثر من موقع ويب بوتيك حاول ربط عمليات أمان التشفير الخاصة به.
المصادقة الخارجية
مبسط إلى حد كبير ، تسجيل دخول على غرار OAUTH ، عبر حساب Facebook الخاص بك إلى موقع يسمى example.com
، يذهب إلى شيء مثل هذا:
- الموقع
example.com
يقول لتطبيقك أو متصفحك ، "مرحبًا X ، اذهب واحصل على رمز وصول سحري لهذا الموقع من Facebook." - تقوم بزيارة عنوان URL خاص على Facebook ، وتسجيل الدخول إذا لم تكن قد قمت بذلك بالفعل ، وقول ، "أعطني رمز وصول سحري لـ
example.com
". - إذا اقتنع Facebook بأنك من تدعي ، يجيب ، "مرحبًا ، X ، ها هو رمز الوصول السحري الخاص بك."
- قمت بتسليم رمز الوصول إلى
example.com
, والتي يمكنها بعد ذلك الاتصال بفيسبوك نفسه للتحقق من صحة الرمز المميز.
لاحظ أن Facebook فقط يرى كلمة مرور Facebook ورمز 2FA ، إذا لزم الأمر ، لذا فإن خدمة Facebook تعمل كوسيط مصادقة بينك وبين example.com
.
خلف الكواليس ، هناك تحقق نهائي ، مثل هذا:
- الموقع
example.com
يقول للفيسبوك ، "هل أصدرت هذا الرمز المميز ، وهل تتحقق من صحة المستخدم X؟" - إذا وافق Facebook ، انها تخبر
example.com
، "نعم ، نحن نعتبر أن هذا المستخدم قد تمت مصادقته."
تسلسل هدام
يمكن أن يحدث الخطأ الذي وجده باحثو SALT في كود المعرض عن طريق التخريب الخبيث لمعالجة إكسبو لما يمكن أن تسميه عملية "وساطة المصادقة".
النقاط الرئيسية هي كما يلي:
- يضيف المعرض نفسه غلافًا حول عملية التحقق ، بحيث يتعامل مع المصادقة والتحقق من الصحة نيابة عنك ، ويمرر في النهاية رمز وصول سحري إلى موقع الويب المطلوب (
example.com
في التبادل أعلاه) إلى التطبيق أو موقع الويب الذي تتصل منه. - المعلمات المستخدمة في التعامل مع التحقق معبأة في عنوان URL كبير يتم إرساله إلى خدمة المعرض.
- يتم تخزين إحدى هذه المعلمات مؤقتًا في ملف تعريف ارتباط الويب يحدد عنوان URL الذي سيتم إرسال رمز الأمان السحري الأخير إليه لتمكين الوصول.
- قبل تسليم رمز الأمان ، تطلب منك نافذة منبثقة التحقق من عنوان URL الذي على وشك التصريح به ، حتى تتمكن من اكتشاف أي شخص يحاول استبدال عنوان URL زائف في عملية تسجيل الدخول.
- إذا وافقت على النافذة المنبثقة ، يقوم Expo بإعادة توجيهك إلى عملية التحقق من Facebook.
- إذا وافق Facebook على التحقق ، يقوم بإرجاع رمز وصول سحري إلى خدمة Expo ، ويمرره Expo إلى عنوان URL الذي وافقت عليه للتو في النافذة المنبثقة ، ويطلق عليه اسم
returnURL
. - التطبيق أو موقع الويب الذي يستمع إلى الملف المحدد
returnURL
يتلقى رد إكسبو ، يكتسب رمز الوصول ، وبالتالي يتم مصادقته على أنه أنت.
لسوء الحظ ، وجد باحثو SALT أنه يمكنهم تخريب عملية تسجيل الدخول باستخدام كود JavaScript لبدء الوصول إلى عنوان URL الأولي لتسجيل الدخول إلى Expo ، ولكن بعد ذلك يتم إيقاف نافذة التحقق المنبثقة قبل أن يكون لديك الوقت لقراءتها أو الموافقة عليها بنفسك.
ومع ذلك ، في هذه المرحلة ، قامت خدمة Expo بالفعل بتعيين ملف تعريف ارتباط اسمه ru
(باختصار ل returnURL
) لإخباره بمكان معاودة الاتصال برمز الوصول السحري في النهاية.
وهذا يعني أن مجرمي الإنترنت يمكن أن يخدع كود إكسبو ليقوم "بالتذكر" أ returnURL
مثل https://roguesite.example
، دون أن ترى مربع الحوار لتحذيرك من وقوع هجوم ، ناهيك عن الموافقة عليه عن طريق الخطأ.
ثم استخدم الباحثون جزءًا ثانيًا من كود JavaScript لمحاكاة إعادة توجيه Expo إلى عملية التحقق من Facebook ، والتي ستنجح تلقائيًا إذا كنت (مثل العديد من الأشخاص) قد قمت بالفعل بتسجيل الدخول إلى Facebook نفسه.
سيؤدي التحقق من Facebook ، بدوره ، إلى إعادة توجيه عملية تسجيل الدخول إلى Expo إلى كود JavaScript الخاص بإكسبو ...
... التي من شأنها أن تنتزع بثقة ولكن بالخطأ ما لم يتم التحقق منه فعليًا returnURL
لردها من هذا السحر ru
ملف تعريف الارتباط الذي تم تعيينه في البداية ، دون موافقتك أو علمك.
فشل فتح أو فشل مغلق؟
كما ترون من الوصف أعلاه ، كانت الثغرة الأمنية ناتجة عن فشل كود إكسبو بشكل غير لائق.
يجب أن رمز المصادقة بشكل عام فشل مغلق، في المصطلحات ، مما يعني أن العملية لا ينبغي أن تنجح ما لم يتم الإشارة إلى نوع من الموافقة النشطة.
نحن نخمن أن إكسبو لم يقصد النظام أن يفعل ذلك تفشل في فتح، بالنظر إلى أن تقرير SALT يُظهر أن مربع حوار الموافقة المنبثق بدا كالتالي:
يطلب منك التطبيق الموجود على https: //roguesite.example تسجيل الدخول إلى حسابك على Facebook. هل تثق تمامًا في https: //roguesite.example وتوافق على السماح بذلك: [لا] [نعم]
تم تعيين الإجابة الافتراضية ، كما تتوقع ، على [No]
، ولكن هذا لن يؤدي إلا إلى فشل النظام في الإغلاق إذا كنت تستخدم رمز إكسبو من جانب العميل دينياً للتحكم في عملية التحقق.
من خلال توفير JavaScript الخاص بهم لتشغيل تسلسل طلبات التحقق ، تمكن الباحثون من التعامل مع مربع حوار الموافقة كما لو كان قد قال:
إذا لم تخبرنا صراحةً بحظر https: //roguesite.example من تسجيل الدخول عبر حسابك على Facebook ، فسنسمح لها بذلك: [Allow] [Block]
كان الحل ، من بين التغييرات الأخرى ، هو رمز تسجيل الدخول الأولي لإكسبو لضبط هذا السحر ru
كوكي فقط بعد موافقتك صراحة على ما يسمى ب returnURL
، بحيث يفشل رمز تسجيل دخول JavaScript اللاحق من Expo في حالة تخطي نافذة التحقق المنبثقة ، بدلاً من الوثوق بشكل أعمى بعنوان URL لم تره أو توافق عليه من قبل.
من نواح كثيرة ، يشبه هذا الخطأ ملف بلكين ويمو سمارت بلج الخطأ الذي كتبناه منذ حوالي أسبوعين ، على الرغم من أن السبب الجذري في حالة Belkin كان تجاوز سعة المخزن المؤقت ، وليس رد اتصال ويب مارق.
خصص كود Belkin مخزنًا مؤقتًا للذاكرة بسعة 68 بايت في رمز جانب الخادم الخاص به ، ولكنه اعتمد على التحقق من الكود الخاص به من جانب العميل الذي لم تحاول إرسال أكثر من 68 بايت ، وبالتالي ترك الخادم تحت رحمة المهاجمين الذين قرروا ذلك. للتحدث إلى الخادم باستخدام رمز العميل الخاص به والذي تجاوز عملية التحقق.
ماذا ستفعلين.. إذًا؟
- عند الإبلاغ عن الأخطاء وكتابتها ، ضع في اعتبارك اتباع SALT's مثال. قم بالإفصاح بشكل مسؤول ، مع منح البائع وقتًا معقولاً لإصلاح الثغرة الأمنية ، بالإضافة إلى وقت معقول لتقديم المشورة لمستخدميه ، قبل نشر التفاصيل التي من شأنها أن تسمح لأي شخص آخر بإنشاء استغلال خاص به.
- عند تلقي تقارير الأخطاء ، النظر في متابعة إكسبو مثال. قم بالرد بسرعة ، وابق على اتصال بمراسل الخطأ ، وقم بتصحيح الثغرة في أسرع وقت ممكن ، وقدم تقريرًا استقصائيًا مفيدًا لمستخدميك ، وحافظ على الموضوعية. (قاوم اقتراحات فريق التسويق الخاص بك للثناء على نفسك "لأخذك الأمان على محمل الجد" أو رفض المشكلة باعتبارها غير مهمة. هذا أمر يقرره المستخدمون ، بناءً على سرعة استجابتك ومدى ملاءمتها وتقييمهم الخاص للمخاطر.)
- تأكد من إغلاق رمز المصادقة الخاص بك. تأكد من عدم وجود خطوات تحقق أو موافقة يمكن تحييدها ببساطة عن طريق تجاهلها أو إلغائها.
- لا تفترض أبدًا أن رمز العميل الخاص بك سيكون متحكمًا في عملية التحقق. افترض أن المهاجمين سيعملون على إجراء هندسة عكسية للبروتوكول الخاص بك وإنشاء رمز عميل خاص بهم للتحايل على أكبر عدد ممكن من عمليات التحقق.
- تسجيل الخروج من حسابات الويب عندما لا تستخدمها بنشاط. يقوم العديد من الأشخاص بتسجيل الدخول إلى حسابات مثل Google و Amazon و Facebook و Apple وغيرها ، ثم يظلون مسجلين للدخول إلى أجل غير مسمى ، لأنه مناسب. يمنع تسجيل الخروج حدوث العديد من الإجراءات (بما في ذلك المصادقات والمنشورات والإعجابات والمشاركات وغير ذلك الكثير) من الحدوث عندما لا تتوقعها - سترى بدلاً من ذلك مطالبة بتسجيل الدخول.
لا تنس أنه من خلال تسجيل الخروج من خدمات الويب متى استطعت ، ومن خلال مسح جميع ملفات تعريف الارتباط الخاصة بالمتصفح وبيانات الويب المخزنة بشكل متكرر ، فإنك تقلل أيضًا من مقدار معلومات التتبع التي يمكن أن تجمعها المواقع عنك أثناء تصفحك.
بعد كل شيء ، إذا لم تقم بتسجيل الدخول ، ولم يكن لديك أي ملفات تعريف ارتباط تتبع متبقية من قبل ، فإن المواقع لم تعد تعرف من أنت بالضبط ، أو ما الذي قمت به في المرة الأخيرة التي قمت بزيارتها.
- محتوى مدعوم من تحسين محركات البحث وتوزيع العلاقات العامة. تضخيم اليوم.
- أفلاطونايستريم. ذكاء بيانات Web3. تضخيم المعرفة. الوصول هنا.
- سك المستقبل مع أدرين أشلي. الوصول هنا.
- شراء وبيع الأسهم في شركات ما قبل الاكتتاب مع PREIPO®. الوصول هنا.
- المصدر https://nakedsecurity.sophos.com/2023/05/30/serious-security-verification-is-vital-examining-an-oauth-login-bug/
- :لديها
- :يكون
- :ليس
- :أين
- $ UP
- 1
- 15%
- 2FA
- a
- ماهرون
- من نحن
- فوق
- مطلق
- الوصول
- حسابي
- الحسابات
- تستحوذ على
- عمل
- الإجراءات
- نشط
- بنشاط
- الأفعال
- مضيفا
- يضيف
- نصيحة
- تقديم المشورة لك
- بعد
- منذ
- الكل
- تخصيص
- السماح
- يسمح
- وحده
- سابقا
- أيضا
- دائما
- أمازون
- من بين
- كمية
- an
- و
- آخر
- إجابة
- أي وقت
- أي شخص
- اى شى
- التطبيق
- تفاح
- موافقة
- الموافقة على
- من وزارة الصحة
- التطبيقات
- هي
- حول
- البند
- AS
- التقييم المناسبين
- At
- مهاجمة
- مصادقة
- موثق
- التحقّق من المُستخدم
- المؤلفة
- مخول
- ترخيص
- السيارات
- تلقائيا
- تجنب
- الى الخلف
- خلفية
- خلفية الصورة
- على أساس
- BE
- لان
- كان
- قبل
- ما بين
- كبير
- عمياء
- حظر
- المدونة
- الحدود
- الملابس السفلية
- وسيط
- المتصفح
- الكوكيز المتصفح
- العازلة
- تجاوز سعة المخزن المؤقت
- علة
- البق
- لكن
- by
- دعوة
- تسمى
- CAN
- حقيبة
- يو كاتش
- سبب
- تسبب
- مركز
- فرصة
- التغييرات
- تدقيق
- الشيكات
- مطالبة
- المقاصة
- زبون
- صندوق توظيف برأس مال محدود
- سحابة
- الكود
- البرمجة
- جمع
- اللون
- آت
- حول الشركة
- الرابط
- نظر
- التواصل
- مراقبة
- مناسب
- كوكي
- ملفات تعريف الارتباط ( الكوكيز )
- استطاع
- بهيكل
- خلق
- أوراق اعتماد
- التشفير
- العملاء
- الجريمة الإلكترونية
- البيانات
- تقرر
- قررت
- الترتيب
- تم التوصيل
- وصف
- مطلوب
- التفاصيل
- تفاصيل
- حوار
- فعل
- استوعب
- مباشرة
- كشف
- إفشاء
- إغلاق
- العرض
- do
- هل
- فعل
- دون
- لا
- يطلق عليها اسم
- التحرير
- آخر
- تمكين
- النهاية
- حتى
- EVER
- بالضبط
- دراسة
- مثال
- تبادل
- توقع
- الخبره في مجال الغطس
- شرح
- استغلال
- معرض
- فيسبوك
- يفشلون
- الفشل
- فشل
- ساحر
- قليل
- نهائي
- حل
- ثابت
- متابعيك
- متابعات
- في حالة
- وجدت
- كثيرا
- تبدأ من
- تماما
- على العموم
- دولار فقط واحصل على خصم XNUMX% على جميع
- منح
- معطى
- إعطاء
- Go
- يذهب
- خير
- شراء مراجعات جوجل
- انتزاع
- جدا
- كان
- يد
- مقابض
- معالجة
- حدث
- حدث
- يملك
- ارتفاع
- مفيد
- هنا
- ساعات العمل
- تحوم
- كيفية
- كيفية
- لكن
- HTTPS
- هوية
- if
- نفذت
- in
- بما فيه
- بشكل غير مباشر
- معلومات
- في البداية
- بدلًا من ذلك
- تعتزم
- إلى
- لجنة تحقيق
- قضية
- IT
- انها
- نفسها
- رطانة
- جافا سكريبت
- م
- احتفظ
- القفل
- متماسكة
- علم
- المعرفة
- معروف
- اسم العائلة
- الى وقت لاحق
- مغادرة
- اليسار
- مثل
- استماع
- ll
- تسجيل الدخول
- تسجيل
- تسجيل الدخول
- يعد
- بدا
- سحر
- جعل
- كثير
- كثير من الناس
- هامش
- التسويق
- ماكس العرض
- معنى
- يعني
- الوسائط
- مكبر الصوت : يدعم، مع دعم ميكروفون مدمج لمنع الضوضاء
- ربما
- خطأ
- المقبلة.
- الأكثر من ذلك
- كثيرا
- عين
- حاجة
- بحاجة
- أبدا
- جديد
- أخبار
- لا
- عادي
- عدد
- أوث
- موضوعي
- of
- خصم
- عرض
- عرضت
- on
- ONE
- online
- فقط
- جاكيت
- خيار
- or
- أخرى
- أخرى
- خارج
- على مدى
- الخاصة
- موضب
- المعلمات
- يمر
- مرور
- كلمة المرور
- بقعة
- بقع
- بول
- مجتمع
- للهواتف
- أفلاطون
- الذكاء افلاطون البيانات
- أفلاطون داتا
- المزيد
- البوينت
- نقاط
- أكثر الاستفسارات
- ان يرتفع المركز
- ممكن
- المنشورات
- يقدم
- يمنع
- خاص
- عملية المعالجة
- العمليات
- ملفي الشخصي
- برمجة وتطوير
- بروتوكول
- إثبات
- تزود
- دعاية
- نشرت
- نشر
- أغراض
- وضع
- بسرعة
- بدلا
- عرض
- في الحقيقة
- معقول
- يتلقى
- يستلم
- إعادة توجيه
- تخفيض
- اعتمد
- الرد
- تقرير
- صحافي
- التقارير
- التقارير
- طلبات
- تطلب
- الباحثين
- استجابة
- مسؤول
- عائدات
- حق
- المخاطرة
- جذر
- يجري
- قال
- ملح
- راض
- قول
- يقول
- مشاهد
- الثاني
- آمن
- أمن
- رمز الأمان
- انظر تعريف
- رؤية
- رأيت
- يرى
- إرسال
- أرسلت
- تسلسل
- جدي
- الخدمة
- خدمات
- طقم
- ضبط
- مشاركة
- قصير
- ينبغي
- يظهر
- إشارة
- مماثل
- مبسط
- ببساطة
- الموقع
- المواقع
- سمارت
- So
- العدالة
- وسائل التواصل الاجتماعي
- منشورات مواقع التواصل الاجتماعي
- الصلبة
- حل
- بعض
- شيء
- قريبا
- تحدث
- تختص
- محدد
- بداية
- إقامة
- خطوات
- تخزين
- المقدمة
- النجاح
- هذه
- تموين
- SVG
- نظام
- حديث
- اقول
- يروي
- من
- أن
- •
- من مشاركة
- منهم
- then
- وبالتالي
- تشبه
- هم
- هؤلاء
- على الرغم من؟
- ثلاثة
- الوقت
- إلى
- رمز
- أدوات
- تيشرت
- تتبع الشحنة
- انتقال
- شفاف
- علاج
- حاول
- يثير
- أثار
- الثقة
- واثق ب
- محاولة
- منعطف أو دور
- اثنان
- في النهاية
- مع
- بناء على
- URL
- us
- مستعمل
- مستخدم
- المستخدمين
- استخدام
- التحقق من صحة
- التحقق من صحة
- بائع
- التحقق
- تحقق من
- بواسطة
- قم بزيارتنا
- وزار
- حيوي
- الضعف
- تريد
- وكان
- طريق..
- طرق
- we
- الويب
- خدمات ويب
- الموقع الإلكتروني
- أسابيع
- ذهب
- كان
- ابحث عن
- متى
- كلما
- التي
- من الذى
- سوف
- مع
- في غضون
- بدون
- سوف
- جاري الكتابة
- خاطئ
- X
- نعم فعلا
- حتى الآن
- لصحتك!
- حل متجر العقارات الشامل الخاص بك في جورجيا
- نفسك
- زفيرنت