دليل شامل لاختبار الزغب
نشرت: 2021-05-17يعد اختبار الأمان أحد أهم الخطوات لضمان أن برنامجك جاهز لإصداره رسميًا ، سواء لأغراض العمل أو للاستخدام التجاري. يسمح لك باكتشاف أي ثغرات قد يكون لدى برنامجك وتطوير إجراء مضاد لها إذا استغل المتسلل مثل هذا الخلل.
إذا كنت مهتمًا باختبار الأمان ، فيمكنك معرفة الحقائق هنا الآن ، ولكن هناك شيء واحد يجب أن تعرفه وهو أن هناك جميع أنواع الطرق لإجراء اختبار الأمان ، مثل تقييم المخاطر واختبار الاختراق ومسح الثغرات الأمنية. وإذا كنت بالفعل معتادًا قليلاً على اختبار الأمان ، فمن المحتمل أنك سمعت عن مصطلح "اختبار الزغب".
اختبار Fuzz هو أسلوب اختبار شائع نسبيًا في الصناعة في الوقت الحاضر ، خاصة وأن الشركات العملاقة مثل Microsoft و Google تستخدمه منذ أكثر من عقد. لكن المثير للدهشة أنه على الرغم من كونه أسلوبًا قياسيًا ، إلا أنه لا يعرفه الكثير من الناس. بعد قولي هذا ، يهدف هذا الدليل إلى شرح ماهية اختبار الزغب ، بدءًا من تعريفه.
ما هو اختبار الزغب؟
يتضمن اختبار Fuzz ، أو ما يسميه الآخرون "التشويش" ، إدخال بيانات غير صالحة أو عشوائية في برنامج لاكتشاف أي ثغرات قد تؤدي إلى أخطاء قابلة للاستغلال. يمكن أن يكون هذا الإدخال في شكل ملف أو إدخال مباشر من المستخدم. لذلك ، على سبيل المثال ، إذا كنت تبني نوعًا من برامج الحساب ، فعادة ما تحتاج إلى إدخال أرقام أو عمليات حسابية. ولكن إذا كنت تجري اختبار الزغب ، فسيتعين عليك إدخال إدخال غير صالح مثل الأحرف أو حتى الأحرف الخاصة.
إذا أدى القيام بذلك إلى تعطل البرنامج أو التسبب في أي نوع آخر من الأخطاء ، فإن المبرمج يفترض وجود ثغرة أمنية وبالتالي يمكنه العمل على تعديل الترميز على أمل حل المشكلة. للوهلة الأولى ، قد تعتقد أن اختبار الزغب هو نفس التقنيات الأخرى مثل فحص الثغرات الأمنية أو اختبار الاختراق ، ولكن هناك سبب لشعبيته.
لماذا تستخدم الشركات اختبار Fuzz؟
لا يوجد حل واحد يناسب الجميع عندما يتعلق الأمر باختبار الأمان. يمكن لكل طريقة اكتشاف المشكلات التي لا يستطيع الآخرون اكتشافها ؛ يتطلب بعضها تكاليف تشغيل أقل ، بينما البعض الآخر أسهل في الأداء. مثل كل تقنيات اختبار الأمان ، يعد اختبار الزغب فريدًا بطريقته الخاصة. فيما يلي بعض المزايا التي تدفع الشركات إلى استخدام اختبار الزغب.
- البساطة: أنت تعرف بالفعل كيفية عمل اختبار الزغب - إنها مسألة إدخال إدخال غير صالح في البرنامج. تُعد بساطة العملية بشكل عام ميزة كبيرة للأفراد أو المنظمات التي تفتقر إلى المهارات والخبرة فيما يتعلق باختبار الأمان.
- الأتمتة: قد يكون اختبار الأمان خطوة حاسمة في تطوير البرامج والتطبيقات ، ولكن في كثير من الأحيان ، هناك أشياء أخرى يجب القيام بها بصرف النظر عن اختبار البرنامج باستمرار. ومع ذلك ، فهي قصة مختلفة مع اختبار الزغب حيث يمكنك أتمتة العملية بأكملها باستخدام الألغاز.
Fuzzers هي أدوات مسؤولة عن إدخال البيانات في البرنامج تلقائيًا إذا أعطيت الأوامر والشروط اللازمة. حقيقة أن اختبار الزغب يتيح أتمتة الأعمال يجعلها تقنية اختبار مثالية للشركات.
- ملائم: عادة ، عند الاختبار ، يحتاج المرء إلى استخدام أكبر عدد ممكن من الأدوات لتقليل احتمالية وجود أخطاء وزيادة أمان البرنامج إلى أقصى حد. نظرًا لأن اختبار الزغب قابل للتشغيل الآلي ومباشر ، فهو طريقة ملائمة لتعزيز أمان البرنامج.
يعد التشويش بشكل عام أمرًا بسيطًا وسهل التنفيذ ، ولكن من الجدير بالذكر أن هناك جميع أنواع الأساليب لاختبار الزغب. اعتمادًا على النوع الذي تستخدمه ، يمكن أن تختلف صعوبة وتعقيد عملية الاختبار. في هذه الملاحظة ، قد يكون هذا هو الوقت المناسب للتحدث عن الأنواع المختلفة لاختبار الزغب.
مناهج مختلفة لاختبار الزغب
على الرغم من وجود عدة أنواع من اختبارات الزغب ، إلا أنها في الغالب متشابهة مع بعضها البعض ، باستثناء أنها تولد مدخلات بشكل مختلف. بغض النظر ، هناك أربع طرق لاختبار الزغب:
- التشويش الغبي: عندما يريد المرء إنشاء مدخلات بشكل عشوائي تمامًا ، فإنهم عادةً ما يستخدمون مصهرًا غبيًا. الفزر الغبي هو أداة تنتج مدخلات دون معرفة مسبقة أو ذكاء عن البرنامج ، ومن هنا جاءت تسميته.
على سبيل المثال ، إذا كنت تقوم ببناء برنامج تدقيق نحوي ، فقد ينتهي بك الأمر باستخدام مصهر أحمق لتوليد صورة ، وهي بعيدة كل البعد عما يتوقعه البرنامج. يعتبر التشويش الغبي أسهل طريقة لاختبار الزغب.
- تشويش ذكي: على الجانب الآخر من العملة ، هناك ضباب ذكي. على عكس الغموض الغبي ، يولد التشويش الذكي مدخلات لمعرفة ما يتوقع البرنامج تلقيه. علاوة على ذلك ، لن يولد المصهر الذكي مدخلات ستؤدي حتماً إلى تعطل البرنامج. بدلاً من ذلك ، سيأتي بمدخلات يمكن أن تسبب سلوكًا غير متوقع.
لذلك في المثال السابق ، قد ينتج عن المصهر الذكي أحرف خاصة ولكن لا ينتج عنه صورة أو أي مدخلات أخرى غير مناسبة. على الرغم من أن الألغاز الذكية أكثر صعوبة في التنفيذ من الألغاز الغبية ، إلا أنها أكثر دقة في معظم الأوقات.
- التشويش الطفري: يتضمن التشويش الطفري توليد مدخلات عن طريق تعديل أو ، بشكل أكثر تحديدًا ، "تحوير" إدخال صالح موجود. في مثالنا مع برنامج الآلة الحاسبة ، قد يختار المصهر الطفري إدخالًا صالحًا موجودًا.
افترض أن الإدخال المحدد هو "10 +9." سيحاول المصهر الطفري تعديل هذا الإدخال عن طريق إضافة أو إزالة أو تغيير جزء من هذا الإدخال ، مثل زيادة القيمة وتحويلها إلى "180 + 129" أو تغيير العملية لتؤدي إلى "10/9".
- تشوش الأجيال: أخيرًا ، يولد التشويش بين الأجيال مدخلات من نقطة الصفر ، وهو عكس التشويش الطفري الذي يولد مدخلات من تلك الموجودة. نظرًا لعدم وجود مراجع ، يصعب تنفيذ الألغاز الجيلية أكثر من الألغاز الطفرية ، ولكنها يمكن أن تؤدي إلى المزيد من البيانات للمختبر.
ما يجعل اختبار الزغب أكثر إثارة للاهتمام من التقنيات الأخرى هو أنه يمكنك الجمع بين أنواع مختلفة لتحسين أداة الاختبار. على سبيل المثال ، يمكنك إنشاء مصهر طفري ذكي أو مصهر جيل أخر ، اعتمادًا على ما يحتاجه برنامجك. ربما تكون المجموعات التي لا حصر لها التي يمكنك إجراؤها باستخدام اختبار الزغب هي سبب آخر تفضل الشركات اختبار الزغب على الطرق الأخرى.
تغليف
بمجرد التعرف على المزيد حول اختبار الزغب ، من السهل معرفة سبب انتشاره كما هو الآن. ومع ذلك ، تجدر الإشارة أيضًا إلى أنه ، مثل أي تقنية أخرى ، فإن اختبار الزغب له بعض العيوب. وبالتالي ، من الضروري تحديد ما إذا كان اختبار الزغب يمكن أن يكون مفيدًا أكثر من إلحاق الضرر بالتطبيق أو البرنامج. كما ذكرنا سابقًا ، لا يوجد حل واحد يناسب الجميع لاختبار أمان البرامج ، ومن المؤكد أن اختبار الزغب لن يكون هذا الحل.
هل لديك أي أفكار حول هذا؟ أخبرنا أدناه في التعليقات أو انقل المناقشة إلى Twitter أو Facebook.