أمن المعلومات في البايثون – أهم المكتبات البايثونية لأمن المعلومات
يعد التقدم التكنولوجي من أهم الأحداث التي قامت بتشكيل ملامح القرن وتعد السرعة فيه هي السمة الأهم والأبرز. كلما زاد حضور تلك السمة زاد انتشار التكنولوجيا الرقمية مما يجعلها في متناول الجميع، ولا ننسى بالطبع المعرفة المصاحبة لها. أمن المعلومات من العناوين الحاضرة دائمًا في ظل ما نعيشه من تقدم.
باتت فئة كبيرة منا تستمتع بتلك التكنولوجيا بشكل كبير وتستخدمها لتعزيز وجودها الرقمي بشكل واضح في جميع المجالات. وهناك فئة أخرى من الأشخاص تستثمر بالمعرفة المصاحبة للتكنولوجيا بشكل ناجح مستندةً لما تجنيه من معلومات من الفئة الأولى. تظل هناك فئة ثالثة استثمرت ما جنته الفئة الثانية بشكل إبداعي لتقتات على ما تجنيه الفئتين السابقتين بشكل يؤدي إلى أضرار وخسائر كبيرة قد تتخطى الجانب الإقتصادي و الشخصي. إنهم صائدوا المعلومات، إنهم المخترقون.
أدى وجود هؤلاء المخترقين إلى بروز الحاجة الملحة بشكل كبير إلى وجود المتخصصين في حماية المعلومات والتي أصبحت تساوي ما هو أكثر من المال والذي قد يكون أحيانا الأرواح نفسها. ظهر نوع من المتخصصين الذين هم مخترقون كذلك و لكنهم سخروا طاقاتهم لخدمة المجتمعات وأمنها معلوماتيا، ألا وهم قراصنة القبعة البيضاء المتخصصين بأمن المعلومات.
سنستعرض هنا أهم ما يستخدمه خبراء أمن المعلومات و المخترقون من الناحية البرمجية لبناء أدوات الاختراق و الحماية من الصفر و كذلك بعض أهم مصادر المعرفة لتعزيز مهاراتهم البرمجية لتصل لنحو خطير لمستوى عال جدا و إبداعي للغاية.
البايثون
بايثون هي لغة برمجة من المستوى العالي ابتكرها Guido van rossum سنة ١٩٩١ وهي مجانية بالكامل ومفتوحة المصدر وسهلة جدًا في التعلم مما جعلها إحدى لغات البرمجة المفضلة على مستوى العالم للمبرمجين المحترفين والمبتدئين على حد سواء.
تتمتع البايثون بوجود مجتمع نشط وكبير مساند لها على مستوى العالم ويُوجد الكثير من المكتبات التي يكتبها أعضاء ذلك المجتمع الرقمي العملاق في جميع المجالات تقريبا. هذا جعل البايثون الاختيار الأول للمخترقين وخبراء أمن المعلومات لبناء أدوات الاختراق والحماية.
ما يميز بايثون بشكل خاص هو ديناميكيتها وقواعد كتابتها السهلة مما يُتيح العديد من المساهمات في عدة مجالات منها أمن المعلومات. على مستوى أعمق نرى أن من أجمل مميزات بايثون هي أنه بالإمكان استيراد برامج أخرى كاملة مكتوبة بالبايثون أو حتى لغة C كمكتبة داخل برامج أخرى ليستفاد من وظائفها الداخلية بكل سهولة و يُسر. هذه الميزة تخدم المبرمج في تطوير تطبيقات وأدوات في مجال أمن المعلومات.
مصادر تعلم البايثون
يُعد التوثيق الرسمي للغة بايثون www.python.org أحد أهم المصادر التي ينبغي الاعتماد عليها أثناء تعلم لغة البايثون. يشرح الموقع وبشكل مفصل أوامر ووظائف واستخدامات المكتبات المختلفة في البايثون، سواء المكتبات المعيارية أو التي تكون من تطوير بعض المستخدمين.
بعض ملفات cheat sheets تُساعد في استرجاع المعلومات ومُراجعتها ويُمكنك الحصول على أحدها من هنا.
على مستوى المبرمجين عالميا، نجد موقع www.stackoverflow.com الخيار الأول لإيجاد الحلول للمشاكل البرمجية في جميع المجالات حيث يقوم المستخدمون بعض المشاكل التي تواجههم في كتابة برامجهم ويقوم الخبراء بعرض الحلول ونقل تجاربهم الخاصة بمختلف مستوياتهم المعرفية.
على صعيد الكتب نجد الكتب مجموعة واسعة من الكتب مثل Learn python the hard way و Learn more python the hard way. يقوم الكاتب zed shaw بعرض المحتوى بشكل تشويقي يتحدى القاريء بإخراج أفضل ما لديه بالتمارين الموجودة. أضف إلى ذلك مجموعة من ملفات الفيديو المصاحبة للكتب والمواضيع التي يغطيها بشكل جميل ومفصل والتي تُعتبر دورات قوية تُعزز العملية التعليمية بشكل قوي.
و على صعيد الدورات العربية نقدم لكم بكل تواضع دورات للبايثون مسجلة و مرفوعة على منصة إيتدريس العربية هنا
أمن المعلومات والبايثون
يتمحور الموضوع الأساسي لهذا المقال حول كيفية استخدام البايثون في أمن المعلومات. بشكل واضح يقوم خبراء أمن المعلومات باستخدام لغة البايثون في بناء أدوات الاختراق مثل أحصنة طروادة والماسحات الشبكية وحتى الفيروسات واختبارها في الآلات الإفتراضية بشكل سهل و ناجح. تتضمن البايثون مكتبات قياسية وأخرى من تطوير مبرمجين تخدم بشكل واسع جانب أمن المعلومات.
برمجيات sniffing في بايثون
يُمكن من خلال البايثون تطوير برمجيات packet sniffing والتي تهدف لتمكين المخترق من الاطلاع على حِزم البيانات التي تنتقل في الشبكة والتعديل عليها واضافة حمولات تخدم اختبار الاختراق. هذا الأمر يُساعد في معرفة كيفية انتقال البيانات في الشبكة وكيف يُمكن لنا معرفة الثغرات الموجودة وتأمينها في الأجهزة التي تكون عرضة لمثل هذه المشاكل الأمنية.
لبرمجة الاستغلالات، تُستخدم البايثون في بناء برامج الاستغلالات جنبا إلى جنب مع لغات البرمجة الأخرى خصوصًا C ولغة التجميع. هذا المزيج من لغات البرمجة يُساعد في كتابة استغلالات البرامج على أنظمة التشغيل المختلفة بهدف تمكين مختبر الاختراق من الحصول على صلاحيات Root على النظام الذي يقوم بدراسة أمن المعلومات فيه.
إن أحد أشهراستخدامات البايثون في أمن المعلومات (والتي تعد المفضلة لدي شخصيا) هي بناء أدوات الإستخبارات مفتوحة المصدر. تهدف هذه الأدوات لجمع المعلومات عن الهدف، وما يُنشر عنه أو ينشره هو بنفسه في الإنترنت عمومًا وفي وسائل التواصل الاجتماعي خصوصًا. يُمكن لنا من خلال هذه الطريقة تكوين بروفايل كامل عن الشخص وعن تحركاته و اهتماماته مما يتيح للخُبراء تكوين فكرة جيدة عن الشخص المُستهدف.
الأسباب التي تجعل بايثون مُفضلة في تطبيقات أمن المعلومات
- البايثون سهلة في التعلم والتطبيق.
- من السهولة تتبع الأخطاء في بايثون ومعرفة المشاكل والعيوب في البرمجيات والتطبيقات.
- لغة البايثون هي لغة مفتوحة المصدر.
- تمتلك البايثون إدارة تلقائية للذاكرة مما يُساعد المطورين على التركيز على بناء التطبيق وتحقيق المتطلبات.
- تعتبر البايثون الخيار الأمثل كلغة برمجة للمتخصصين في أمن المعلومات الذين ليس لديهم خبرة في لغات البرمجة.
- من السهولة على فِرق أمن الملعومات العمل بتشاركية وتعاون في المشاريع المبنية باستخدام لغة البايثون.
- يُوجد لدى البايثون كم كبير من المكتبات والحِزم الخاصة بأمن المعلومات.
- يُمكن القول أن لغة البايثون يُمكن استخدمها لحل أي مشكلة مُتعلقة بأمن المعلومات.
أشهر المكتبات والأدوات في البايثون لأمن المعلومات
- 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
نتمنى أن نكون وُفقنا في بايثونات في إيصال المعلومة بالشكل الصحيح حول الموضوع ونسعد بأي ملاحظة في التعليقات. كما نتمنى منكم مشاركة مقالات بايثونات في منصات التواصل الاجتماعي مثل تويتر وفيسبوك حتى تعم الفائدة.
السلام عليكم
أرجو الرد العاجل على استفساري
عند النقر على كلمة détail الموجودة أسفل يمين صفحة الرسائل الواردة على الجيمايل، ألاحظ وجود دخول لإيميلي بين فترة وأخرى أثناء فتحه، ولمدة دقائق معدودة، ثم يختفي، والمشكلة أن الدخول يتم باستخدام نفس ip ولكن تظهر لي عبارة inconnu بمعنى مجهول، فماذا يعني ذلك؟ أرجو الرد على إيميلي دون إرفاق أي ملف، لأني أصبحت أخشى النقر على أي رابط.