أمن المعلومات

البرمجة وأهميتها في أمن المعلومات

البرمجة وأهميتها في أمن المعلومات

 

كثيرا ما تصلني أسئلة من نوع :
– هل تعلم البرمجة أمر هام لكي أحترف أمن المعلومات؟
– ما هي أفضل لغة أتعلمها للدخول في مجال أمن المعلومات؟
– هل البايثون أفضل من لغة الـ C للعاملين بأمن المعلومات؟

 

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

بداية, هل البرمجة مهمة لأي شخص يعمل في هذا المجال؟؟

الجواب, قطعا مهمة ومفيدة بشكل كبير.

فمن خلال البرمجة يمكننا تسريع المهام التي نقوم بها في أعمالنا اليومية من خلال أتمتة هذه المهام. ويمكننا أيضا فهم الآلية التي تعمل بها البرامج والأنظمة التي نقوم بعمل تقييم أمني لها الأمر الذي يمكننا من إيجاد وإكتشاف الثغرات.

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

إذن, ما هي اللغات المحبوبة من قبل العاملين بهذا المجال؟؟

هنالك العديد من اللغات التي يحبذها العاملين بهذا المجال مثل :
– بايثون
– روبي
– بيرل
– php
– Javascript
– c
– c++
– assembly
وغيرها من اللغات الأخرى

هذه اللغات كثيرة ومتعددة, فهل يجب علي تعلمها جميعا!!!

قطعا لا. فتعلمك لأي لغة برمجة وإتقانها وإحترافها يعني بأنك ستتعلم اي لغة أخرى بشكل سريع جدا. فقبل سنوات إضطررت لتسجيل دورة في قناة تكناوي عن لغة “بايثون” (ستجدونها في القناة والموقع) وبالرغم من أني لم أكن حينها قد كتبت أي سطر بهذه اللغة, الا أنني سجلت الدروس خلال فترة قصيرة جدا. فالمهم في البرمجة هو أن يكون لديك فكر برمجي في كيفية كتابة الأكواد البرمجية وتحليل البرامج ومن ثم تعلم الـ syntax الخاص باللغة وهذا الأمر هو أسهل مهمة.

تعتمد اللغات التي يفضل أن تتعلمها كي تساعدك في هذا المجال على الهدف والغاية من تعلم هذه اللغات, فمثلا قد تكون الغاية من تعلمك البرمجمة هو عمل هندسة عكسية (Reverse Engineering) للبرامج والأنظمة, تحليل البرامج الخبيثة (Malwares), عمل إختبار إختراق (Penetration testing), كتابة الإستغلالات للثغرات (exploit writing), تطوير الأدوات المختلفة (Tools development), التحقيق الجنائي الرقمي (Digital foreinsics) أو غيرها.

لذا, تعتمد اللغات التي يفضل أن تتعلمها على حسب طبيعة الغاية المرجوة منها.

فإذا كنت ترغب في عمل الهندسة العكسية للبرامج أو تحليل البرامج الخبيثة, فإن افضل اللغات هي لغة الأسمبلي (Assembly) ولكن قد تفيدك بعض اللغات الأخرى على حسب طبيعة البرنامج, فمثلا إذا كان البرنامج مكتوب بلغة C# فيفترض منك أن تتعلم هذه اللغة (كذلك الأمر بالنسبة للغة الجافا).

إذا كنت ترغب بتعلم لغات البرمجة لغايات أتمتة عمليات إختبار الإختراق أو جمع المعلومات وغيرها (لغايات الأتمتة بشكل عام) فإنه يمكنك إستخدام أي لغة تريد ولكن اسهلها من وجهة نظري هي python, bash scripting, و powershell للويندوز.

إذا كنت ترغب بالدخول لمجال إختبار إختراق تطبيقات الويب فلغة php و تقنية asp.net هي من أهم اللغات والتقنيات التي يفترض بك تعلمها ومعرفتها كي تفيدك في عملك. ايضا ستفيدك البايثون والجافا سكريبت في كتابة بعض الإستغلالات والأدوات و أتمتة هذه المهام.

لكتابة الإستغلالات مثل إستغلالات ثغرات Buffer overflow فمن المفيد تعلم إحدى اللغات التالية : بايثون, روبي (هي اللغة المستخدمة في تطوير إطار الميتاسبلويت الشهير).

للتحقيق الجنائي الرقمي ستساعدك أي من اللغات التالية في أتمتة جمع الأدلة من الهدف: python, ruby, perl, c#, powershell, bash scripting

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

 

 

 

مقالات سابقة ذات صلة مهمة :

 

كتاب RubyFu لمختبري الإختراق

دورة بايثون تكناوي.نت

كيفية الدخول لمجال أمن المعلومات

تعريف اختبار الاختراق وخطواته

الوسوم

محمد خريشة

مهندس حاسوب من الأردن مهتم ومهووس بكل ماله علاقة بالتقنية على اختلاف اصنافها, عملت و مازلت اعمل كمطور لمواقع الويب بشكل فردي, عملت بمؤسسات اردنية كمهندس شبكات ومن ثم مهندس انظمة و حماية و الآن أعمل كمدير لقواعد بيانات اوراكل بالإضافة الى ادراة خوادم *nix , لدي خبرة بالتعامل و ادارة نظام تشغيل OpenVMS و نظام البريد الإلكتروني Exchange Server من شركة مايكروسوفت . من اهتماماتي اثراء المحتوى التقني العربي بكل ما هو جديد.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

3 × two =

إغلاق