Segurança de Aplicativos.docx

10
Firefox OS Segurança de Aplicativos 1 Tipos de aplicativos 2 Distribuição dos aplicativos 1 Aplicativos hospedados 2 Aplicativos empacotados 3 Origem dos aplicativos 4 Instalação de aplicativos 5 Atualizações 2 Permissões 1 Declaração no manifesto 2 Concedendo permissões 3 Revogando Permissões 3 Isolamento dos aplicativos web 1 Dados armazenados por aplicativo 2 Aplicativos não podem abrir uns aos outros 3 Motivos 4 Sandboxed Permissions 5 Browser API Sandbox 4 Resumo da segurança de aplicativos Esta tradução está incompleta. Ajude atraduzir este artigo . Este artigo aborda detalhadamente o modelo de segurança de aplicativos no Firefox OS. Os principais controles de segurança apresentados pelo Firefox OS são: Aplicativos Web são instalados e executados explicitamente, ao invés de serem simplesmente abertos em um navegador. Os aplicativos precisam ser instalados antes de serem utilizados, a atualização e remoção de aplicativos são reguladas por controles de segurança para proteger o usuário. Acesso a novas APIs Web são controladas por um sistema de permissões. O aplicativo precisa declarar as permissões que pretende usar antes da instalação. Para receber acesso a APIs mais poderosas, o aplicativo precisa atender certos requisitos, ser revisado, aprovado e assinado por um Marketplace .

Transcript of Segurança de Aplicativos.docx

Segurana de Aplicativos - Mozilla | MDN

Firefox OS

