فحص الثغرات الأمنية والتطوير الآمن. الجزء 1

فحص الثغرات الأمنية والتطوير الآمن. الجزء 1

كجزء من أنشطتهم المهنية، يتعين على المطورين والمختبرين والمتخصصين في الأمان التعامل مع عمليات مثل إدارة الثغرات الأمنية (VM) وSDLC (الآمن).
وتحت هذه العبارات تكمن مجموعات مختلفة من الممارسات والأدوات المستخدمة والمتشابكة، على الرغم من اختلاف مستخدميها.

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

العمليات

تم تصميم عملية إدارة الثغرات الأمنية للمراقبة المستمرة لأمن البنية التحتية وإدارة التصحيح.
تم تصميم عملية SDLC الآمنة ("دورة التطوير الآمنة") للحفاظ على أمان التطبيق أثناء التطوير والتشغيل.

جزء مماثل من هذه العمليات هو عملية تقييم الثغرات الأمنية - تقييم الثغرات الأمنية، ومسح الثغرات الأمنية.
يتمثل الاختلاف الرئيسي بين فحص VM وSDLC في أنه في الحالة الأولى يكون الهدف هو اكتشاف الثغرات الأمنية المعروفة في برامج أو تكوينات الطرف الثالث. على سبيل المثال، إصدار قديم من Windows أو سلسلة المجتمع الافتراضية لـ SNMP.
في الحالة الثانية، الهدف هو اكتشاف نقاط الضعف ليس فقط في مكونات الطرف الثالث (التبعيات)، ولكن في المقام الأول في كود المنتج الجديد.

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

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

أدوات

يمكن إجراء المسح، مثل التحليل الأمني، باستخدام صندوق أسود أو صندوق أبيض.

الصندوق الاسود

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

تبحث ماسحات البنية التحتية (Tenable Nessus، وQualys، وMaxPatrol، وRapid7 Nexpose، وما إلى ذلك) عن منافذ الشبكة المفتوحة، وتجمع "اللافتات"، وتحدد إصدارات البرامج المثبتة، وتبحث في قاعدة معارفها للحصول على معلومات حول نقاط الضعف في هذه الإصدارات. كما يحاولون اكتشاف أخطاء التكوين مثل كلمات المرور الافتراضية أو الوصول إلى البيانات المفتوحة وشفرات SSL الضعيفة وما إلى ذلك.

يمكن لأدوات فحص تطبيقات الويب (Acunetix WVS، Netsparker، Burp Suite، OWASP ZAP، وما إلى ذلك) أيضًا تحديد المكونات المعروفة وإصداراتها (على سبيل المثال، CMS، أطر العمل، مكتبات JS). الخطوات الرئيسية للماسح الضوئي هي الزحف والتشويش.
أثناء الزحف، يقوم الماسح الضوئي بجمع معلومات حول واجهات التطبيق الحالية ومعلمات HTTP. أثناء عملية التشويش، يتم إدراج البيانات المتحولة أو التي تم إنشاؤها في جميع المعلمات المكتشفة من أجل إثارة خطأ واكتشاف الثغرة الأمنية.

تنتمي ماسحات التطبيقات هذه إلى فئتي DAST وIAST - اختبار أمان التطبيقات الديناميكي والتفاعلي، على التوالي.

مربع أبيض

هناك المزيد من الاختلافات مع مسح الصندوق الأبيض.
كجزء من عملية VM، غالبًا ما يتم منح الماسحات الضوئية (Vulners وIncsecurity Couch وVuls وTenable Nessus وما إلى ذلك) حق الوصول إلى الأنظمة عن طريق إجراء فحص مصادق عليه. وبالتالي، يمكن للماسح الضوئي تنزيل إصدارات الحزمة المثبتة ومعلمات التكوين مباشرة من النظام، دون تخمينها من لافتات خدمة الشبكة.
الفحص أكثر دقة واكتمالًا.

