Чи безпечно використовувати ImageMagick на зображеннях користувачів?


4

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

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

Відповіді:


5

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

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

EDIT: до речі, я допоміг клієнту реалізувати веб-сервіс, який використовував ImageMagick, і я ніколи не чув про одну проблему з цим.


3
ImageMagick триває хакерство, оскільки його кодеки не були розроблені для обробки шкідливих даних. Дивіться зображення imagetragick.com Sandbox ImageMagick належним чином або не використовуйте його з недовіреними даними.
Річка Ліліт

7

Так, існує ризик безпеки - програмне забезпечення має помилки, і деякі з них можна використовувати для атаки на систему, на якій він працює.

Але ви можете мінімізувати ризик:

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

  2. Увімкнути автоматичні оновлення безпеки: такі системи Linux, як Ubuntu, можна налаштувати для автоматичного встановлення виправлень безпеки. Це зменшує час вразливості вашої системи у випадку виявлення вразливості. У системі Windows також є система автоматичного оновлення, але вона не включає програмне забезпечення сторонніх виробників, як ImageMagick.


Я думаю, це має бути прийнятою відповіддю.
Сем Рюбі

-1

Немає.

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

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

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

Якщо ви абсолютно повинні використовувати ImageMagick для стороннього вмісту, див. "Інші міркування щодо безпеки" в документах щодо політики безпеки ImageMagick :

На додаток до політики безпеки, ви можете зробити ImageMagick більш безпечним шляхом ...

  • постійне оновлення ImageMagick. Останні випуски містять виправлення будь-яких недоліків у безпеці, які ми виявили в минулому.
  • дезінфікувати будь-які назви файлів або параметри командного рядка, які ви передаєте в ImageMagick.
  • запуск ImageMagick в санітарному контейнері програмного забезпечення, такому як Docker.
  • запуск ImageMagick як найменш привілейований користувач (наприклад, "ніхто"). явно встановлюючи тип файлу зображення. Наприклад, використовуйте ім'я файлу png: image.png, а не image.png. Без явного типу зображення у назві файлу ImageMagick відгадує тип зображення.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.