Google помогла устранить более тысячи проблем в исходном коде проекта FFmpeg

Google помогла устранить множество проблем в исходном коде проекта FFmpeg

Корпорация Google поделилась деталями проекта, связанного с поиском и устранением ошибок в открытом мультимедиа пакете FFmpeg, который, как оказалось, активно используется внутри корпорации и в её продуктах, включая YouTube и Google Chrome.

В течение последних двух лет для процесса тестирования кодовой базы были задействованы 500 компьютерных ядер, а также исходный мультимедиа материал, собранный со всего интернета, включая файлы из самого проекта, находящиеся на сайте samples.mplayerhq.hu и собственный набор для тестирования регрессий проекта FFmpeg под названием FATE.

Тестирование заключалось в изменении исходных файлов и добавлении разнообразного случайного мусора с тем, чтобы выявить проблемы в функциях, занятых обработкой исходного материала для кодирования и декодирования - в компьютерной среде этот способ обыкновенно называется fuzzing. Другой способ тестирования - это прямой вызов функций библиотеки с не совсем корректными данными, чтобы проверить надёжность обработки подобной информации. Впоследствии, проект был расширен до 2000 ядер, а методы мутации исходных материалов были сделаны более разнообразными, пишет opennet.ru.

В ходе работы над проектом было выявлено более 1120 ошибок, которые уже устранены. Найденные ошибки можно разделить на следующие классы:

  • Разыменование NULL-указателей;
  • Неверные вычисления указателей, приводящие к SIGSEGV из-за использования "чужой" памяти;
  • Чтение и запись за пределы стека, кучи и массивов;
  • Неверные вызовы free(), а также двойное освобождение указателей;
  • Ошибки деления;
  • Ошибки assert();
  • Использование неинициализированной памяти.

Google таким же образом помогла форку FFmpeg, libav, в котором было устранено 413 ошибок.

Zombie ZIP: новый трюк с ZIP-архивами помогает обходить антивирусы

Исследователи обратили внимание на новую технику под названием Zombie ZIP, которая позволяет прятать вредоносную нагрузку в специально подготовленных ZIP-архивах так, чтобы большинство защитных решений её просто не распознают.

По данным автора метода Криса Азиза из Bombadil Systems, подход сработал против 50 из 51 антивирусного движка на VirusTotal.

Суть трюка в том, что архиву подменяют служебные поля в заголовке. Защитные продукты верят, что внутри лежат обычные несжатые данные и сканируют файл именно так.

Но на деле полезная нагрузка остаётся сжатой через DEFLATE, поэтому антивирус видит не подозрительный файл, а фактически «шум» из сжатых байтов. Из-за этого сигнатуры просто не срабатывают.

Самое любопытное, что для обычного пользователя такой архив тоже выглядит странно, но не опасно. Если попытаться открыть его через 7-Zip, WinRAR или unzip, можно получить ошибку, сообщение о неподдерживаемом методе или битые данные.

Это достигается, в частности, за счёт специально выставленного значения CRC, которое не совпадает с тем, что ожидают стандартные распаковщики. Но если у злоумышленника есть собственный загрузчик, который игнорирует ложный заголовок и распаковывает содержимое как DEFLATE, полезная нагрузка восстанавливается без проблем.

Крис Азиз уже выложил демонстрационный эксплойт на GitHub вместе с примерами архивов и описанием механики. А CERT/CC присвоил этой проблеме идентификатор CVE-2026-0866. Там же отмечают, что история отчасти напоминает старую уязвимость CVE-2004-0935: ещё больше двадцати лет назад уже выяснялось, что антивирусы могут слишком доверять поломанным ZIP-заголовкам.

RSS: Новости на портале Anti-Malware.ru