إذا تحدثنا عن مسح التطبيقات البيضاء (CheckMarx، HP Fortify، Coverity، RIPS، FindSecBugs، وما إلى ذلك) للتطبيقات، فإننا نتحدث عادةً عن تحليل التعليمات البرمجية الثابتة واستخدام الأدوات المناسبة لفئة SAST - اختبار أمان التطبيقات الثابتة.

مشاكل

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

سأسلط الضوء على 3 مجموعات رئيسية من المشكلات، والتي تم تأكيدها من خلال المحادثات مع المهندسين ورؤساء خدمات أمن المعلومات في مجموعة متنوعة من الشركات.

مشكلات فحص تطبيقات الويب

  1. صعوبة التنفيذ. يجب نشر الماسحات الضوئية وتكوينها وتخصيصها لكل تطبيق وتخصيص بيئة اختبار لعمليات الفحص وتنفيذها في عملية CI/CD لكي يكون ذلك فعالاً. وإلا فإنه سيكون إجراءً رسميًا عديم الفائدة ولن يؤدي إلا إلى نتائج إيجابية كاذبة
  2. مدة المسح. حتى في عام 2019، تقوم الماسحات الضوئية بعمل ضعيف في إلغاء تكرار الواجهات ويمكن أن تقضي أيامًا في مسح ألف صفحة تحتوي كل منها على 10 معلمات، معتبرة إياها مختلفة، على الرغم من أن نفس الكود هو المسؤول عنها. وفي الوقت نفسه، يجب اتخاذ قرار النشر إلى الإنتاج ضمن دورة التطوير بسرعة
  3. توصيات سيئة. تقدم الماسحات الضوئية توصيات عامة إلى حد ما، ولا يستطيع المطور دائمًا أن يفهم منها بسرعة كيفية تقليل مستوى المخاطر، والأهم من ذلك، ما إذا كان يجب القيام بذلك الآن، أم أنه ليس مخيفًا بعد
  4. تأثير مدمر على التطبيق. قد تنفذ الماسحات الضوئية هجوم حجب الخدمة (DoS) على أحد التطبيقات، ويمكنها أيضًا إنشاء عدد كبير من الكيانات أو تغيير الكيانات الموجودة (على سبيل المثال، إنشاء عشرات الآلاف من التعليقات على مدونة)، لذلك لا ينبغي عليك إطلاق عملية فحص دون تفكير في الإنتاج
  5. انخفاض جودة الكشف عن الثغرات الأمنية. تستخدم الماسحات الضوئية عادةً مجموعة ثابتة من الحمولات ويمكن أن تفوت بسهولة ثغرة أمنية لا تتناسب مع سيناريو السلوك المعروف للتطبيق.
  6. الماسح الضوئي لا يفهم وظائف التطبيق. الماسحات الضوئية نفسها لا تعرف ما هي "الخدمات المصرفية عبر الإنترنت" و"الدفع" و"التعليق". بالنسبة لهم، لا يوجد سوى روابط ومعلمات، لذلك تظل طبقة ضخمة من نقاط الضعف المحتملة في منطق الأعمال مكشوفة تمامًا؛ ولن يفكروا في إجراء شطب مزدوج، أو التجسس على بيانات شخص آخر عن طريق الهوية، أو زيادة الرصيد من خلال التقريب
  7. لا يفهم الماسح الضوئي دلالات الصفحات. لا تستطيع الماسحات الضوئية قراءة الأسئلة الشائعة، ولا يمكنها التعرف على رموز التحقق، ولن تتمكن من تلقاء نفسها من معرفة كيفية التسجيل ثم إعادة تسجيل الدخول، ولا يمكنك النقر فوق "تسجيل الخروج"، وكيفية تسجيل الطلبات عند تغيير المعلمة قيم. ونتيجة لذلك، قد لا يتم فحص معظم التطبيقات على الإطلاق.

