El gigante tecnológico chino Huawei ha propuesto un nuevo «Modo SandBox» para el kernel de Linux para mejorar la seguridad de la memoria. El objetivo final del modo SandBox es ejecutar código del kernel nativo en un entorno que permita el acceso a la memoria sólo a direcciones predefinidas. De esta forma, las vulnerabilidades no podrán explotarse o no tendrán ningún impacto en el resto del kernel. Esta serie de parches agrega la API y la infraestructura independiente del arco del modo SandBox al kernel. Ejecuta la función de destino en una copia con vmalloc() de todos los datos de entrada y salida. Esto por sí solo evita algunos accesos fuera de límites gracias a las páginas de guardia. La API del modo SandBox permite ejecutar cada componente dentro de un entorno de ejecución aislado. En particular, las áreas de memoria utilizadas como entrada y/o salida están aisladas del resto del núcleo y rodeadas por páginas de protección. Sin ganchos de arco, esta base común proporciona un aislamiento débil. En arquitecturas que implementan los archhooks necesarios, el modo SandBox aprovecha las funciones de paginación del hardware y los niveles de privilegios de la CPU para imponer el uso solo de estas áreas de memoria predefinidas. Con soporte para el arco, la SBM también puede recuperarse de violaciones de protección. Esto significa que SBM termina por la fuerza el entorno limitado y devuelve un código de error (por ejemplo, -EFAULT) al autor de la llamada, para que la ejecución pueda continuar. Esta implementación proporciona un fuerte aislamiento. Los correos electrónicos de Linux muestran que Petr Tesarik de Huawei Cloud emitió una serie de parches de “solicitud de comentarios” sobre el nuevo modo sandbox. Petr describió el modo sandbox como: El objetivo final del modo sandbox es ejecutar código nativo del kernel en un entorno que solo permite el acceso a la memoria a direcciones predefinidas, de modo que las vulnerabilidades potenciales no puedan explotarse ni tener ningún impacto en el resto del kernel. Esta serie de parches agrega API en modo sandbox e infraestructura independiente de la arquitectura al kernel. Ejecuta la función de destino en una copia vmalloc() de todos los datos de entrada y salida. Esto por sí solo evita algunos accesos fuera de los límites debido a la página protegida. Propuesta del modo SandBox Petr Tesarik de Huawei envió la serie de parches de “solicitud de comentarios” sobre el nuevo modo SandBox. El documento del modo Sandbox proporciona más descripciones complementarias a continuación: Noticias de la semana de Gizchina El objetivo principal del modo Sandbox (SBM) es reducir el impacto de posibles errores de seguridad de la memoria en el código del kernel al dividir el kernel. La API de SBM permite que cada componente se ejecute en un entorno de ejecución aislado. En particular, las regiones de memoria utilizadas como entradas y/o salidas están aisladas del resto del núcleo y rodeadas por páginas de protección. En una arquitectura que implementa los archhooks necesarios, el modo sandbox aprovecha las funciones de paginación del hardware y los niveles de privilegios de la CPU para forzar el uso solo de estas regiones de memoria predefinidas. Con el apoyo de Arch, SBM también puede recuperarse de violaciones de protección. Esto significa que SBM termina por la fuerza el entorno limitado y devuelve un código de error (como «-EFAULT») a la persona que llama para que la ejecución pueda continuar. Esta implementación proporciona un *fuerte aislamiento*. Propuesta de GMEM El ingeniero de Huawei, Weixi Zhu, anunció su trabajo el martes en torno a GMEM con la esperanza de evitar toda la duplicación de código. La propuesta del GMEM resume bastante bien el problema/desafío actual. Un acelerador orientado al rendimiento no tolerará la ejecución de una gran carga de trabajo de acceso a la memoria con una MMU/IOMMU host a través de un control remoto. Por lo tanto, los dispositivos seguirán teniendo su propia MMU y elegirán un formato de tabla de páginas más simple para reducir la sobrecarga de traducción de direcciones, lo que requiere subsistemas MM externos. Con el código GMEM propuesto, el subsistema “MM” de gestión de memoria de Linux se amplía para compartir su código independiente de la máquina y al mismo tiempo proporcionar sólo un alto nivel de memoria. A su vez, GMEM debería permitir una mayor reutilización por parte de los controladores sin tener que reinventar la rueda. GMEM ha sido probado con el controlador de dispositivo de la unidad de procesamiento neuronal de Huawei. Recurrir a GMEM permitió que el controlador NPU de Huawei por sí solo redujera 26k líneas de código. Hay otros beneficios además de los establecidos en la propuesta del GMEM. La propuesta GMEM se puede encontrar completa en dri-devel mientras espera revisión y comentarios de otros controladores de dispositivos Linux. Conclusión En conclusión, el modo SandBox propuesto por Huawei para el kernel de Linux tiene como objetivo mejorar la seguridad de la memoria mediante la ejecución de código nativo del kernel en un entorno que permite el acceso a la memoria solo a direcciones predefinidas. La API del modo SandBox permite ejecutar cada componente dentro de un entorno de ejecución aislado. En arquitecturas que implementan los ganchos de arco necesarios, el modo SandBox aprovecha las funciones de paginación de hardware. También utiliza niveles de privilegio de CPU para imponer el uso únicamente de estas áreas de memoria predefinidas. Con soporte para el arco, la SBM también puede recuperarse de violaciones de protección. Esto significa que SBM cierra por la fuerza el entorno sandbox. Luego devuelve un código de error (por ejemplo, -EFAULT) a la persona que llama, para que la ejecución pueda continuar. Esta implementación proporciona un fuerte aislamiento. Descargo de responsabilidad: Es posible que algunas de las empresas de cuyos productos hablamos nos compensen, pero nuestros artículos y reseñas son siempre nuestras opiniones honestas. Para obtener más detalles, puede consultar nuestras pautas editoriales y conocer cómo utilizamos los enlaces de afiliados.

Source link