Операционные системы Windows и Linux уязвимы для атаки, которая позволяет злоумышленникам перехватывать работу с клавиатурой, нарушать границы песочницы и похищать пароли. К такому выводу пришла команда исследователей, состоящая из ученых, представителей вендоров и специалистов по информационной безопасности. Эксперты опубликовали описание эксплойта, использующего вредоносный процесс с доступом к программному кэшу ОС, чтобы получать сведения о работе других приложений.

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

Эксперты использовали системный запрос mincore в Linux и QueryWorkingSetEx в Windows для проверки состояния страниц в RAM. Далее специалисты применили метод вытеснения из кэша и проанализировали пакеты, выгружаемые из оперативной памяти на диск, а также возникающие при этом ошибки. На основании полученных сведений ученые научились определять, с какими данными работает другое приложение.

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

Команда специалистов передала результаты исследования разработчикам Windows и Linux, а также авторам утилиты phpMyFAQ, которая использовалась для демонстрации расшифровки паролей. По словам ученых, Microsoft включила патч, исправляющий недостаток, в тестовый релиз Windows 10 Insider Preview Build 18305, однако дата появления общедоступной заплатки пока неизвестна. Для исправления ситуации необходимо использовать опцию PROCESS_QUERY_INFORMATION функции QueryWorkingSetEx вместо PROCESS_QUERY_LIMITED_INFORMATION.

Разработчики Linux и phpMyFAQ пока не сообщили о сроках выпуска исправлений. Специалисты не тестировали свой метод на macOS, но предполагают, что проблема существует и в этой операционной системе, поскольку она также использует программный кэш.

Наиболее опасные атаки по сторонним каналам связаны с уязвимостями Spectre и Meltdown, свойственными современным процессорам. В 2018 году исследователи описали несколько вариантов подобных нападений, включая манипуляции с буфером в стеке возвратов. Метод, получивший название SpectreRSB, нечувствителен к обновлению микрокода Intel и программным заплаткам Google, разработанным для снижения вероятности атаки.

Категории: Уязвимости