ImageMagick Security

Reading time: 3 minutes

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks

Sprawdź szczegóły w https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html

ImageMagick, wszechstronna biblioteka do przetwarzania obrazów, stawia wyzwanie w konfigurowaniu swojej polityki bezpieczeństwa z powodu rozbudowanych opcji i braku szczegółowej dokumentacji online. Użytkownicy często tworzą polityki na podstawie fragmentarycznych źródeł internetowych, co prowadzi do potencjalnych błędów w konfiguracji. Biblioteka obsługuje ogromną liczbę ponad 100 formatów obrazów, z których każdy przyczynia się do jej złożoności i profilu podatności, co zostało udowodnione przez historyczne incydenty bezpieczeństwa.

W kierunku bezpieczniejszych polityk

Aby sprostać tym wyzwaniom, opracowano narzędzie, które ma pomóc w projektowaniu i audytowaniu polityk bezpieczeństwa ImageMagick. Narzędzie to opiera się na szerokich badaniach i ma na celu zapewnienie, że polityki są nie tylko solidne, ale także wolne od luk, które mogłyby być wykorzystane.

Podejście Allowlist vs Denylist

Historycznie, polityki ImageMagick opierały się na podejściu denylist, w którym dostęp do konkretnych kodów był zabroniony. Jednak zmiany w ImageMagick 6.9.7-7 zmieniły ten paradygmat, umożliwiając podejście allowlist. To podejście najpierw odmawia dostępu wszystkim kodom, a następnie selektywnie przyznaje dostęp zaufanym, co zwiększa bezpieczeństwo.

xml
...
<policy domain="coder" rights="none" pattern="*" />
<policy domain="coder" rights="read | write" pattern="{GIF,JPEG,PNG,WEBP}" />
...

Wrażliwość na wielkość liter w politykach

Ważne jest, aby zauważyć, że wzorce polityk w ImageMagick są wrażliwe na wielkość liter. Dlatego zapewnienie, że programiści i moduły są poprawnie zapisane wielkimi literami w politykach, jest kluczowe, aby zapobiec niezamierzonym uprawnieniom.

Limity zasobów

ImageMagick jest podatny na ataki typu denial of service, jeśli nie jest odpowiednio skonfigurowany. Ustawienie wyraźnych limitów zasobów w polityce jest niezbędne, aby zapobiec takim lukom.

Fragmentacja polityk

Polityki mogą być fragmentowane w różnych instalacjach ImageMagick, co prowadzi do potencjalnych konfliktów lub nadpisywania. Zaleca się zlokalizowanie i weryfikację aktywnych plików polityk za pomocą poleceń takich jak:

shell
$ find / -iname policy.xml

Polityka Startowa, Ograniczająca

Zaproponowano szablon polityki ograniczającej, koncentrujący się na surowych ograniczeniach zasobów i kontrolach dostępu. Szablon ten służy jako punkt wyjścia do opracowywania dostosowanych polityk, które odpowiadają specyficznym wymaganiom aplikacji.

Skuteczność polityki bezpieczeństwa można potwierdzić za pomocą polecenia identify -list policy w ImageMagick. Dodatkowo, narzędzie evaluator tool wspomniane wcześniej może być użyte do udoskonalenia polityki w oparciu o indywidualne potrzeby.

Odniesienia

tip

Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Ucz się i ćwicz Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Wsparcie dla HackTricks