Lançamento do OpenBSD 7.4

Foi lançado o lançamento do sistema operacional livre semelhante ao UNIX OpenBSD 7.4. O projeto OpenBSD foi fundado por Theo de Raadt em 1995 após um conflito com os desenvolvedores do NetBSD, o que resultou no bloqueio do acesso de Theo ao repositório CVS do NetBSD. Após isso, Theo de Raadt, junto com um grupo de aliados, criou um novo sistema operacional aberto baseado na árvore de códigos fonte do NetBSD, cujos principais objetivos de desenvolvimento incluem portabilidade (suporte a 13 plataformas de hardware), padronização, operação correta, segurança proativa e recursos criptográficos integrados. O tamanho da imagem ISO de instalação completa do sistema básico OpenBSD 7.4 é de 630 MB.

Além do próprio sistema operacional, o projeto OpenBSD é conhecido por seus componentes, que se espalharam por outros sistemas e se estabeleceram como algumas das soluções mais seguras e de qualidade. Entre eles: LibreSSL (fork do OpenSSL), OpenSSH, filtro de pacotes PF, demônios de roteamento OpenBGPD e OpenOSPFD, servidor NTP OpenNTPD, servidor de e-mail OpenSMTPD, multiplexador de terminal de texto (semelhante ao GNU screen) tmux, demônio identd com implementação do protocolo IDENT, alternativa BSD do pacote GNU groff - mandoc, protocolo para a organização de sistemas tolerantes a falhas CARP (Common Address Redundancy Protocol), servidor http leve, utilitário de sincronização de arquivos OpenRSYNC.

