mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
47 lines
3.4 KiB
Markdown
47 lines
3.4 KiB
Markdown
# 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
|
|
...
|
|
<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](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}}
|