مشاكل في مسح كود المصدر

  1. ايجابيات مزيفة. يعد التحليل الثابت مهمة معقدة تتضمن العديد من المقايضات. غالبًا ما يتعين التضحية بالدقة، وحتى الماسحات الضوئية باهظة الثمن الخاصة بالمؤسسات تنتج عددًا كبيرًا من النتائج الإيجابية الخاطئة
  2. صعوبة التنفيذ. لزيادة دقة واكتمال التحليل الثابت، من الضروري تحسين قواعد المسح، وقد تكون كتابة هذه القواعد كثيفة العمالة. في بعض الأحيان يكون من الأسهل العثور على جميع الأماكن في الكود التي تحتوي على نوع ما من الأخطاء وإصلاحها بدلاً من كتابة قاعدة لاكتشاف مثل هذه الحالات
  3. عدم وجود دعم التبعية. تعتمد المشاريع الكبيرة على عدد كبير من المكتبات والأطر التي تعمل على توسيع إمكانيات لغة البرمجة. إذا لم تكن قاعدة معارف الماسح الضوئي تحتوي على معلومات حول "المصارف" في هذه الأطر، فسوف تصبح نقطة عمياء ولن يتمكن الماسح الضوئي ببساطة من فهم الكود
  4. مدة المسح. يعد العثور على الثغرات الأمنية في التعليمات البرمجية مهمة معقدة من حيث الخوارزميات. لذلك، قد تستغرق العملية وقتًا طويلاً وتتطلب موارد حاسوبية كبيرة.
  5. تغطية منخفضة. على الرغم من استهلاك الموارد ووقت المسح، لا يزال يتعين على مطوري أدوات SAST تقديم تنازلات وتحليل ليس كل الحالات التي قد يكون فيها البرنامج
  6. استنساخ النتائج. تعد الإشارة إلى الخط المحدد ومكدس الاستدعاءات الذي يؤدي إلى ثغرة أمنية أمرًا رائعًا، ولكن في الواقع، غالبًا لا يوفر الماسح الضوئي معلومات كافية للتحقق من وجود ثغرة أمنية من الخارج. بعد كل شيء، قد يكون الخلل أيضًا في التعليمات البرمجية الميتة، والتي لا يمكن للمهاجم الوصول إليها

مشاكل فحص البنية التحتية

  1. مخزون غير كاف. في البنى التحتية الكبيرة، خاصة تلك المنفصلة جغرافيًا، غالبًا ما يكون من الأصعب معرفة المضيفين الذين سيتم فحصهم. بمعنى آخر، ترتبط مهمة المسح ارتباطًا وثيقًا بمهمة إدارة الأصول
  2. سوء ترتيب الأولويات. غالبًا ما تنتج أجهزة فحص الشبكات العديد من النتائج مع وجود عيوب لا يمكن استغلالها عمليًا، ولكن مستوى خطورتها مرتفع رسميًا. يتلقى المستهلك بلاغًا يصعب تفسيره، وليس من الواضح ما الذي يجب تصحيحه أولاً.
  3. توصيات سيئة. غالبًا ما تحتوي قاعدة معارف الماسح الضوئي على معلومات عامة جدًا حول الثغرة الأمنية وكيفية إصلاحها، لذلك سيتعين على المسؤولين تسليح أنفسهم بـ Google. الوضع أفضل قليلاً مع الماسحات الضوئية للصندوق الأبيض، والتي يمكنها إصدار أمر محدد لإصلاحه
  4. صنع يدوي. يمكن أن تحتوي البنية التحتية على العديد من العقد، مما يعني احتمال وجود العديد من العيوب، ويجب تحليل التقارير الخاصة بها وتحليلها يدويًا في كل تكرار
  5. تغطية سيئة. تعتمد جودة فحص البنية التحتية بشكل مباشر على حجم قاعدة المعرفة حول نقاط الضعف وإصدارات البرامج. حيث، اتضحفحتى رواد السوق لا يملكون قاعدة معرفية شاملة، كما أن قواعد بيانات الحلول المجانية تحتوي على الكثير من المعلومات التي لا يملكها القادة
  6. مشاكل مع الترقيع. في أغلب الأحيان، يتضمن تصحيح الثغرات الأمنية في البنية التحتية تحديث حزمة أو تغيير ملف التكوين. المشكلة الكبيرة هنا هي أن النظام، وخاصة النظام القديم، يمكن أن يتصرف بشكل غير متوقع نتيجة للتحديث. بشكل أساسي، سيتعين عليك إجراء اختبارات التكامل على البنية التحتية الحية في الإنتاج.

