Sandboxing é uma técnica de segurança importante que isola programas, evitando que programas mal-intencionados ou com mau funcionamento danifiquem ou espionem o resto do computador. O software que você usa já está fazendo uma sandbox de grande parte do código que você executa todos os dias.
Você também pode criar sandboxes de sua preferência para testar ou analisar software em um ambiente protegido onde não será capaz de causar nenhum dano ao resto do seu sistema.
Como os sandboxes são essenciais para a segurança
Uma sandbox é um ambiente rigidamente controlado onde os programas podem ser executados. Os sandboxes restringem o que uma parte do código pode fazer, dando a ela quantas permissões forem necessárias, sem adicionar permissões adicionais que possam ser abusadas.
Por exemplo, o navegador da web basicamente executa as páginas da web que você visita em uma sandbox. Eles estão restritos a funcionar em seu navegador e acessar um conjunto limitado de recursos - eles não podem ver sua webcam sem permissão ou ler os arquivos locais de seu computador. Se os sites que você visita não fossem colocados em sandbox e isolados do resto do seu sistema, visitar um site malicioso seria tão ruim quanto instalar um vírus.
Outros programas em seu computador também são colocados em sandbox. Por exemplo, o Google Chrome e o Internet Explorer são executados em uma sandbox. Esses navegadores são programas em execução no seu computador, mas não têm acesso a todo o seu computador. Eles são executados em um modo de baixa permissão. Mesmo se a página da web encontrasse uma vulnerabilidade de segurança e conseguisse assumir o controle do navegador, ela teria que escapar da sandbox do navegador para causar danos reais. Ao executar o navegador da web com menos permissões, ganhamos segurança. Infelizmente, Mozilla Firefox ainda não funciona em uma sandbox .
O que já está sendo colocado em sandbox
Grande parte do código que seus dispositivos executam todos os dias já está em sandbox para sua proteção:
- Paginas web : Seu navegador essencialmente protege as páginas da web que carrega. As páginas da web podem executar código JavaScript, mas esse código não pode fazer nada do que deseja - se o código JavaScript tentar acessar um arquivo local em seu computador, a solicitação falhará.
- Conteúdo do plug-in do navegador : O conteúdo carregado por plug-ins de navegador - como Adobe Flash ou Microsoft Silverlight - também é executado em uma sandbox. Jogar um jogo em flash em uma página da web é mais seguro do que baixar um jogo e executá-lo como um programa padrão porque o Flash isola o jogo do resto do sistema e restringe o que ele pode fazer. Plug-ins do navegador, particularmente Java , são um alvo frequente de ataques que usam vulnerabilidades de segurança para escapar dessa sandbox e causar danos.
- PDFs e outros documentos : Adobe Reader agora executa arquivos PDF em uma sandbox, evitando que eles escapem do visualizador de PDF e interfiram no resto do seu computador. O Microsoft Office também possui um modo sandbox para evitar que macros inseguras prejudiquem o seu sistema.
- Navegadores e outros aplicativos potencialmente vulneráveis : Os navegadores da Web são executados no modo de baixa permissão e em área restrita para garantir que não causem muitos danos se estiverem comprometidos:
- Aplicativos móveis : As plataformas móveis executam seus aplicativos em uma sandbox. Os aplicativos para iOS, Android e Windows 8 são impedidos de fazer muitas das coisas que os aplicativos de desktop padrão podem fazer. Eles precisam declarar permissões se quiserem fazer algo como acessar sua localização. Em troca, ganhamos alguma segurança - a sandbox também isola os aplicativos uns dos outros, para que não possam interferir uns nos outros.
- Programas Windows : Controle de conta de usuário funciona como uma espécie de sandbox, essencialmente restringindo os aplicativos da área de trabalho do Windows de modificar os arquivos do sistema sem primeiro pedir permissão. Observe que essa proteção é mínima - qualquer programa da área de trabalho do Windows pode escolher ficar em segundo plano e registrar todas as teclas digitadas, por exemplo. O Controle de Conta de Usuário apenas restringe o acesso aos arquivos do sistema e às configurações de todo o sistema.
Como fazer a sandbox de qualquer programa
Os programas de desktop geralmente não são colocados em sandbox por padrão. Claro, existe o UAC - mas, como mencionamos acima, é um sandboxing mínimo Se quiser testar um programa e executá-lo sem que ele interfira no resto do sistema, você pode executar qualquer programa em uma sandbox.
- Virtual Machines : Um programa de máquina virtual como VirtualBox ou VMware cria dispositivos de hardware virtuais que usa para executar um sistema operacional. O outro sistema operacional é executado em uma janela em sua área de trabalho. Todo o sistema operacional é essencialmente protegido por sandbox, pois não tem acesso a nada fora da máquina virtual. Você pode instalar software no sistema operacional virtualizado e executá-lo como se estivesse em um computador padrão. Isso permitiria que você instale malware e o analise, por exemplo - ou apenas instale um programa e veja se ele faz algo de ruim. Os programas de máquina virtual também contêm recursos de instantâneo para que você possa “Reverter” seu sistema operacional convidado ao estado em que estava antes da instalação do software defeituoso.
- Sandboxie : Sandboxie é um programa do Windows que cria caixas de proteção para aplicativos do Windows. Ele cria ambientes virtuais isolados para programas, evitando que façam alterações permanentes em seu computador. Isso pode ser útil para testar o software. Consulte nosso introdução ao Sandboxie para mais detalhes.
O sandbox não é algo com que o usuário comum precisa se preocupar. Os programas que você usa fazem o trabalho de sandbox em segundo plano para mantê-lo seguro. No entanto, você deve ter em mente o que é sandbox e o que não é - é por isso que é mais seguro carregar qualquer site do que executar qualquer programa.
No entanto, se você deseja criar uma área restrita de um programa de área de trabalho padrão que normalmente não seria colocado em uma área restrita, pode fazer isso com uma das ferramentas acima.