ImageMagick Security

Support HackTricks

Check further details in 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 konfiguracyjnych. Biblioteka obsługuje ogromną liczbę ponad 100 formatów obrazów, co przyczynia się do jej złożoności i profilu podatności, co zostało udowodnione przez historyczne incydenty bezpieczeństwa.

Towards Safer Policies

Aby sprostać tym wyzwaniom, opracowano narzędzie, które ma pomóc w projektowaniu i audytowaniu polityk bezpieczeństwa ImageMagick. To narzędzie 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.

Allowlist vs Denylist Approach

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.

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

Case Sensitivity in Policies

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

Resource Limits

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.

Policy Fragmentation

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 polityki za pomocą poleceń takich jak:

$ 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, wspomniane wcześniej narzędzie oceniające może być użyte do udoskonalenia polityki w oparciu o indywidualne potrzeby.

Odniesienia

Support HackTricks

Last updated