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 ошибок.

В Android нашли обход новой 24-часовой задержки на установку APK

Google подробно объяснила, как будет работать новый механизм установки приложений от непроверенных разработчиков на Android. Идея простая: добавить побольше трения, чтобы пользователи не ставили подозрительные APK по наводке мошенников. Но довольно быстро выяснилось, что у более опытных пользователей останется вполне прямой обходной путь через ADB.

Напомним, новый сценарий сторонней загрузки софта Google запускает в августе.

Если пользователь захочет установить приложение от непроверенного разработчика обычным способом, ему придётся пройти целую цепочку действий: включить режим разработчика, подтвердить, что его никто не принуждает, перезагрузить устройство, снова пройти аутентификацию и затем выждать 24 часа.

После этого можно будет разрешить установку таких приложений на 7 дней или бессрочно. Google прямо говорит, что эта пауза нужна для борьбы с социальной инженерией и ломает навязанную срочность, на которой часто держатся мошеннические схемы.

Но есть нюанс, который многим понравится куда больше самой защиты. Как уточнил Мишаал Рахман, а затем подтвердила и документация Google, Android Debug Bridge (ADB) в этой истории почти не меняется. Через ADB разработчики и продвинутые пользователи по-прежнему смогут устанавливать неподписанные или непроверенные приложения на свои устройства без этой новой суточной паузы.

То есть на практике получается довольно любопытный компромисс. Для обычной сторонней загрузки Google делает процесс заметно более вязким и медленным, чтобы случайный пользователь лишний раз остановился и подумал. А для тех, кто и так пользуется ADB, ничего радикально не ломают: хочешь поставить APK сразу — подключай устройство, включай нужные опции и работай по старой схеме.

В этом есть своя логика. Google явно пытается не столько запретить стороннюю загрузку, сколько усложнить именно те сценарии, где человека под давлением заставляют быстро установить вредоносное приложение. При этом компания оставляет путь для разработчиков, тестировщиков и энтузиастов, которые осознанно берут на себя риск и знают, что делают.

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