Обновленный руткит TDL4 обходит новый патч Microsoft

Обновленный руткит TDL4 обходит новый патч Microsoft

Разработчики одного из самых современных руткитов TDL4, способного инфицировать 64-битные системы Windows, выпустили обновление в ответ на патч Microsoft, мешающий его работе.

12 апреля, компания Microsoft выпустила патч, специально разработанный для отключения защитного механизма руткита TDL4.

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

Отличие руткита TDL4 заключается в том, что он исправляет данные конфигурации загрузки Windows (Boot Configuration Data) в режиме реального времени, что позволяет ему обходить сигнатурный анализ драйверов операционной системы.

Обновление Microsoft KB2506014 включает изменение размера таблицы экспорта файла kdcom.dll, т.к. программа TDL4 проверяет его значение для определения необходимости замены файла своей версией. Обновленная версия руткита больше не выполняет проверку размера этого файла. Вместо этого TDL4 исправляет процедуру проверки цифровой подписи Windows для kdcom.dll, чтобы вернуть ошибку, которую система не распознает, вынуждая продолжать обычную загрузку программы TDL4.
Кроме того, разработчики TDL4 также изменили способ захвата руткитом системного минипорта, метод, который позволял антивирусным программам обнаруживать его присутствие.

По словам Марко Джулиани (Marco Giuliani), специалиста в области безопасности компании Prevx, известно, что руткит TDL4 устанавливает свой образец драйвера минипорта и подключает DR0 устройство через свой драйвер-фильтр. Такая система позволяла многим утилитам обнаруживать активность руткита в системе. Новый TDL4 удаляет любое упоминание о своем присутствии, тем самым, не оставляя следов, обходит большинство технологий по его обнаружению. 


Баг macOS ломает TCP через 49 дней без перезагрузки

В macOS нашли редкий, но очень неприятный баг: если компьютер работает без перезагрузки примерно 49,7 дня, у него может постепенно умирать TCP. По версии исследователей, проблема связана с переполнением 32-битного счётчика времени в ядре XNU, который используется TCP-подсистемой.

После этого внутренние TCP-таймеры якобы перестают нормально обновляться, соединения в состоянии TIME_WAIT не очищаются, временные порты постепенно заканчиваются, и система в какой-то момент просто перестаёт устанавливать новые TCP-соединения.

При этом ping может продолжать работать, что делает сбой особенно странным. В Photon пишут, что заметили аномалию на своих macOS-машинах, которые круглосуточно используются для мониторинга iMessage-сервисов.

По их описанию, часть узлов после примерно 49 дней 17 часов 2 минут 47 секунд аптайма перестала открывать новые TCP-сессии. После перезагрузки всё возвращалось в норму, но таймер, по сути, запускался заново.

Авторы утверждают, что смогли воспроизвести поведение на двух машинах и связали его с переменной tcp_now в XNU. В открытом репозитории Apple действительно есть TCP-код ядра Darwin/XNU, где используются 32-битные значения времени и логика сравнения временных меток TCP, на которую ссылаются исследователи.

Поведения бага выглядит так: сначала ничего не ломается в лоб, но закрытые TCP-соединения перестают вовремя исчезать из TIME_WAIT. Затем их становится всё больше, временные порты забиваются, новые подключения начинают зависать в SYN_SENT, а сервисы, которым нужны новые TCP-сокеты, начинают сыпаться.

Если эта находка подтвердится, то для обычного пользователя баг вряд ли станет массовой проблемой: большинство устройств на macOS перезагружаются чаще (хотя бы из-за обновлений). А вот для долго работающих Mac mini, билд-серверов, CI/CD-ферм, удалённых рабочих станций и серверных компьютеров, которые могут жить без ребута неделями, история выглядит уже куда серьёзнее.

Если у вас есть компьютер на macOS, который работает неделями без перезагрузки и критичен для сервисов, мы бы посоветовали следить за его аптаймом.

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