يقوم مشروع Snuffleupagus بتطوير وحدة PHP لحظر الثغرات الأمنية

في حدود المشروع snuffleupagus هذا تطوير وحدة للاتصال بمترجم PHP7، مصممة لتحسين أمان البيئة ومنع الأخطاء الشائعة التي تؤدي إلى ثغرات أمنية في تشغيل تطبيقات PHP. تتيح لك الوحدة أيضًا إنشاء تصحيحات افتراضية لإصلاح مشكلات معينة دون تغيير الكود المصدري للتطبيق الضعيف، وهو مناسب للاستخدام في أنظمة الاستضافة الجماعية حيث يكون من المستحيل تحديث جميع تطبيقات المستخدم. الوحدة مكتوبة بلغة C، وهي متصلة على شكل مكتبة مشتركة ("extension=snuffleupagus.so" في php.ini) و وزعت من خلال مرخص بموجب LGPL 3.0.

يوفر Snuffleupagus نظام قواعد يسمح لك باستخدام القوالب القياسية لتحسين الأمان، أو إنشاء القواعد الخاصة بك للتحكم في بيانات الإدخال ومعلمات الوظائف. على سبيل المثال، القاعدة "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();" يسمح لك بالحد من استخدام الأحرف الخاصة في وسيطات دالة system() دون تغيير التطبيق. وبالمثل، يمكنك إنشاء بقع افتراضية لمنع نقاط الضعف المعروفة.

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

يتم توفير أساليب مدمجة لحظر فئات من نقاط الضعف مثل المشكلات، متعلق مع تسلسل البيانات، غير آمن استخدام وظيفة PHP mail()، وتسريب محتويات ملفات تعريف الارتباط أثناء هجمات XSS، والمشاكل الناجمة عن تحميل الملفات ذات التعليمات البرمجية القابلة للتنفيذ (على سبيل المثال، بالتنسيق فار)، توليد أرقام عشوائية ذات نوعية رديئة و الاستبدال بنيات XML غير صحيحة.

يتم دعم الأوضاع التالية لتعزيز أمان PHP:

  • تمكين علامتي "آمن" و"نفس الموقع" (حماية CSRF) تلقائيًا لملفات تعريف الارتباط، التشفير بسكويت؛
  • مجموعة مدمجة من القواعد لتحديد آثار الهجمات واختراق التطبيقات؛
  • التنشيط العالمي القسري لـ "صارم" (على سبيل المثال، يمنع محاولة تحديد سلسلة عند توقع قيمة عددية كوسيطة) والحماية ضد التلاعب بالنوع;
  • الحظر بشكل افتراضي مغلفة البروتوكول (على سبيل المثال، حظر "phar://") مع إدراجها في القائمة البيضاء الصريحة؛
  • حظر تنفيذ الملفات القابلة للكتابة؛
  • قوائم بالأبيض والأسود للتقييم؛
  • مطلوب لتمكين التحقق من شهادة TLS عند الاستخدام
    لفة؛

  • إضافة HMAC إلى الكائنات المتسلسلة للتأكد من أن إلغاء التسلسل يسترد البيانات المخزنة بواسطة التطبيق الأصلي؛
  • وضع تسجيل الطلب؛
  • منع تحميل الملفات الخارجية في libxml عبر الروابط الموجودة في مستندات XML؛
  • القدرة على ربط المعالجات الخارجية (upload_validation) لفحص الملفات التي تم تحميلها وفحصها؛

تم إنشاء المشروع واستخدامه لحماية المستخدمين في البنية التحتية لأحد كبار مشغلي الاستضافة الفرنسيين. هذا مدونأن مجرد ربط Snuffleupagus من شأنه أن يحمي من العديد من الثغرات الأمنية الخطيرة التي تم اكتشافها هذا العام في Drupal وWordPress وphpBB. يمكن حظر الثغرات الأمنية في Magento وHorde من خلال تمكين الوضع
"sp.readonly_exec.enable()".

المصدر: opennet.ru

إضافة تعليق