Разделы

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

«Дыры» в ядре 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-подобных систем для программ, которые должны, помимо прочего, анализировать сетевой трафик. Фактически это виртуальная машина для обработки фильтрации пакетов.

Бесплатная российская замена Active Directory упрощает переход на отечественное ПО
Безопасность

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

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

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

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

Роман Георгиев