• Linux Versus Segurança

    O desenvolvedor responsável pelo projeto grsecurity, Brad Spengler, apontou que grande parte das capacidades de controle de privilégio implementadas no Linux, carregam um potencial significativo para comprometer um sistema e causar estragos. A finalidade dos recursos é evitar, precisamente, a restrição dos serviços e processos para determinadas operações e funcionalidades específicas. Entre outras coisas, esses recursos visam reduzir os efeitos de ataques bem sucedidos ao sistema, podendo, por exemplo, impedir que um exploit para uma ferramenta de escritório seja instalado em um backdoor existente, já que essas ferramentas de trabalho não teriam os recursos necessários para os serviços de conexão às portas de rede.

    Os recursos também podem tornar desnecessária a utilização de SUID - tanto o Ubuntu quanto o Fedora estão considerando essa abordagem. O OpenWall já teria já sido implementado na versão 3.0, que foi lançada no final de dezembro de 2010. Nela, a instalação padrão não contém um programa SUID único.

    Spengler, cujo projeto grsecurity promove um sistema de acesso role-based, examinou 35 vulnerabilidades do Linux possíveis de serem exploradas em caso de um ataque. Segundo o pesquisador, 21 das vulnerabilidades permitiriam que atacantes escalassem os seus privilégios ou utilizassem qualquer outra forma de manipular um sistema, depois de terem "hackeado" um serviço. Por exemplo, o uso do CAP_SYS_ADMIN permite que os sistemas de arquivo possam ser desmontados e montados, permitindo assim que atacantes possam montar e desmontar seu próprio sistema de arquivos em cima do original, substituindo os programas com código arbitrário.

    Spengler diz que o CAP_NET_ADMIN permite que o firewall esteja configurado para o redirecionamento de pacotes. Isso permite, de maneira potencial, que os atacantes redirecionem as conexões sshd de um sistema para um servidor arbitrário, tomando posse das credenciais de login dos usuários e, posteriormente, utilizá-las para acessar esses sistemas.

    Mas toda essa divulgação teve um retorno ruim para a grsecurity. Houve muita manifestação contrária a empresa, através de denúncias da artificialidade dos cenários apresentados por ela. Por exemplo, muitos dos ataques descritos, aparentemente só teriam êxito em condições especiais. Alguns usuários chegaram até a acusar a Spengler de ter tentado através dessas abordagens, desacreditar de forma deliberada a questão da segurança no Linux. Seu único intuito seria o de assustar os usuários, fazendo-os escolher a solução da própria grsecurity para se protegerem.

    Se isso for verdade, essa técnica (também conhecida como FUD - lugar comum entre as empresas de anti-vírus e proteção de sistemas para o sistema operacional Windows) estaria aparecendo de forma grosseira no mundo Linux. Pena que aqui os usuários são um pouco mais entendidos do sistema, além de terem acesso ao código fonte e poderem eles mesmos buscar remediações.

    Enquanto isso, Dan Rosenberg lançou uma exploit root local na lista de discussão Full Disclosure. Uma falha no protocolo Phonet em combinação com o CAP_SYS_ADMIN permite a façanha de abrir um shell root local. No entanto, a façanha só poderia ser executada em sistemas de 32 bits e com componentes específicos. O ruim dessa vulnerabilidade, é que o popular Ubuntu em sua versão 10.10 poderia ser listado como um desses sistemas vulneráveis.


    Saiba Mais:

    [1] gsecurity: http://grsecurity.net/
    [2] Capability-based security: https://secure.wikimedia.org/wikiped...based_security