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

27 лет вирусу Chernobyl: легендарная угроза, заразившая миллионы ПК

27 лет назад, 26 апреля 1999 года, сработал один из самых разрушительных вредоносов эпохи Windows 9x — CIH, также известный как Chernobyl. Его размер составлял всего около 1 КБ, но ущерб оказался огромным: зловред обнулял данные на жёстких дисках и пытался записывать мусорные данные в BIOS материнских плат.

CIH, как вспоминают исследователи, был создан в 1998 году тайваньским студентом Чэнь Инхао из частного университета в Чжуншане.

По разным оценкам, вредоносная программа заразила около 60 млн компьютеров и нанесла ущерб примерно на $40 млн. Прозвище Chernobyl он получил из-за даты срабатывания — 26 апреля, в годовщину аварии на Чернобыльской АЭС.

Одной из особенностей CIH была его скрытность. Вредонос не просто дописывал себя в конец исполняемых файлов, увеличивая их размер, а искал свободные промежутки внутри Windows PE-файлов и распределял свой код по этим «пустотам». В результате заражённые файлы сохраняли прежний размер, что помогало обходить проверки антивирусов того времени.

После запуска CIH повышал свои привилегии до уровня ядра и перехватывал файловые операции. Это позволяло ему незаметно заражать исполняемые файлы, которые открывал пользователь. Вирус работал только на Windows 95, Windows 98 и Windows ME; системы семейства Windows NT были к нему невосприимчивы.

Распространялся CIH в основном через пиратский софт, однако заражённые копии попадали и в легальные каналы. Например, в марте 1999 года часть компьютеров IBM Aptiva поставлялась уже с предустановленным CIH. Также Yamaha распространяла заражённое обновление прошивки для приводов CD-R400, а копии Back Orifice 2000, раздававшиеся на DEF CON 7, тоже содержали вирус.

При активации CIH сначала перезаписывал первый мегабайт загрузочного диска нулями. Это уничтожало таблицу разделов и делало содержимое накопителя недоступным. Затем вирус пытался повредить BIOS, записывая в него некорректные данные. Если атака удавалась, компьютер мог перестать включаться без замены микросхемы.

Несмотря на масштаб последствий, тайваньские прокуроры не смогли предъявить Чэнь Инхао обвинения: по местным законам того времени для этого требовался иск от пострадавших, а таких заявлений не поступило. Сам автор утверждал, что создал CIH как вызов антивирусным компаниям, которые, по его мнению, преувеличивали возможности своих продуктов.

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