هل-يمكن-تعلم-الاختراق-بنفسك؟-دليل-شامل-للاجابة-عن-السؤال

هل يمكن تعلم الاختراق بنفسك؟ دليل شامل للاجابة عن السؤال

اخبار اليوم الصحيفة, هل يمكن تعلم اخبار اليوم الصحيفة, هل يمكن تعلم

بفضل شبكة الانترنت وانظمة التعليم الالكترونية، اصبح من السهل جدا على اي شخص اتقان لغة العصر -علوم الحاسب- وتطوير مهاراته بها مع اختيار التخصّص الذي يُناسبه كالبرمجة، ادارة النظم، او حتى الشبكات والاتصالات اللاسلكيّة، في وقت تبدو فيه عبارات مثل الاختراق او حماية النظم الالكترونية وكانها رُكن مُحرّم لم تصل له تلك الانظمة التعليميّة بعد على الرغم من كثافة المحتوى المتوفّر لهذا الغرض، الا ان حُرمته تاتي من فكرة ان الابحار فيه يحتاج اولا الى فهم بعض القواعد المهمّة اللازمة في عالم الاختراق.
ريشة “بيكاسّو”
يبحث البعض مُباشرة عن دورات مُتخصّصة في مجال الاختراق ظنّا انها تُقدّم اسرار العالم الذي يبدو جذّابا من الخارج، وهذا صحيح بنسبة كبيرة عندما يصعد المُتعلّم خطوة بخطوة لان اهمال اي درجة قد يعني فيما بعد صعوبة في التعامل مع النظام المُراد اختراقه.
ولتبسيط البداية، يحتاج المُستخدم الى فهم انظمة التشغيل، ويندوز و”ماك او اس” (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)، الا ان الالمام بالاساسيات وفهم الية عمل الشبكات والخوادم سينقل المُتعلّم لمرحلة اُخرى لان الادوات ستبقى محدودة، ويبقى الاعتماد عليها كالسباحة في حوض مُغلق.هل يمكن تعلم الاختراق بنفسك؟ دليل شامل للاجابة عن السؤال

Scroll to Top