حوار مع المبرمج محمد عبد الباسط الذي كافأته فيسبوك لإبلاغه عن ثغرات أمنية

حوار مع المبرمج محمد عبد الباسط الذي كافأته فيسبوك لإبلاغه عن ثغرات أمنية

- ‎فيشبكات اجتماعية, شركات
@محمد سيد

خلال الشهرين الماضيين حصل المبرمج المصري محمد عبد الباسط على مكاقأتين من عملاق الشبكات الإجتماعية شركة فيسبوك، وذلك بسبب إكتشافه لثغرتين أمنيتين في موقع فيسبوك، كان لنا هذا الحوار مع محمد عبد الباسط الذي وضح لنا فيه قصته مع فيسبوك وكيفية إبلاغ فيسبوك عن الثغرات الأمنية بطريقة سليمة كما قدم بعض النصائح للمبرمجين المبتدئين.

»عرف قراء صدى التقنية بنفسك.

أنا محمد عبدالباسط النوبى، عمري 25 سنة أعمل مبرمج حر، تخرجت من كلية السياحة والفنادق جامعة المنيا عام

حوار مع المبرمج محمد عبد الباسط الذي كافأته فيسبوك لإبلاغه عن ثغرات أمنية2009، تقنى ولي بعض التجارب مع أمن المعلومات، مشهور على الإنترنت بالاسم الرمزي “SymbianSyMoh،” هوايتى الأساسية هى البرمجة وشبكات الحواسيب تقريباً منذ عام 1999، أعمل أيضاً بالعديد من المؤسسات منها صعيدى جيكس ورصد التقنية ولى بعض الأعمال التطوعيه منها المشاركه فى تعريب موقع التواصل الإجتماعى تويتر وحالياً المدير التقنى ومدير الموارد البشرية فى مجتمع جوجل للأعمال بصعيد مصر والمشرف العام على ترجمة اللغة العربية فى تطبيق Foursquare.

»كيف بدأ شغفك بالتقنية؟

بداية شغفى بالتقنية كان منذ فترة كبيره جداً  عندما حصلت على أول جهاز كمبيوتر لى عام 1998 كان أول سؤال لوالدى هو “كيف تم تصميم وبرمجة تلك النوافذ ؟!! أريد عمل مثلها؟! قمت فى البدايه بالعمل على Visual Basic for Applications الموجود ضمن نسخة مايكروسوفت أوفيس المكتبيه وعندما رأى الدي ذلك الشغف من جانبي ، فى عام 2000 قام والدى بشراء كتاب برمجى عن لغة Visual Basic 6 وأهداه لى فى مناسبة لا اتذكرها بشكل جيد وكانت هى شرارة البدأ.

»كيف بدأت في تعلم البرمجة وما هي لغات البرمجة التي تتقنها؟

بالطبع عام 1999 كان أشبه بالنكسة المعلوماتيه لعدم توافر محركات البحث بالشكل الفعال الموجود الآن إلا بعض المحركات والتى كان أغلب الناس لا يجيدون التعامل معها، وأيضاً إفتقار الإنترنت للغة العربيه بشكل كبير ساهم ذلك فى إجادتى للغة الانجليزية فى وقت قياسى، كل شئ تم بالممارسه والتعلم الذاتى والبحث عن المعلومه والتسجيل فى المنتديات وطرح الأسئلة، أما عن اللغات التى اتقنها تقريباً هى معظم لغات برمجة الويب ولكن تخصصى الأكبر كان لصالح لغتى الأم PHP قبل أن أتحول عن برمجة تطبيقات سطح المكتب من خلال لغتى C++ و6 Visual Basic إضافة الى لغات الويب الأساسية الأخرى والتى يجب إتقانها مثل HTML – CSS – HTML5 – CSS3 – Javascript – Ajax – Jquery بعدما أقتنعت وبشكل كامل بأن المستقبل للويب والموبايل منذ عام 2004.

»ما الذي يجب أن يتقنه شخص ما ليصبح هاكر أخلاقي أو باحث أمني يمكنه إكتشاف الثغرات الأمنية في المواقع والتطبيقات المختلفة؟

