متابعة – أمل علوي
لتطبيق ما يدور حول تسرب الفاصوليا على من يزعم أن تواعده ، من المفارقات أن Teoonher كان يسكب المعلومات الشخصية لآلاف مستخدميها على شبكة الإنترنت المفتوحة.
تم تصميم Teoonher للرجال لتبادل الصور والمعلومات حول النساء اللائي يزعمن أنهن يرجع تاريخه. ولكن يشبه إلى حد كبير شاي ، تطبيق المواعدة للنساء التي كانت تحاول تكرارها ، كان لدى Teoonher ثقوبًا في أمنه التي كشفت عن معلومات مستخدميها الشخصية ، بما في ذلك صور تراخيص سائقهن وغيرها من وثائق الهوية الصادرة عن الحكومة ، كما ذكرت TechCrunch الأسبوع الماضي.
تم إنشاء هذه التطبيقات المشابهة للمجتمع بوابات ظاهريًا للسماح للمستخدمين بمشاركة معلومات حول علاقاتهم تحت ستار السلامة الشخصية. ومع ذلك ، فإن عيوب الترميز والأمن الرديئة تبرز مخاطر الخصوصية المستمرة المتأصلة في مطالبة المستخدمين بتقديم معلومات حساسة لاستخدام التطبيقات والمواقع الإلكترونية.
مثل هذه المخاطر ستزداد سوءًا فقط. يتعين على التطبيقات الشائعة وخدمات الويب بالفعل الامتثال لقوانين تحديد العمر التي تتطلب من الأشخاص تقديم مستندات هويتهم قبل منحهم الوصول إلى المحتوى الذي يحمل موضوع البالغين ، على الرغم من مخاطر الخصوصية والأمن المرتبطة بتخزين قواعد البيانات الخاصة بالمعلومات الشخصية للأفراد.
عندما نشرت TechCrunch قصتنا الأسبوع الماضي ، لم ننشر تفاصيل محددة عن الأخطاء التي اكتشفناها في Teoonher ، حيث أخطأت على جانب الحذر حتى لا تساعد الممثلين السيئين على استغلال الخطأ. بدلاً من ذلك ، قررنا نشر إفصاح محدود ، بسبب ارتفاع شعبية التطبيق والمخاطر الفورية التي يواجهها المستخدمون عند استخدام التطبيق.
اعتبارًا من وقت الكشف ، كان Teoonher في المرتبة الثانية في مخططات التطبيق المجانية في متجر تطبيقات Apple ، وهو وضع لا يزال يحتفظ به التطبيق اليوم.
يبدو أن العيوب التي وجدناها حل. يمكن الآن لمشاركة TechCrunch كيف تمكنا من العثور على تراخيص قيادة المستخدمين في غضون 10 دقائق من إرسال رابط إلى التطبيق في متجر التطبيقات ، وذلك بفضل السهل العثور على عيوب في نظام الخلفية المواجهة للجمهور في التطبيق ، أو واجهة برمجة التطبيقات.
لم يستجب مطور التطبيق ، Xavier Lampkin ، لطلبات متعددة للتعليق بعد أن قدمنا تفاصيل عن عيوب الأمن ، ولن يلتزم Lampkin بإخطار مستخدمي Teoonher المتأثرون أو منظمي الدولة بفارق الأمن.
لقد سألنا أيضًا Lampkin عما إذا كانت أي مراجعات أمنية قد أجريت قبل إطلاق تطبيق Teoonher ، لكن لم نحصل على رد. (لدينا المزيد عن الإفصاح لاحقًا.)
حسنًا ، ابدأ الساعة.
بيانات اعتماد “لوحة المسؤول” المكشوف
قبل أن نقوم بتنزيل التطبيق ، أردنا أولاً معرفة أين تم استضافة Teoonher على الإنترنت من خلال النظر في البنية التحتية المواجهة للجمهور ، مثل موقعه على الويب وأي شيء مستضاف في مجالها.
عادة ما يكون هذا مكانًا جيدًا للبدء لأنه يساعد على فهم الخدمات الأخرى التي يرتبط بها المجال على الإنترنت.
للعثور على اسم المجال ، نظرنا أولاً (عن طريق الصدفة) في قائمة التطبيق على متجر تطبيقات Apple للعثور على موقع التطبيق. يمكن العثور على هذا عادة في سياسة الخصوصية الخاصة بها ، والتي يجب أن تتضمنها التطبيقات قبل أن سردها Apple. (تدعي قائمة التطبيق أيضًا أن المطور “لا يجمع أي بيانات من هذا التطبيق” ، وهو أمر غير صحيح بشكل واضح ، لذا خذ ذلك كما تفعل.)
كانت سياسة خصوصية Teoonher في شكل مستند Google المنشور ، والذي تضمن عنوان بريد إلكتروني مع أ teaonher.com
المجال ، ولكن لا يوجد موقع ويب.
لم يكن موقع الويب علنيًا في ذلك الوقت ، لذلك مع عدم وجود تحميل موقع ويب ، نظرنا إلى سجلات DNS التي تواجه النطاق العام ، والتي يمكن أن تساعد في تحديد ما يتم استضافته على المجال ، مثل نوع خوادم البريد الإلكتروني أو استضافة الويب. أردنا أيضًا البحث عن أي نطاقات فرعية عامة قد يستخدمها المطور لاستضافة وظائف التطبيق (أو استضافة موارد أخرى ربما لا تكون عامة) ، مثل لوحات معلومات المشرف أو قواعد البيانات أو خدمات الويب الأخرى.
ولكن عندما نظرنا إلى سجلات الإنترنت العامة في Teoonher ، لم يكن لديها معلومات مفيدة بخلاف نطاق فرعي واحد ، appserver.teaonher.com
.
عندما فتحنا هذه الصفحة في متصفحنا ، ما تم تحميله هو الصفحة المقصودة لواجهة برمجة تطبيقات Teoonher (للفضول ، قمنا بتحميل نسخة هنا). تتيح واجهة برمجة تطبيقات ببساطة الأشياء على الإنترنت للتواصل مع بعضها البعض ، مثل ربط التطبيق بقاعدة البيانات المركزية الخاصة به.
في هذه الصفحة المقصودة ، وجدنا عنوان البريد الإلكتروني المكشوف وكلمة مرور النص العادي (الذي لم يكن هذا بعيدًا عن “كلمة المرور”) للحصول على حساب Lampkin للوصول إلى Teoonher “لوحة المشرف”.
أظهرت صفحة API أن لوحة المسؤول ، المستخدمة في نظام التحقق من المستندات وإدارة المستخدم ، كانت موجودة في “LocalHost” ، والتي تشير ببساطة إلى الكمبيوتر الفعلي الذي يشغل الخادم وقد لا يمكن الوصول إليه مباشرة من الإنترنت. ليس من الواضح ما إذا كان يمكن لأي شخص استخدام بيانات الاعتماد للوصول إلى لوحة المسؤول ، ولكن هذا في حد ذاته كان اكتشافًا مقلقًا بما فيه الكفاية.
في هذه المرحلة ، كنا على بعد حوالي دقيقتين فقط.
خلاف ذلك ، لم تفعل صفحة API المقصودة الكثير سوى تقديم بعض المؤشرات على ما يمكن أن تفعله واجهة برمجة التطبيقات. أدرجت الصفحة العديد من نقاط نهاية API ، والتي يحتاج التطبيق إلى الوصول إليها من أجل العمل ، مثل استرداد سجلات المستخدم من قاعدة بيانات Teonher ، للمستخدمين لترك المراجعات ، وإرسال الإخطارات.
مع معرفة نقاط النهاية هذه ، قد يكون من الأسهل التفاعل مع واجهة برمجة التطبيقات مباشرة ، كما لو كنا نقلد التطبيق نفسه. كل واجهة برمجة تطبيقات مختلفة ، لذا فإن تعلم كيفية عمل واجهة برمجة التطبيقات وكيفية التواصل مع المرء يمكن أن يستغرق وقتًا لمعرفة ذلك ، مثل نقاط النهاية التي يجب استخدامها والمعلمات اللازمة للتحدث بفعالية لغتها. يمكن أن تكون تطبيقات مثل Postman مفيدة للوصول إلى واجهات برمجة التطبيقات والتفاعل مباشرة مع واجهات برمجة التطبيقات ، ولكن هذا يتطلب وقتًا ودرجة معينة من التجربة والخطأ (والصبر) لجعل واجهات برمجة التطبيقات يبصقون البيانات عندما لا ينبغي عليهم ذلك.
ولكن في هذه الحالة ، كان هناك طريقة أسهل.
سمح API Teoonher API بالوصول غير المصادق إلى بيانات المستخدم
تضمنت هذه الصفحة المقصودة API تسمى نقطة النهاية /docs
، التي تضمنت الوثائق التي تم إنشاؤها تلقائيًا من واجهة برمجة التطبيقات (مدعومة بمنتج يسمى Swagger UI) الذي يحتوي على القائمة الكاملة للأوامر التي يمكن تنفيذها على واجهة برمجة التطبيقات.
كانت صفحة الوثائق هذه عبارة عن ورقة رئيسية لجميع الإجراءات التي يمكنك إجراؤها على واجهة برمجة تطبيقات Teoonher كمستخدم تطبيق منتظم ، والأهم من ذلك ، كمسؤول التطبيق ، مثل إنشاء مستخدمين جدد ، والتحقق من مستندات هوية المستخدمين ، والتعليقات المعتدلة ، والمزيد.
تميزت وثائق API أيضًا بالقدرة على الاستعلام عن API Teoonher وإعادة بيانات المستخدم ، مما يتيح لنا أساسًا استرداد البيانات من خادم الخلفية للتطبيق وعرضها في متصفحنا.
على الرغم من أنه ليس من غير المألوف أن ينشر المطورون وثائق واجهة برمجة التطبيقات الخاصة بهم ، إلا أن المشكلة هنا هي أنه يمكن تقديم بعض طلبات API دون أي مصادقة – لم تكن هناك حاجة إلى كلمات مرور أو بيانات اعتماد لإرجاع المعلومات من قاعدة بيانات Teoonher. بمعنى آخر ، يمكنك تشغيل أوامر على واجهة برمجة التطبيقات للوصول إلى البيانات الخاصة للمستخدمين التي لم يكن من الممكن الوصول إليها لمستخدم التطبيق ، ناهيك عن أي شخص على الإنترنت.
كل هذا تم توثيقه بشكل مريح والجمهور ليراه أي شخص.
إن طلب قائمة من المستخدمين الموجودين حاليًا في قائمة انتظار التحقق من هوية Teoonher ، على سبيل المثال – لا يزيد عن الضغط على زر على صفحة API ، لا شيء خيالي هنا – سيعود عشرات سجلات الحساب على الأشخاص الذين قاموا مؤخراً بالتسجيل في Teoonher.
احتوت السجلات التي تم إرجاعها من خادم Teoonher على معرفات المستخدمين الفريدة داخل التطبيق (في الأساس سلسلة من الحروف والأرقام العشوائية) ، واسم شاشة الملف الشخصي العام ، وعمره وموقعه المبلغ عنه ذاتيًا ، إلى جانب عنوان بريدهم الإلكتروني الخاص. تضمنت السجلات أيضًا روابط عناوين الويب التي تحتوي على صور لتراخيص برنامج تشغيل المستخدمين وصور شخصية مقابلة.
والأسوأ من ذلك ، تم تخزين صور تراخيص السائق ، والمعرفات الصادرة عن الحكومة ، وصور شخصية في خادم S3 Cloud الذي يستضيفه Amazon على أنه متاح للجمهور لأي شخص لديه عناوين الويب الخاصة به. يتيح هذا الإعداد العام لأي شخص لديه رابط لمستندات هوية شخص ما يفتح الملفات من أي مكان بدون قيود.
باستخدام معرف المستخدم الفريد هذا ، يمكننا أيضًا استخدام صفحة API للبحث مباشرة عن سجلات المستخدمين الفرديين ، والتي ستعيد بيانات الحساب الخاصة بهم وأي من مستندات الهوية المرتبطة بها. من خلال الوصول غير المقيد إلى واجهة برمجة التطبيقات ، كان يمكن للمستخدم الضار أن يفسد كميات هائلة من بيانات المستخدم من التطبيق ، مثل ما حدث مع تطبيق الشاي لتبدأ.
من الفاصوليا إلى الكأس ، كان ذلك حوالي 10 دقائق ، ولم نقم بتسجيل الدخول إلى التطبيق بعد. كان من السهل جدًا العثور على الحشرات أنه سيكون من حسن حظه إذا لم يجدهم أحد ضارًا قبل أن نفعل ذلك.
لقد طلبنا ، لكن Lampkin لن يقول ما إذا كان لديه القدرة التقنية ، مثل السجلات ، لتحديد ما إذا كان أي شخص قد استخدم (أو يساء استخدامه) واجهة برمجة التطبيقات في أي وقت للوصول إلى مستندات التحقق من المستخدمين ، مثل تجريد عناوين الويب من واجهة برمجة التطبيقات.
في الأيام التي انقضت على تقريرنا إلى Lampkin ، تم إسقاط صفحة API Landing ، إلى جانب صفحة التوثيق الخاصة بها ، وهي تعرض الآن حالة الخادم التي تعمل بها API على أنها “صحية” فقط. على الأقل في الاختبارات السريعة ، يبدو أن واجهة برمجة التطبيقات تعتمد الآن على المصادقة ، والمكالمات السابقة التي تم إجراؤها باستخدام واجهة برمجة التطبيقات لم تعد تعمل.
كما تم تقييد عناوين الويب التي تحتوي على مستندات الهوية التي تم تحميلها للمستخدمين من العرض العام.
رفض مطور Teoonher جهود الكشف عن العيوب
بالنظر إلى أن Teoonher لم يكن لديه موقع رسمي في وقت النتائج التي توصلنا إليها ، فقد اتصل TechCrunch بعنوان البريد الإلكتروني المدرج في سياسة الخصوصية في محاولة للكشف عن الهفوات الأمنية.
لكن البريد الإلكتروني ارتد بخطأ يقول أنه لا يمكن العثور على عنوان البريد الإلكتروني. حاولنا أيضًا الاتصال بـ Lampkin من خلال عنوان البريد الإلكتروني على موقعه على الويب ، Newville Media ، لكن بريدنا الإلكتروني ارتد مرة أخرى بنفس رسالة الخطأ.
وصل TechCrunch إلى Lampkin عبر رسالة LinkedIn ، وطلب منه تقديم عنوان بريد إلكتروني حيث يمكننا إرسال تفاصيل عن عيوب الأمان. استجاب Lampkin بعنوان “دعم” عام.
عندما تكشف TechCrunch عن عيب أمني ، فإننا نتواصل للتأكيد أولاً على أن الشخص أو الشركة هو المستلم الصحيح. خلاف ذلك ، فإن إرسال تفاصيل أعمى عن خلل الأمن إلى الشخص الخطأ يمكن أن يخلق خطرًا. قبل مشاركة تفاصيل محددة عن العيوب ، طلبنا من المستلم عنوان البريد الإلكتروني “الدعم” إذا كان هذا هو العنوان الصحيح للكشف عن التعرض الأمني الذي يتضمن بيانات مستخدم Teoonher.
“يجب أن تجعلنا في الخلط بين” تطبيق الشاي “” ، أجاب لامبين عن طريق البريد الإلكتروني. (لم يكن لدينا.) “ليس لدينا خرق أمني أو تسرب البيانات”. (لقد فعل ذلك.) “لدينا بعض الروبوتات على الأكثر ولكننا لم نقم بتوسيع نطاق كبير بما يكفي لنكون في تلك المحادثة حتى الآن ، آسف لأنك مضلّت”. (لم نكن كذلك)
بالرضا عن أننا أقامنا اتصالًا مع الشخص الصحيح (وإن لم يكن بالاستجابة التي تلقيناها) ، فإن TechCrunch شاركت تفاصيل عن عيوب الأمان ، بالإضافة إلى العديد من الروابط مع تراخيص السائق المكشوفة ، ونسخة من بيانات Lampkin الخاصة للتأكيد على شدة المشكلات الأمنية.
قال لامبكين: “شكرًا لك على هذه المعلومات. هذا أمر مثير للقلق. سنقفز على هذا الآن”.
على الرغم من العديد من رسائل البريد الإلكتروني للمتابعة ، لم نسمع من Lampkin منذ أن كشفنا عن عيوب الأمن.
لا يهم إذا كنت متجر برامج من شخص واحد أو ترميز الملياردير في عطلة نهاية الأسبوع: لا يزال لدى المطورين مسؤولية الحفاظ على بيانات مستخدميهم آمنة. إذا لم تتمكن من الاحتفاظ بالبيانات الخاصة للمستخدمين ، فلا تنشئها لتبدأ.
إذا كان لديك دليل على تسريب تطبيق أو خدمة شهيرة أو كشف المعلومات ، فتواصل معه. يمكنك الاتصال بأمان هذا المراسل عبر الرسالة المشفرة في ZackWhittaker.1337 على الإشارة.
نحن نتطلع دائمًا إلى التطور ، ومن خلال توفير نظرة ثاقبة على وجهة نظرك وتعليقاتك في TechCrunch وتغطية وأحداثنا ، يمكنك مساعدتنا! املأ هذا المسح لإعلامنا كيف نفعل والحصول على فرصة للفوز بجائزة في المقابل!
هذا المحتوي تم باستخدام أدوات الذكاء الإصطناعي