Вопрос по jpeg – Библиотека санации изображений

4

У меня есть веб-сайт, который отображает изображения, представленные пользователями. Я обеспокоен некоторые загружают изображение, которое может использовать некоторую 0-дневную уязвимость в движок рендеринга в браузере. Кроме того, я хотел бы очистить изображения метаданных (например, данные EXIF), и попытаться сжать их в дальнейшем без потерь (есть несколько таких утилит командной строки для PNG и JPEG).

Учитывая вышесказанное, мой вопрос заключается в следующем: есть ли C / C ++ библиотека там, которая обслуживает вышеупомянутый сценарий? И даже если полный трубопроводparsing -> purging -> sanitizing -> compressing -> writing недоступен ни в одной библиотеке, могу ли я хотя бы реализовать parsing -> purging -> sanitizing -> writing трубопровод (без сжатия) в библиотека, которая поддерживает JPEG / PNG / GIF?

Ваш Ответ

1   ответ
5

если в одной из используемых вами библиотек чтения изображений существует 0-дневная уязвимость, то ваш код может быть пригоден для использования, когда он пытается проанализировать и очистить входящий файл. «Пресанитизацией» как только изображение получено, вы просто перемещаете точку эксплуатации раньше, чем позже.

Единственное, что могло бы помочь - это проанализировать и очистить входящие изображения в песочнице, чтобы, по крайней мере, если бы была уязвимость, она была бы помещена в песочницу. Песочница может быть отдельным процессом, работающим как непривилегированный пользователь вchroot среда (или VM, для самого параноика), с интерфейсом, состоящим только из входящего потока, очищенного изображения.

Сама санация может быть такой же простой, как открытие изображения с помощьюImageMagickдекодирование его в растр и перекодирование и передача их в стандартном формате (скажем, PNG или JPEG). Обратите внимание, что если вход и выход имеют оба формата с потерями (например, JPEG), то это преобразование будет с потерями.

Error: User Rate Limit Exceeded Jon Smark
Error: User Rate Limit Exceeded

Похожие вопросы