
Com os snaps chegando ao 16.04 LTS, há umpostagem no blogpor Matthew Garrett, um conhecido contribuidor do kernel Linux e desenvolvedor principal do sistema operacional, dizendo:
...os snaps são executados livremente e têm acesso a praticamente todo o sistema
Se o objetivo dos snaps era impor o isolamento do aplicativo de todo o sistema, por que eles conseguem acessar o sistema e funcionar sem limites? Um relatório de bug deve ser arquivado? Alguma medida será tomada para resolver esse problema?
Responder1
Isso se refere especificamente aos snaps que usam o X11. Em outras palavras, os snaps sãonãorodando sem limites, mas se o confinamento do snap inclui acesso ao X, então sim: ele tem acesso ao X. Não envolve snaps que não usam as interfaces unity7
ou x11
. O problema descrito naquela postagem do blog é uma limitação bem conhecida do X e é uma das razões pelas quais tecnologias alternativas estão sendo desenvolvidas (por exemplo, Mir).
Gustavo Niemeyer escreveu umboa postagem no blog que discute isso. Vou citar aqui para posteridade e integridade:
Os preocupados com a segurança observarão que o X11 não é de fato um protocolo seguro. Vários abusos do sistema são possíveis quando concedemos essa permissão a um aplicativo. Outras interfaces, como home, dariam acesso instantâneo a todos os arquivos não ocultos no diretório $HOME do usuário (aqueles que não começam com um ponto), o que significa que um aplicativo malicioso pode roubar informações pessoais e enviá-las pela rede (assumindo também define um plug de rede).
Alguns podem se surpreender com o fato de ser esse o caso, mas isso é um mal-entendido sobre o papel do snaps e do Snappy como plataforma de software. Quando você instala software do arquivo Ubuntu, é uma declaração de confiança nos desenvolvedores Ubuntu e Debian. Quando você instala os binários do Google Chrome ou MongoDB a partir de seus respectivos arquivos, isso é uma declaração de confiança nesses desenvolvedores (eles têm root no seu sistema!). O Snappy não está eliminando a necessidade dessa confiança, pois depois de conceder a um software acesso aos seus arquivos pessoais, câmera da web, microfone, etc., você precisa acreditar que ele não usará essas permissões de forma maliciosa.
O objetivo do confinamento do Snappy nesse quadro é possibilitar um ecossistema de software que possa controlar exatamente o que é permitido e para quem de forma clara e observável, além do mesmo cuidado processual que todos aprendemos a apreciar no mundo Linux. , não em vez disso. Impedir que as pessoas utilizem todos os recursos relevantes do sistema simplesmente forçá-las-ia a utilizar o mesmo software em mecanismos menos seguros, em vez de resolver o problema.
E o que temos hoje é apenas o começo. Essas interfaces em breve se tornarão muito mais ricas e refinadas, incluindo a seleção de recursos (por exemplo, qual porta serial?), e algumas delas desaparecerão completamente em favor de opções mais seguras (Unity 8, por exemplo).
Responder2
O problema não está nos snaps, mas no X11, que é uma tecnologia de 30 anos projetada sem muitas considerações de segurança.
Para "resolver o problema", você simplesmente precisa se livrar do X11. Sistemas sem ele, como servidores, podem se beneficiar do isolamento instantâneo agora mesmo. O novoMirque substituirá o xserver, esperançosamente mais cedo ou mais tarde, deverá resolver os problemas de segurança do X11.
Você é mais do que bem-vindo para ler o livro de Matthew Garrettpostagem no blogpara satisfazer sua curiosidade. Diz:
O problema aqui é o sistema de janelas X11. X não tem um conceito real de diferentes níveis de confiança em aplicativos. Qualquer aplicativo pode se registrar para receber pressionamentos de teclas de qualquer outro aplicativo. Qualquer aplicativo pode injetar eventos de chave falsos no fluxo de entrada. Um aplicativo que de outra forma estaria confinado por políticas de segurança rígidas pode simplesmente digitar em outra janela. Um aplicativo que não tem acesso a nenhum dos seus dados privados pode esperar até que sua sessão fique ociosa, abrir um terminal não confinado e usar curl para enviar seus dados para um site remoto. Enquanto o desktop Ubuntu ainda usar o X11, o formato Snap oferece muito pouca segurança significativa.