Quando se fala em segurança gráfica no Linux hoje, o nome que aparece no centro da discussão é o Wayland. Há quem diga que ele é “fundamentalmente mais seguro” do que o X11, e há quem ache que isso é exagero, ou que o Wayland é demasiado restrito. Para entender onde está a verdade, vale olhar menos para hype e mais para como esses sistemas funcionam na prática.

Segurança sempre cobra um preço

Uma boa analogia é a da porta de casa. Trancar a porta, carregar a chave, lembrar de fechar tudo sempre que sai… é incômodo. Seria muito mais confortável simplesmente deixar a porta aberta. Só que isso, no mundo real, seria pedir por problemas.

Com a segurança em software acontece algo parecido. Qualquer camada a mais que protege o sistema costuma trazer um pouco de fricção: um recurso que não funciona como antes, um atalho que deixa de ser possível, uma configuração que exige mais passos. A sensação de “encheção de saco” é real, mas ela existe porque a superfície de ataque está sendo reduzida.

O X11 foi criado em outra época, com outra mentalidade. Ele foi desenhado para ser flexível e permissivo, e isso inclui um “detalhe” importante: qualquer aplicativo conectado ao servidor gráfico consegue observar e interferir no comportamento de outros.

Isso não é figura de linguagem. Com pouco código é possível escrever um programa capaz de ler tudo que o usuário digita, descobrir quais janelas estão abertas e que conteúdos exibem e até mesmo interagir diretamente com essas janelas, movendo, redimensionando ou alterando elementos.

Um exemplo concreto ilustra bem esse cenário. Georges Stavracas, desenvolvedor do GNOME, ao investigar um bug no OBS Studio usando o Browser Source no Linux, descobriu ser necessário criar um pequeno programa para monitorar tudo o que acontecia no XWayland/X11. Esse “debugger” tinha, na prática, o mesmo poder de um vírus: poucas dezenas de linhas de código capazes de observar e manipular o ambiente inteiro.

O ponto é justamente esse: não foi preciso “invadir” nada. O próprio protocolo X11 fornece esses mecanismos. Isso é ótimo para ferramentas poderosas de automação e integração, mas é péssimo para a segurança.

O que Wayland muda nessa história

O Wayland nasce com uma filosofia completamente diferente. Em vez de todo mundo ver tudo, o compositor assume o monopólio de teclado, mouse, tela e janelas. Aplicativos comuns não têm acesso direto ao que outros estão fazendo. Eles recebem apenas os eventos e as superfícies que pertencem a eles.

Não existe, nos protocolos Wayland, um recurso padrão que permita a qualquer aplicativo fazer coisas como ler todas as teclas digitadas no sistema, espionar o conteúdo de outras janelas ou capturar a tela inteira sem autorização explícita do usuário.

Se alguém quiser algo desse tipo, precisa passar por intermediários controlados pela plataforma, como portais e serviços de sistema, onde o usuário pode dar ou negar permissão. Isso por si só já cria uma barreira enorme para malwares e ataques remotos.

Por isso dá para afirmar com segurança: o Wayland é mais seguro do que o X11 em termos de design. A comparação é como um casa com porta e chave versus uma casa sem porta.

Essas restrições, no entanto, não afetam só invasores em potencial. Elas também atingem usuários e desenvolvedores que querem fazer coisas legítimas.

Um exemplo prático: um notebook antigo do Eddie, apresentador do Diocast, está com uma tecla travada fisicamente. No Xorg, foi possível ignorar apenas essa tecla com uma configuração simples, usando uma variável que desabilita o scancode específico. Uma linha de comando pesquisada em poucos minutos e o problema estava resolvido.

No Wayland, isso não é tão trivial. O sistema não foi pensado para permitir mexer diretamente nos eventos globais de teclado. O mesmo mecanismo que impede que terceiros espionem o que é digitado também dificulta a vida de quem, num cenário legítimo, quer interceptar ou filtrar uma tecla problemática.

Esse tipo de situação alimenta a percepção de que o Wayland “complica o que era simples”. E, de fato, em casos de uso muito específicos, complica mesmo. Mas a pergunta certa é: queremos um sistema em que qualquer programa possa interceptar ou modificar teclado e mouse sem restrições?

Compositor, sandbox e portais

Outro ponto importante é que o Wayland não resolve tudo sozinho. Ele é uma camada de um modelo de segurança maior, que envolve:

  • Sandboxing: tecnologias como o Flatpak, que executam apps em ambientes isolados, limitando acessos a arquivos e dispositivos;
  • Portais: componentes que mediam o acesso a recursos sensíveis, como captura de tela, webcam, microfone e diretórios específicos. Quando um app quer gravar a tela, por exemplo, não fala direto com o compositor; faz uma solicitação ao portal, que mostra um diálogo pedindo permissão;
  • Compositor Wayland: que garante que as janelas não “vejam” diretamente umas às outras e que o fluxo de eventos de entrada seja controlado.

Imagine um ataque em cadeia: uma página maliciosa explora uma falha no navegador. Mesmo assim, o navegador está rodando em sandbox (Flatpak), com acesso limitado ao sistema. Se, ainda assim, encontrar um jeito de escapar, bate na barreira do Wayland, que não permite ler tudo o que outras janelas fazem nem capturar a tela sem permissão explícita. O ataque vai morrendo aos poucos, camada por camada.

Nenhuma dessas camadas é perfeita isoladamente, mas juntas aumentam muito a dificuldade para alguém comprometer o sistema.

A transição de X11 para Wayland é uma mudança de mentalidade: sair de um modelo onde “qualquer programa pode tudo” para outro em que permissões são explícitas, mediadas e limitadas. Isso inevitavelmente gera ruído, especialmente para quem tinha workflows muito dependentes da liberdade total do X.

O desafio da comunidade e dos ambientes gráficos é oferecer ferramentas e APIs que permitam resolver casos legítimos sem abrir brechas que transformem o sistema em terra de ninguém. Portais, integrações de desktop e melhor documentação fazem parte desse processo.Este conteúdo é um corte do Diocast. Assista na íntegra ao episódio onde conversamos com Georges Stavracas, desenvolver no projeto GNOME, sobre as controvérsias que vem cercando os projetos Wayland e Xorg, para entender o que está mudando no coração do sistema gráfico do Linux.