نصيحتى لمن يرغب فى البدأ بهذا المجال تتلخص فى بعض النقاط وهى:

  1. الايمان بمبدأ القرصنة الأخلاقية Ethical Hacking وإعلاء القيم الإنسانية الحسنة عن تلك الشريرة الدفينة الموجوده إفتراضياً فى النفس البشرية.
  2. يجب إجادة اللغة الانجليزية.
  3. إجادة لغات برمجة الويب والقيام بتنمية المهارات البرمجية وهو الأمر الذي سيساعد فى البداية  على معرفه اللغة التى تمت كتابة موقع ما بها حتى يقوم بالبحث وإستكشاف نقاط الضعف والإبلاغ عنها.
  4. دراسة الشبكات ومخدمات الإنترنت وأنظمتها جيداً.
  5. إلانغماس الكبير فى القراءة عن مجالات  Penetration Testing – Reverse Engineering – Social Engineering وعن قصص الإختراق المشهوره والمغزى منها.
  6. التدريب على استخدام الأدوات الإحترافية فى اختبار الإختراق مثل Wireshark – Ettercap – Metasploit – Fiddler – Mantra Browser.
  7. إجادة استخدام بعض أنظمة التشغيل المخصصة للإختبارات الأمنية كتوزيعات Backtrack بإصداراتها من نسخة Linux ولكن لا بأس بنظام تشغيل ويندوز فهناك أيضاً أدوات تخدم ذلك المجال عليه.
  8. محاولة حضور بعض المؤتمرات والمسابقات المهمة جدا على مستوى العالم سواء عبر الإنترنت أو الحضور الفعلى والإستفاده مثل Defcon – Pown2own.
  9. الإهتمام بتنمية المهارت الأمنيه من خلال البحث وإيجاد المعلومة فى محركات البحث بطريقة أكثر تخصصية بالإعتماد على الذات.
  10. بناء معمل اختبار امنى وهمى للقيام ببعض التجارب على سبيل المثال بواسطة تطبيقات مخصصه لذلك منها Virtual PC – VMWare – VirtualBox
  11. التثقيف الذاتى.

 

»كيف كانت قصتك مع فيسبوك وكيف توصلت لثغرتين في الموقع خلال شهرين؟

حقيقة أنا من من سنتين أو أكثر اقوم بإرسال بعض المقترحات التطويريه لما قد اجده مفيد أو ابلغ عن أي خلل اجده قد يضر تجربة المستخدم أو المستخدمين، لا اقول انهم بقوموا بتطبيق تلك المقترحات أو الشكاوى فى الحال ولكن من المحتمل أن أى مستخدم أو مجموعة من المستخدمين مثلى شعروا بأن هناك خطأ أو هناك ميزة يطلبونها وبناء على ذلك اخذها فيسبوك فى الاعتبار لأن هذا الإجراء أو السيناريو هو المتبع من قبل الفريق التطوير الخاص بالمميزات او العيوب، أول شئ قمت بمراسلتهم عنه هو وضع صورة Cover للجروب واقتراح ضم ميزة إضافة ملفات حتى يتحول الجروب إلى مساحة عمل فعلية وليس مجرد مجموعة للنقاش فقط مع بعض التحسينات مثل عملية البحث عن المنشورات داخل الجروب نفسه لصعوبة الوصول لها فيما بعد، هناك قسم خاص فى قسم مركز المساعدة العامة يسمى بقسم المقترحات يستطيع أي شخص لديه خلفية استخدام عادية ويمتلك ميزه حقيقيه فى انه يرسلها دون أي عائ،. أما بالنسبة للعيوب والاخطاء البرمجية فالخطأ البرمجى الاول الذى اكتشفته هو انه عندما قام شخص ما بمتابعتى على فيسبوك فقمت بالضغط على ايقونة التنبيهات ومن ثم الضغط على التنبيه الخاص بالمتابعه ليدخلنى فيسبوك إلي قائمة المتابعين الخاصة بى، ركزت أكتر فى الرابط URL الخاص بصفحة المتابعين فوجدته على هذه الصورة :

https://www.facebook.com/symbian.symohsk=dir=”ltr”>followers&notif_ids[0]=100000304294463&notif_ids[1]=1637358400&notif_ids[2]=685173931&notif_ids

الثغرة من نوع URL Manipulation عن طريق التلاعب بالرابط والذى يحتوى على معلومات ومتغيرات لم يتم تغليفها بالشكل الصحيح واحدها هو المتغير notif_ids والذي يعود إليه أرقام التعريف الخاصة بالملف الشخصى profile id لكل مستخدم قام بمتابعتى حسب ترتيب توقيت المتابعه بحيث يعمل كمؤشر فى ترتيب قائمة المتابعين حسب توقيت المتابعة، المهم قمت بتغيير واحد من أرقام التعريف الى الرقم 4 وهو الرقم الخاص بالملف الشخصي لمؤسس فيسبوك مارك زوكربرج وبالفعل وجدته ضمن القائمة “وكأنه قام بمتابعتى من قبل” فقمت بنشر مشاركة كي أقيس  مدى التفاعل وثقة الناس وبالفعل يكمن هنا كيفية استغلالها فى التلاعب بالطرف الآخر لإقناعة بذلك وكسب الكثير من الثقه والتوصيات على سبيل المثال، تمت مكافأتى على هذا الخطأ البرمجى بوضع اسمى فى لوحة الشرف الخاصه بالقراصنة ذوى القبعات البيضاء ومكافأه ماليه قدرها 500 دولار، أيضاً قمت بكشف ثغرتين اخرتين إحداهما تتعلق بنشر الروابط المحجوبة من قبل فيسبوك والأخرى تتمحور حول خداع المستخدمين بواسطة المنشورات ليكون هناك اسم ورابط وصورة مختلفه للمنشور عن مضمونه ويمكن إستغلال ذلك فى توجيه المستخدمين العاديين الى مواقع الإصطياد Phishing وسرقة حساباتهم الشخصية وتمت مكافأتى أيضاً على هذه الثغرة بمبلغ 1500 دولار.

