البرنامج مضمون أن يحتوي على أخطاء. يمكن أن يكون هناك عدة آلاف من أسطر التعليمات البرمجية في البرنامج ، وقابلية الإنسان للخطأ تعني أن بعضًا منها على الأقل لن يكون كاملاً على النحو المنشود. دورة حياة تطوير البرامج هي عملية مصممة لمحاولة تقليل هذه المشكلات عن طريق الاختبار المنتظم.
تكمن المشكلة في أن الاختبارات غالبًا ما يتم إجراؤها بواسطة المطورين ، الذين ربما تعلموا كيفية ترميز شيء ما ولكن ربما لم يتعلموا ممارسات الترميز الآمن. حتى في الأنظمة التي تم اختبارها بدقة ، يمكن أن يساعد إلقاء نظرة مراقب خارجي وإدخال منظور جديد في تحديد المشكلات الجديدة.
الطريقة الشائعة للقيام بذلك هي عن طريق اختبار الاختراق ، وعادة ما يتم اختصاره إلى pentest. يتضمن ذلك الحصول على متسلل محترف وأخلاقي ومهندس للنظر في النظام والعثور على أي مشكلات أمنية.
نصيحة: إنه "pentest" و "pentester" ، وليس "اختبار القلم". البنتستر لا يختبر الأقلام. يعتبر "اختبار القلم" أكثر قبولًا من "اختبار القلم" ولكن بشكل عام يجب تجنبه أيضًا.
الهدف من Pentest
الهدف من أي pentest هو تحديد جميع نقاط الضعف الأمنية في النظام الذي يتم اختباره وإبلاغ العميل بها. ومع ذلك ، عادةً ما تكون الارتباطات محدودة زمنيًا إلى حد ما بناءً على التكلفة. إذا كان لدى الشركة فريق عمل داخلي أو فريق pentest ، فيمكنهم العمل بشكل دائم للشركة. ومع ذلك ، فإن العديد من الشركات ذات الحجم المناسب لديها مجموعة واسعة من الأنظمة التي يجب اختبارها. وهذا يشمل كلاً من المنتجات التي يتم بيعها وأنظمة أعمال الشركة.
على هذا النحو ، لا يمكنهم قضاء كل وقتهم في اختبار شيء واحد. تفضل العديد من الشركات الاستعانة بشركة pentesting خارجية لأداء المهمة. لا يزال هذا محدودًا بالوقت بناءً على التكلفة. التكلفة مدفوعة بحقيقة أن pentest هي عملية يدوية للغاية وأن مجموعة المهارات غير متوفرة.
عادة ، سيتم تحديد نطاق اختبار pentest في إطار زمني محدد. يتم ذلك بناءً على الهدف المعني والمدة التي يجب أن تستغرقها لتكون واثقًا بشكل معقول من العثور على كل شيء. يعد الجدول الزمني للعثور على نقاط الضعف بشكل عام منحنى الجرس. لم يتم العثور على الكثير على الفور حيث ينظر البنتستر حول التطبيق. ثم يمكن تحقيق الغالبية العظمى من النتائج في غضون نطاق زمني محدد قبل التناقص التدريجي. في مرحلة ما ، لا تستحق تكلفة قضاء المزيد من الوقت في البحث فرصة عدم وجود أي شيء آخر للعثور عليه.
في بعض الأحيان ، يكون السعر المعروض للوقت الموصى به كثيرًا جدًا. في هذه الحالة ، قد يكون الاختبار "محاصرًا بالوقت". هذا هو المكان الذي يقبل فيه العميل أنهم لا يختبرون بقدر ما هو موصى به ولكنهم يريدون من المختبرين بذل قصارى جهدهم في إطار زمني قصير. عادة ، يتم تضمين هذا كتحذير في التقرير.
عملية يدوية
تتوفر بعض الأدوات لإجراء اختبار الأمان تلقائيًا. يمكن أن تكون هذه مفيدة. ومع ذلك ، غالبًا ما يكون لديهم معدلات عالية كاذبة إيجابية وسلبية كاذبة. هذا يعني أنه يجب عليك قضاء بعض الوقت في البحث في التحقق من المشكلات ، مع العلم أنها قد لا تكون شاملة. تبحث معظم هذه الأدوات عن مؤشرات محددة ، مثل الإصدارات الضعيفة المعروفة من البرامج أو الوظائف الضعيفة المعروفة. ومع ذلك ، هناك الكثير من الطرق حتى لا تكون هذه المشكلات فعلية أو مخففة في الممارسة.
يمكن أن تتجمع الثغرات الأمنية معًا من مجموعة من القطع التي تبدو غير ضارة. أفضل طريقة لاكتشاف ذلك هي من خلال الجهد البشري اليدوي. يستخدم pentesters الأدوات ولكنهم يعرفون كيفية تفسير النتائج والتحقق منها يدويًا وتنفيذ الإجراءات اليدوية المستقلة. هذا الجهد اليدوي يفصل pentest عن فحص الضعف أو تقييم الضعف.
أنواع Pentest
عادةً ما يتضمن اختبار pentest اختبار منتج كامل كما سيتم نشره. من الناحية المثالية ، يحدث هذا في بيئة إنتاج حقيقية. ومع ذلك ، هذا ليس عمليًا دائمًا. أولاً ، هناك خوف من أن يقوم الشخص المخترق بإسقاط الهدف في وضع عدم الاتصال. بشكل عام ، هذا الخوف لا أساس له من الصحة. لا تولد Pentests بشكل عام الكثير من حركة مرور الشبكة ، وربما تعادل عددًا قليلاً من المستخدمين النشطين الإضافيين. لن يختبر Pentesters أيضًا عمدًا لمشكلات نوع رفض الخدمة ، خاصة في بيئات الإنتاج. بدلاً من ذلك ، سيقومون عادةً بالإبلاغ عن مشكلات رفض الخدمة المشتبه بها للسماح للعميل بالتحقيق في الأمر بنفسه.
بالإضافة إلى ذلك ، تجدر الإشارة إلى أنه إذا كان النظام متصلاً بالإنترنت ، فإنه يخضع باستمرار لـ "pentests مجانية" من قراصنة القبعة السوداء الحقيقيين وروبوتاتهم. سبب آخر لتجنب بيئات الإنتاج هو مشكلات الخصوصية مع بيانات المستخدم الحية. المخترقون هم قراصنة أخلاقيون بموجب اتفاقيات عدم الإفشاء والعقود ، ولكن إذا كانت بيئة الاختبار موجودة ومماثلة ، فيمكن استخدامها.
نصيحة: "المجرم المجاني" هو طريقة مازح للإشارة إلى تعرضك لهجوم من القبعات السوداء على الإنترنت.
يمكن إجراء عمليات الاختراق ضد أي نظام تقني بشكل أساسي. تعد مواقع الويب والبنية التحتية للشبكة أكثر أنواع الاختبارات شيوعًا. يمكنك أيضًا الحصول على اختبارات API واختبارات "العميل الكثيف" واختبارات الجوال واختبارات الأجهزة والمزيد.
الاختلافات في الموضوع
من الناحية الواقعية ، فإن التصيد الاحتيالي و OSINT وتمارين الفريق الأحمر مرتبطة ببعضها البعض ولكنها مختلفة قليلاً. من المحتمل أنك على دراية بتهديد التصيد الاحتيالي. تتضمن بعض الاختبارات اختبارًا لمعرفة كيفية استجابة الموظفين لرسائل البريد الإلكتروني المخادعة. من خلال تتبع كيفية تفاعل المستخدمين - أو عدم تفاعلهم - مع التصيد الاحتيالي ، من الممكن معرفة كيفية تصميم تدريب على التصيد في المستقبل.
OSINT تعني Open Source INTelligence. يدور اختبار OSINT حول تجريف المعلومات المتاحة للجمهور لمعرفة كيف يمكن جمع البيانات القيمة وكيفية استخدامها. غالبًا ما يتضمن ذلك إنشاء قوائم بالموظفين من أماكن مثل LinkedIn وموقع الشركة على الويب. يمكن أن يمكّن هذا المهاجم من تحديد الشخصيات البارزة التي قد تكون أهدافًا جيدة لهجوم التصيد بالرمح ، والتصيد الاحتيالي المصمم خصيصًا للمستلم الفردي.
عادةً ما تكون مشاركة الفريق باللون الأحمر أكثر تعمقًا ويمكن أن تتضمن بعض أو كل المكونات الأخرى. يمكن أن يشمل أيضًا اختبار الأمان المادي والالتزام بسياسة الأمان. على الجانب السياسي للأشياء ، هذا ينطوي على الهندسة الاجتماعية. هذا يحاول إقناع طريقك إلى المبنى. يمكن أن يكون هذا بسيطًا مثل التسكع في منطقة التدخين والعودة مع المدخنين بعد استراحة دخان.
يمكن أن تتظاهر كمسؤول أو تطلب من شخص ما الحصول على باب لك أثناء حمل صينية فنجان قهوة. من ناحية الأمان المادي ، يمكن أن تتضمن محاولة الاختراق جسديًا ، واختبار تغطية الكاميرا ، وجودة الأقفال ، وما شابه. عادةً ما تتضمن مشاركات الفريق الأحمر فريقًا من الأشخاص ويمكن أن تمتد على نطاقات زمنية أطول بكثير من الآفات العادية.
الفرق الحمراء
قد يبدو تمرين الفريق الأحمر أقل أخلاقية من اختبار pentest القياسي. المختبر يفترس بنشاط الموظفين المطمئنين. المفتاح هو أن لديهم إذنًا من قيادة الشركة ، عادةً من مستوى مجلس الإدارة. هذا هو السبب الوحيد الذي يجعل من المقبول للاعب فريق أحمر محاولة الاقتحام فعليًا. لا شيء يسمح بأن يكون عنيفًا ، على الرغم من ذلك. لن يحاول تمرين الفريق الأحمر أبدًا إيذاء أو إخضاع حارس الأمن أو تجاوزه أو خداعه.
لمنع اعتقال فريق العمل الأحمر ، سيحملون عمومًا عقدًا موقعًا بتوقيعات من أعضاء مجلس الإدارة المعتمدين. إذا تم القبض عليه ، فيمكن استخدامه لإثبات أنه حصل على إذن. بالطبع ، في بعض الأحيان ، يتم استخدام هذا كخدعة مزدوجة. يمكن لعامل الفريق الأحمر أن يحمل قسيمتي إذن ، واحدة حقيقية والأخرى مزيفة.
عند القبض عليهم ، قاموا في البداية بتسليم قسيمة الإذن المزيفة لمعرفة ما إذا كان بإمكانهم إقناع الأمن بأنه شرعي حتى عندما لا يكون كذلك. ولهذه الغاية ، غالبًا ما تستخدم الأسماء الفعلية لمجلس إدارة الشركة ولكنها تتضمن رقم هاتف للتحقق يذهب إلى فريق أحمر آخر مختص للتحقق من قصة الغلاف. بالطبع ، إذا رأى الأمن ذلك ، يتم تسليم قسيمة الإذن الحقيقية. قد يتم التعامل مع هذا بعد ذلك بشك كبير.
اعتمادًا على كيفية الإمساك بالفريق الأحمر ، قد يكون من الممكن مواصلة الاختبار ، بافتراض أنهم تجاوزوا حارس الأمن الفردي الذي أمسك بهم. ومع ذلك ، فمن الممكن أن تكون هوية المختبِر "محطمة" ، مما يؤدي في الأساس إلى إزالتها من أي اختبار شخصي آخر. في هذه المرحلة ، قد يتبادل عضو آخر في الفريق مع أو بدون إعلام الأمن.
خاتمة
اختبار pentest هو عملية يُطلب فيها من متخصص في الأمن السيبراني اختبار أمان نظام الكمبيوتر. يتضمن الاختبار البحث عن الثغرات والتحقق منها يدويًا. يمكن استخدام الأدوات الآلية كجزء من هذا. في نهاية الاختبار ، يتم تقديم تقرير يوضح بالتفصيل المشكلات التي تم العثور عليها وتقديم المشورة العلاجية.
من المهم ألا يكون هذا التقرير مجرد إخراج آلي من أداة ولكن تم اختباره والتحقق منه يدويًا. يمكن اختبار أي نظام كمبيوتر أو جهاز أو شبكة أو تطبيق أو جهاز. تختلف المهارات المطلوبة لكل منها ولكنها غالبًا ما تكون مكملة.