شعار قسم ميدان

في أعماق الإنترنت.. هذا ما تحتاجه لتعلم الاختراق بنفسك

ميدان - اختراق 11 قناع إنترنت

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

    

ريشة "بيكاسّو"

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

   

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

ولتبسيط البداية، يحتاج المُستخدم إلى فهم أنظمة التشغيل، ويندوز و"ماك أو إس" (macOS) ولينكس، وفهم الفروق فيما بينها، فهناك أنظمة ملفّات مُختلفة، وأنظمة تمثيل بيانات مُختلفة، دون نسيان المعمارية التي بُنِيَ النظام عليها. وكمثال بسيط على الفروق في المعمارية، تقوم بعض الأنظمة بعزل كل تطبيق ضمن بيئته الخاصّة (Sandboxing) داخل النظام ليُصبح غير قادر على الوصول إلى بيانات التطبيقات الأُخرى أو ملفّات المُستخدم الموجودة على الحاسب دون إذن ودون إدخال كلمة مرور المُدير، بينما تُتيح أنظمة أُخرى هذا الأمر. وفي حالة إهمال مثل هذه الأساسيات، قد يقضي المُتعلّم فترة طويلة في محاولة فاشلة للوصول لشيء لا وجود له من الأساس.

 

الإلمام بالأساسيات لا يقتصر فقط على أنظمة التشغيل، بل على الشبكات وقواعد البيانات، دون نسيان لغات البرمجة المُختلفة والفروق فيما بينها كذلك، فبعض اللغات لا تحتاج إلى مُفسّر (Compiler)، بينما تحتاج أُخرى إليه. وبالحديث عن لغات البرمجة، يحتاج المُتدرّب إلى التعامل مع موجّه الأوامر، "تيرمينال" (Terminal)، الموجود في جميع أنظمة التشغيل لأنه يُتيح القيام بمجموعة غير محدودة من المهام وتثبيت الكثير من الأدوات. وعلى أرض الواقع، مُعظم البرامج التي تحمل واجهات رسومية تقوم بتحويل ما يختاره المُستخدم إلى أمر برمجي يُرسل إلى موجّه الأوامر لتنفيذ المهمّة المطلوبة وتمرير الإعدادات التي قام المُستخدم بضبطها.

 

ما سبق يُفسّر سبب اعتماد المُخترقين على نظام لينكس مثلا عوضا عن "ماك أو إس" أو ويندوز لأن الـ "تيرمينال" فيه قوّية وتدعم مجموعة كبيرة من الأدوات، وبالتالي يُمكن تنفيذ أوامر مثل العثور على المنافذ (Ports) المفتوحة داخل الشبكة. لكن ولإحقاق الحق، طوّرت مايكروسوفت من الأدوات الموجودة في موجّه الأوامر الخاص بويندوز. كما يُمكن تثبيت مجموعة لا محدودة من الأدوات، وهي التي تُعرف بـ "CLI" اختصارا لـ (Command Line Interface)، أي واجهة لموجّه الأوامر(1).

 

تنطبق عبارة الرسّام "بابلو بيكاسّو" القائلة: "تعلّم القواعد باحتراف، ثم قم بتجاوزها بفن" على عالم الاختراق، فالخطوة الأولى هي فهم آلية عمل أنظمة التشغيل، أو خوادم الويب، أو حتى أنظمة الشبكات، ليُصبح المُتعلّم فيما بعد قادرا على رصد الثغرات والعثور عليها.

   

   

فكّ الشيفرة

