مقدمة من أكاديمية حسوب
دورة تطوير التطبيقات باستخدام لغة JavaScript
في هذه الدورة ستتعلم لغة جافا سكريبت, استخدام مكتبة React.js, بناء API الموقع بواسطة Node.js, تطوير تطبيق جوال باستخدام React Native, و في نهاية الدورة ستتعلم تطوير تطبيق محادثة شبيه بتطبيق WhatsApp.
دورة تطوير واجهات المستخدم
في هذه الدورة ستتعلم لغة HTML و لغة CSS و لغة JavaScript. من ناحية التطبيق العملي ستتعلم طريقة بناء واجهة متجر إلكتروني مكون من ست صفحات, تحويل خمسة تصاميم PSD إلى صفحات ويب, بناء واجهة مستخدم تشبه موقع يوتيوب, بناء لوحة تحكم إحترافية.
دورة تطوير تطبيقات الجوال باستخدام تقنيات الويب
في هذه الدورة ستتعلم أساسيات منصة كوردوفا و كيف تستخدمها لتطوير تطبيقات متعددة المنصات, بناء تطبيق لموقع Wordpress, تطوير تطبيق قائمة مهام, تطوير تطبيق حالة الطقس, تطوير تطبيق لمطعم باستخدام إطار العمل Ionic 4.
دورة تطوير تطبيقات الويب باستخدام لغة PHP
في هذه الدورة ستتعلم لغة PHP من الصفر, استخدام إطار العمل Laravel بشرح مفصّل و عملي, كيفية تطوير شبكة اجتماعية تشبه Instagram, بناء API لتطبيق جوال وفق أسلوب RESTful, تطوير موقع إعلانات مبوبة, تطوير نظام إدارة محتوى CMS كامل.
دورة تطوير تطبيقات الويب باستخدام لغة Ruby
في هذه الدورة ستتعلم البرمجة بلغة Ruby إنطلاقاً من أبسط المفاهيم وحتى بناء تطبيق حقيقي, إستخدام إطار العمل Ruby on Rails بشرح مفصّل و عملي, بناء تطبيق حقيقي عبارة عن شبكة اجتماعية تشبه تويتر, تطوير مجتمع الكتروني يشبه حسوب I/O.
دورة علوم الحاسوب
هذه الدورة معدة لتكون مدخل لعلوم الحاسوب و لغات البرمجة حيث ستتعرف فيها على أنظمة التشغيل و ستتعمق في نظام لينكس و في كيفية التعامل معه من خلال موجه الأوامر, بالإضافة إلى قواعد البيانات و أساسيات الشبكات و الخوادم و مبادئ الحماية والأمان في الويب.

إستراتيجيات لحماية البرامج و المواقع من الإختراق

كمبرمجين تكمن مهمتنا في برمجة الأنظمة الحاسوبية لتعمل بالطريقة المطلوبة، وقليلاً ما نحسب حساب أن يتم التلاعب بطريقة عمل هذه الأنظمة كوننا لا نتوقع  أن يكون المستخدم ضليع في البرمجة أو حتى أنه يريد تخريب النظام، إستغلاله أو سرقة البيانات منه، وكون إختراق الأجهزة بغير إذن أصحابها هو محرم في الدين يعطي المبرمجين في العالم العربي نوعاً من الأمان مما يسهل على المخترقين إختراق الأنظمة و الأسوء أن يكون ذلك دون علم المسؤول عن النظام، لذلك سنناقش في هذا المقال بعض الإستراتيجيات لحماية النظام المبرمَج والتي يمكن تطبيقها في مختلف مجالات البرمجة مثل برامج سطح المكتب، المواقع و التطبيقات.

 

توقع أن يدخل المخترق من الباب

دائماً ما نظن أن المخترق سيحاول الدخول من أماكن غير متوقعة و ننسى أنه قد يحاول الدخول من الباب المتاح للجميع، و الخطر في هذه الحالة أن تكون دفاعاتنا أضعف ما يمكن عند هذا الباب، فمثلاً تعتمد الأنظمة غالباً على كلمات السر للتعرف على المستخدمين، و تكمن قوة هذه الحماية في كثرة كلمات السر المحتملة و المعقدة (تحتوي على أحرف, رموز و أعداد) التي يصعب على المخترق أن يحزرها و لكن في الواقع يوجد الكثير من الطرق للحصول عليها مثل التصيد (Phishing) أو إعتراض إتصال المستخدم مع الخادم (Man in the middle) أو حتى باستخدام هجوم القوة العمياء (Brute Force).

و نود الإشارة إلى أنه يوجد عدة إستراتيجيات مضادة لإيقاف هذه الهجمات التي تحاول استهداف أهم مستخدم للنظام و هو المدير مثل المصادقة الثنائية (Two factor authentication) التي تتطلب أن يقدم المستخدم دليلين على الأقل لإثبات هويته أولها أن يسجّل دخوله بشكل صحيح و يليها أن يدخل الكود الذي وصله كرسالة نصية عبر هاتفه أو كرسالة على بريده الإكتروني.

إذاً يجب الاهتمام بحماية المدخل المتاح للجميع لأنه قد يكون  أسهل سبل المخترق للوصول و التحكم بالنظام.

 

