انتشار Snuffleupagus 0.5.1، ماژولی برای مسدود کردن آسیب‌پذیری‌ها در برنامه‌های PHP

پس از یک سال توسعه منتشر شد انتشار پروژه Snuffleupagus 0.5.1، که ماژولی را برای مفسر PHP7 فراهم می کند تا امنیت محیط را بهبود بخشد و خطاهای رایجی که منجر به آسیب پذیری در اجرای برنامه های PHP می شود را مسدود کند. ماژول همچنین به شما اجازه ایجاد می دهد پچ های مجازی برای از بین بردن مشکلات خاص بدون تغییر کد منبع برنامه آسیب پذیر، که برای استفاده در سیستم های میزبانی انبوه که در آن به روز نگه داشتن همه برنامه های کاربر غیرممکن است، راحت است. هزینه های سربار ماژول حداقل برآورد می شود. ماژول به زبان C نوشته شده است، به شکل یک کتابخانه مشترک ("extension=snuffleupagus.so" در php.ini) وصل شده است. توزیع شده توسط دارای مجوز LGPL 3.0.

Snuffleupagus یک سیستم قوانین را ارائه می دهد که به شما امکان می دهد از الگوهای استاندارد برای بهبود امنیت استفاده کنید یا قوانین خود را برای کنترل داده های ورودی و پارامترهای عملکرد ایجاد کنید. به عنوان مثال، قانون "sp.disable_function.function("system").param("command").value_r("[$|;&`\\n]").drop();" به شما اجازه می دهد تا بدون تغییر برنامه، استفاده از کاراکترهای خاص را در آرگومان های تابع system() محدود کنید. روش‌های داخلی برای مسدود کردن کلاس‌هایی از آسیب‌پذیری‌ها مانند مسائل، مربوط با سریال سازی داده ها، ناامن استفاده از تابع mail() PHP، نشت محتویات کوکی در حین حملات XSS، مشکلات ناشی از بارگیری فایل ها با کد اجرایی (به عنوان مثال، در قالب phar) تولید اعداد تصادفی بی کیفیت و جایگزینی ساختارهای XML نادرست

حالت های بهبود امنیت PHP ارائه شده توسط Snuffleupagus:

  • به‌طور خودکار پرچم‌های «امن» و «هم‌سایت» (محافظت CSRF) را برای کوکی‌ها فعال کنید، رمزگذاری کوکی؛
  • مجموعه ای از قوانین داخلی برای شناسایی آثار حملات و به خطر انداختن برنامه ها؛
  • فعال سازی جهانی اجباری "سخت" (به عنوان مثال، تلاش برای تعیین یک رشته در هنگام انتظار یک مقدار صحیح به عنوان آرگومان را مسدود می کند) و محافظت در برابر دستکاری نوع;
  • مسدود کردن پیش فرض بسته بندی های پروتکل (به عنوان مثال، ممنوع کردن "phar://") با درج سفید صریح آنها.
  • ممنوعیت اجرای فایل هایی که قابل نوشتن هستند.
  • لیست سیاه و سفید برای eval;
  • برای فعال کردن بررسی گواهی TLS هنگام استفاده لازم است
    حلقه؛
  • افزودن HMAC به اشیاء سریال‌سازی شده برای اطمینان از اینکه سریال‌زدایی داده‌های ذخیره‌شده توسط برنامه اصلی را بازیابی می‌کند.
  • درخواست حالت ورود به سیستم؛
  • مسدود کردن بارگذاری فایل های خارجی در libxml از طریق پیوندهای موجود در اسناد XML.
  • امکان اتصال کنترل کننده های خارجی (upload_validation) برای بررسی و اسکن فایل های آپلود شده.

در میان تغییر می کند در نسخه جدید: بهبود پشتیبانی از PHP 7.4 و سازگاری پیاده سازی شده با شاخه PHP 8 که در حال حاضر در حال توسعه است. قابلیت ثبت رویدادها از طریق syslog اضافه شده است (دستورالعمل sp.log_media برای گنجاندن پیشنهاد شده است که می تواند مقادیر php یا syslog را بگیرد). مجموعه پیش‌فرض قوانین به‌روزرسانی شده است تا شامل قوانین جدیدی برای آسیب‌پذیری‌های اخیراً شناسایی‌شده و تکنیک‌های حمله علیه برنامه‌های وب باشد. پشتیبانی بهبود یافته از macOS و استفاده گسترده از پلتفرم یکپارچه سازی پیوسته مبتنی بر GitLab.

منبع: opennet.ru

اضافه کردن نظر