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

در محدوده پروژه اسنافلوپاگوس در حال توسعه است یک ماژول برای اتصال به مفسر 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 به سختی عملکرد را کاهش می دهد. برای اطمینان از امنیت خود (آسیب‌پذیری‌های احتمالی در لایه امنیتی می‌توانند به عنوان یک بردار اضافی برای حملات عمل کنند)، این پروژه از آزمایش کامل هر commit در توزیع‌های مختلف استفاده می‌کند، از سیستم‌های تجزیه و تحلیل استاتیک استفاده می‌کند و کد برای ساده‌سازی حسابرسی قالب‌بندی و مستند می‌شود.

روش‌های داخلی برای مسدود کردن کلاس‌هایی از آسیب‌پذیری‌ها مانند مسائل، مربوط با سریال سازی داده ها، ناامن استفاده از تابع mail() PHP، نشت محتویات کوکی در حین حملات XSS، مشکلات ناشی از بارگیری فایل ها با کد اجرایی (به عنوان مثال، در قالب phar) تولید اعداد تصادفی بی کیفیت و جایگزینی ساختارهای XML نادرست

حالت های زیر برای افزایش امنیت PHP پشتیبانی می شوند:

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

  • افزودن HMAC به اشیاء سریال‌سازی شده برای اطمینان از اینکه سریال‌زدایی داده‌های ذخیره‌شده توسط برنامه اصلی را بازیابی می‌کند.
  • درخواست حالت ورود به سیستم؛
  • مسدود کردن بارگذاری فایل های خارجی در libxml از طریق پیوندهای موجود در اسناد XML.
  • امکان اتصال کنترل کننده های خارجی (upload_validation) برای بررسی و اسکن فایل های آپلود شده.

این پروژه برای محافظت از کاربران در زیرساخت یکی از اپراتورهای میزبانی بزرگ فرانسوی ایجاد و مورد استفاده قرار گرفت. یادداشت شده - مورد دقت نظر واقع شدهاتصال ساده Snuffleupagus در برابر بسیاری از آسیب‌پذیری‌های خطرناک شناسایی‌شده امسال در Drupal، WordPress و phpBB محافظت می‌کند. آسیب‌پذیری‌های Magento و Horde را می‌توان با فعال کردن حالت مسدود کرد
"sp.readonly_exec.enable()".

منبع: opennet.ru

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