الكلام السابق النظري لا يُسمن ولا يُغني من جوع إذا ما لم يقترن ببعض الأمثلة العملية من عالم الاختراق. في عالم الويب، هناك أنواع من الطلبات التي يُمكن للمُستخدم إرسالها من حاسب لحاسب آخر، من أشهرها "الإرسال" (POST) و"الجلب" (GET). أبسط مثال على الطلب من نوع "الجلب" يُمكن العثور عليه في موقع يوتيوب، فبعد الرابط (https://youtube.com) يُلاحظ وجود جزء ثابت في مُعظم روابط الموقع هو (watch?v=) متبوعا بمجموعة من الأرقام والحروف التي تبدو عشوائية مثل (3rKpooXkcOc) ليُصبح الرابط كُلّه من الشكل (https://www.youtube.com/watch?v=3rKpooXkcOc).

   

تُمثّل تلك الأرقام والحروف العشوائية المُعرّف الخاص بالفيديو داخل قواعد بيانات يوتيوب، وهنا يقوم المُستخدم بإرساله لخوادم الشركة عبر طلب من نوع "الجلب". عند أخذ ذلك المُعرّف يحتاج المُبرمج إلى تأمينه أولا وفحصه والتأكّد من خلوّه من أي شيفرات برمجية خبيثة تسعى لتعطيل النظام. دور المُخترق يبدأ هنا في حقيقة الأمر، فعند رؤية مثل هذه النماذج، سيبدأ بتجربة كتابة بعض الشيفرات البرمجية أملا في تفكيك منطق النظام واختراقه، أو لزرع أكواد خبيثة داخل قواعد البيانات فيما يُعرف بـ "INJECTION". لكن إمكانية الوصول لهذا الأمر تبدأ من فهم المُتعلّم لأساسيات الويب وعمل خوادمه، وهنا تظهر أهمّية تعلّم الأساسيات.

 

الكلام نفسه ينطبق مثلا على الشبكات، فلكل جهاز داخل الشبكة عنوانه الإلكتروني (IP) الخاص الذي يسمح لبقيّة الحواسب بالتواصل معه. لكن الحاسب الواحد فيه مجموعة مُختلفة من الخدمات، مثل الآلة الحاسبة والتدقيق الإملائي على سبيل المثال لا الحصر، وهنا تظهر أهمّية المنافذ في عالم الشبكات، فلو أراد الحاسب "أ" التواصل مع الحاسب "ب" وتشغيل الآلة الحاسبة منه لتنفيذ عملية حسابية ما، يجب تحديد المنفذ الذي سيأخذ الطلب للبرنامج الصحيح.

   

   

ومع وجود المنافذ المفتوحة داخل الحاسب تزداد القوّة الجاذبة للمُخترق، فأي شخص يرغب باختراق حاسب ما سيبحث أولا عن المنافذ المفتوحة فيه وهذا عبر أدوات موجودة داخل موجّه الأوامر، أو ممكن عبر برامج بواجهات رسومية. بعدها، سيقوم بطلب العنوان الإلكتروني الخاص بالحاسب مع المنفذ على الشكل "IP:PORT" (127.0.0.1:8081)، وهذا على سبيل المثال لا الحصر. ولو كانت الآلة الحاسبة مثلا غير محميّة بكلمة مرور فسيضع المُخترق قدمه الأولى داخل الحاسب لأن الآلة الحاسبة هي عبارة عن برنامج مكتوب بلغة برمجة ما، وفي حالة وجود أي ثغرة في الآلة الحاسبة قد يُصبح المُخترق قادرا على حصد صلاحيات أكبر، وبالتالي السيطرة على الحاسب بالكامل، فمنفذ واحد غير محمي بشكل صحيح قد يسمح له بالدخول والتجوّل والسيطرة على بقيّة المنافذ دون أي قيود.

 

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

 

خبرات عمليّة

قد تبدو رحلة التعلّم طويلة في مجال الاختراق، وهذا صحيح لأنها قائمة على فكرة الهندسة العكسيّة بشكل أو بآخر، أي فهم منطق البرنامج، أو النظام، والبدء في تفكيكه ومحاولة العثور على الثغرات الموجودة فيه. لكن البداية يُمكن أن تكون من دخول أي تخصّص سواء على الإنترنت أو في الجامعة مُتعلّق بعلوم الحاسب، ففيه سيتم التطرّق لمواضيع مُختلفة مثل المنطق الإلكتروني وآلية عمل الحواسب وأنظمة التشغيل، بالإضافة إلى أساسيات الشبكات والبروتوكولات المُستخدمة فيها، وهذا مفتاح لازم يُمكن الحصول عليه عبر بعض الدورات الإلكترونية التي توفّرها جامعات مثل "ستانفورد" (Stanford) أو "إيدي إكس" (edX)(2)(3).

   

   

ومثلما هو الحال في أي مجال، يحتاج المُتعلّم إلى البحث عن الاختصاص الذي يُناسبه، أو الذي يرغب في الانطلاق منه، فالراغبون في احتراف حماية المواقع الإلكترونية بحاجة إلى دراسة لغة برمجة واحدة على الأقل موجّهة للويب، ولتكن "بي إتش بي" (PHP) على سبيل المثال، لفهم آلية استلام الطلبات ومُعالجتها داخل خوادم الويب، وآلية التواصل بين البرنامج وقواعد البيانات، إضافة إلى التواصل مع الواجهات البرمجية الخارجية، وهذا شيء مُمكن عبر ثُلّة لا حصر لها من المواقع منها العربية مثل "عالم البرمجة" ومنصّة رواق، إضافة إلى منصّة ندرس. ومنها العالمية مثل جامعة "هارفارد" (Harvard) لا تبخل بمُقرّرات مجانيّة مُتاحة للجميع(4).

 

الويب ليس المجال الوحيد للاختراقات، فالشبكات أيضا من المجالات الرائجة في الوقت الراهن بسبب الاعتماد الكبير على شبكة الإنترنت من جهة، وعلى الخوادم السحابية من جهة أُخرى، وهذا يعني أن الحصول على شهادات على غرار "سي سي إن إيه" (CCNA) أو "سي سي إن بي" (CCNP) من شركة "سيسكو" (Cisco)، أو ما يُعادلها في شركات أُخرى، أمر ضروري ولازم، لأن فهم آلية تواصل الحواسب في الشبكة الواحدة وآلية التواصل بين الشبكات والعُقد المُختلفة على الإنترنت ضروري عند الرغبة في اختراق، أو في حماية، خوادم شركة ما، فالهدف من تعلّم الاختراق والأمن الرقمي ليس الاختراق دائما، بل العمل في هذا المجال ضمن مؤسّسة لضمان تطوير أنظمة محميّة بنسبة عالية طوال الوقت(5).

 

وبالحديث عن الشبكات فإن شهادات مثل "Red Hat Certified Architect" ضرورية لأنها تعتمد على لينكس أولا، وتُقدّم مفاهيم مهمّة من الأمن الرقمي ثانيا. كما أن فهم آلية عمل الأنظمة الافتراضية (Virtual Machines) ضروري في عالم الحوسبة السحابيّة المبني بالأساس على فكرة إنشاء بيئة افتراضية داخل الخادم وتشغيل الخدمات (فتح منفذ لكل خدمة) فيها، مع الربط بين أكثر من خادم في الوقت نفسه لاستلام الطلبات ومُعالجتها بشكل فعّال طوال الوقت. وهنا تبرز بعض القنوات العربية على يوتيوب مُتخصّصة في علوم الحاسب وفي تخصّصاته المُختلفة كالحوسبة السحابية في أمازون ومنها قناة "Free4arab" أو "linuxdirection"، وهذا على سبيل المثال لا الحصر.

  

  

مجالات العمل

بعد الإلمام بتقنيات الحاسب المُختلفة، يُمكن عندها التخصّص في مجال الأمن الرقمي وهذا عبر مُتابعة مؤتمرات مُتخصّصة في هذا المجال مثل "بلاك هات" (BlackHat) أو "ديف كون" (Def Con) على سبيل المثال لا الحصر، رفقة دورات مثل "الأمن الرقمي للمُبتدئين" (Cyber Security Course for Beginners) المجانيّة أو "أساسيات الأمن الرقمي" (CYBER SECURITY BASE)، بالإضافة إلى دورة "أمن الحواسب الهجومي" (Offensive Computer Security) من جامعة فلوريدا، وبرنامج "التدريب المفتوح" (OPEN SECURITY TRAINING). وبالعودة مُجدّدا للهندسة العكسيّة، فإن كتاب "الهندسة العكسيّة للمُبتدئين" (Reverse Engineering for Beginners) من شأنه إزالة الضباب والغموض عن هذا المجال.

 

أما مجالات العمل فهي ليست محدودة، تماما مثل مصادر تعلّمه، فالمُتعلّم بإمكانه البحث عن ثغرات في المواقع الإلكترونية والتطبيقات ومن ثم التبليغ عنها للشركات لقاء الحصول على عائد مادّي، وهذا يُعرف بـ "Bug Bounty"، تُخصّص الشركات سنويا ميزانية خاصّة تُمنح كمُكافآت شريطة أن لا يتم استغلال الثغرة من قِبل المُخترق أو نشرها على العلن قبل الحصول على إذن بذلك.

  

وعلاوة على ما سبق، يُمكن للمُختصّين في مجال الويب البحث عن فرص عمل لاختبار درجة أمان التطبيقات (Web App Security Tester)، ويُمكن للمُختصّين في مجال الشبكات العمل في مجال أمن الشبكات (Network Security). كما يُمكن أيضا الدخول بشكل أعمق إلى عالم التشفير للحصول على وظيفة كمُختص في علم التشفير (Cryptographer). ولا يُمكن إهمال وظائف مثل مُستشار أمني (Security Consultant) الذي يحتاج إلى امتلاك خبرة على أرض الواقع لمُساعدة فريق العمل على اختيار أفضل الحلول التقنية دائما والتأكد من خلوّها من أي ثغرات تُهدّد أمن الشركة، وهو تخصّص يتقاطع بشكل جزئي مع خبير أمن البرمجيات (Software Security Expert) المسؤول عن تأمين الحلول البرمجية داخل الشركة.

   

ختاما، تتوفّر مجموعة كبيرة من مقاطع الفيديو والدورات على شبكة الإنترنت التي تُتيح للمُتعلّم تنفيذ حملات اختراق مثل الحرمان من الخدمة (DDOS Attacks) أو اختراق الجدران النارية (Firewall hacking)، إلا أن الإلمام بالأساسيات وفهم آلية عمل الشبكات والخوادم سينقل المُتعلّم لمرحلة أُخرى لأن الأدوات ستبقى محدودة، ويبقى الاعتماد عليها كالسباحة في حوض مُغلق.

المصدر : الجزيرة