بايثون في الأمن السيبراني
البايثون
بايثون هي لغة برمجة من المستوى العالي ابتكرها Guido van rossum سنة ١٩٩١ وهي مجانية بالكامل ومفتوحة المصدر وسهلة جدًا في التعلم مما جعلها إحدى لغات البرمجة المفضلة على مستوى العالم للمبرمجين المحترفين والمبتدئين على حد سواء.
تتمتع البايثون بوجود مجتمع نشط وكبير مساند لها على مستوى العالم ويُوجد الكثير من المكتبات التي يكتبها أعضاء ذلك المجتمع الرقمي العملاق في جميع المجالات تقريبا. هذا جعل البايثون الاختيار الأول للمخترقين وخبراء أمن المعلومات لبناء أدوات الاختراق والحماية.
ما يميز بايثون بشكل خاص هو ديناميكيتها وقواعد كتابتها السهلة مما يُتيح العديد من المساهمات في عدة مجالات منها أمن المعلومات. على مستوى أعمق نرى أن من أجمل مميزات بايثون هي أنه بالإمكان استيراد برامج أخرى كاملة مكتوبة بالبايثون أو حتى لغة C كمكتبة داخل برامج أخرى ليستفاد من وظائفها الداخلية بكل سهولة و يُسر. هذه الميزة تخدم المبرمج في تطوير تطبيقات وأدوات في مجال أمن المعلومات.
مصادر تعلم البايثون
يُعد التوثيق الرسمي للغة بايثون الموقع الرسمي الخص بها www.python.org أحد أهم المصادر التي ينبغي الاعتماد عليها أثناء تعلم لغة البايثون. يشرح الموقع وبشكل مفصل أوامر ووظائف واستخدامات المكتبات المختلفة في البايثون، سواء المكتبات المعيارية أو التي تكون من تطوير بعض المستخدمين.
بعض ملفات cheat sheets تُساعد في استرجاع المعلومات ومُراجعتها ويُمكنك الحصول على أحدها من هنا.
على مستوى المبرمجين عالميا، نجد موقع www.stackoverflow.com الخيار الأول لإيجاد الحلول للمشاكل البرمجية في جميع المجالات حيث يقوم المستخدمون بعض المشاكل التي تواجههم في كتابة برامجهم ويقوم الخبراء بعرض الحلول ونقل تجاربهم الخاصة بمختلف مستوياتهم المعرفية.
أيضا بالنسبة لنا في الوطن العربي يوجد المصدر الرائع لدراسته أساسيات اللغة باحترافية وهو موقع هرمش
https://harmash.com/tutorials/python
على صعيد الكتب نجد الكتب مجموعة واسعة من الكتب مثل Learn python the hard way و Learn more python the hard way اما بالنسبة الي مشاهدة الفيديوهات وهذا ما يفضله معظمكم فسأرشح لكم الكورس الخاص بقناة ELZERO WEB SCHOOL
<<< Mastering Python - تعلم بايثون >>>.
الأمن السيبراني والبايثون
يتمحور الموضوع الأساسي لهذا المقال حول كيفية استخدام البايثون في الأمن السيبراني وغيره من المسمسيات الأخري. بشكل واضح يقوم خبراء الأمن السيبراني باستخدام لغة البايثون في بناء أدوات الاختراق مثل أحصنة طروادة والماسحات الشبكية وحتى الفيروسات واختبارها في الآلات الإفتراضية بشكل سهل و ناجح. تتضمن البايثون مكتبات قياسية وأخرى من تطوير مبرمجين تخدم بشكل واسع جانب الأمن السيبراني الخخ.
الأسباب التي تجعل بايثون مُفضلة في الأمن السيبراني
- البايثون سهلة في التعلم والتطبيق.
- من السهولة تتبع الأخطاء في بايثون ومعرفة المشاكل والعيوب في البرمجيات والتطبيقات.
- لغة البايثون هي لغة مفتوحة المصدر.
- تمتلك البايثون إدارة تلقائية للذاكرة مما يُساعد المطورين على التركيز على بناء التطبيق وتحقيق المتطلبات.
- تعتبر البايثون الخيار الأمثل كلغة برمجة للمتخصصين في الأمن السيبراني الذين ليس لديهم خبرة في لغات البرمجة.
- من السهولة على فِرق الأمن السيبراني العمل بتشاركية وتعاون في المشاريع المبنية باستخدام لغة البايثون.
- يُوجد لدى البايثون كم كبير من المكتبات والحِزم الخاصة بالأمن السيبراني.
- يُمكن القول أن لغة البايثون يُمكن استخدمها لحل أي مشكلة مُتعلقة بالأمن السيبراني.
أشهر المكتبات والأدوات في البايثون للأمن السيبراني
- Scapy: مكتبة ممتازة وقوية في إجراء عمليات sniffing على حزم الشبكات و التعديل عليها.
- Requests: للتفاعل مع الانترنت عن طريق بروتوكول HTTP وهي مفيدة جدا اذا ما استخدمت مع APIs واستكشاف APIs المخفية و المحجوبة عن المستخدمين.
- BeautifulSoup: لتحليل صفحات الويب أثناء مسحها واستخراج المعلومات منها.
- Requests_html: هي مشروع من نفس مطور مكتبة requests وذلك لاستخدامها لتطبيقات المسح لصفحات الويب وتعد حاليا المنافس لمكتبة Beautifulsoup.
- pyPdf2: لاستخراج والتعديل على meta data لملفات pdf أثناء التحقيقات الجنائية الرقمية.
- pyexiftool: لاستخراج meta data بشكل مفصل من ملفات الوسائط المتعددة المختلفة ومعرفة معلومات عنها.
- socket: تأتي من ضمن مكتبات بايثون المعيارية لبناء برامج الشبكات وهي تتعامل مع مستوى منخفض للمعلومات. تستخدم بكثرة في بناء أحصنة طروادة و تبادل الملفات بينها.
- python3-nmap: لاستيراد وظائف ماسح الشبكة الشهير nmap داخل برامج بايثون والاستفادة منها خصوصا في عمليات أتمتة مسح الشبكات والأجهزة التي تتكون منها.
- volatility: لاستخدام أوامر برنامج volatility في التحقيق الجنائي الرقمي للذاكرة العشوائية للحواسيب.
- Ctypes: لبناء وتعديل على أنواع معطيات مكتوبة بلغة C وأيضا الاستفادة من خدمات ووظائف ملفات dll في ويندوز والولوج لخدمات النظام في المستويات المتدنية بحيث تُغلف جميعها بأوامر بايثون.
- cryptography: تتضمن هذه المكتبة الدوال والخصائص اللازمة لإجراء عمليات التشفير وفك التشفير بالبايثون.
- Faker: تختص هذه المكتبة بتوليد البيانات العشوائية غير الحقيقة بهدف اختبار الأنظمة والبرمجيات.
مصادر تعلم البايثون في مجال الأمن االسيبراني
هذه قائمة بمجموعة من الكتب المختصة بلأمن السيبراني بلغة البايثون:
- Gray hat python
- Black hat python
- Violent python
- Python for hackers
أما بخصوص الدورات التدريبية فإليك هذه الدورات:
- SANS SEC573 : Automating information security with python
- PTrace Security : Python for ethical hackers
- SANS SEC 573 cheat sheet