Концепт-вирус использует вычислительные мощности графических процессоров

Концепт-вирус использует вычислительные мощности графических процессоров

Ученые из греческого Фонда исследований и технологий в сотрудничестве со специалистами Колумбийского университета разработали концептуальную вредоносную программу, способную задействовать ресурсы графических процессоров (ГП) и обходить тем самым традиционные системы защиты.


Прототип вируса пользуется возможностями графического процессора для расшифровки вредоносного содержимого файла непосредственно перед его запуском. Упаковка объекта - традиционный способ противодействия сигнатурному сканеру: разработчику вредоносной программы достаточно лишь произвести незначительные изменения в алгоритме сжатия или шифрования, чтобы образец перестал детектироваться. До настоящего времени для распаковки всегда задействовался центральный процессор, что ограничивало спектр возможных способов упаковывания.


"Самораспаковка вредоносного кода при помощи ресурсов ГП может существенно затруднить его детектирование и анализ", - отметили ученые в своей исследовательской работе, которая будет представлена на октябрьской Международной конференции IEEE по проблемам вредоносного и нежелательного программного обеспечения. - "Разработчик может воспользоваться мощью современных графических процессоров, архитектура которых позволяет выполнять параллельные вычисления, и зашифровать вредоносную программу при помощи исключительно сложных криптоалгоритмов".


Когда прототип завершает распаковку, код размещается в памяти компьютера и исполняется уже традиционно, центральным процессором. Исследователи подчеркнули, что в подобных вирусах может быть сравнительно мало кода, совместимого с архитектурой Intel x86; по их мнению, это осложнит и анализ таких вредоносных программ, и выпуск антивирусных сигнатур для их детектирования. Впрочем, это не единственная защита от вирусных аналитиков, которая имеется в арсенале концепта: прототип является полиморфом, и соответствующие алгоритмы сокрытия кода он тоже умеет реализовывать при помощи ресурсов графического процессора. "Полностью извлечь исходный код все же возможно, если аналитик будет настойчив и задействует весь доступный ему арсенал средств; однако полиморфизм, подкрепленный возможностями ГП, вынудит исследователя затратить на процедуру реверс-инжиниринга гораздо больше времени и сил, чем обычно", - констатируется в работе.
 
Действительно, в настоящее время графические процессоры становятся все мощнее, а спектр выполняемых ими задач постоянно расширяется. Их способность распараллеливать вычисления прекрасно подходит для некоторых задач - например, для подбора паролей. Хотя прототип предназначен только для ГП, совместимых с архитектурой Nvidia CUDA, потенциальному злоумышленнику будет совершенно не трудно адаптировать его и для графических процессоров AMD.


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


The Register

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