Segurança no mundo Apple: sandboxing

Esquema de sandboxing

Um dos maiores problemas dos sistemas operacionais, sem dúvida nenhuma, é o combate a programas maliciosos (vírus, worms, spywares, Trojans, exploits…).

Inicialmente, os desenvolvedores desse tipo de programa tinham como objetivo apenas uma conquista pessoal: “Eu fiz, eu consegui.” Hoje em dia, porém, esse assunto virou negócio, tanto para quem cria quanto para quem combate. Existem grupos de criminosos que vivem para capturar dados alheios e vendê-los na internet; o MB de informação alheia tem preço, e essa informação pode incluir dados cadastrais ou até números de cartões de crédito. Muitas vezes, a forma de captura dessa informação pode vir dentro de um programa crackeado ou através de falhas na exploração do programa.

Esquema de sandboxing

Uma das ferramentas que a Apple dispõe no combate a malwares é o sandboxing (tradução livre: caixa de areia), recurso implementado e disponibilizado no lançamento do OS X Lion, em julho de 2011. Todavia o conceito não é novo, no mundo Unix que é a base do OS X, esse tipo de conceito (jail) já existia e pode ser implementado manualmente com o chroot (limitado e simplório em relação a sandboxing) ou através da criação de políticas de controle de acesso obrigatório (Mandatory Access Control), que é o framework utilizado pela Apple no OS X e iOS.

Sandboxing cria um ambiente isolado para cada aplicativo, garantindo que eles façam apenas o que foram designados a fazer. Um aplicativo em sandbox não pode manipular outros nem acessar dados deles, e ainda tem o seu acesso controlado e limitado aos recursos do sistema.

Activity Monitor no Mac OS X

No OS X, muitas das aplicações do sistema que se comunicam com a rede — exemplo: mDNSResponder, Kerberos KDC e extensões do Safari — se encontram em modo sandbox para evitar que atacantes remotos possam explorar falhas e ter acesso a outros recursos do sistema. Isto é visto até em programas locais que podem ter uma entrada de dados não confiáveis, tais como Xgrid, Quick Look e Spotlight.

Antes do sandboxing, aplicativos estavam limitados às permissões do usuário, o que significa que eles poderiam acessar todo o conteúdo e recurso relacionado àquele usuário. Essa flexibilidade permitia que desenvolvedores de apps para Mac pudessem executar rotinas externas e até mesmo capturar dados de outros aplicativos.

Na WWDC 2011, a Apple anunciou aos desenvolvedores que em novembro de 2011 todos os aplicativos desenvolvidos para Mac e disponibilizados na App Store teriam que estar de acordo com o modelo de sandboxing, da mesma forma como já acontece no desenvolvimento de aplicações para iOS. Entretanto, esse prazo se estendeu recentemente para 1º de junho de 2012.

É claro e notório que, com o anúncio do Gatekeeper, a Apple estará jogando a responsabilidade de segurança para os usuários, os quais por sua vez “obrigarão” que desenvolvedores adotem políticas corretas e seguras no desenvolvimento dos seus softwares (sandboxing e code signing).

Posts relacionados

Comentários