Lançamento do emulador QEMU 6.0

Foi lançado o projeto QEMU 6.0. Como emulador, o QEMU permite executar programas compilados para uma plataforma de hardware em um sistema com uma arquitetura totalmente diferente, por exemplo, executar um aplicativo para ARM em um PC compatível com x86. No modo de virtualização, o desempenho da execução de código em um ambiente isolado se aproxima do sistema físico devido à execução direta de instruções na CPU e à utilização do hipervisor Xen ou do módulo KVM.

O projeto foi inicialmente criado por Fabrice Bellard com o objetivo de permitir a execução de arquivos executáveis do Linux compilados para a plataforma x86 em arquiteturas diferentes da x86. Ao longo dos anos de desenvolvimento, foi adicionada suporte para emulação completa em 14 arquiteturas de hardware, e o número de dispositivos de hardware emulados ultrapassou 400. Na preparação da versão 6.0, mais de 3300 mudanças foram feitas por 268 desenvolvedores.

Principais melhorias adicionadas no QEMU 6.0:

  • O emulador de controladores NVMe foi atualizado para estar em conformidade com a especificação NVMe 1.4 e agora oferece suporte experimental para namespaces zonados, multipath I/O e criptografia de dados em trânsito no armazenamento.
  • Adicionadas opções experimentais "-machine x-remote" e "-device x-pci-proxy-dev" para mover a emulação de dispositivos para processos externos. Neste modo, atualmente é suportada apenas a emulação do adaptador SCSI lsi53c895.
  • Adicionada suporte experimental para criar snapshots do conteúdo da RAM.
  • Adicionado um módulo FUSE para exportar dispositivos de bloco, permitindo montar o estado de qualquer dispositivo de bloco utilizado no sistema convidado. A exportação é realizada por meio do comando QMP block-export-add ou pela opção "—export" na utilidade qemu-storage-daemon.
  • No emulador ARM, foi adicionada suporte para a arquitetura ARMv8.1-M 'Helium' e os processadores Cortex-M55, bem como instruções estendidas ARMv8.4 TTST, SEL2 e DIT. Também foi adicionada suporte para placas ARM mps3-an524 e mps3-an547. Além disso, para as placas xlnx-zynqmp, xlnx-versal, sbsa-ref, npcm7xx e sabrelite, foi implementada emulação adicional de dispositivos.
  • Para ARM, nos modos de emulação a nível de sistema e ambiente do usuário, foi implementado o suporte à extensão ARMv8.5 MTE (MemTag, Memory Tagging Extension), que permite vincular tags a cada operação de alocação de memória e organiza uma verificação do ponteiro ao acessar a memória, que deve estar associado à tag correta. A extensão pode ser aplicada para bloquear a exploração de vulnerabilidades causadas por acessos a blocos de memória já liberados, estouros de buffer, acessos antes da inicialização e utilização fora do contexto atual.
  • No emulador da arquitetura 68k, foi adicionada a suporte a um novo tipo de máquinas emuladas 'virt', que utilizam o virtio para otimizar o desempenho do dispositivo.
  • No emulador da arquitetura x86, foi adicionada a possibilidade de aplicar a tecnologia AMD SEV-ES (Secure Encrypted Virtualization) para criptografar os registradores do processador utilizados no sistema convidado, tornando o conteúdo dos registradores inacessível ao ambiente host, a menos que o sistema convidado forneça explicitamente acesso a eles.
  • No gerador de código clássico TCG (Tiny Code Generator), ao emular sistemas x86, foi implementado o suporte ao mecanismo PKS (Protection Keys Supervisor), que pode ser aplicado para proteger o acesso a páginas de memória privilegiadas.
  • No emulador da arquitetura MIPS, foi adicionado um novo tipo de máquinas emuladas 'virt' com suporte a processadores chineses Loongson-3.
  • No emulador da arquitetura PowerPC para máquinas emuladas 'powernv', foi adicionado o suporte a controladores BMC externos. Para máquinas emuladas pseries, foi assegurada a notificação de falhas ao tentar a remoção a quente de memória e CPU.
  • Foi adicionada a suporte à emulação de processadores Qualcomm Hexagon com DSP.
  • No gerador de código clássico TCG (Tiny Code Generator), foi implementado o suporte a ambientes host macOS em sistemas com o novo chip ARM Apple M1.
  • No emulador da arquitetura RISC-V para placas Microchip PolarFire, foi implementado o suporte a QSPI NOR flash.
  • No emulador Tricore, foi adicionada a suporte a um novo modelo de placas TriBoard, que emula o SoC Infineon TC27x.
  • No emulador ACPI, foi disponibilizada a opção de atribuição de nomes a adaptadores de rede em sistemas convidados, independentes da ordem de conexão ao barramento PCI.
  • No virtiofs, foi adicionada suporte à opção FUSE_KILLPRIV_V2 para melhorar o desempenho dos sistemas convidados.
  • No VNC foi adicionada a suporte para transparência do cursor e suporte para escalonamento da resolução de tela no virtio-vga, dependente do tamanho da janela.
  • No QMP (QEMU Machine Protocol) foi adicionado suporte para acesso paralelo assíncrono durante a execução de tarefas de backup.
  • No emulador USB, foi adicionada a capacidade de salvar o tráfego gerado ao trabalhar com dispositivos USB em um arquivo pcap separado para inspeção posterior no Wireshark.
  • Novos comandos QMP load-snapshot, save-snapshot e delete-snapshot foram adicionados para gerenciar snapshots qcow2.
  • No virtiofs, foram corrigidas as vulnerabilidades CVE-2020-35517 e CVE-2021-20263. O primeiro problema permite o acesso ao ambiente do host a partir do sistema convidado através da criação de um arquivo de dispositivo especial em um diretório compartilhado por um usuário privilegiado no sistema convidado. O segundo problema é causado por um erro no processamento de atributos estendidos na opção 'xattrmap' e pode levar à ignorância da reintegração de permissões de gravação e elevação de privilégios dentro do sistema convidado.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster