Stack Overflow يقوم بتسريب رسائل البريد الإلكتروني للمستخدم

استخدام غير آمن لتجزئة md5

أقوم بتطوير “تنبيهات Google” لخدمة GitSpo للمطورين. لم أعرف ما هو بالضبط ، لكنه ينمو بسرعة والناس يحبونه. يتمثل جزء كبير من GitSpo في تجميع البيانات من شبكات اجتماعية مختلفة ، مثل Twitter و LinkedIn و Stack Overflow. هذا عندما لاحظت شيئًا غريبًا: ملفات تعريف المستخدم الافتراضية في Stack Overflow تستخدم Gravatar.

لمن ليسوا على دراية ، Gravat a r هي خدمة تسمح لك بربط صورة (صورة رمزية) ببريدك الإلكتروني. يمكن بعد ذلك استخدام هذه الصورة بواسطة مواقع الويب الأخرى (مثل Stack Overflow) لعرض صورة رمزية للأشخاص الذين يشتركون على موقع الويب الخاص بهم. تم العثور على الصورة الرمزية للمستخدم من خلال تجزئة بريده الإلكتروني ، على سبيل المثال بريدي الإلكتروني هو gajus@gajus.com. يمكن لأي شخص لديه بريدي الإلكتروني إنشاء عنوان URL خاص بـ Gravatar:

https://www.gravatar.com/avatar/74a5bd659b3a8af09a336a932eebe3b1

الذي سيحمل صورتي الرمزية:

تم إطلاق الخدمة في عام 2007 ونمت بسرعة ، ويرجع ذلك جزئيًا إلى كونها الصورة الرمزية الافتراضية للتعليقات المتبقية على مواقع WordPress. إنها فكرة رائعة: قم بتحميل الصورة الرمزية مرة واحدة واجعلها تتبعك عبر الإنترنت. قم بتحديث Gravatar ، وتحديثات avatar الخاصة بك عبر جميع مواقع الويب. للأسف ، خوارزمية التجزئة التي اختاروها ليست آمنة بشكل خاص.

يتم إنشاء صورة Gravatar عن طريق تجزئة MD5 لتمثيل حرف صغير ومقلص لبريدك الإلكتروني ، على سبيل المثال md5 (& # x27 ؛ gajus@gajus.com' ؛) === & # x27؛ 74a5bd659b3a8af09a336a932eebe3b1 & # x27 ؛ . إنها تجزئة سريعة. كان استخدام MD5 لتجزئة البيانات الخاصة اختيارًا سيئًا حتى في ذلك الوقت. اليوم ، هناك قواعد بيانات MD5 تحتوي على أكثر من 90 تريليون علامة تجزئة. علاوة على ذلك ، نظرًا لأن معظم رسائل البريد الإلكتروني تحتوي فقط على نطاق ضيق من الأحرف ( / ^[az@\-.]+$/ ) ويمكنك افتراض نهايتها (نطاقات البريد الإلكتروني الشائعة مثل gmail. com ) ، فهناك الكثير من التباديل التي يجب تجزئتها مسبقًا.

كتجربة ، اخترت تجزئة 1000 ملف شخصي في Stack Overflow واستخدمت إحدى خدمات “فك التشفير” MD5 ، والتي أعطتني 721 رسالة بريد إلكتروني (بمعدل نجاح 72٪).

ومع ذلك ، فإن حالة الاستخدام المثيرة للاهتمام هي عدم تلقي رسائل البريد الإلكتروني. العديد من رسائل البريد الإلكتروني للمطورين شبه عامة بالفعل ، على سبيل المثال يمكن الحصول على رسائل البريد الإلكتروني لمستخدمي GitHub من ملفهم الشخصي العام أو سجلات الالتزام أو ملفات الترخيص أو حتى التعليقات في الكود. نظرًا لأن GitSpo لديه فهرس لجميع مستخدمي ومستودعات GitHub العامة ، فقد تمكنت من إضافة عناوين البريد الإلكتروني المرتبطة بها وتجزئةها ومطابقتها مع Stack Overflow. كل 1000 منهم.

تجدر الإشارة إلى أن Stack Overflow ليست الخدمة الوحيدة التي تستخدم Gravatar (WordPress و HootSuite و TechDirt و Disqus ، على سبيل المثال لا الحصر). برز موقع Stack Overflow ببساطة لأنه أحد موارد المطورين وقد أدهشني أن هذا قد تسلل عبر الفجوات.

ليس هناك الكثير الذي يمكن لـ Stack Overflow فعله حيال ذلك اليوم – لدى Stack Overflow العديد من نسخ مواقع الويب الخاصة بهم تطفو على الإنترنت. ومع ذلك ، سيكون من الأفضل التوقف عن الاعتماد على Gravatar كخدمة للمستخدمين الجدد الذين ينضمون إلى النظام.