Segurana de Aplicativos1 Tipos de aplicativos2 Distribuio dos aplicativos1 Aplicativos hospedados 2 Aplicativos empacotados3 Origem dos aplicativos4 Instalao de aplicativos5 Atualizaes2 Permisses1 Declarao no manifesto2 Concedendo permisses3 Revogando Permisses3 Isolamento dos aplicativos web1 Dados armazenados por aplicativo 2 Aplicativos no podem abrir uns aos outros 3 Motivos4 Sandboxed Permissions5 Browser API Sandbox4 Resumo da segurana de aplicativos Esta traduo est incompleta. Ajude atraduzir este artigo.Este artigo aborda detalhadamente o modelo de segurana de aplicativos no Firefox OS.Os principais controles de segurana apresentados pelo Firefox OS so: Aplicativos Web so instalados e executados explicitamente, ao invs de serem simplesmente abertos em um navegador. Os aplicativos precisam ser instalados antes de serem utilizados, a atualizao e remoo de aplicativos so reguladas por controles de segurana para proteger o usurio. Acesso a novas APIs Web so controladas por um sistema de permisses. O aplicativo precisa declarar as permisses que pretende usar antes da instalao. Para receber acesso a APIs mais poderosas, o aplicativo precisa atender certos requisitos, ser revisado, aprovado e assinado por um Marketplace. Aplicativos Web so isolados (sandboxed) de maneira que somente tem acesso aos seus prprios recursos (cookies, offline storage, bases de dados IndexedDB, e etc.). Mesmo se dois aplicativos vierem a carregar a mesma URL, essas duas pginas no so consideradas sendo de mesma origem pois esto executando dentro de aplicativos separados.Tipos de aplicativosO FirefoxOS suporta trs tipos de aplicativos: "web", "privilegiado" e interno ("Certificado"). O tipo de um aplicativo declarado no seu arquivo de manifesto e determina a lista de permisses que o aplicativo pode solicitar. Aplicativos Web: A maioria dos aplicativos de terceiros sero "web", que o tipo padro, no concedendo o aplicativo nenhuma permisso extra alm daquelas j expostas para Web. Aplicativos Web podem ser instalados de qualquer site, sem nenhuma verificao adicional. Eles tambm podem ser empacotados (packaged) , empacotar no concede nenhuma permisso adicional. Aplicativos Privilegiados: Estes aplicativos podem solicitar permisses mais elevadas, por esse motivo eles precisam ser verificados e assinados por um Marketplace. Aplicativos Internos/Certificados: No momento este tipo de aplicativo somente pode vir pr-instalado no dispositivo, a escolha do fabricante.Nota: Para informaes adicionais sobre os trs tipos veja a documentao do Manifesto do Aplicativo.Distribuio dos aplicativosNo Firefox OS os aplicativos podem ser distribudos de duas formas diferentes: Sendo Hospedados ou Empacotados. Aplicativos "web" podem ser distribudos por qualquer dos meios, sendo que os privilegiados e certificados precisam necessariamente ser empacotados.Aplicativos hospedados Um aplicativo hospedado consiste basicamente de um arquivo manifesto do aplicativo no servidor web do desenvolvedor, este contm um caminho de execuo indicando que pagina deve ser aberta quando o aplicativo inicializado. De uma perspectiva de segurana aplicativos hospedados funcionam de forma muito parecida com paginas web normais. Quando um aplicativo hospedado carregado as URLs das paginas carregadas so as URLs normais onde aquelas paginas so acessadas no servidor onde esto hospedadas, mas se elas j estiverem no appcache elas sero carregadas do dispositivo.Aplicativos empacotadosUm aplicativo empacotado simplesmente uma aplicao web aberta que tem todo o seu conteudo como arquivos HTML, CSS, JavaScript, manifesto, e etc; contidos em um arquivo zip ao invs de ter seus arquivos hospedados em um servidor web. Para mais detalhes desse formato, veja Aplicativos empacotados.Origem dos aplicativosPara aplicativos hospedados, a origem do aplicativo a origem onde se localiza o manifesto do aplicativo.Para aplicativos empacotados, a origem o identificador nico do aplicativo que designado ao mesmo durante a instalao. Aplicativos Privilegiados e Internos tambm podem solicitar uma origem especifica ao informar o parmetro origem no manifesto da aplicao.Instalao de aplicativosAplicaes so instaladas atravs da API JavaScript de Aplicativos: Aplicativos hospedados so instalados chamando:navigator.mozApps.install(manifestURL), onde manifestURL a URL que informa a localizao do aplicativo. Para mais detalhes, veja Instalando Aplicativos. Aplicativos empacotados so instalados chamando:navigator.mozApps.installPackage(packageURL). Para aplicativos empacotados o manifesto principal armazenado dentro do prprio pacote para que ele seja assinado. Existe um segundo "mini-manifesto" que usado somente para iniciar o processo de instalao. Para mais informaes veja Instalando aplicativos empacotados e Aplicativos empacotados.De modo a garantir que um aplicativo realmente solicitou ser instalado como uma aplicao web, ns temos que certificar no ser possvel enganar um servidor a hospedar um manifesto de aplicao. Isto feito obrigando o servidor a disponibilizar o arquivo manifesto com o seguinte mime-type, application/x-web-app-manifest+json. Essa validao no feita quando o aplicativo e o arquivo manifesto tem a mesma origem da pgina que solicitou a instalao da aplicao.AtualizaesO processo de atualizao de aplicativos descrito em Atualizando aplicativos.PermissesPrivilgios adicionais podem ser concedidos para aplicativos alm daqueles concedidos para websites normais. Por padro um aplicativo tem as mesmas permisses que paginas web normais. Para conseguir permisses adicionais o primeiro passo o aplicativo enumerar as permisses extras e solicitar as mesmas no manifesto do aplicativo.Declarao no manifestoPara cada permisso adicional que um aplicativo deseja utilizar, o aplicativo precisa enumerar a permisso no manifesto complementada com uma descrio significativa de porque o aplicativo precisa daquela permisso adicional. Por exemplo, se um aplicativo quer usar a API navigator.geolocation, ele precisa incluir o texto abaixo no seu manifesto:"permissions": { "geolocation":{ "description": "Necessria para autocompletar o local na tela compartilhar", }},Isso ir permitir o aplicativo solicitar a permisso do usurio para utilizar a API de geolocalizao da mesma forma que uma pagina web solicitaria. Para mais detalhes, veja Manifesto do aplicativo.Nota: Existe um bug que causa a no apresentao ao usurio das permisses que o aplicativo pretende utilizar veja o bug 823385.Concedendo permissesQuando as permisses so solicitadas no manifesto, a permisso configurada como Permitidas (allow) ou Solicitadas (prompt), dependendo da permisso solicitada. Permisses Permitidas so concedidas ao se declarar a mesma no manifesto sem aprovao direta do usurio a cada uso. Para permisses Solicitadas o usurio consultado no primeiro uso da API relacionada, e tem a escolha de permitir ou no antes da API ser concedida para uso pelo aplicativo, O Firefox OS somente pergunta ao usurio sobre a concesso de permisses que tem um impacto em sua privacidade, e alm disso seja razovel para o usurio entender o que est sendo perguntado. Por exemplo, acesso aos contatos Solicitada, mas acesso para realizar uma conexo TCP concedido implicitamente, porque no razoavel que um usurio commum entenda as implicaes de segurana de conceder essa permisso. Uso de permisses Permitidas so revistas no processo de segurana do Marketplace para garantir que os aplicativos disponiveis sejam seguros para os usurios.Revogando PermissesOs usurios tem o direito de mudar de ideia sobre permisses Solicitadas a qualquer momento, e podem revogar essas permisses atravs do aplicativo de configuraes do Firefox OS. Entretanto, permisses Permitidas no podem ser alteradas pelo usurio.Isolamento dos aplicativos webDados armazenados por aplicativo Cada aplicativo executado pelo Firefox OS em uma area isolada, isso significa que todos os dados armazenados por um aplicativo est separado de todos os dados armazenados por outros aplicativos. Incluindo dados de cookies, dados em localStorage,dados no indexedDB, e permisses locais.

