ImageMagick Security

Support HackTricks

Check further details in https://blog.doyensec.com/2023/01/10/imagemagick-security-policy-evaluator.html

ImageMagick, універсальна бібліотека обробки зображень, представляє виклик у налаштуванні своєї політики безпеки через численні опції та відсутність детальної онлайн-документації. Користувачі часто створюють політики на основі фрагментованих джерел в інтернеті, що призводить до потенційних неправильних налаштувань. Бібліотека підтримує величезну кількість з більш ніж 100 форматів зображень, кожен з яких сприяє її складності та профілю вразливостей, як це продемонстровано історичними інцидентами безпеки.

Towards Safer Policies

Щоб вирішити ці проблеми, інструмент був розроблений для допомоги в проектуванні та аудиту політик безпеки ImageMagick. Цей інструмент базується на широких дослідженнях і має на меті забезпечити, щоб політики були не лише надійними, але й без дірок, які можуть бути використані.

Allowlist vs Denylist Approach

Історично політики ImageMagick покладалися на підхід denylist, де конкретним кодерам було відмовлено в доступі. Однак зміни в ImageMagick 6.9.7-7 змінили цю парадигму, дозволивши підхід allowlist. Цей підхід спочатку відмовляє всім кодерам, а потім вибірково надає доступ довіреним, підвищуючи рівень безпеки.

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

Чутливість до регістру в політиках

Важливо зазначити, що шаблони політик в ImageMagick чутливі до регістру. Тому забезпечення правильного написання кодів і модулів з великої літери в політиках є життєво важливим для запобігання ненавмисним дозволам.

Обмеження ресурсів

ImageMagick схильний до атак відмови в обслуговуванні, якщо не налаштований належним чином. Встановлення явних обмежень ресурсів у політиці є необхідним для запобігання таким вразливостям.

Фрагментація політик

Політики можуть бути фрагментовані між різними установками ImageMagick, що може призвести до потенційних конфліктів або перекриттів. Рекомендується знаходити та перевіряти активні файли політик за допомогою команд, таких як:

$ find / -iname policy.xml

Початкова, обмежувальна політика

Шаблон обмежувальної політики був запропонований, зосереджуючи увагу на суворих обмеженнях ресурсів та контролі доступу. Цей шаблон слугує базовою основою для розробки індивідуальних політик, які відповідають конкретним вимогам додатків.

Ефективність політики безпеки можна підтвердити за допомогою команди identify -list policy в ImageMagick. Крім того, раніше згадуваний інструмент оцінки може бути використаний для уточнення політики відповідно до індивідуальних потреб.

Посилання

Support HackTricks

Last updated