أمان التطبيقات هو عملية جعل التطبيقات أكثر أمانًا من خلال البحث عن أمان التطبيقات وإصلاحه وتعزيزه. يحدث الكثير من هذا أثناء مرحلة التطوير ، ولكنه يتضمن أدوات وطرق لحماية التطبيقات بمجرد نشرها. أصبح هذا أكثر أهمية مع تزايد استهداف المتسللين للتطبيقات بهجماتهم.
يحظى أمان التطبيق باهتمام كبير. تتوفر المئات من الأدوات لتأمين العناصر المختلفة لمحفظة التطبيقات الخاصة بك ، بدءًا من قفل تغييرات الترميز إلى تقييم تهديدات الترميز غير المقصودة وتقييم خيارات التشفير وأذونات التدقيق وحقوق الوصول. هناك أدوات متخصصة لتطبيقات الأجهزة المحمولة والتطبيقات المستندة إلى الشبكة ولجدران الحماية المصممة خصيصًا لتطبيقات الويب.
المحتويات
لماذا أمان التطبيق مهم
وفقًا لـ Veracode’s State of Software Security Vol. 10 تقرير ، 83٪ من 85000 تطبيق اختبرته بها عيب أمني واحد على الأقل. كان لدى الكثير منهم أكثر من ذلك بكثير ، حيث وجد بحثهم ما مجموعه 10 ملايين عيب ، و 20 ٪ من جميع التطبيقات بها عيب واحد على الأقل شديد الخطورة. لا تمثل كل هذه العيوب خطرًا أمنيًا كبيرًا ، لكن العدد الهائل مقلق.
كلما تمكنت من العثور على مشكلات الأمان وإصلاحها بشكل أسرع وأسرع في عملية تطوير البرامج ، ستكون مؤسستك أكثر أمانًا. لأن الجميع يرتكبون أخطاء ، فإن التحدي يكمن في العثور على هذه الأخطاء في الوقت المناسب. على سبيل المثال ، قد يسمح خطأ ترميز شائع بمدخلات لم يتم التحقق منها. يمكن أن يتحول هذا الخطأ إلى هجمات حقن SQL ثم تسرب البيانات إذا عثر عليها أحد المتطفلين.
يمكن لأدوات أمان التطبيقات التي تتكامل مع بيئة تطوير التطبيقات أن تجعل هذه العملية وسير العمل أبسط وأكثر فعالية. هذه الأدوات مفيدة أيضًا إذا كنت تجري عمليات تدقيق للامتثال ، حيث يمكنها توفير الوقت والنفقات من خلال اكتشاف المشكلات قبل أن يراها المدققون.
ساعدت الطبيعة المتغيرة لكيفية إنشاء تطبيقات المؤسسة في السنوات العديدة الماضية على النمو السريع في قطاع أمان التطبيقات. لقد ولت الأيام التي يستغرق فيها متجر تكنولوجيا المعلومات شهورًا لتحسين المتطلبات ، وبناء النماذج الأولية واختبارها ، وتسليم المنتج النهائي إلى قسم المستخدم النهائي. تكاد الفكرة تبدو غريبة في الوقت الحاضر.
بدلاً من ذلك ، لدينا أساليب عمل جديدة ، تسمى النشر والتكامل المستمر ، والتي تعمل على تحسين التطبيق يوميًا ، وفي بعض الحالات كل ساعة. هذا يعني أن أدوات الأمان يجب أن تعمل في هذا العالم المتغير باستمرار وتجد مشكلات في التعليمات البرمجية بسرعة.
Gartner في ملف تقرير عن دورة الضجيج لأمان التطبيق (تم التحديث في سبتمبر 2018) ، قال إن مديري تكنولوجيا المعلومات “بحاجة إلى تجاوز تحديد الأخطاء الأمنية الشائعة لتطوير التطبيقات والحماية من تقنيات الهجوم الشائعة.” يقدمون أكثر من اثني عشر فئة مختلفة من المنتجات ويصفون مكان وجودهم في “دورة الضجيج” الخاصة بهم.
لا يزال العديد من هذه الفئات في الظهور ويستخدم منتجات جديدة نسبيًا. يوضح هذا مدى سرعة تطور السوق حيث تصبح التهديدات أكثر تعقيدًا ، ويصعب العثور عليها ، وأكثر قوة من حيث الضرر المحتمل لشبكاتك وبياناتك وسمعة شركتك.
نقاط الضعف الأكثر شيوعًا في البرامج
إحدى الطرق للبقاء على دراية بنقاط ضعف البرامج التي من المحتمل أن يستغلها المهاجم هي قائمة CWE السنوية لنقاط ضعف البرامج الأكثر خطورة. يتتبع MITER CWEs (تعداد نقاط الضعف الشائعة) ، ويخصص لها عددًا مماثلًا لقاعدة بياناتها الخاصة بنقاط الضعف والتعرض الشائعة (CVEs). يتم تصنيف كل نقطة ضعف اعتمادًا على مدى تكرار حدوثها على أنها السبب الجذري للضعف وشدة استغلالها.
فيما يلي أهم 10 CWEs في أعلى 25 CWE لعام 2020 من MITRE مع النتائج:
- البرمجة النصية عبر المواقع (46.82)
- كتابة خارج الحدود (46.17)
- التحقق من صحة الإدخال غير المناسب (33.47)
- قراءة خارج النطاق المحدد (26.5).
- تقييد غير لائق للعمليات داخل حدود ذاكرة التخزين المؤقت (23.73)
- حقن SQL (20.69)
- التعرض لمعلومات حساسة إلى جهة فاعلة غير مصرح لها (19.16)
- استخدمه مجانًا (18.87)
- طلبات التزوير عبر المواقع (CSRF) (17.29)
- حقن أوامر نظام التشغيل (16.44)
أدوات أمان التطبيق
في حين أن هناك العديد من فئات منتجات برامج أمان التطبيقات ، فإن جوهر الأمر يتعلق بفئتين: أدوات اختبار الأمان و منتجات التدريع التطبيق. الأول هو سوق أكثر نضجًا مع عشرات البائعين المشهورين ، وبعضهم أسود في صناعة البرمجيات مثل IBM و CA و MicroFocus. تعد هذه الأدوات جيدة بما يكفي لأن شركة Gartner قد أنشأت Magic Quadrant وصنفت أهميتها ونجاحها. تمكنت مواقع المراجعة مثل IT Central Station من مسح هؤلاء البائعين وترتيبهم أيضًا.
تصنف Gartner أدوات اختبار الأمان في عدة مجموعات كبيرة ، وهي مفيدة إلى حد ما في كيفية تحديد ما تحتاجه لحماية مجموعة تطبيقاتك:
- اختبار ثابت، الذي يحلل الكود عند نقاط ثابتة أثناء تطويره. هذا مفيد للمطورين للتحقق من التعليمات البرمجية الخاصة بهم أثناء كتابتها للتأكد من تقديم مشكلات الأمان أثناء التطوير.
- الاختبار الديناميكي، الذي يحلل التعليمات البرمجية قيد التشغيل. يعد هذا أكثر فائدة ، حيث يمكنه محاكاة الهجمات على أنظمة الإنتاج والكشف عن أنماط هجوم أكثر تعقيدًا تستخدم مجموعة من الأنظمة.
- اختبار تفاعلي ، الذي يجمع بين عناصر الاختبار الثابت والديناميكي.
- اختبار المحمول تم تصميمه خصيصًا لبيئات الأجهزة المحمولة ويمكنه فحص كيفية قيام المهاجم بالاستفادة من نظام تشغيل الأجهزة المحمولة والتطبيقات التي تعمل عليها بالكامل.
هناك طريقة أخرى لإلقاء نظرة على أدوات الاختبار وهي كيفية تسليمها ، إما عبر أداة محلية أو عبر خدمة اشتراك قائمة على SaaS حيث تقوم بإرسال الرمز الخاص بك للتحليل عبر الإنترنت. حتى أن البعض يفعل كلا الأمرين.
أحد التحذيرات هو لغات البرمجة التي يدعمها كل بائع اختبار. يقصر البعض أدواتهم على لغة واحدة أو لغتين فقط. (عادةً ما تكون Java رهانًا آمنًا). ويشارك آخرون بشكل أكبر في عالم Microsoft .Net. ينطبق الأمر نفسه على بيئات التطوير المتكاملة (IDEs): تعمل بعض الأدوات كمكونات إضافية أو امتدادات لمعدات التطوير المتكاملة هذه ، لذا فإن اختبار الكود الخاص بك بسيط مثل النقر على زر.
هناك مشكلة أخرى وهي ما إذا كانت أي أداة معزولة عن نتائج الاختبار الأخرى أو يمكن دمجها في تحليلها الخاص. تعد IBM واحدة من الشركات القليلة التي يمكنها استيراد النتائج من مراجعات الكود اليدوية ، واختبار الاختراق ، وتقييمات الضعف ، واختبارات المنافسين. قد يكون هذا مفيدًا ، خاصةً إذا كان لديك أدوات متعددة تحتاج إلى تتبعها.
دعونا لا ننسى أدوات حماية التطبيقات. الهدف الرئيسي من هذه الأدوات هو تقوية التطبيق بحيث يصعب تنفيذ الهجمات. هذه منطقة أقل تخطيطًا. ستجد هنا مجموعة كبيرة من المنتجات النقطية الأصغر التي لها في كثير من الحالات سجل محدود وقواعد عملاء محدودة. الهدف من هذه المنتجات هو إجراء أكثر من مجرد اختبار للثغرات الأمنية ومنع تطبيقاتك بفعالية من الفساد أو التسوية. وهي تشمل بعض الفئات العامة المختلفة:
- الحماية الذاتية لتطبيق وقت التشغيل (RASP): يمكن اعتبار هذه الأدوات مزيجًا من الاختبار والحماية. أنها توفر قدرا من الحماية ضد هجمات الهندسة العكسية المحتملة. تراقب أدوات RASP باستمرار سلوك التطبيق ، وهو أمر مفيد بشكل خاص في بيئات الهاتف المحمول عندما يمكن إعادة كتابة التطبيقات أو تشغيلها على هاتف ذي جذر أو إساءة استخدام الامتيازات لتحويلها إلى القيام بأشياء شائنة. يمكن لأدوات RASP إرسال تنبيهات أو إنهاء العمليات الخاطئة أو إنهاء التطبيق نفسه إذا تم اكتشافه مخترقًا.
من المحتمل أن يصبح RASP هو الوضع الافتراضي في العديد من بيئات تطوير الأجهزة المحمولة ومضمنًا كجزء من أدوات حماية تطبيقات الأجهزة المحمولة الأخرى. توقع رؤية المزيد من التحالفات بين بائعي البرامج الذين لديهم حلول RASP قوية. - التعتيم على الكود: غالبًا ما يستخدم المتسللون أساليب التعتيم لإخفاء برامجهم الضارة ، والآن تتيح الأدوات للمطورين القيام بذلك للمساعدة في حماية التعليمات البرمجية الخاصة بهم من التعرض للهجوم.
- أدوات التشفير ومكافحة العبث: هذه طرق أخرى يمكن استخدامها لمنع الأشرار من اكتساب رؤى ثاقبة في التعليمات البرمجية الخاصة بك.
- أدوات الكشف عن التهديدات: تقوم هذه الأدوات بفحص البيئة أو الشبكة حيث يتم تشغيل تطبيقاتك وإجراء تقييم حول التهديدات المحتملة وعلاقات الثقة التي يساء استخدامها. يمكن لبعض الأدوات توفير “بصمات أصابع” الجهاز لتحديد ما إذا كان الهاتف المحمول قد تم تجذيره أو تم اختراقه بطريقة أخرى.
تحديات أمان التطبيق
جزء من المشكلة هو أن على تكنولوجيا المعلومات إرضاء العديد من الأساتذة المختلفين لتأمين تطبيقاتهم. يتعين عليهم أولاً مواكبة التطور في سوق أدوات تطوير التطبيقات والأمان ، ولكن هذا مجرد نقطة دخول.
يتعين على تكنولوجيا المعلومات أيضًا توقع احتياجات العمل حيث يتعمق المزيد من الشركات في المنتجات الرقمية وتتطور احتياجات محفظة تطبيقاتها إلى بنية تحتية أكثر تعقيدًا. يجب عليهم أيضًا فهم كيفية إنشاء وتأمين خدمات SaaS. لقد كانت هذه مشكلة ، مثل وجدت دراسة استقصائية حديثة شملت 500 من مديري تكنولوجيا المعلومات أن المستوى المتوسط من المعرفة بتصميم البرمجيات كان مفقودًا. يذكر التقرير ، “قد يجد مدراء تقنية المعلومات أنفسهم في مقعد ساخن مع القيادة العليا لأنهم مسؤولون عن تقليل التعقيد ، والبقاء على الميزانية ومدى سرعة التحديث لمواكبة متطلبات العمل.”
أخيرًا ، يمكن أن تنتشر مسؤولية أمان التطبيق عبر عدة فرق مختلفة داخل عمليات تكنولوجيا المعلومات الخاصة بك: يمكن أن يكون أفراد الشبكة مسؤولين عن تشغيل جدران حماية تطبيقات الويب وغيرها من الأدوات التي تركز على الشبكة ، ويمكن أن يكون أفراد سطح المكتب مسؤولين عن إجراء اختبارات موجهة نحو نقطة النهاية ، ومجموعات التنمية المختلفة لديها مخاوف أخرى. هذا يجعل من الصعب اقتراح أداة واحدة تناسب احتياجات الجميع ، ولهذا السبب أصبح السوق مجزأًا للغاية.
اتجاهات أمان التطبيق
في يناير 2019 ، نشرت Imperva حالة ثغرات تطبيقات الويب في 2018. وكانت النتائج الإجمالية إيجابية. بينما يستمر عدد نقاط الضعف في تطبيقات الويب في النمو ، فإن هذا النمو يتباطأ.
ويرجع ذلك أساسًا إلى انخفاض في نقاط ضعف إنترنت الأشياء – تم الإبلاغ عن 38 نقطة جديدة فقط في عام 2018 مقابل 112 في عام 2017. ومن ناحية أخرى ، زادت نقاط ضعف واجهة برمجة التطبيقات بنسبة 24٪ في عام 2018 ، ولكن أقل من نصف معدل النمو البالغ 56٪ لعام 2017 .
هناك مجال آخر يشهد ظهور المزيد من نقاط الضعف وفقًا لتقرير Imperva وهو في أنظمة إدارة المحتوى ، وخاصة WordPress. شهدت تلك المنصة زيادة بنسبة 30٪ في عدد نقاط الضعف المُبلغ عنها.
أشار التقرير إلى أن نظام إدارة محتوى دروبال ، على الرغم من كونه أقل شهرة بكثير من WordPress ، أصبح هدفًا للمهاجمين بسبب ثغرات أمنية: Drupalgeddon2 (CVE-2018-7600) و Drupalgeddon3 (CVE-2018-7602). كلاهما يسمح للهجمات بالاتصال بقواعد البيانات الخلفية ، وفحص الشبكات والعملاء وإصابتها ببرامج ضارة ، أو تعدين العملات المشفرة. تدعي شركة Imperva أنها منعت أكثر من نصف مليون هجوم تستخدم هذه الثغرات الأمنية في عام 2018.
يوضح تقرير Veracode أن أكثر أنواع العيوب شيوعًا هي:
- تسرب المعلومات (64٪)
- قضايا التشفير (62٪)
- حقن CRLF (61٪)
- جودة الكود (56٪)
- التحقق من صحة الإدخال غير كاف (48٪)
- البرمجة عبر المواقع (47٪)
- اجتياز الدليل (46٪)
- إدارة الشهادات (45٪)
(تمثل النسب المئوية الانتشار في التطبيقات التي تم اختبارها). وقد زاد معدل حدوث جميع العيوب المذكورة أعلاه منذ أن بدأت شركة Veracode في تتبعها منذ 10 سنوات.
كان أحد الاتجاهات الإيجابية التي توصلت إليها دراسة Veracode هو أن فحص التطبيقات يحدث فرقًا كبيرًا عندما يتعلق الأمر بإصلاح معدل ووقت إصلاح عيوب التطبيق. معدلات الإصلاح الشاملة ، خاصة بالنسبة للعيوب الشديدة الخطورة ، آخذة في التحسن. بلغ معدل الإصلاح الإجمالي 56٪ ، ارتفاعًا من 52٪ في عام 2018 ، وتم إصلاح العيوب الأكثر خطورة بمعدل 75.7٪. سيؤدي نهج DevSecOps مع الفحص المتكرر واختبار البرامج إلى تقليل الوقت لإصلاح العيوب. كان متوسط الوقت اللازم لإصلاح التطبيقات التي تم مسحها ضوئيًا 12 مرة أو أقل سنويًا 68 يومًا ، في حين أن متوسط معدل الفحص اليومي أو أكثر خفض هذا المعدل إلى 19 يومًا.
المزيد عن أمان التطبيق:
حقوق النشر © 2020 IDG Communications، Inc.