Isso significa que se o usurio tem dois aplicativos instalados, aplicativos A e B, esses aplicativos tero um conjunto completamente diferente de cookies, dados locais e permisses diferentes. Isto se aplica mesmo se ambos os aplicativos abrirem um que aponta para a mesma origem, ambos A e B abrirem um apontando para "http://www.mozilla.org", Ambos iro abrir o site porm, o mesmo ser baixado e exibido utilizando cookies diferentes nos dois aplicativos.O resultado prtico que se o usuario acessar o Facebook enquanto utiliza o aplicativo A, isso no afeta como o aplicativo B manipula a pagina do Facebook. Se o cookie de acesso que o Facebook configurou quando o usurio acessou usando o aplicativo A s est disponivel para o aplicativo A. Se o aplicativo B abrir um para o Facebook, o cookie no estar disponvel e o Facebook ir exibir novamente a tela de acesso no aplicativo B ao invs da pagina que est aberta no aplicativo A.Aplicativos no podem abrir uns aos outros Aplicativos utilizando iframes no podem abrir outros aplicativos. Se o aplicativo A cria um com o src apontando para a URL do aplicativo B, este no ir abrir o aplicativo B no e simplesmente abrir a pagina web que se encontra naquela URL. Tambm no pode utilizar cookies do aplicativo B, portanto se comportando como se o aplicativo B no estivesse instalado no dispositivo do usurio.Isso se aplica mesmo para aplicativos empacotados (mais detalhes abaixo). Se o aplicativo A tenta, utilizando um , abrir o aplicativo empacotado B apontando para app://URLdoAplicativoB, simplesmente ocorrer um erro ao abrir a URL. Se ser um erro 404 ou outro tipo de erro isso ser determinado no futuro, mas definitivamente ir ocorrer um erro ao abrir a pgina. Da mesma forma tambm ocorrer erro independente do aplicativo B estar instalado no dispositivo do usurio ou no, de maneira que o aplicativo A no possa determinar atravs do erro se o aplicativo B est instalado ou no no dispositivo.A mesma coisa acontece se o frame principal do aplicativo A, navegar para uma URL do aplicativo B. O sistema sempre sabe que aplicativo est aberto em que frame. Portanto existindo uma tentativa de abrir a URL do aplicativo B no frame do aplicativo A, ir ocorrer o mesmo erro citado acima. Isso tambm garante que os recursos do aplicativo B como cookies ou dados locais no podero ser usados de forma alguma pelo aplicativo A.MotivosExistem vantagens e desvantagens da segurana ser implementada desta forma. A desvantagem que se o usurio interage com um mesmo site a partir de aplicativos diferentes ele ter que conectar em cada um dos aplicativos separadamente. Da mesma forma, se um site quer guardar dados localmente e o usurio interage com esse site em aplicativos diferentes os dados sero duplicados em cada aplicativo, que pode ser um problema se for o volume de dados for grande.A principal vantagem dessa implementao que esse modelo mais estvel. No permitimos que os aplicativos interajam entre si atravs de um site de terceiros e por exemplo um aplicativo parar de funcionar ao se instalar outro. Quando um aplicativo deinstalado no possivel que haja perda de dados de outro aplicativo, ou que um aplicativo pare de funcionar porque dependia do aplicativo desinstalado. um modelo mais seguro. Um usurio pode usar o seu "AppSocialSuperManeiro" para conectar no Facebook sem se preocupar que o seu "AppSuperSuspeito" possa realizar qualquer ataque para obter os dados do usurio no Facebook atravs de bugs ou falhas no site do Facebook.Tambm existem beneficios a privacidade. O usurio pode tranquilamente instalar o "AppProcurandoEmprego" sem se preocupar porque o "AppDoFuncionarioDaMegaCorporao" no pode detectar que aplicativos esto instalados ou que dados ele criou no dispositivo.Resumo da segurana de aplicativosA tabela abaixo resume os diferentes tipos de aplicativos no Firefox OS, seus formatos, e os processos de instalao e atualizao para aplicativos web abertos rodando no Firefox OS.Tipos de aplicativos web

