Snapchange ، أداة التشويش مفتوحة المصدر من AWS

أصدرت Amazon Web Services ، أداة Fuzzing مدعومة من KVM مفتوحة المصدر جديدة

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

ورد في منشور أمازون ما يلي: بدأ Snapchange كتجربة من فريق البحث الأمني ​​مفتوح المصدر AWS Find and Fix (F2) لاستكشاف إمكانية استخدام KVM لتمكين تشويش اللقطة.

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

Snapchange عبارة عن إطار عمل Rust لإنشاء أزعج تقوم بتشغيل لقطات من الذاكرة الفعلية لزيادة الكفاءة وتقليل التعقيد في تشويش العديد من أنواع الأهداف. يستخدم Snapchange ميزات مدير الجهاز الظاهري المدمج في Linux kernel والمعروف باسم Kernel Virtual Machine أو KVM. 

حول Snapchange

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

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

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

على سبيل المثال ، إذا كان من الضروري التحقق من المعالجة متعددة الحالات لطلب الشبكة ، يبدأ الباحث التطبيق على نظام الضيف في VirtualBox أو QEMU ، في مصحح الأخطاء يجد بداية تنفيذ إجراء معالجة الطلب (على سبيل المثال ، بعد استدعاء وظيفة recv) ، يضع نقطة توقف عليها ويحدد منطقة الذاكرة التي يتم فيها تحميل حزمة الشبكة المستلمة. بعد ذلك ، يتم إنشاء لقطة من نظام الضيف وتحميلها على Snapchange.

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

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

إلى مهتم بالمشروع، يجب أن تعلم أن كود المشروع مكتوب بلغة Rust ويتم توزيعه بموجب ترخيص Apache 2.0 عبر GitHub جيثب:.

يعمل Snapchange في نظام Linux ، ولكنه يتطلب وصولاً مباشرًا إلى العناصر الأساسية الأساسية لـ KVM. لذلك ، فهو يدعم أنواع مثيلات EC2 العارية ، والتي تعمل بدون برنامج Hypervisor ، ولكن ليس مثيلات EC2 الافتراضية.

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


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

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