Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Uch_praktika_Pimonov_KI16-01.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
38.59 Кб
Скачать

4. Устаревшие функции

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

WMF Exploit (MS06-001)

Данный эксплойт использовался вирусом Sober в 2006 г. Начиная еще с Windows 3.0 в Windows поддерживается формат векторных графических файлов WMF. Как неожиданно выяснилось в первых числах января 2006 г., данный формат допускает хранение внутри графического файла произвольного машинного кода, который автоматически выполняется при невозможности корректно отобразить файл на графическом устройстве. Для эксплуатации данной уязвимости достаточно всего лишь попытаться просмотреть файл эксплойта с помощью любой программы, прямо или косвенно использующей функцию PlayMetafile из библиотеки user32.dll. При просмотре изображения функция PlayMetafile обнаруживает в структуре файла ошибку, преднамеренно внесенную нарушителем, и выполняет содержащийся в том же файле машинный код эксплойта.

В середине 1980-х гг. Интернет в современном понимании еще не существовал, локальные вычислительные сети были редкостью, а редкие компьютерные вирусы еще не использовали для своего размножения уязвимости графических форматов. Соответственно присутствие машинного кода в графическом файле не считалась уязвимостью. Вскоре после своего появления формат WMF устарел и был заменен более удобным форматом EMF, широко применяющимся до сих пор. Про редко используемую возможность формата WMF все забыли и лишь через двадцать лет, когда она уже успела превратится в критически опасную уязвимость, ее случайно обнаружил вирусописатель, так и оставшийся неизвестным.

Уязвимость GHOST (CVE-2015-0235)

В январе 2015 года была обнаружена опасная уязвимость в системной библиотеке Glibc (GNU C Library), начиная с версии glibc-2.2 от 2000 года. При вызове функции gethostbyname — объявленной устаревшей функции для определения IP-адреса по имени — происходило переполнение буфера. Злоумышленник мог выполнить произвольный код как локально, так и удалённо — сразу же был продемонстрирован способ удаленной эксплуатации уязвимости на примере почтового сервера Exim. Популярные веб-серверы Apache и nginx признаны исследователями защищенными от этой ошибки. Помимо этого, потенциально могут быть проэксплуатированы и другие приложения:

- SSH-серверы, использующие DNS-запросы при аутентификации с allow/deny;

- Почтовые серверы с обратными DNS-запросами;

- Многочисленные веб-приложения, которые по входным данным пользователя проводят DNS-запросы;

- СУБД MySQL, которые проводят аутентификацию по доменным именам (MySQL privileges).

Уязвимость исправлена патчем между релизами glibc-2.17 и glibc-2.18. К сожалению, его не классифицировали как патч безопасности, так что почти все популярные дистрибутивы с долговременной поддержкой остались на старой «стабильной» версии glibc. Среди них Debian 7 (Wheezy), Red Hat Enterprise Linux 6 & 7, CentOS 6 & 7, Ubuntu 12.04 и другие. Также уязвимы Zend Framework v2, Wordpress и ряд других популярных приложений. По одной из версий, основанных на анализе метаданных логотипа с красным привидением, специалисты знали об этой уязвимости как минимум со 2 октября 2014 года и соблюдали условия ответственного разглашения, пока разработчики исправляли ошибку [12; 13; 14].

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]