TipoDistribuioModelo de permissesInstalaoAtualizao

WebHospedados ou empacotadosPermisses mais leves que no tenham perigo de exposio a contedo web no validado.Instalados de qualquer localPodem ser atualizadas de forma transparente ao usurio ou explicitamente atravs de um marketplace, dependendo de onde o aplicativo foi instalado e o metodo de distribuio.

PrivilegiadoEmpacotados e obrigatoriamente assinadosAPIs privilegiadas requerem a validao e autenticao do aplicativo.Instalados somente de um marketplace confivelAtualizados atravs de um marketplace confivel, o usurio solicitado a aprovar o download e instalao de atualizaes manualmente.

Interno (Certificado)EmpacotadosAPIs potencialmente perigosas e poderosas no disponveis para aplicativos de terceiros.Pre-Instalados no dispositivoAtualizadas somente atravs de atualizaes do sistema como um todo.

Nota: Apezar de aplicativos web poderem ser instalados de qualquer site ou marketplace, Na verso 1.0 do Firefox OS os aplicativos privilegiados somente podem ser instalados do marketplace da Mozilla, isso se deve ao fato que o suporte para multiplos marketplaces confiveis ainda no est terminado.Etiquetas do documento e colaboradoresEtiquetas: Segurana Gua Guia Apps Firefox OS Aplicativo Mvel MovelContriburam para esta pgina: Varbex ltima atualizao por: Varbex, Dec 9, 2014 11:30:22 AM Esconder painel 1 Introduo2 Guia da plataforma 1 Guia da Plataforma - Viso geral2 Viso geral da arquitetura3 Arquitetura de aplicaes4 Gonk5 Gecko6 Gaia7 Guia de aplicativos Gaia8 Segurana 1 O modelo de segurana do FirefoxOS2 Sistema de segurana3 Segurana dos aplicativos no Firefox OS4 Instalando e atualizando os aplicativos de forma segura9 Gerenciamento de falta de memria no Firefox OS 10 Tabela de funcionalidades11 Lista de configurao3 Compilando e instalando 1 Compilando e Instalando - Viso geral2 Viso geral do processo de compilao doFirefox OS3 Pr-requisitos para a compilao4 Preparando sua primeira compilao5 Compilando o Firefox OS6 Portando o Firefox OS7 Escolhendo como executar o Gaia ou o Firefox OS8 Usando o cliente B2G Desktop9 Usando emuladores Firefox OS10 Instalando o Firefox OS em um dispositivo mvel11 Criando e aplicando pacotes de atualizao do Firefox OS12 Runtime tools4 Desenvolvendo no Firefox OS 1 Desenvolvendo no Firefox OS - Viso Geral2 Registrando bugs do Firefox OS3 Modificando o arquivo hosts4 Customizao com o arquivo .userconfig5 Personalizando o script b2g.sh6 Portando o Firefox OS5 Desenvolvendo no Gaia 1 Desenvolvendo no Gaia - Viso Geral2 Executando o codebase do Gaia3 Entendendo o codebase do Gaia4 Alterando o cdigo do Gaia5 Testando as alteraes no Gaia6 Submetendo uma correo no Gaia7 Compilao primria do Sistema Gaia8 Alterando os aplicativos empacotados durante a compilao da imagem9 Guia de customizaao de imagem do Firefox OS10 Personalizando o teclado nos aplicativos Firefox OS11 Localizando o Firefox OS12 Referncia de opes Make13 Referncia de ferramentas Gaia6 Guia de desenvolvimento para celulares 1 Guia de desenvolvimento para celulares - Viso Geral 2 Especificaes de telefones e dispositivos3 Geeksphone4 ZTE OPEN5 ZTE OPEN C6 Flame7 Recursos gerais dos dispositivos Firefox OS8 Correes9 Melhores prticas para dispositivos de referncia aberta7 Release notes do Firefox OS 1 Release notes do Firefox OS - Viso Geral2 Firefox OS 2.0 para desenvolvedores3 Firefox OS 1.4 para desenvolvedores4 Firefox OS 1.3 para desenvolvedores 5 Firefox OS 1.2 para desenvolvedores6 Firefox OS 1.1 para desenvolvedores7 Firefox OS 1.0.1 para desenvolvedores8 TestesAutomatizados 1 Testes - Viso Geral2 Testes no Firefox OS: Um guia para desenvolvedores3 Testes da Interface do Usurio Gaia4 Testes de Integrao do Gaia5 Testes unitrios do Gaia6 Testes de performance do Gaia7 Mochitests8 Reftests9 Testes de WebAPI10 Testes xpcshell11 Testes de Resistncia12 Teste MTBF13 Marionette14 TBPL15 Jenkins9 Depurao 1 Depurao - Viso Geral2 Configuraes do desenvolvedor para Firefox OS3 Conectando um dispositivo com Firefox OS no desktop4 Configurando o Firefox OS para depurar usando as ferramentas de desenvolvimento do Firefox5 Log do console no dispositivo6 Instalando e usando o ADB7 Tirar screenshots8 Usando o App Manager9 Depurando erros "out of memory" no Firefox OS10 Depurando e testando a segurana com Firefox OS11 Depurando o B2G usando gdb12 Depurando o B2G usando Valgrind 2005-2015 Mozilla Developer Network e contribuies individuaisContedo disponvel sob estas licenas Sobre o MDN Termos Privacidade Cookies Contribuir para o cdigo Top of FormDemais idiomas: Ir Bottom of Form

Top of Form

Bottom of Form