Эксперт Google в области кибербезопасности Андрей Коновалов сообщил Linux-сообществу о 14 уязвимостях в USB-подсистеме ядра Linux, с помощью которых злоумышленники могут получить контроль над пользовательским устройством. Правда, специалист отмечает, что для подобной атаки нужен физический доступ к компьютеру.
Выявленные Коноваловым уязвимости входят в обширный список из 79 багов, связанных с USB-подсистемой ядра Linux, которые специалист обнаружил за последний месяц. Информация о нескольких из них публикуется впервые, и патчи выпущены далеко не для всех.
Большинство багов, о которых рассказал Коновалов, приводят к отказу в обслуживании (Denial of Service, DoS), вызывая подвисание и перезагрузку операционной системы, а некоторые позволяют хакерам получить права суперпользователя и запустить вредоносный код.
Ошибки были обнаружены при помощи syzkaller — разработанного Google инструмента для поиска уязвимостей, основанного на технике под названием физзинг (Фаззинг, от англ. fuzzing — техника тестирования ПО, часто автоматическая или полуавтоматическая, которая заключается в передаче приложению на вход неправильных, неожиданных или случайных данных).
Коновалов, конечно, не единственный, кто занимается подобного рода исследованиями. Ранее ИБ-эксперты Лондонского университета представили POTUS — инструмент для выявления уязвимостей в драйверах Linux для USB-устройств.
POTUS работает следующим образом: устанавливается виртуальная машина и универсальное USB-устройство, а затем USB-драйвер тестируется с помощью таких методов, как внесение неисправностей (fault injection), Cuzz (Concurrency Fuzzing) и символьное выполнение кода (symbolic execution).
Тестируя с помощью POTUS драйверы USB, специалисты обнаружили две уязвимости в ядре Linux: CVE-2016-5400 и Use-After-Free vulnerability. О результатах своей работы исследователи рассказали в статье «POTUS: Probing Off-The-Shelf USB Drivers with Symbolic Fault Injection», которая была отмечена, как лучшая на ИБ-конференции USENIX WOOT 2017, прошедшей минувшим летом.
В USB-подсистеме ядра Linux найдены уязвимости: 4 комментария