Segurança: prós e contras dos aplicativos sandbox

Estatísticas recentes mostram que os aplicativos sandbox (para testes de segurança em ambiente isolados do PC, que são apagados automaticamente assim que o computador é reiniciado) em programas como o Adobe Acrobat e Google Chrome tiveram um grande impacto em reduzir a exploração de malwares. Mas o recurso está longe de ser a solução para acabar com as vulnerabilidades dos apps. Alguns especialistas acreditam que é apenas uma questão de tempo até a hora em que os criadores de vírus se atualizem e outros alertam que a indústria não deve se apoiar no recurso para substituir outros tipos efetivos de gerenciamento de vulnerabilidade.

“Sandbox, conteinerização e virtualização são apenas algumas técnicas para proteger acesso administrativo ao sistema operacional subjacente, ou acesso irrestrito aos dados. Apesar de ser uma grande técnica, o recurso é apenas uma peça do quebra-cabeças para garantir a segurança dos dados e dispositivos e minimizar o risco de exposição”, afirmou Lee Cooking, vice-presidente da estratégia corporativa para a Fixmo.

Uma rápida explicação de Sandbox

A ideia fundamental por trás do recurso é reduzir o risco ao limitar o ambiente no qual certos códigos são executados.

“A ideia central, não importa de qual sandbox estamos falando, é colocar alguém em um ambiente para que possa acessar algo fora do alcance da rede”, explicou Marcus Carey, pesquisador de segurança da Rapid7. Segundo David Hess, fundador do Trust Inn, como conceito, isso não é novo, e observa que a Java Applets foi o primeiro exemplo e o mais amplamente implantado. “Só agora, finalmente saímos da área de nicho – a rede – para a ampla adoção em todos os ambientes de aplicações”.

A mais notável nessa categoria é a Adobe, que usa a técnica para proteger os ambientes Acrobat e Flash, e o Google, que o faz com o Chrome. O recurso também é uma técnica importante no ambiente de aplicativos móveis e é amplamente usado pela Apple para os dispositivos iOS e pelo Google, apesar de com menor intensidade, para os apps Android.

Usuários experientes de tecnologia e administradores também usam máquinas virtuais como uma forma de sandbox, afirmou Scott Parcel, CTO da Cenzic. Esse tipo de sandboxing on-demand por meio de virtualização é adotado por inúmeros  produtos de segurança convencionais e de nicho, e são promissores segundo aqueles como Parcel que aponta a Bromium como um exemplo particularmente interessante nessa categoria. “Ela utiliza o que eles se referem como “microvirtualização” para executar centenas de micromáquinas virtuais, como sandbox em uma máquina. Essa é uma abordagem interessante para o problema e talvez permita um isolamento mais completo do que as outras abordagens do recurso”.

Mas essas máquinas virtuais ainda precisam se provar eficazes. Já os aplicativos sandbox já passaram no teste. Então, tendo como foco a simplicidade e para que todos fiquemos na mesma página, vamos limitar esta reportagem a este último tema.

Pró: sandbox é um bom contorno para os problemas de vulnerabilidade dos aplicativos

Humanos serão sempre imperfeitos. E por estarem por trás do desenvolvimento de aplicativos, seus códigos sempre serão vulneráveis, afirma Carey.

“Nunca conseguiremos eliminar todos os riscos de vulnerabilidade. Algumas pessoas criticam a técnica e dizem que é apenas um contorno do problema, mas penso que é a melhor abordagem dos últimos tempos. Se analisarmos quão difícil é desenvolver explorações, percebe-se como ela funciona”.

Carey e os defensores da tecnologia raramente argumentam que o recurso substitui outros esforços, mas funciona como um suplemento efetivo porque minimiza a superfície de ataque e deixa de quarentena suas atividades, afirmou Tim”TK” Keanini, diretor de pesquisa da nCircle.

“Essa estratégia é similar ao sistema imunológico que cria tumores benignos – essencialmente, as células colocam em ‘cápsulas’ as células disformes em uma sandbox”.

Contra: a técnica pode introduzir mais complexidade e falhas à mistura. Os céticos questionam se o  sandbox não seria um remédio pior do que a própria doença. “Devemos nos lembrar que isso apresenta uma nova superfície de ataque e que um modelo básico pode fazer mais mal do que bem para a segurança de um aplicativo”, afirma Tyler Borland, pesquisador de segurança da Alert Logic.

