Projekt Snuffleupagus rozwija moduł PHP, który blokuje podatności.

W ramach projektu Snuffleupagus rozwijana jest moduł do podłączenia do interpretera PHP7, przeznaczony do zwiększenia bezpieczeństwa środowiska oraz blokowania typowych błędów prowadzących do powstawania podatności w realizowanych aplikacjach PHP. Moduł umożliwia również tworzenie wirtualnych łatek do usuwania konkretnych problemów bez zmiany źródłowych kodów podatnej aplikacji, co jest wygodne w systemach hostingu masowego, w których nie można utrzymać wszystkich użytkownikowych aplikacji na bieżąco. Moduł jest napisany w języku C, łączy się w formie biblioteki współdzielonej („extension=snuffleupagus.so” w php.ini) i rozpowszechniany jest objęty licencją LGPL 3.0.

Snuffleupagus oferuje system reguł, który pozwala zarówno na korzystanie z typowych wzorców w celu zwiększenia ochrony, jak i na tworzenie własnych reguł do kontroli danych wejściowych oraz parametrów funkcji. Na przykład reguła „sp.disable_function.function(„system”)).param(„command”).value_r(„[$|;&`\\n]”).drop();” pozwala ograniczyć użycie znaków specjalnych w argumentach funkcji system(), bez modyfikacji aplikacji. Podobnie można tworzyć wirtualne łatki do blokowania znanych podatności.

Z przeprowadzonych przez deweloperów testów wynika, że Snuffleupagus prawie nie obniża wydajności. W celu zapewnienia własnego bezpieczeństwa (potencjalne podatności w warstwie ochronnej mogą stanowić dodatkowy wektor ataków) w projekcie stosuje się szczegółowe testowanie każdego commit na różnych dystrybucjach, wykorzystuje się systemy analizy statycznej, a kod jest starannie formatowany i dokumentowany, aby ułatwić przeprowadzanie audytów.

Zapewnia się wbudowane metody do blokowania takich klas podatności, jak problemy, związane z serializacją danych, niebezpiecznym wykorzystywaniem funkcji PHP mail(), wyciekami zawartości Cookie podczas ataków XSS, problemami związanymi z ładowaniem plików z wykonawczym kodem (na przykład w formacie phar), niskiej jakości generowaniem liczb losowych oraz podstawieniem niepoprawnych konstrukcji XML.

Spośród trybów zwiększenia ochrony PHP wspiera:

  • Automatyczne włączanie flag „secure” i „samesite” (ochrona przed CSRF) dla Cookie, szyfrowanie Cookie;
  • Wbudowany zestaw reguł do wykrywania śladów ataków i kompromitacji aplikacji;
  • Wymuszone globalne włączenie trybu „strict” (na przykład blokuje próby określenia ciągu podczas oczekiwania na argument wartości całkowitej) oraz ochrona przed manipulacjami typami;
  • Domyślne blokowanie opakowań dla protokołów (na przykład zakaz „phar://” z ich wyraźnym zezwoleniem w białej liście);
  • Zakaz wykonywania plików, które są dostępne do zapisu;
  • Czarne i białe listy dla eval;
  • Obowiązkowe włączenie weryfikacji certyfikatów TLS podczas używania
    curl;
  • Dodanie HMAC do seryjnych obiektów w celu zapewnienia, że podczas deserializacji uzyskuje się dane zapisane przez oryginalną aplikację;
  • Tryb logowania zapytań;
  • Blokowanie ładowania zewnętrznych plików w libxml według linków w dokumentach XML;
  • Możliwość podłączenia zewnętrznych procesorów (upload_validation) do weryfikacji i skanowania przesyłanych plików;

Projekt stworzony i używany w celu ochrony użytkowników w infrastrukturze jednego z dużych francuskich operatorów hostingowych. Zauważono, co sprawiło, że proste podłączenie Snuffleupagus pozwoliłoby chronić przed wieloma niebezpiecznymi lukami, które zostały wykryte w tym roku w Drupal, WordPress i phpBB. Luki w Magento i Horde mogłyby być zablokowane przez włączenie trybu
„sp.readonly_exec.enable()”.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster