Historicamente, o tempo de execução do contêiner forneceu garantias de isolamento muito ruins, diz Conill. “Acho que chegamos a um ponto em que as pessoas simplesmente não entendem como esses componentes se reúnem e pensamos que os nomes fornecem um verdadeiro isolamento”, disse ela. “Eles não podem, porque existem como um subconjunto do estado de kernel compartilhado.”
Namespaces de Linux escorregadios
Os namespaces do Linux permitem que os contêineres contenham recursos subjacentes em ambientes multi-inquilinos. Mas, embora o handshake de contêiner-kubernetes exija a flexibilidade de colocar cargas de trabalho lado a lado em vários hosts Linux em clusters, os namespaces do Linux nunca se destinavam a servir como limites de segurança. É por isso que ataques de tempo de execução e escapadas de contêineres são tão prevalentes.
“Essencialmente, o estirólito é semelhante a uma interface de tempo de execução do contêiner (CRI), mas focado nas interações reais dos contêineres com o kernel”, diz Conill. “O estirolito se concentra em garantir os fundamentos de como as imagens são montadas em namespaces em áreas como cronometrista, montagens e coleções de processos no espaço para nome de ID do processo.”