# ImageMagick Security
{{#include ../../banners/hacktricks-training.md}}
Sprawdź szczegóły w [**https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](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](https://imagemagick-secevaluator.doyensec.com/), 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
...
...
```
## 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](https://imagemagick-secevaluator.doyensec.com/) wspomniane wcześniej może być użyte do udoskonalenia polityki w oparciu o indywidualne potrzeby.
## Odniesienia
- [https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html**](https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html)
{{#include ../../banners/hacktricks-training.md}}