Principais melhorias:

  • Para as arquiteturas amd64 e i386, foram adicionados componentes para atualização de microcódigo para processadores AMD. Novas versões de microcódigo são instaladas automaticamente durante a inicialização. Um port 'ports/sysutils/firmware/amd' foi preparado para a distribuição de arquivos binários com microcódigo. A instalação do novo microcódigo é feita com a ferramenta padrão fw_update. Um suporte semelhante para a atualização de microcódigo para processadores Intel foi implementado em 2018 e foi oferecido no lançamento do OpenBSD 6.3.
  • Para o núcleo e o espaço do usuário, foram incluídos mecanismos de proteção IBT (Indirect Branch Tracking, amd64) e BTI (Branch Target Identification, arm64), projetados para bloquear a violação da ordem normal de execução (fluxo de controle) devido à utilização de exploits que alteram os ponteiros de função armazenados na memória (a proteção implementada impede que códigos maliciosos realizem saltos para o meio de uma função).
  • Em sistemas com arquitetura arm64, para proteger o espaço do usuário, foi implementada a autenticação de ponteiros (Pointer Authentication). A tecnologia permite usar instruções especializadas do ARM64 para verificar os endereços de retorno usando assinaturas digitais, que são armazenadas nos bits superiores não utilizados do próprio ponteiro.
  • As configurações do compilador de sistema clang, bem como clang e gcc dos ports, foram alteradas para aplicar os mecanismos de proteção acima mencionados, o que fortaleceu significativamente a proteção de todos os aplicativos básicos e da maioria dos aplicativos dos ports contra exploits que utilizam métodos de Programação Orientada a Retorno (ROP — Return-Oriented Programming). Ao usar a técnica ROP, o atacante não tenta inserir seu código na memória, mas manipula partes das instruções de máquina já existentes nas bibliotecas carregadas, que terminam com uma instrução de retorno (geralmente, isso ocorre na finalização das funções da biblioteca). O funcionamento do exploit se resume à construção de uma cadeia de chamadas a esses blocos (
  • Um novo sistema de chamadas kqueue1 foi adicionado, que se diferencia do kqueue pela passagem de flags. Atualmente, o kqueue1 suporta apenas a flag O_CLOEXEC (close-on-exec) para o fechamento automático de descritores de arquivos no processo filho após a chamada exec().
  • Para as arquiteturas amd64 e i386, foi implementado suporte ao pseudodispositivo dt para a organização de rastreamento dinâmico do sistema e de aplicativos. Foi adicionado um sistema de chamadas utrace para inserir registros personalizados no log ktrace.
  • Foram transferidas do FreeBSD correções que eliminam comportamentos indefinidos ao usar sistemas de arquivos MS-DOS.
  • A opção de montagem softdep, usada para gravação agrupada de metadados em atraso, foi desativada.
  • Os programas protegidos por meio da chamada de sistema unveil agora podem salvar core dumps no diretório de trabalho atual.
  • Para a arquitetura ARM64, foi ativada a possibilidade de entrar em estados de inatividade profunda (idle) disponíveis nos chips Apple M1/M2, para economia de energia e implementação do modo de espera.
  • Foi adicionada uma proteção alternativa contra a vulnerabilidade Zenbleed nos processadores AMD.
  • O suporte a sistemas multiprocessadores (SMP) foi aprimorado. Foram removidos bloqueios da função arprequest(), da manipulação de pacotes ARP recebidos e da implementação da detecção de vizinhos na pilha IPv6.
  • A interface de sincronização das tabelas do filtro de pacotes pfsync foi reescrita para melhorar o funcionamento com bloqueios e a compatibilidade com trabalhos futuros na paralelização da pilha de rede.
  • A implementação do framework drm (Direct Rendering Manager) está sincronizada com o núcleo Linux 6.1.55 (no lançamento anterior — 6.1.15). A performance foi melhorada em sistemas com processadores Intel baseados nas microarquiteturas Alder Lake e Raptor Lake.
  • Foram feitas melhorias no hipervisor VMM. O vmd agora suporta um modelo multiprocessador para dispositivos virtio de bloco e rede. O dispositivo virtio de bloco adicionou suporte para entrada/saída vetorial em modo zero-copy. O acesso dos sistemas convidados aos modos p-state de processadores AMD foi restringido. Os proprietários máquinas virtuais têm permissão para substituir o núcleo carregado através do vmctl.
  • Um novo arquivo de cabeçalho uchar.h foi adicionado com os tipos char32_t e char16_t, e funções c32rtomb(), mbrtoc32(), c16rtomb() e mbrtoc16(), definidas no padrão C11.
  • A função malloc agora possui a opção 'D' para detectar vazamentos de memória usando ktrace ('MALLOC_OPTIONS=D ktrace -tu programa') e kdump ('kdump -u malloc ...').
  • A ferramenta make agora suporta a variável ${.VARIABLES} para exibir os nomes de todas as variáveis globais definidas.
  • A ferramenta kdump adicionou a opção '-u' para selecionar os pontos de rastreamento utrace com base em uma etiqueta específica.
  • A ferramenta openrsync adicionou as opções '—size-only' e '—ignore-times'.
  • No cron e crontab foi adicionada a suporte a deslocamentos aleatórios ao especificar intervalos de valores com um passo definido, permitindo evitar solicitações simultâneas de recursos de diferentes máquinas com regras idênticas no cron. Por exemplo, a indicação '0~59/30' ou '~30' no campo de minutos fará com que o comando seja executado duas vezes por hora em intervalos aleatórios escolhidos sequencialmente.
  • A ferramenta wsconsctl agora permite o mapeamento de botões para toques com dois ou três dedos no touchpad.
  • Foi adicionada suporte a novo hardware e novos drivers foram incluídos.
  • A instalação foi melhorada em sistemas com processadores armv7 e arm64.
  • Foi adicionada suporte ao carregamento de arquivos da partição do sistema EFI (EFI System Partition).
  • O instalador melhorou o suporte a RAID de software (softraid). A capacidade de colocar a partição raiz em softraid foi adicionada em sistemas riscv64 e arm64. Softraid foi incluído no ramdisk para a arquitetura powerpc64. A criptografia de discos (Guided Disk Encryption) foi implementada para arm64.
  • A função malloc agora verifica todos os blocos na lista de liberação pendente de memória para identificar situações de gravação em áreas de memória liberadas.
  • Para executar o comando shutdown, agora é necessário adicionar o usuário ao grupo «_shutdown», o que permite dividir os direitos relacionados ao desligamento e à leitura direta de dispositivos de disco.
  • Com a chamada de sistema unveil, a ferramenta patch limita o acesso apenas ao diretório atual, ao diretório de arquivos temporários e aos arquivos listados na linha de comando.
  • Adicionada sysctl net.inet6.icmp6.nd6_queued para mostrar o número de pacotes aguardando resposta ND6 (semelhante ao ARP).
  • Ao configurar um endereço IPv6 na interface de rede, foi garantido o envio de anúncios para roteadores vizinhos no endereço multicast.
  • Adicionada suporte inicial a TSO (TCP Segmentation Offload) e LRO (TCP Large Receive Offload) para processamento de segmentos e junção de pacotes no lado da placa de rede.
  • A carga do kernel das regras do filtro de pacotes pf foi acelerada pela ferramenta pfctl. A processamento das ações ‘keep state’ e ‘nat-to’ foi ativado para as mensagens de erro enviadas via ICMP.
  • Desativados os cálculos de checksum para IP, TCP e UDP nas interfaces de loopback.
  • Adicionada suporte inicial VPN IPsec, dependente de roteamento (route-based).
  • Suporte a Flowspec (RFC5575) adicionado ao bgpd (atualmente suporta apenas a divulgação de regras flowspec). A implementação do ASPA (Autonomous System Provider Authorization) foi alinhada às especificações draft-ietf-sidrops-aspa-verification-16 e draft-ietf-sidrops-aspa-profile-16, e foi convertida para o uso de tabelas de pesquisa independentes de AFI (Address Family Indicator).
  • Desempenho do rpki-client melhorado em 30-50%. Suporte a compressão gzip e deflate adicionado.
  • Pacotes LibreSSL e OpenSSH atualizados. Veja a análise detalhada das melhorias nas análises do LibreSSL 3.8.0, OpenSSH 9.4 e OpenSSH 9.5.
  • O número de ports para a arquitetura AMD64 foi de 11845 (anteriormente 11764), para aarch64 - 11508 (anteriormente 11561), para i386 - 10603 (anteriormente 10572). Entre as versões de aplicativos nos ports:
    • Asterisk 16.30.1, 18.19.0, 20.4.0
    • Audacity 3.3.3
    • CMake 3.27.5
    • Chromium 117.0.5938.149
    • Emacs 29.1
    • Firefox 123.0.1, ESR 115.8.0
    • GCC 8.4.0 e 11.2.0
    • GHC 9.2.7
    • GNOME 44
    • Go 1.21.1
    • JDK 8u382, 11.0.20 e 17.0.8
    • KDE Applications 23.08.0
    • KDE Frameworks 5.110.0
    • Krita 5.1.5
    • LLVM/Clang 13.0.0 e 16.0.6
    • LibreOffice 7.6.2.1
    • Lua 5.1.5, 5.2.4, 5.3.6 e 5.4.6
    • MariaDB 10.9.6
    • Mutt 2.2.13 e NeoMutt 20240201
    • Mozilla Firefox 118.0.1 e ESR 115.3.1
    • Mozilla Thunderbird 115.3.1
    • Mutt 2.2.12 e NeoMutt 20230517
    • Node.js 18.18.0
    • OpenLDAP 2.6.6
    • PHP 7.4.33, 8.0.30, 8.1.24 e 8.2.11
    • Postfix 3.7.3
    • PostgreSQL 15.4
    • Python 2.7.18, 3.9.18, 3.10.13 e 3.11.5
    • Qt 5.15.10 e 6.5.2
    • Ruby 3.1.4, 3.2.3, 3.3.0
    • Ruby 3.0.6, 3.1.4 e 3.2.2
    • Rust 1.72.1
    • SQLite 3.42.0
    • Shotcut 23.07.29
    • Sudo 1.9.14.2
    • Suricata 6.0.12
    • Tcl/Tk 8.5.19 e 8.6.13
    • TeX Live 2022
    • Vim 9.0.1897 e Neovim 0.9.1
    • Xfce 4.18
  • Componentes de desenvolvedores de terceiros atualizados presentes no OpenBSD 7.3:
    • Stack gráfico Xenocara baseado em X.Org 7.7 com xserver 21.1.8 + patches, freetype 2.13.0, fontconfig 2.14.2, Mesa 22.3.7, xterm 378, xkeyboard-config 2.20, fonttosfnt 1.2.2.
    • LLVM/Clang 13.0.0 (+ patches)
    • GCC 4.2.1 (+ patches) e 3.3.6 (+ patches)
    • Perl 5.36.1 (+ patches)
    • NSD 4.7.0
    • Unbound 1.18
    • Ncurses 5.7
    • Binutils 2.17 (+ patches)
    • Gdb 6.3 (+ patch)
    • Awk 12.9.2023
    • Expat 2.5.0.

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