لا تكشف معلوماتك

أول ما يقوم به المخترق هو جمع البيانات عن الهدف لتحديد نقاط الضعف ومحاولة مهاجمتها، و كلما قللت المعلومات التي تعطيها للمخترق كانت مهمته أصعب، فمثلاً تقوم بعض خوادم HTTP بإرسال بيانات عن الخادم و بيئة العمل المستخدمة لبناء الموقع في الهيدر (Header) الخاصة ببروتوكول HTTP، و هذا يمكّن المخترق من البحث عن الثغرات التي تستهدف ذلك الإصدار من الخادم أو بيئة العمل، و هذا مثال حي على ما يعيده أحد المواقع:

Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET

يجب في هذه الحالة محاولة إخفاء أكبر قدر ممكن من البيانات غير الضرورية التي قد تشرح طريقة عمل النظام, فهي قد تساعد المخترق في عملية إختراقه. يمكن تطبيق هذا المبدأ على الكثير من الأمور البرمجية التي لا يتسع المقال لذكرها، لكن فقط فكر كمخترق و تذكر دائماً أن الهدف الذي لا تعرفه لا يمكنك إصابته.

 

المخترق يعرف أكثر مما تظن

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

تجاهل أمر الحماية على أمل أن يكون المخترق جاهلاً هو أمر غير صائب فهذا الشخص يملك أساليب مختلفة في التضليل و الخداع للحصول على البيانات التي تساعده في  الوصول إلى هدفه، فمثلاً قد تكون هناك صلاحيات أو خدمات سرية متاحة فقط لمطور و إدارة الموقع, فيتغافل مطور الموقع عن حمايتها, كونها سرية يُفترض عدم التمكن من استغلاها إلا إن قام صاحبها بالإفصاح عنها. هذا الإهمال المتعمد قد يمكّن الهاكر من الوصول لهذه البيانات السرية و بالتالي هذا يسهل إحتمالية تسلله  للنظام بشكل أسرع.

تندرج تحت هذه الاستراتيجية في الإختراق ضمن ما يعرف بالهندسة الاجتماعية (Social Engineering) و التصيد (Phishing) التي تهاجم النقطة الأضعف في حماية الأنظمة و هي البشر، و يفيد في هذه الحالة الأخذ بالحسبان أن المخترق قد يستطيع الوصول لتلك المعلومات و محاولة وضع المزيد من الصلاحيات و الحماية لمنع الوصول غير المخول لها.

 

توقع كل شيء

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

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

لذلك دائماً فكر في جميع الاحتمالات الممكنة التي قد تتسبب بتعطيل مشروعك، إستغلاله أو تسريب البيانات منه.

تقع أغلب الثغرات المعروفة مثل XSS و SQL Injection بسبب عدم تطبيق المبرمجين لهذه الاستراتيجية و لكن لا يجب حصر هذه الإستراتيجية بتلك الثغرات كما يحدث غالباً بل يجب تعميمها على طريقة عمل البرنامج بشكل عام، إذ كثيراً ما يقوم المبرمجون بحماية المواقع ضد تلك الثغرات المعروفة و لا يسدون ثغرات أبسط من تلك بكثير.

 

حدث مكتباتك

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

 

راقب بهدوء

لا تظن أن أمان النظام يكمن في سد الثغرات ثم الذهاب و الاستلقاء على السرير فدائماً ما يكون النظام معرضاً لخطر ثغرات لم تُكتشف بعد إذ لا يوجد نظام محمي 100%، لذلك قم بشكل دوري بتفقد عمل النظام و السجلات (Logs) (هي سجلات يُسجل بها كل حركة أو نشاط حدث على النظام و توقيته) فإبلاغ النظام عن حدوث أخطاء (Exceptions) أثناء تشغيله أو وصول الكثير من الطلبات للموقع من نفس العنوان (IP Address) في وقت قصير قد ينذر بمحاولة الهجوم عليه، و يمكنك حينها اتخاذ التدابير المناسبة لإيقاف الهجوم.

نبّهني عن
guest
4 تعليقات
الآراء المضمنة
شاهد جميع التعليقات
مصعب باوافي
3 شهور سابقاً

كيف أدون في مدونة؟

محمد هرموش
المدير
3 شهور سابقاً
رداً على  مصعب باوافي

عذراً للتأخر في الرد أخ مصعب, قريباً جداً سيتم فتح باب المشاركة للجميع إن شاء الله.

Seydou Dicko
3 شهور سابقاً

شكراً لك جزيلا

المختار
المختار
2 شهور سابقاً

زين

جميع الحقوق محفوظة للموقع   ٢٠٢٠ - ٢٠١٤ ©
DMCA.com Protection Status

محتوى الموقع يخضع لرخصة (CC BY-NC-ND 4.0) التي لا تسمح باستخدام الشروحات لأغراض تجارية, إجراء تعديل عليها و نشرها في موقع آخر, وضع الشروحات في تطبيق أو في كتاب إلا في حال أخذ موافقة صريحة من إدارة الموقع.

© 2020 Harmash. All Content is licensed under CC BY-NC-ND 4.0 unless mentioned otherwise.