»هل معنى إكتشافك لثغرتين أمنيتين في فترة قصيرة في موقع فيسبوك أن هناك خلل ما في تأمين فيسبوك؟

نعم بالطبع، لا يوجد هناك شئ كامل فالكمال لله وحده من ضمن قناعاتى ان كل مشروع مهما توصل لتقنيات كبيره جداً هناك دوماً خلل ما أو شيء يمكن تخطيه وإختراقه، موقع بحجم فيسبوك يتوسع دوما ويقوم بتحديث وإضافة مميزات جديده دورياً من المعرض أن فى كل تلك المميزات يوجد باب ما يجعلنى قادراً على التلاعب بها أو إستغلالها، ولكن المغزى الأكبر هى سرعة الإستجابه لتلك البلاغات والتقارير وإن تأخرت استجابتهم.

»برأيك هل تقدر الشركات الكبرى جهود مجتمع المبرمجين الذين يقومون بإبلاغها عن المشاكل الأمنية في مواقعها وخدماتها؟

نعم بالطبع، وفى جميع الأحوال إذا تم إستيفاء  الشروط والقوانين التى تسنها تلك الشركات حتى تحصل على المكافأه، وتضمن ايضاً حقك، لأنى تلقيت ف الفترة الاخيره هجوم مفاده انى لماذا على أن أبلغ عن الثغرات والأخطاء البرمجيه؟ ماذا لو أهدروا حقك ولم يكافؤوك؟! لماذا لا أبيع تلك الثغرات فى الأسواق السوداء؟ اسئلة من هذه النوعية توحى بعدم إرتياح الشخص أو ثقته بالفريق المسؤول عن المكافأه أو لقلة قيمة المكافأه نفسها، ولكن لذة الأمر فى “الأخلاق”، البرنامج الأمنى الخاص بفيسبوك يحتوى على شروط عده إن توافرت فى التقرير المرسل بواسطة أى خبير أمنى سيحصل على المكافأه حتماً لو اتبع تلك الخطوات والشروط بالشكل الصحيح، إن إدراج اسمى بقائمة الخبراء الأمنيين ذوى القبعات البيضاء يمثل لى الكثير وهو إعتراف رسمى من فيسبوك بقدراتي على كشف الثغرات والتبليغ عنها بالصورة الصحيحة وعدم إستغلالها إستغلال سيء، بالطبع سيكون هناك ثقل معنوى ملموس فى السيرة الذاتيه الخاصه بى وأنا اعتبر خطوة إدراج الإسم هى خطوه أهم بكثير جداً من المكافأه الماديه نظراً لما يتمتع به موقع التواصل الإجتماعى فيسبوك بالشهره فى جميع انحاء العالم واخيراً ذلك شعور رائع جداً.

»ما هي الطريقة المثلى لإبلاغ فيسبوك عن الثغرات الأمنية؟

الطريقة المثلى هي اتباع الشروط التي يمكن الإطلاع عليها من هذا الرابط  http://www.facebook.com/Whitehat والتى من أهمها عدم تجربة الثغرات الأمنيه او الأخطاء البرمجية على الحسابات الحقيقية والحصول على حسابات للإختبار والتى يوفرها فيسبوك “تكون موجودة فى الجانب الايمن فى الرابط المذكور اعلاه” وعدم الإفصاح عنها علنا إلا بعد وصول بريد إلكترونى إليك يفيد بترقيع أو سد الثغرة، بعد إستيفاء الشروط قم بالتوجه الى هذا الرابط http://www.facebook.com/Whitehat/report واتبع الخطوات، ستصلك جميع الرسائل والردود على البريد الإلكتروني التابع لحساب فيسبوك الذى قمت بالإبلاغ به.

»ما هي نصائحك للمبرمجين المبتدئين؟

  1. إتقان اللغة الانجليزية
  2. تعلم مبادئ البرمجة والمفاهيم العامة
  3. التركيز على لغة برمجة واحده والبعد عن التشتيت
  4. التركيز بشكل كبير على الويب والموبايل لأنهما ببساطه هم المستقبل بنفس الترتيب التالي:HTML
    CSS
    HTML5
    CSS3
    Javascript
    Ajax
    Jquery
    PHP او ASP.Net
    بالنسبة للبرمجة للهاتف المحمول:
    Java > android
    C#.Net > Windows Phone
    Objective C > Apple products
  5. التعلم الذاتى والمثابره وإتقان مهارات البحث.

3 Comments

  1. محمد سيد

    شكراً جزيلاً صدى التقنية

    1. محمد سيد

      العفو، الشكر لك يا محمد 🙂

  2. محمد سيد

    حوار رائع و الى الامام دائما….

‎التليقات مغلقة‫.‬