El projecte Snuffleupagus està desenvolupant un mòdul PHP per bloquejar vulnerabilitats

En els límits del projecte Snuffleupagus s'està desenvolupant модуль для подключения к интерпретатору PHP7, предназначенный для повышения безопасности окружения и блокирования типовых ошибок, приводящих к появлению уязвимостей в выполняемых PHP-приложениях. Модуль также позволяет создавать виртуальные патчи для устранения конкретных проблем без изменения исходных текстов уязвимого приложения, что удобно для применения в системах массового хостинга, на которых невозможно добиться поддержания всех пользовательских приложений в актуальном виде. Модуль написан на языке Си, подключается в форме разделяемой библиотеки («extension=snuffleupagus.so» в php.ini) и Distribuït per amb llicència LGPL 3.0.

Snuffleupagus предоставляет систему правил, позволяющую использовать как типовые шаблоны для повышения защиты, так и создавать собственные правила для контроля входных данных и параметров функций. Например, правило «sp.disable_function.function(«system»).param(«command»).value_r(«[$|;&`\\n]»).drop();» позволяет не изменяя приложения ограничить использование спецсимволов в аргументах функции system(). Аналогично можно создавать pedaços virtuals для блокирования известных уязвимостей.

Судя по проведённым разработчиками тестам Snuffleupagus почти не снижает производительность. Для обеспечения собственной безопасности (возможные уязвимости в прослойке для защиты могут служить дополнительным вектором для атак) в проекте применяется доскональное тестирование каждого коммита в разных дистрибутивах, используются системы статического анализа, код оформляется и документируется для упрощения проведения аудита.

Предоставляются встроенные методы для блокирования таких классов уязвимоcтей, как проблемы, relacionats amb serialització de dades, insegur ús de la funció PHP mail(), filtració de contingut de galetes durant atacs XSS, problemes a causa de la càrrega de fitxers amb codi executable (per exemple, en el format phar), generació de nombres aleatoris de mala qualitat i substitució construccions XML incorrectes.

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

  • Activeu automàticament les marques "segures" i "mateix lloc" (protecció CSRF) per a les galetes, xifratge galeta;
  • Conjunt de regles integrats per identificar rastres d'atacs i compromís d'aplicacions;
  • Activació global forçada del "estricte" (per exemple, bloqueja un intent d'especificar una cadena quan s'espera un valor enter com a argument) i protecció contra manipulació de tipus;
  • Bloqueig per defecte embolcalls de protocol (per exemple, prohibint "phar://") amb la seva llista blanca explícita;
  • Prohibició d'execució de fitxers que siguin escrivibles;
  • Llistes en blanc i negre per a l'avaluació;
  • Necessari per habilitar la comprovació del certificat TLS quan s'utilitza
    rínxol;

  • Afegir HMAC als objectes serialitzats per garantir que la deserialització recuperi les dades emmagatzemades per l'aplicació original;
  • Sol·licita el mode de registre;
  • Bloquejar la càrrega de fitxers externs a libxml mitjançant enllaços en documents XML;
  • Capacitat de connectar controladors externs (upload_validation) per comprovar i escanejar fitxers carregats;

Проект создан и используется для защиты пользователей в инфраструктуре одного из крупных французских операторов хостинга. Es nota, что просто подключение Snuffleupagus позволило бы защититься от многих опасных уязвимостей, выявленных в этом году в Drupal, WordPress и phpBB. Уязвимости в Magento и Horde могли бы быть блокированы включением режима
«sp.readonly_exec.enable()».

Font: opennet.ru

Afegeix comentari