اقتراب

كيف يمكن أن يكون؟
سأخبرك المزيد عن الأمثلة وكيفية التعامل مع العديد من المشكلات المدرجة في الأجزاء التالية، ولكن في الوقت الحالي سأشير إلى الاتجاهات الرئيسية التي يمكنك العمل فيها:

  1. تجميع أدوات المسح المختلفة. مع الاستخدام الصحيح للعديد من الماسحات الضوئية، يمكنك تحقيق زيادة كبيرة في قاعدة المعرفة وجودة الكشف. يمكنك العثور على نقاط ضعف أكثر من إجمالي جميع أدوات الفحص التي تم إطلاقها بشكل منفصل، بينما يمكنك تقييم مستوى المخاطر بدقة أكبر وتقديم المزيد من التوصيات
  2. التكامل بين SAST وDAST. من الممكن زيادة تغطية DAST ودقة SAST من خلال تبادل المعلومات بينهما. من المصادر، يمكنك الحصول على معلومات حول المسارات الموجودة، وباستخدام DAST يمكنك التحقق مما إذا كانت الثغرة الأمنية مرئية من الخارج
  3. التعلم الآلي™. في عام 2015 أنا قلتأكثر) حول استخدام الإحصائيات لمنح الماسحات الضوئية حدس المتسلل وتسريعها. يعد هذا بالتأكيد بمثابة مادة أساسية لتطوير التحليل الأمني ​​الآلي في المستقبل.
  4. تكامل IAST مع الاختبارات التلقائية وOpenAPI. ضمن مسار CI/CD، من الممكن إنشاء عملية مسح استنادًا إلى الأدوات التي تعمل كوكيل HTTP والاختبارات الوظيفية التي تعمل عبر HTTP. ستوفر اختبارات وعقود OpenAPI/Swagger للماسح الضوئي المعلومات المفقودة حول تدفقات البيانات وتجعل من الممكن فحص التطبيق في حالات مختلفة
  5. التكوين الصحيح. لكل تطبيق وبنية تحتية، تحتاج إلى إنشاء ملف تعريف مسح مناسب، مع الأخذ في الاعتبار عدد وطبيعة الواجهات والتقنيات المستخدمة
  6. تخصيص الماسح الضوئي. في كثير من الأحيان، لا يمكن فحص التطبيق دون تعديل الماسح الضوئي. ومن الأمثلة على ذلك بوابة الدفع، حيث يجب توقيع كل طلب. وبدون كتابة موصل إلى بروتوكول البوابة، ستقوم الماسحات الضوئية بقصف الطلبات التي تحتوي على توقيع خاطئ دون قصد. ومن الضروري أيضًا كتابة ماسحات ضوئية متخصصة لنوع معين من الخلل مثل مرجع كائن مباشر غير آمن
  7. إدارة المخاطر. إن استخدام مختلف الماسحات الضوئية والتكامل مع الأنظمة الخارجية مثل إدارة الأصول وإدارة التهديدات سيسمح باستخدام العديد من المعلمات لتقييم مستوى المخاطر، حتى تتمكن الإدارة من الحصول على صورة مناسبة للحالة الأمنية الحالية للتطوير أو البنية التحتية

ترقبوا ودعنا نعطل عملية فحص الثغرات الأمنية!

المصدر: www.habr.com

إضافة تعليق