Вопрос: Можно ли использовать ImageMagick для изображений пользователей?


Я слышал, что при использовании ImageMagick могут возникать проблемы с безопасностью при любых пользовательских изображениях. Например, приведенная ниже ссылка показывает, что раньше использовались эксплойты переполнения буфера. Кто-нибудь знает, могу ли я теперь безопасно использовать это как часть веб-сервиса, связанного с изображениями пользователей?

http://rhn.redhat.com/errata/RHSA-2006-0633.html


4
2017-09-08 01:19


Источник




Ответы:


Это уведомление о безопасности с 2006 года. У всего программного обеспечения есть ошибки, но я бы не сказал, что ImageMagick имеет больше, чем другое программное обеспечение. Серьезно, если вы внедряете веб-сервис, вы, вероятно, так же склонны взломать кого-то через Apache, как с помощью ImageMagick.

Короче говоря, не беспокойтесь об этом, но постоянно обновляйте свое программное обеспечение.

EDIT: Кстати, я помог клиенту реализовать веб-сервис, который использовал ImageMagick, и я никогда не слышал об одной проблеме с ним.


5
2017-09-08 03:28



ImageMagick тривиально взломать, потому что его кодеки не предназначены для обработки вредоносных данных. Видеть imagetragick.com  Sandbox ImageMagick правильно или не использовать его с ненадежными данными. - Lilith River


Да, есть риск для безопасности. У программного обеспечения есть ошибки, и некоторые из них могут быть использованы для атаки на систему, в которой он работает.

Но вы можете свести к минимуму риск:

  1. Создайте учетную запись пользователя с минимальными разрешениями, чтобы ее было достаточно для запуска ImageMagick. Теперь используйте только эту учетную запись для выполнения ImageMagick

  2. Включите автоматические обновления безопасности: в системах Linux, таких как Ubuntu, можно настроить автоматическую установку исправлений безопасности. Это уменьшает время уязвимости вашей системы в случае обнаружения уязвимости. Система Windows также имеет систему автоматического обновления, но не включает стороннее программное обеспечение, такое как ImageMagick.


7
2017-09-08 11:18



Я думаю, что это должен быть принятый ответ. - Sam Rueby


Нет.

ImageMagick был разработан для гибкости. Он не затвердевает от созданных входов, как библиотеки обработки изображений браузера. Вероятно, это по-прежнему намного проще найти уязвимые места в библиотеке, например ImageMagick, чем в браузере.

Злоумышленник, который обнаруживает переполнение буфера в ImageMagick, может затем использовать его для запуска произвольного кода с разрешениями процесса, выполняемого ImageMagick.

Это может дать злоумышленнику плацдарм, который они могут использовать для дальнейшего повышения привилегий; например, через ПУТЬ и атаки троянских коней, запутывая другие бэкенды или используя другие, не связанные службы внутри вашей производственной среды.

Если вы абсолютно должен используйте ImageMagick на стороннем контенте, см. «Другие соображения безопасности» в Документы политики безопасности ImageMagick:

В дополнение к политике безопасности вы можете сделать ImageMagick более безопасным ...

  • постоянно обновляя ImageMagick. В последних выпусках есть исправления для любых недостатков безопасности, которые мы обнаружили в прошлом.
  • санировать любые имена файлов или параметры командной строки, которые вы передаете ImageMagick.
  • запуск ImageMagick в дезинфицированном программном контейнере, таком как Docker.
  • запустите ImageMagick как наименее привилегированный пользователь (например, «никто»).   явно задав тип файла изображения. Например, используйте имя файла png: image.png, а не image.png. Без явного типа изображения в имени файла, ImageMagick угадывает тип изображения.

-1
2017-08-01 22:18