Identificouse unha nova variante do ataque Zombieload aos procesadores Intel

Investigadores da Universidade Técnica de Graz (Austria) descuberto información sobre un novo método de ataque a través de canles de terceiros Zombie Load 2.0 (CVE-2019-11135), que permite extraer información confidencial doutros procesos, do sistema operativo, das máquinas virtuais e dos enclaves protexidos (TEE, Trusted Execution Environment). O problema só afecta aos procesadores Intel. Compoñentes para bloquear o problema proposto en onte actualización de microcódigos.

O problema pertence á clase MDS (Microarchitectural Data Sampling) e é unha versión modernizada feito público en maio ataques ZombieLoad. ZombieLoad 2.0, como outros ataques MDS, depende da aplicación de técnicas de análise de canles laterais a datos en estruturas microarquitectónicas (por exemplo, búfer de recheo de liña e búfer de almacenamento), que almacenan temporalmente os datos utilizados no proceso. realizar operacións de carga e almacenamento) .

Nova variante de ataque Zombieload baseado sobre a fuga que se produce durante o funcionamento do mecanismo de interrupción asíncrona das operacións (TAA, TSX Asynchronous Abort), implementado na extensión TSX (Transactional Synchronization Extensions), que proporciona ferramentas para traballar con memoria transaccional, que permite aumentar o rendemento de aplicacións multiproceso eliminando dinámicamente operacións de sincronización innecesarias (transaccións atómicas admitidas que poden ser aceptadas ou abortadas). Se se interrompe, as operacións realizadas na rexión de memoria transaccional revéranse.

O aborto da transacción prodúcese de forma asíncrona, momento no que outros fíos poden acceder á caché, que tamén se usa na rexión de memoria transaccional descartada. Durante o tempo que vai desde o inicio ata a finalización real dunha transacción asíncrona abortada, poden xurdir situacións nas que o procesador, durante a execución especulativa dunha operación, pode ler os datos dos búfers microarquitectónicos internos e transferilos á operación especulativa. Despois detectarase o conflito e descartarase a operación especulativa, pero os datos permanecerán na caché e pódense recuperar mediante técnicas de recuperación de caché de canle lateral.

O ataque redúcese a abrir transaccións TSX e crear condicións para a súa interrupción asíncrona, durante a cal xorden as condicións para filtrar o contido dos búfers internos cheos especulativamente de datos das operacións de lectura de memoria realizadas no mesmo núcleo da CPU. A fuga está limitada ao núcleo físico actual da CPU (no que se está a executar o código do atacante), pero dado que os búfers microarquitectónicos se comparten entre diferentes fíos no modo Hyper-Threading, é posible filtrar as operacións de memoria realizadas noutros fíos da CPU.

Ataque suxeita a algúns modelos das oitava, novena e décima xeracións de procesadores Intel Core, así como Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W e Intel Xeon Scalable de segunda xeración. Os novos procesadores Intel baseados na microarquitectura Cascade Lake introducidas en abril, que inicialmente non eran susceptibles aos ataques RIDL e Fallout, tamén son susceptibles aos ataques. Ademais de Zombieload 2.0, os investigadores tamén identificaron a posibilidade de ignorar os métodos de protección previamente propostos contra ataques MDS, baseados no uso da instrución VERW para borrar o contido dos búfers microarquitectónicos ao volver do núcleo ao espazo do usuario ou ao transferir o control ao espazo do usuario. o sistema de invitados.

O informe de Intel indica que nos sistemas cunha carga heteroxénea, a capacidade de realizar un ataque é difícil, xa que unha fuga de estruturas microarquitectónicas cobre toda a actividade do sistema e o atacante non pode influír na fonte dos datos extraídos, é dicir. só pode acumular información que emerxe como resultado dunha fuga e tentar identificar información útil entre estes datos, sen a capacidade de interceptar deliberadamente os datos asociados a enderezos de memoria específicos. Non obstante, os investigadores publicaron explotar o prototipo, que se executa en Linux e Windows, e demostrou a capacidade de usar un ataque para determinar o hash do contrasinal do usuario root.
Quizais realizar un ataque desde un sistema convidado para acumular datos que aparecen nas operacións doutros sistemas convidados, o ambiente host, o hipervisor e os enclaves Intel SGX.

Correccións para bloquear a vulnerabilidade incluído na base de código do núcleo de Linux e incluído nas versións 5.3.11, 4.19.84, 4.14.154, 4.9.201 e 4.4.201. As actualizacións do núcleo e do microcódigo tamén se publicaron para as principais distribucións (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). O problema identificouse en abril e coordinouse unha solución entre Intel e os desenvolvedores do sistema operativo.

O método máis sinxelo para bloquear Zombieload 2.0 é desactivar o soporte de TSX na CPU. A corrección proposta para o núcleo de Linux inclúe varias opcións de protección. A primeira opción ofrece o parámetro "tsx=on/off/auto", que permite controlar se a extensión TSX está habilitada na CPU (o valor desactiva automaticamente TSX só para CPU vulnerables). A segunda opción de protección está habilitada polo parámetro "tsx_async_abort=off/full/full,nosmt" e baséase en borrar os búfers microarquitectónicos durante o cambio de contexto (a marca nosmt tamén desactiva SMT/Hyper-Threads). Para comprobar se un sistema é susceptible a vulnerabilidades, sysfs proporciona o parámetro "/sys/devices/system/cpu/vulnerabilities/tsx_async_abort".

Ademais, en actualizar microcódigo eliminado outro vulnerabilidade (CVE-2018-12207) nos procesadores Intel, que tamén está bloqueado nos últimos actualizar kernels de Linux. Vulnerabilidade permite un atacante sen privilexios para iniciar unha denegación de servizo, facendo que o sistema se bloquee no estado "Erro de comprobación da máquina".
Ataque incluído pode ser cometido desde o sistema convidado.

Fonte: opennet.ru

Engadir un comentario