Найден способ скрыть вредоносный код с помощью спекулятивного выполнения

Найден способ скрыть вредоносный код с помощью спекулятивного выполнения

Найден способ скрыть вредоносный код с помощью спекулятивного выполнения

Команда ученых из Колорадского университета в Боулдере нашла способ скрыть деятельность вредоносной составляющей, используя процесс «спекулятивного выполнения». Напомним, что эта функция CPU ответственна за появление двух крайне серьезных уязвимостей — Meltdown и Spectre.

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

Именно на использовании такого механизма были завязаны бреши Meltdown и Spectre. Злоумышленники нашли способ извлекать данные из потоков спекулятивного выполнения.

Однако на этой неделе специалисты, выступающие на конференции NDSS 2019, посвященной безопасности, открыли еще один метод использования спекулятивного выполнения.

На этот эксперты рассказали, что в этих потоках можно спрятать вредоносные команды. Эта техника получила имя ExSpectre.

Атака подразумевает, что злоумышленник должен создать вполне безопасное приложение, состоящее из бинарников, которое жертва установит на своем компьютере. Это поможет успокоить пользователя, а также избежать детектирования антивирусными продуктами.

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

«Мы использовали библиотеку OpenSSL в качестве триггера для активации вредоносного пейлоада. Так инициировались подключения к зараженному серверу OpenSSL через TLS-соединение», — объясняют специалисты в опубликованном отчете «ExSpectre: Hiding Malware in Speculative Execution».

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

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

Баг 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