Pull to refresh

В Instagram нашли уязвимость, связанную с обработкой изображений

Information Security *Development of mobile applications *Social networks and communities IT-companies


Специалисты компании Check Point рассказали о найденной в начале этого года серьезной уязвимости в мобильном приложении Instagram для iOS и Android. Злоумышленники могли с помощью уязвимости CVE-2020-1895 получить практически полный доступ к смартфону жертвы, запустив на атакуемой системе удаленное выполнение произвольного кода. Все что им было нужно для этого — отправить пользователю картинку с вредоносным кодом и специально созданными размерами. Далее штатный алгоритм обработки изображений приложения Instagram использовался для успешного проведения атаки, основанной на переполнении кучи/хипа (heap buffer overflow).
Читать дальше →
Total votes 19: ↑17 and ↓2 +15
Views 8.1K
Comments 12

Mozilla оптимизирует формат JPEG

Open source *Image processing *
Mozilla анонсировала новый проект mozjpeg по созданию качественного кодера JPEG, который улучшит сжатие изображений при сохранении совместимости с существующими декодерами.

На каждом сайте постоянно увеличивается и количество файлов JPEG, и их размер. Поскольку HTML, JS, и CSS относительно невелики, то при загрузке веб-страницы основной трафик зачастую приходится именно на JPEG. Так что уменьшение размера фотографий — вполне очевидная цель для оптимизации, считает Mozilla.

Существующие кодеры JPEG зачастую работают не очень эффективно. Логично перейти на более современные алгоритмы (например, JPEG2000 с вейвлет-преобразованием или свободный WebP), и такая тема неоднократно обсуждалась. Но разработчики Mozilla говорят, что популярность JPEG слишком велика. Созданный в 1992 году этот стандарт сжатия с потерями стал общепризнанным. Переход на новый формат займёт много лет, поскольку он не совместим с имеющимся программным обеспечением. «Мы (в Mozilla) не сомневаемся, что алгоритмические улучшения когда-нибудь подтолкнут к такому переходу, возможно, скоро. Но даже в этом случае JPEG ещё долго будет с нами».
Читать дальше →
Total votes 65: ↑56 and ↓9 +47
Views 33K
Comments 45

Mozilla выпустила улучшенный JPEG-кодировщик

Open source *Image processing *
image

Mozilla выпустила новую версию кодера для JPEG-изображений mozjpeg. Новая версия уже тестируется на facebook.com, и Facebook пожертвовал Mozilla 60 000 долларов на продолжение работы над этим проектом, пишет TechCrunch.

Mozilla обещает, что версия 2.0 её кодировщика уменьшает размер JPEG-файлов в среднем на 5 %. В зависимости от изображения, процент может быть значительно выше (до 15 %) или чуть ниже. В отличие от первой версии, эффект которой был виден только на прогрессивных (progressive) JPEG, новая версия также улучшает изображения, сохранённые в базовом (baseline) формате.
Читать дальше →
Total votes 44: ↑40 and ↓4 +36
Views 19K
Comments 58

Сжатие фотографий без видимой потери качества: опыт Yelp

Server optimization *Data storage *Data compression *
Translation
На Yelp хранится более 100 миллионов пользовательских фотографий, от картинок ужинов и причёсок до одной из наших последних фич, #yelfies. Эти изображения составляют основную часть трафика для пользователей приложения и веб-сайта, а их хранение и передача обходятся недёшево. Стараясь предоставить людям наилучший сервис, мы усиленно работали над оптимизацией всех фотографий и добились среднего уменьшения размера на 30%. Это экономит людям время и трафик, а также сокращает наши расходы на обслуживание этих изображений. Ах да, и мы сделали это без ухудшения качества фотографий!

Исходные данные


Yelp хранит пользовательские фотографии уже 12 лет. Мы сохраняем lossless-форматы (PNG, GIF) как PNG, а все остальные форматы в JPEG. Для сохранения файлов используются Python и Pillow, а загрузки фотографий начинаются примерно с такого сниппета:

# do a typical thumbnail, preserving aspect ratio
new_photo = photo.copy()
new_photo.thumbnail(
    (width, height),
    resample=PIL.Image.ANTIALIAS,
)
thumbfile = cStringIO.StringIO()
save_args = {'format': format}
if format == 'JPEG':
    save_args['quality'] = 85
new_photo.save(thumbfile, **save_args)

Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Views 19K
Comments 6

Оптимизация изображений для web

High performance **nix *Image processing *Go *
image

В интернете достаточно статей и проектов для ресайза изображений. Почему же нужна еще одна? В этой статье я расскажу почему нас не удовлетворили текущие решения и пришлось пилить собственное.
Читать дальше →
Total votes 29: ↑25 and ↓4 +21
Views 44K
Comments 42

Оптимизация графики для веба: самое важное

Website development *Server optimization *Image processing *Data compression *Browsers
Translation
Автор электронной книги — Эдди Османи, один из руководителей разработки Google Chrome

tl;dr


Cжатие изображений всегда должно быть автоматизировано


Оптимизацию графики обязательно надо автоматизировать. О ней легко забыть, рекомендации меняются, да и сам контент может легко проскользнуть мимо конвейера сборки. Для автоматизации при сборке используйте imagemin или libvips. Есть и много других.

Большинство CDN (например, Akamai) и сторонних решений вроде Cloudinary, imgix, Fastly Image Optimizer, Instart Logic SmartVision и ImageOptim API предлагают комплексные автоматизированные решения для оптимизации изображений.

На чтение статей и настройку конфигурации вы потратите время, которое дороже оплаты их услуг (у Cloudinary есть бесплатный тариф). Но если всё-таки не хотите отдавать работу на аутсорсинг по соображениям стоимости или из-за дополнительной latency, то выбирайте приведённые выше варианты с открытым исходным кодом. Проекты Imageflow или Thumbor предлагают альтернативу на собственном хостинге.
Читать дальше →
Total votes 61: ↑61 and ↓0 +61
Views 81K
Comments 31