Китайский технологический гигант Huawei предложил новый «режим песочницы» для ядра Linux для повышения безопасности памяти. Конечная цель режима «Песочница» — выполнение собственного кода ядра в среде, которая разрешает доступ к памяти только по заранее определенным адресам. Таким образом, уязвимости не могут быть использованы или не окажут влияния на остальную часть ядра. Эта серия патчей добавляет в ядро API и независимую от арки инфраструктуру режима SandBox. Он запускает целевую функцию на копии всех входных и выходных данных, созданной с помощью vmalloc(). Уже одно это предотвращает некоторый доступ за пределами границ благодаря страницам защиты. API режима SandBox позволяет запускать каждый компонент в изолированной среде выполнения.
В частности, области памяти, используемые в качестве ввода и/или вывода, изолированы от остальной части ядра и окружены защитными страницами. Без арочных крючков это общее основание обеспечивает слабую изоляцию. В архитектурах, реализующих необходимые арочные перехватчики, режим песочницы использует аппаратные средства подкачки и уровни привилегий ЦП, чтобы обеспечить использование только этих предопределенных областей памяти. Благодаря поддержке Arch SBM также может восстанавливаться после нарушений защиты. Это означает, что SBM принудительно завершает песочницу и возвращает код ошибки (например, -EFAULT) вызывающей стороне, поэтому выполнение может продолжаться. Такая реализация обеспечивает сильную изоляцию.
Электронная почта Linux показывает что Петр Тесарик из Huawei Cloud выпустил серию патчей «с просьбой о комментариях» о новом режиме «песочницы». Петр описал режим песочницы так:
Конечная цель режима песочницы — выполнение собственного кода ядра в среде, которая разрешает доступ к памяти только по заранее определенным адресам, поэтому потенциальные уязвимости не могут быть использованы или не влияют на остальную часть ядра.
Эта серия патчей добавляет в ядро API-интерфейсы песочницы и независимую от архитектуры инфраструктуру. Он запускает целевую функцию для копии vmalloc() всех входных и выходных данных. Одно это предотвращает некоторый доступ за пределами границ из-за защищенной страницы.
Предложение режима «песочница»
Петр Тесарик из Huawei разослал серию патчей «запрос комментариев» по новому режиму «Песочница». В документе режима песочницы приведены дополнительные описания:
Новости недели
[embed]https://www.youtube.com/watch?v=Hx0DOeKmnFM[/embed]
Основная цель режима песочницы (SBM) — уменьшить влияние потенциальных ошибок безопасности памяти в коде ядра путем разрушения ядра. API SBM позволяет запускать каждый компонент в изолированной среде выполнения. В частности, области памяти, используемые в качестве входов и/или выходов, изолированы от остальной части ядра и окружены защитными страницами.
В архитектуре, которая реализует необходимые арочные перехватчики, режим песочницы использует аппаратные средства подкачки и уровни привилегий ЦП, чтобы принудительно использовать только эти предопределенные области памяти. При поддержке Arch SBM также может восстанавливаться после нарушений защиты. Это означает, что SBM принудительно завершает работу песочницы и возвращает код ошибки (например, «-EFAULT») вызывающей стороне, чтобы выполнение могло продолжиться. Эта реализация обеспечивает *сильную изоляцию*.
Предложение ГМЕМ
Инженер Huawei Вэйси Чжу объявил во вторник о своей работе в рамках GMEM, надеясь избежать дублирования кода. Предложение GMEM довольно хорошо резюмирует текущую проблему/задачу. Ускоритель, ориентированный на пропускную способность, не допускает выполнения большой рабочей нагрузки по доступу к памяти с помощью MMU/IOMMU хоста через удаленный компьютер. Поэтому устройства по-прежнему будут иметь свои собственные MMU и выберут более простой формат таблицы страниц для снижения накладных расходов на преобразование адресов, требующих внешних подсистем MM.
С помощью предлагаемого кода GMEM подсистема управления памятью Linux «MM» расширяется, позволяя совместно использовать свой машинно-независимый код, обеспечивая при этом только высокий уровень производительности. В свою очередь, GMEM должен позволить драйверам чаще повторно использовать его без изобретения велосипеда. GMEM был протестирован с драйвером устройства нейронного процессора Huawei. Переход на GMEM позволил только драйверу Huawei NPU сократить 26 тыс. строк кода. Есть и другие преимущества, изложенные в предложении GMEM. Полную версию предложения GMEM можно найти на сайте dri-devel, пока оно ожидает рассмотрения и отзывов от других драйверов устройств Linux.
Заключение
В заключение, предложенный Huawei режим песочницы для ядра Linux направлен на повышение безопасности памяти за счет выполнения собственного кода ядра в среде, которая разрешает доступ к памяти только по заранее определенным адресам. API режима SandBox позволяет запускать каждый компонент в изолированной среде выполнения. В архитектурах, реализующих необходимые арочные перехватчики, режим SandBox использует аппаратные средства подкачки. Он также использует уровни привилегий ЦП, чтобы обеспечить использование только этих предопределенных областей памяти. Благодаря поддержке Arch SBM также может восстанавливаться после нарушений защиты. Это означает, что SBM принудительно завершает работу песочницы. Затем он возвращает код ошибки (например, -EFAULT) вызывающей стороне, поэтому выполнение может быть продолжено. Такая реализация обеспечивает сильную изоляцию.
Отказ от ответственности: Мы можем получать вознаграждение от некоторых компаний, о продуктах которых мы говорим, но наши статьи и обзоры всегда являются нашим честным мнением. Для получения более подробной информации вы можете ознакомиться с нашими редакционными правилами и узнать, как мы используем партнерские ссылки.
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s);
js.id = id;
js.src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v3.2&appId=1623298447970991&autoLogAppEvents=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
Китайский технологический гигант Huawei предложил новый «режим песочницы» для ядра Linux для повышения безопасности памяти. Конечная цель режима «Песочница» — выполнение собственного кода ядра в среде, которая разрешает доступ к памяти только по заранее определенным адресам. Таким образом, уязвимости не могут быть использованы или не окажут влияния на остальную часть ядра. Эта серия патчей добавляет в ядро API и независимую от арки инфраструктуру режима SandBox. Он запускает целевую функцию на копии всех входных и выходных данных, созданной с помощью vmalloc(). Уже одно это предотвращает некоторый доступ за пределами границ благодаря страницам защиты. API режима SandBox позволяет запускать каждый компонент в изолированной среде выполнения.
В частности, области памяти, используемые в качестве ввода и/или вывода, изолированы от остальной части ядра и окружены защитными страницами. Без арочных крючков это общее основание обеспечивает слабую изоляцию. В архитектурах, реализующих необходимые арочные перехватчики, режим песочницы использует аппаратные средства подкачки и уровни привилегий ЦП, чтобы обеспечить использование только этих предопределенных областей памяти. Благодаря поддержке Arch SBM также может восстанавливаться после нарушений защиты. Это означает, что SBM принудительно завершает песочницу и возвращает код ошибки (например, -EFAULT) вызывающей стороне, поэтому выполнение может продолжаться. Такая реализация обеспечивает сильную изоляцию.
Электронная почта Linux показывает что Петр Тесарик из Huawei Cloud выпустил серию патчей «с просьбой о комментариях» о новом режиме «песочницы». Петр описал режим песочницы так:
Конечная цель режима песочницы — выполнение собственного кода ядра в среде, которая разрешает доступ к памяти только по заранее определенным адресам, поэтому потенциальные уязвимости не могут быть использованы или не влияют на остальную часть ядра.
Эта серия патчей добавляет в ядро API-интерфейсы песочницы и независимую от архитектуры инфраструктуру. Он запускает целевую функцию для копии vmalloc() всех входных и выходных данных. Одно это предотвращает некоторый доступ за пределами границ из-за защищенной страницы.
Предложение режима «песочница»
Петр Тесарик из Huawei разослал серию патчей «запрос комментариев» по новому режиму «Песочница». В документе режима песочницы приведены дополнительные описания:
Новости недели
[embed]https://www.youtube.com/watch?v=Hx0DOeKmnFM[/embed]Основная цель режима песочницы (SBM) — уменьшить влияние потенциальных ошибок безопасности памяти в коде ядра путем разрушения ядра. API SBM позволяет запускать каждый компонент в изолированной среде выполнения. В частности, области памяти, используемые в качестве входов и/или выходов, изолированы от остальной части ядра и окружены защитными страницами.
В архитектуре, которая реализует необходимые арочные перехватчики, режим песочницы использует аппаратные средства подкачки и уровни привилегий ЦП, чтобы принудительно использовать только эти предопределенные области памяти. При поддержке Arch SBM также может восстанавливаться после нарушений защиты. Это означает, что SBM принудительно завершает работу песочницы и возвращает код ошибки (например, «-EFAULT») вызывающей стороне, чтобы выполнение могло продолжиться. Эта реализация обеспечивает *сильную изоляцию*.
Предложение ГМЕМ
Инженер Huawei Вэйси Чжу объявил во вторник о своей работе в рамках GMEM, надеясь избежать дублирования кода. Предложение GMEM довольно хорошо резюмирует текущую проблему/задачу. Ускоритель, ориентированный на пропускную способность, не допускает выполнения большой рабочей нагрузки по доступу к памяти с помощью MMU/IOMMU хоста через удаленный компьютер. Поэтому устройства по-прежнему будут иметь свои собственные MMU и выберут более простой формат таблицы страниц для снижения накладных расходов на преобразование адресов, требующих внешних подсистем MM.
С помощью предлагаемого кода GMEM подсистема управления памятью Linux «MM» расширяется, позволяя совместно использовать свой машинно-независимый код, обеспечивая при этом только высокий уровень производительности. В свою очередь, GMEM должен позволить драйверам чаще повторно использовать его без изобретения велосипеда. GMEM был протестирован с драйвером устройства нейронного процессора Huawei. Переход на GMEM позволил только драйверу Huawei NPU сократить 26 тыс. строк кода. Есть и другие преимущества, изложенные в предложении GMEM. Полную версию предложения GMEM можно найти на сайте dri-devel, пока оно ожидает рассмотрения и отзывов от других драйверов устройств Linux.
Заключение
В заключение, предложенный Huawei режим песочницы для ядра Linux направлен на повышение безопасности памяти за счет выполнения собственного кода ядра в среде, которая разрешает доступ к памяти только по заранее определенным адресам. API режима SandBox позволяет запускать каждый компонент в изолированной среде выполнения. В архитектурах, реализующих необходимые арочные перехватчики, режим SandBox использует аппаратные средства подкачки. Он также использует уровни привилегий ЦП, чтобы обеспечить использование только этих предопределенных областей памяти. Благодаря поддержке Arch SBM также может восстанавливаться после нарушений защиты. Это означает, что SBM принудительно завершает работу песочницы. Затем он возвращает код ошибки (например, -EFAULT) вызывающей стороне, поэтому выполнение может быть продолжено. Такая реализация обеспечивает сильную изоляцию.