القائمة الرئيسية

الصفحات

ماهي علاقة البرمجة بأمن المعلومات او الامن السيبراني ؟ وما أهميتها ؟

ماهي علاقة البرمجة بأمن المعلومات او الامن السيبراني ؟ وما أهميتها ؟

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

كل تخصص له لغته المناسبة التي يتعامل معها مثل تخصص Systems / Networks فالمفضل تعلم Python او Ruby وهكذا وسنذكر باقي التخصصات واللغة المناسبة لكل تخصص.

التعريف العلمي للبرمجة : هي عمليه كتابه الأوامر أو الأكواد لجهاز الحاسب بطريقه معينه ويقوم الحاسب بمعالجتها وإخراجها في صوره مفهومه .

لغة البرمجة : هي عباره عن مجموعه من الأوامر والتعليمات والرموز،  يتم كتابتها بطريقه معينه وتختلف من لغة الى أخرى لتنفيذ مهمه معينه،  البرمجة في الحياه العملية هي طريقه لتسهيل الحياه وحل المشاكل وتوفير الوقت.

أمن المعلومات : هو علم يهتم بتأمين وحمايه البيانات والمعلومات التي تمر من خلال الشبكة والمخاطر التي تهددها سواء كانت مخاطر داخليه او خارجيه ويتم ذلك باستخدام أدوات ووسائل معينه وتتضمن حمايه أنظمه التشغيل والبرامج والتطبيقات وقواعد البيانات والمواقع الإلكترونية.

إذاً ما هي أهميه البرمجة في أمن المعلومات ؟ 

هنا نتكلم من جانب الـ Offensive أكثر .. من خلال تعلمك للغات البرمجة تكون علي دراية بآليه عمل الأشياء مثل أنظمه التشغيل والبرامج والتطبيقات والأدوات والمواقع الإلكترونية مما يؤهلك  لاكتشاف الثغرات والاخطاء بها.

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

فالمختبر او المحلل اذا كان لا يعرف شيء عن اللغة فلن يستطيع التعامل معها ، واللغات المعروفة مثل : (C, C++ ,C#, Python Ruby, Perl, PHP, Javascript, Java, Go, Assembly) هل يجب عليك تعلم كل هذه اللغات ؟ بالطبع لا .. فأنت تتعلم فقط اللغات التي ستفيدك في المجال أو التخصص الذى ستعمل فيه.

بعض الأمثلة علي بعض التخصصات

تخصص Systems / Networks

 لكى تفهم الأدوات أو صناعتها التي تقوم بعمل Enumeration أو Scanning أو Spoofing أو Protocols analysis ، فالمفضل تعلم لغات مثل Python او Ruby فأغلب الأدوات مكتوبه بهذه اللغات مما يعنى أنك تستطيع أن تطور على تلك الأدوات او صناعه الأدوات الخاصة بك.

وأيضا تستطيع عمل بها Scripts تسهل عليك الأمور وتوفير الوقت مثل عمل أكثر من شيء بشكل متتالي دون تدخل منك و ليس بالضرورة أن تصل إلى مرحلة الـ Developer بها و لكن يكفي أن تكون ملم باللغة إلمام يمكنك من إنشاء الـ scripts التي تساعدك في عملك .

تخصص Web Application

يوجد لغات كثيره جدا في إنشاء وتطوير التطبيقات والمواقع الإلكترونية مثل : (PHP , Ruby , Python , Java , asp.net) فهل يجب عليك تعلمها كلها !! يكفيك بتعلم واحده او اثنين منهم فقط لان فكرتهم العامة واحده ولكن اختلاف بسيط في شكل وطريقه كتابه الكود. 

فإذا تعلمت واحده ستستطيع قراءة وفهم اللغات الأخرى، اللغة المنتشرة هي PHP، ومن اللغات الأساسية التي يجب ان تكون على علم بها هي الـ Javascript  مع العلم ان الـ HTML ليست لغة برمجه ولكنها اللغة المستخدمة في إنشاء هيكل صفحه الويب.

و قد يساعدك هذا في مجال الـ Web Penetration testing بشكل كبير لأنه إذا اردت أن تكتشف الثغرات لابد أن تكون لديك القدرة علي قراءة الـ code الخاص بالموقع.

تخصص Reverse Engineering / Malware analysis

عمليه الهندسة العكسية معتمده على إرجاع التطبيق او البرنامج الى الـ Source code للتعديل عليه او اكتشاف الثغرات به، مما يعني أنه يجب عليك معرفه اللغة المكتوب بها البرنامج أيا كانت اللغة.

ولكنه أمر صعب بعض الشيء لذا سوف تتعلم لغة الـ Assembly فيمكن تحويل البرنامج او التطبيق بأي لغة كان مكتوب بها الى لغة الـAssembly.

لقد كتبت موضوع سابق مفصل عن الهندسة العكسية يمكنك الرجوع الية من هنا، وهنا كتاب عن الهندسة العكسية.

تخصص Exploit Development

لكتابه الاستغلالات للثغرات مثلا ثغره Buffer overflow يجب عليك تعلم لغات مثل Ruby وهى اللغة التي تم كتابه Metasploit framework بها وهو اشهر framework في استغلال الثغرات أو لغة Python.

تخصص Digital forensics 

التحقيق الجنائي الرقمي سيفيدك جدا في هذا التخصص، لغات الـ Scripting languages مثل الـ Python , Ruby , Bash , Powershell .


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

تعليقات