Yishay Yovel, vice-presidente de marketing da Trusteer, concorda, afirmando que acredita que o recurso não ficará muito tempo no mercado. “Primeiro, é uma plataforma de software que tem vulnerabilidades que podem ser exploradas. Segundo, o recurso tipicamente precisa de uma rota para os usuário exportarem seu conteúdo para o dispositivo. Essa rota pode ser explorada”.

Falhas de segurança e de software são perigosos sempre que um aplicativo usa uma segunda camada de lógica para que suas funções limitem um comportamento, afirma Parcel. “Um lado negativo da segunda camada de lógica é que adiciona outra fonte de complexidade em usa interação com a lógica primária e consequentemente, os erros”.

Mesmo sem as falhas, a camada extra de abstração ainda tem potencial de eliminar o desempenho. “É uma escolha entre a funcionalidade e segurança. Apesar de uma sandbox restritiva ser melhor sob o ponto de vista de segurança, ela pode não se adequar às atuais exigências de funcionalidade”, observou Chris Valasek, pesquisador sênior de segurança da Coverity.

Pró: técnica mantém os privilégios baixos

A essência de maioria das abordagens é baixar os privilégios concedidos aos sistemas para o aplicativo, limitando assim o tipo de código que ele pode executar, mesmo quando as permissões do usuário são elevadas em outras partes da máquina. De acordo com Valasek, o modelo de permissões limitadas é um bloqueio efetivo para malwares que dependem de altos níveis de permissão.

Contra: É possível escapar da contenção

Mas isso não significa que o recurso resolve os problemas de vulnerabilidade e exploração: tudo o que um invasor precisa é encontrar uma vulnerabilidade que aumente os privilégios, o que permitirá mais funcionalidade de exploração, afirmou  Valasek. “As vulnerabilidades do Windows Kernel são populares por escalação de privilégios porque, se exploradas, dão ao usuário o controle de todo o sistema”.

O chamado “escaping” (escapar) neutraliza os benefícios de segurança do método. Os invasores podem criar ataques escaping para explorar vulnerabilidades ou por meio de engenharia social, caso as permissões estiverem sob o controle do usuário. Segundo Hess, qualquer desenvolvedor que dependa da sandbox terá que enfrentar ataques to tipo se quiser depender do recurso como controle efetivo.

Pró: até o momento,  estatísticas confiram o sucesso do recurso

Pesquisadores sustentam as alegações de sucesso do recurso com números que provam sua eficiência, com casos com o Adobe Reader e o Chrome. Por exemplo, o site www.cvedetails.com mostrou que  que no ano em que o Adobe implementou a técnica, ocorrem 68 vulnerabilidades. Neste ano, foram 30. Os pesquisadores da IBM também verificaram baixa nas vulnerabilidades e explorações nos produtos Adobe.

Contra: ainda em lua de mel

Yovel acredita que parte dessas estatísticas pode ser atribuída à tecnologia ainda se encontrar no período de lua de mel. “Ainda não foi amplamente implementado”.

Essa lua de mel pode estar perto do fim. Pesquisadores de segurança já acharam maneiras de explorar ambientes sandbox como o Adobe Acrobat X. Os pesquisadores Zhenhua Liu e Guillaume Lovet, da Fortinet, apresentaram uma exploração desse tipo no evento Black Hat Europe. “Como tudo em segurança da informação, estratégias de ataque e defesas evoluem juntas. Programas são projetados e deixados mais seguros com estratégias da técnica, depois são eventualmente explorados, fazendo com que sejam reprojetados para ficarem mais seguros. Uma nova exploração é criada e o ciclo é repetido ad infinitum”, finalizou Keanini.

Tradução: Alba Milena, especial para o IT Web | Revisão: Adriele Marchesini

Sou bacharel em Sistemas de Informação pela Estácio de Sá (Alagoas), especialista em Gestão Estratégica da Tecnologia da Informação pela Univ. Gama Filho (UGF) e pós-graduando em Gestão da Segurança da Informação pela Univ. do Sul de Santa Catarina (UNISUL). Certificações que possuo: EC-Council CEH, CompTIA (Security+, CySA+ e Pentest+), EXIN (EHF e ISO 27001), MCSO, MCRM, ITIL v3. Tenho interesse por todas as áreas da informática, mas em especial em Gestão e Governança de TI, Segurança da Informação e Ethical Hacking.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *