Спецпроекты

«Дыры» в ядре Linux свели на нет защиту от «чипокалипсиса»

Безопасность Администратору Стратегия безопасности Техника

Уязвимости позволяют выводить данные из памяти ядра в Linux-системах через побочные каналы. Степень угрозы не слишком высока, но отнюдь не настолько, чтобы ее игнорировать.

5,5 балла CVSS

Эксперты по безопасности Symantec обнародовали две новые уязвимости в операционных системах на базе Linux, которые делают бесполезными защиту от аппаратной уязвимости Spectre.

Уязвимости CVE-2020-27170 и CVE-2020-27171 получили невысокие оценки по шкале угроз CVSS — всего 5,5 балла, но степень их распространенности дает основание причислять их к серьезным: уязвимости затрагивают все версии ядра Linux до версии 5.11.8.

Spectre — это группа аппаратных уязвимостей, ошибка, встречающаяся в большей части современных процессоров, имеющих спекулятивное выполнение команд и развитое предсказание ветвлений. Это касается, в частности, архитектур х86/x86_64 (Intel и AMD) и некоторых процессорных ядер ARM. Уязвимости позволяют производить чтение данных через сторонний канал в виде общей иерархии кэш-памяти.

Напомним, в новогодний период 2018 г. мир потрясло известие об обнаружении первых уязвимостей, связанных со спекулятивным выполнением инструкций, — Meltdown и Spectre. И в то время как киберуязвимости лишь в исключительных случаях получают собственное название, выявление Spectre и Meltdown оказалось беспрецедентным по своим масштабам и степени угрозы событием. В результате в мировой прессе произошедшее стали именовать «чипокалипсисом».

linuks600.jpg
Два бага в ядре Linux обнуляют защиту ИТ-систем от «чипокалипсиса»

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

Эксплуатация уязвимости CVE-2020-27170 позволяет считывать содержимое любой области памяти ядра, в то время как CVE-2020-27171 допускает вывод данных из четырехгигабайтной области памяти ядра.

Патчи были выпущены 20 марта 2021 г. Производители дистрибутивов Ububntu, Debian и Red Hat спешно распространяют их среди своих клиентов.

Без защиты

Вместе эти уязвимости позволяют обходить все реализованные к настоящему моменту средства защиты ядра в Linux. Как пишут эксперты компании Symantec, содержимое памяти ядра можно вывести благодаря поддержке расширенных пакетных фильтров Беркли (extended Berkeley Packet Filter). BPF — это технология, используемая в большей части Unix-подобных систем для программ, которые должны, помимо прочего, анализировать сетевой трафик. Фактически это виртуальная машина для обработки фильтрации пакетов.

Начиная с версии 3.18, ядро ​​Linux включает расширенную виртуальную машину BPF с десятью 64-битными регистрами, называемую расширенным BPF (eBPF), которая в отличие от предшественницы, откреплена от подсистемы сетевого уровня и может использоваться в любых целях.

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

В теории злоумышленник может получить доступ ко всем пользовательским профилям на данной машине. При условии, что у него есть удаленный доступ к уязвимой системе (например, вследствие более ранней загрузки вредоноса на нее), уязвимости могут также эксплуатироваться удаленно.

«На фоне других уязвимостей, связанных со Spectre и Meltdown, новые баги не выглядят катастрофично, но будет крайне опрометчиво их игнорировать, — полагает Алексей Водясов, технический директор компании SEC Consult Services. — Мотивированный злоумышленник сможет воспользоваться потенциалом этих уязвимостей в полной мере, что в конечном счете может привести к самым долгоиграющим последствиям».