يشهد عالمنا المعاصر ضغوطات متزايدة تطالب بإضفاء الطابع الديمقراطي على كل جوانب الحياة تقريباً، بما يتضمن حرية الوصول إلى المعلومات وشبكة الإنترنت وتكنولوجيات الذكاء الاصطناعي، أي أن التوجه العام أصبح يفضّل الانفتاح بشكل واضح.
قد يتوافق هذا التوجه مع معظم القطاعات والتخصصات، ولكن الأمر مختلف تماماً في مجال البرمجة. يُعَد جانب الأمن أساسياً في مجال البرمجة، وهذا ما أثبتته الهجمات الإلكترونية المتزايدة الذي شهدها العالم خلال الأعوام الثلاثة الأخيرة، إذ نعيش حالياً في بيئة ينبغي فيها توخي الحذر الشديد في المسائل المتعلقة بالأمن الرقمي أو الأمن السيبراني. والخطوة الأولى لتحقيق هذا الأمن تبدأ من كتابة شفرات آمنة.
وقد أصبحت الثغرات الأمنية الموجودة في البرمجيات تحدياً رئيسياً في معظم القطاعات، وبالتالي يؤكد الخبراء الآن على ضرورة أن تكون الشفرات أكثر أماناً مما سبق. ونظراً إلى أن الغالبية الساحقة من الشركات والمؤسسات الحكومية تستخدم البرمجيات في عملياتها اليومية، فإن الجميع معرض للتهديدات السيبرانية، حتى الهيئات والمؤسسات التي تمتلك الحد الأدنى من الاتصال بشبكة الإنترنت. وبإمكان تلك الهيئات والمؤسسات أن تعزز أمنها السيبراني بشكل كبير من خلال إجراء بعض التغييرات الصغيرة والدقيقة في نفس الوقت للبنية الأساسية لبرمجياتها المستخدمة.
لا شك بأن العالم حالياً يشهد تزايداً كبيراً في أنشطة التحول الرقمي والتوجه نحو استخدام البرمجيات الأكثر تعقيداً، الأمر الذي يجعل أنظمتنا أكثر تعرضاً للمخاطر. ويتضح هذا الأمر في ارتفاع عدد الثغرات الأمنية في البرمجيات الاعتيادية، فبحسب موقع "كومباريتيك" المتخصص في توفير المعلومات والأدوات والمراجعات والمقارنات لمساعدة القرّاء على تحسين مستوى خصوصيتهم وأمنهم السبيراني على الإنترنت، فإن قاعدة البيانات الوطنية للثغرات الأمنية التي وضعتها الحكومة الأميركية، والتي تحصل على معلوماتها من قائمة النظام المشترك للثغرات الأمنية والتعرض (CVE)، تحتوي على أكثر من 150 ألفاً من المدخلات. علماً أنه تم نشر 18,362 ثغرة أمنية في العام 2020، وهو رقم أعلى بكثير من العامين السابقين. كما سلط تقرير نهاية العام 2020، الصادر عن منصة RiskBased Security، الضوء على الزيادة الهائلة في الثغرات المكتشفة التي حددتها شركة مايكروسوفت، إذ ارتفعت بنسبة 67% في العام 2020 مقارنة بالعام الذي سبقه.
أصبح من الواضح الآن أننا بحاجة إلى الحد من هذه الثغرات، وبالتالي لا بد من توفر مستوى أعلى من الخبراء في الأمن السيبراني وفي كتابة الشفرات والبرمجة. إن البرمجة الآمنة التي تتضمن كتابة شفرات باستخدام لغات برمجة عالية المستوى وتلتزم بمبادئ صارمة تهدف إلى منع حدوث الثغرات الأمنية المحتملة، هي أكثر من مجرد عملية كتابة شفرات عادية ونشرها في التطبيقات. لذا يجب السعي إلى ضمان بيئة تطوير آمنة تعتمد على بنية أساسية موثوقة لتكنولوجيا المعلومات بحيث تستخدم معدات وبرمجيات وخدمات آمنة ومزودين يتحلون بالثقة.
إذاً، ما الإجراءات التي ينبغي أن يتخذها المطورون بعين الاعتبار عند العمل على البرمجة الآمنة؟ لا شك أن اختبار الشفرات وتحليلها أثناء عملية التطوير هو أمر أساسي. ويوجد أيضاً توجه جديد يسمى Shift Left يعمل على دمج هذه الخاصية خلال عملية تطوير البرمجيات الاعتيادية عوضاً عن ترك عملية الاختبار الأمني حتى نهاية المشروع.
وفي هذا الإطار، يجدر الذكر أن الهجمات بأنواعها يمكنها استغلال الثغرات الأمنية في الكودات، وبالتالي يجب أخذ هذه الأمور بعين الاعتبار، وتتضمن هذه الهجمات "المسوحات الآلية" و"مراجعة الشفرات"، والبرمجة العابرة للمواقع، وحقن تعليمات لغة الاستعلام المنظمة (SQL) وغيرها.
في حين أن المكتبات والمكونات مفتوحة المصدر التي يتم شراؤها كحزم يمكن أن توفر الوقت والجهد على المطورين، ففي الواقع أنه ينتهي بها الأمر في بعض الأحيان كأهداف رئيسية لإدخال شفرات ضارة إلى البرامج. لذا فإن تجنب المكونات ذات الثغرات الأمنية المعروفة يعد من أهم ركائز البرمجة الآمنة. كما أن البرمجيات التي تحتوي على قدر كافٍ من معلومات التسجيل والمراقبة ستتيح إمكانية اكتشاف الثغرات الأمنية المحتملة عندما يتم نشر الشفرات في بيئة مضبوطة وآمنة.
ولا شك أن الممارسات الموضحة أعلاه تساعد على تعزيز الإجراءات الأمنية، لكن واقع الأمر يعكس نقصاً في المبرمجين المهرة القادرين على مواكبة الطلب الكبير على مثل هذه البرامج في عالمنا الرقمي.
إن أحد أبرز تداعيات هذه المشكلة يتمثل في التوجه المتزايد لاستخدام منهجية تتطلب شفرات قليلة أو لا تتطلب استخدام شفرات على الإطلاق، وهذا يعني أن أي شخص لا يمتلك خبرة في البرمجة يمكنه أن يستخدم المكونات وأن يربطها مع بعضها لإنشاء تطبيق ويب أو تطبيق للهواتف الجوالة. إن نقص المبرمجين المهرة، وارتفاع مستوى المنافسة والطلب المتزايد بين الشركات لضمان التسليم السريع للمشاريع الأمنية الهامة، هي من العوامل التي أدت إلى انتشار هذه الظاهرة حول العالم، ما يسبب خيبة أمل لدى القلّة من المبرمجين والمطورين المخضرمين.
وفضلاً عن ذلك، ستشهد منصات التطوير التي تتطلب استخدام شفرات قليلة ارتفاعاً حاداً في الاستخدام بسبب الطلب المتزايد على البرمجة، وهذا يعني أن المهنيين غير المتخصصين الذين يمتلكون خبرات محدودة في البرمجة أصبح بإمكانهم أيضاً تطوير الحلول والتطبيقات التكنولوجية.
اقرأ أيضاً: معهد الابتكار التكنولوجي: نحو ريادة عالمية في وقت قياسي
ويقدّر محللون في شركة غارتنر أن سوق البرمجة ذات الشفرات القليلة شهد نمواً بنسبة 23% في العام 2020، لتصل قيمته إلى 11.3 مليار دولار تقريباً، كما بلغت قيمته 13.8 مليار دولار في العام 2021، ومن المتوقع أن ترتفع إلى 30 مليار دولار بحلول العام 2025. كما تتوقع الشركة أن تطوير التطبيقات باستخدام الكودات القليلة سيمثل 65% من جميع أنشطة تطوير التطبيقات بحلول العام 2024، ومعظمها للشركات الصغيرة والمتوسطة.
وفي ظل تنامي الطلب على البرمجة وتعزيز مستوى الأمن، يجب أن نتذكر بأن أمن البرمجيات لا ينفصل عن عملية التطوير، إذ برز هذا المفهوم الخاطئ نظراً إلى الأخطاء البرمجية الكبيرة التي تتطلب التدخل، لكن الأمن في الحقيقة هو جزء لا يتجزأ من عملية تطوير البرامج. ولكي نشرح هذا الأمر بشكل واضح، يمكننا أن نجري مقارنة واقعية مع عمل المهندسين المدنيين الذين يتعين عليهم ضمان الامتثال لمواصفات الأمن والسلامة قبل تسليم مشروع أو مبنى ما للمستخدمين النهائيين. ونفس الأمر ينطبق على تعلم قيادة السيارة بأمان بدون تعريض حياة الناس للخطر.
يجب أن يحرص مبرمجو اليوم على أن تكون مواصفات الأمن مدمجة في البرامج التي يطورونها لكي يصعّبوا عملية اختراق جدران الحماية الأمنية على المهاجمين. ومن أفضل الطرق التي تساعد على مجابهة مثل هذه التحديات هي إدخال مساق تعليمي إجباري حول مسائل الأمن لطلبة الجامعات الذين يدرسون البرمجة. ويمكن لقطاع تطوير البرمجيات في هذا السياق التعاون مع الجامعات لمراجعة المناهج الحالية وتضمين قضية الأمن في المنهاج. إن الأمن السيبراني ليس مشكلة تخصّ المبرمجين وحسب، بل أصبح الجميع معنياً بهذه القضية.