Snuffleupagus 0.5.1 шығарылымы, PHP қолданбаларындағы осалдықтарды блоктауға арналған модуль

Бір жылдық дамудан кейін жарияланған жобаның шығарылымы Snuffleupagus 0.5.1, предоставляющего модуль к интерпретатору PHP7 для повышения безопасности окружения и блокирования типовых ошибок, приводящих к появлению уязвимостей в выполняемых PHP-приложениях. Модуль также позволяет создавать виртуалды патчтар для устранения конкретных проблем без изменения исходных текстов уязвимого приложения, что удобно для применения в системах массового хостинга, на которых невозможно добиться поддержания всех пользовательских приложений в актуальном виде. Накладные расходы от работы модуля оцениваются как минимальные. Модуль написан на языке Си, подключается в форме разделяемой библиотеки («extension=snuffleupagus.so» в php.ini) и таралады LGPL 3.0 бойынша лицензияланған.

Snuffleupagus предоставляет систему правил, позволяющую использовать как типовые шаблоны для повышения защиты, так и создавать собственные правила для контроля входных данных и параметров функций. Например, правило «sp.disable_function.function(«system»).param(«command»).value_r(«[$|;&`\\n]»).drop();» позволяет не изменяя приложения ограничить использование спецсимволов в аргументах функции system(). Предоставляются встроенные методы для блокирования таких классов уязвимоcтей, как проблемы, байланысты деректерді сериялау арқылы, қауіпті PHP mail() функциясын пайдалану, XSS шабуылдары кезінде Cookie мазмұнының ағып кетуі, орындалатын кодпен файлдарды жүктеуге байланысты проблемалар (мысалы, форматта) пәр), сапасыз кездейсоқ сандарды генерациялау және ауыстыру қате XML құрылымдары.

Предоставляемые в Snuffleupagus режимы повышения защиты PHP:

  • Cookie файлдары үшін «қауіпсіз» және «самесит» (CSRF қорғау) жалауларын автоматты түрде қосу, шифрлау Cookie;
  • Шабуылдардың іздерін және қолданбалардың компромисстерін анықтауға арналған кірістірілген ережелер жиынтығы;
  • мәжбүрлі жаһандық белсендіру «қатаң" (мысалы, бүтін мәнді аргумент ретінде күткенде жолды көрсету әрекетін блоктайды) және түрдегі манипуляция;
  • Әдепкі блоктау протокол орауыштары (мысалы, "phar://" тыйым салу) олардың ашық ақ тізімімен;
  • Жазуға болатын файлдарды орындауға тыйым салу;
  • Бағалау үшін ақ және қара тізімдер;
  • Пайдалану кезінде TLS сертификатын тексеруді қосу үшін қажет
    бұйралау;
  • Сериядан шығару бастапқы қолданбада сақталған деректерді шығарып алуын қамтамасыз ету үшін серияланған нысандарға HMAC қосу;
  • Тіркеуді сұрау режимі;
  • XML құжаттарындағы сілтемелер арқылы libxml ішіндегі сыртқы файлдарды жүктеуді блоктау;
  • Жүктелген файлдарды тексеру және сканерлеу үшін сыртқы өңдеушілерді қосу мүмкіндігі (upload_validation);

арасында өзгерістер в новом выпуске: Улучшена поддержка PHP 7.4 и реализована совместимость с находящейся в разработке веткой PHP 8. Добавлена возможность журналирования событий через syslog (для включения предложена директива sp.log_media, которая может принимать значения php или syslog). Обновлён предлагаемый по умолчанию набор правил, в который добавлены новые правила для выявленных в последнее время уязвимостей и техник атак на web-приложения. Улучшена поддержка macOS и расширено применение платформы непрерывной интеграции на базе GitLab.

Ақпарат көзі: opennet.ru

пікір қалдыру