Skip to main content
Como funcionam as permissoes
Language

Permissoes de fornecedores

Controle o que os scripts de cada fornecedor podem fazer no seu site. Saiba o que cada permissão cobre e o que o bloqueio previne.

A visao Dependencies (dependencias) no painel do cside lista todos os fornecedores e dominios que entregam scripts ao seu site. Abra um fornecedor para ver sua grade de permissoes, organizada em seis categorias: Resource types, Sensitive APIs, Storage, Event listeners, Form field access e Other. Cada capacidade tem um controle Allow e um Block; quando nenhum dos dois e escolhido, a permissao fica indefinida e o fornecedor mantem seu comportamento padrao.

Esta pagina explica cada permissao, o que ela cobre e o que o bloqueio previne.

Como funcionam as permissoes

Cada permissao tem tres estados:

  • Allow (marca de verificacao verde): os scripts do fornecedor podem usar essa capacidade.
  • Block (escudo vermelho): o cside impede que os scripts do fornecedor usem essa capacidade.
  • Unset (padrao): o fornecedor mantem seu comportamento normal e o cside continua monitorando o que ele faz. Ao passar o mouse sobre um controle selecionado aparece Clear; clique nele para devolver a permissao a este estado.

As permissoes se aplicam por fornecedor, para toda a sua equipe. Quando um script nao corresponde a um fornecedor conhecido, voce pode definir as mesmas permissoes no dominio dele.

Quando voce bloqueia uma permissao, o cside aplica sua decisao no navegador. As tentativas bloqueadas continuam sendo registradas, entao voce pode ver o que um fornecedor tentou fazer depois que voce o restringiu.

Pense nas permissoes como privilegio minimo para terceiros: cada fornecedor recebe apenas as capacidades de que precisa para fazer seu trabalho.

O selo “Used”

Ao lado de uma permissao, um selo azul Used significa que o cside observou de fato os scripts desse fornecedor exercendo essa capacidade. E apenas informativo: nao altera nem define o estado Allow/Block, e uma capacidade pode estar Unset e ainda assim aparecer como Used. Use-o junto com “Verifique o comportamento registrado do fornecedor” abaixo para decidir o que e seguro bloquear.

Tipos de recursos

Essas permissoes controlam o que os scripts de um fornecedor podem carregar, incorporar ou executar nas suas paginas.

PermissaoO que cobreO que o bloqueio previne
JavaScriptCarregamento e execucao de JavaScript, incluindo codigo adicional trazido em tempo de execucao com tags de scriptImpede que o fornecedor traga codigo novo e nao revisado depois que a pagina carrega. E assim que um fornecedor comprometido normalmente escala um ataque.
Network requestsEnvio e busca de dados pela rede com fetch e XHRImpede que o fornecedor envie dados do navegador para os proprios servidores. Este e o principal canal de exfiltracao de dados.
FramesIncorporacao de iframes e outras paginas aninhadasImpede sobreposicoes de iframes ocultos, prompts de login falsos e injecao de interface no estilo clickjacking.
ObjectsIncorporacao de conteudo de plugins como <object> e <embed>Impede conteudo de plugins legados, um caminho de injecao antigo mas ainda explorado.
WorkersExecucao de web workers e service workersImpede scripts em segundo plano que rodam fora da vista, interceptam requisicoes ou continuam ativos depois que o usuario sai da pagina.
MediaCarregamento de audio e videoImpede carregamentos indesejados de audio ou video, incluindo midia usada para rastreamento ou fraude de anuncios.
StylesheetsCarregamento de folhas de estilo CSS externasImpede injecao de estilos que pode ocultar elementos da pagina, sobrepor interfaces falsas ou vazar dados digitados atraves de seletores CSS.
PrefetchPrefetch e preload de recursosImpede o carregamento especulativo de recursos do fornecedor, que pode vazar sinais de navegacao antes que o usuario interaja.
ManifestsCarregamento de manifests de aplicativos webImpede que o fornecedor forneca um manifest que altera como seu site e instalado ou se comporta como um aplicativo.
ImagesCarregamento de imagens externasImpede carregamentos de imagens, incluindo pixels de rastreamento: imagens minusculas usadas para enviar dados para fora.
FontsCarregamento de fontes externasImpede carregamentos de fontes do fornecedor, um canal discreto para rastreamento e fingerprinting.

APIs sensiveis

Essas permissoes controlam o acesso ao hardware do dispositivo e a APIs do navegador que transformam strings em codigo executavel.

PermissaoO que cobreO que o bloqueio previne
CameraAcesso a camera do dispositivoImpede que scripts solicitem acesso a camera, assim os usuarios nunca veem um prompt que poderiam aceitar por engano.
Screen captureGravacao da tela ou de uma janelaImpede que scripts solicitem gravacao de tela, o que pode expor qualquer coisa visivel na tela do usuario.
LocationLeitura da localizacao geografica do visitanteImpede que scripts solicitem a localizacao fisica dos seus usuarios.
MicrophoneAcesso ao microfone do dispositivoImpede que scripts solicitem acesso ao microfone e gravem audio.
EvalExecucao de strings como codigo com eval()Impede uma tecnica comum de ofuscacao: skimmers frequentemente escondem o payload real em uma string e o executam com eval().
Function constructorExecucao de strings como codigo com o construtor FunctionImpede a outra forma principal de executar uma string como codigo, fechando a brecha que sobra quando apenas o eval() e bloqueado.
document.writeReescrita da pagina com document.writeImpede que o fornecedor injete marcacao e scripts arbitrarios diretamente no documento enquanto ele carrega.
Inline framesInjecao de conteudo de frames inline via srcdocImpede que o fornecedor crie frames cujo conteudo vem de uma string em vez de uma URL, uma forma de contrabandear codigo que nenhuma lista de hosts permitidos cobre.

Armazenamento

Essas permissoes controlam o acesso aos dados armazenados no navegador.

PermissaoO que cobreO que o bloqueio previne
CookiesLeitura e gravacao de cookiesImpede que o fornecedor leia identificadores de sessao ou tokens e plante seus proprios cookies de rastreamento.
Local storageLeitura e gravacao de armazenamento persistente do navegadorImpede o acesso a dados persistidos, que frequentemente incluem identificadores de usuario e informacoes pessoais em cache.
Session storageLeitura e gravacao de armazenamento por aba do navegadorImpede o acesso a dados de sessao por aba, como o estado de um checkout em andamento.
IndexedDBLeitura e gravacao de bancos de dados IndexedDBImpede o acesso a bancos de dados estruturados do navegador, onde aplicacoes frequentemente armazenam conjuntos maiores de dados de usuarios.

Event listeners

Essas permissoes controlam se um fornecedor pode observar como os usuarios interagem com as suas paginas.

PermissaoO que cobreO que o bloqueio previne
ClicksRastreamento de onde os visitantes clicamImpede o rastreamento de cliques nas suas paginas, incluindo a captura do que os usuarios tocam e selecionam.
KeystrokesRastreamento do que os visitantes digitamImpede keylogging (registro de teclas). Um script que escuta as teclas digitadas pode capturar tudo o que um usuario digita, incluindo credenciais e numeros de cartao.

Acesso a campos de formulario

Essas permissoes controlam quais campos de formulario os scripts de um fornecedor podem ler. Elas sao centrais para prevenir o roubo de dados de formularios, incluindo skimming no estilo Magecart, e apoiam os requisitos 6.4.3 e 11.6.1 do PCI DSS 4.0.1 para paginas de pagamento.

PermissaoO que cobreO que o bloqueio previne
Email fieldsCampos de endereco de e-mailImpede a coleta de enderecos de e-mail que seus usuarios digitam.
File uploadsCampos de upload de arquivosImpede o acesso a arquivos que os usuarios anexam, como documentos de identidade ou extratos.
Password fieldsCampos de senhaImpede a coleta de credenciais em formularios de login e cadastro.
Hidden fieldsCampos ocultos de formulariosImpede a leitura de campos ocultos, que frequentemente guardam tokens de sessao, tokens CSRF ou IDs internos.
Address fieldsCampos de enderecoImpede a coleta de enderecos residenciais e de entrega.
Search fieldsCampos de buscaImpede a captura do que os usuarios buscam no seu site.
Phone fieldsCampos de numero de telefoneImpede a coleta de numeros de telefone.
URL fieldsCampos de URLImpede a leitura de URLs que os usuarios inserem em formularios.
Name fieldsCampos de nomeImpede a coleta de nomes pessoais.
One-time codesCampos de codigo de login de uso unicoImpede o roubo de codigos de uso unico, que atacantes usam para burlar a MFA.
Birthday fieldsCampos de data de nascimentoImpede a coleta de datas de nascimento, um dado chave para roubo de identidade.
Sex/gender fieldsCampos de sexo e generoImpede a coleta de dados demograficos sensiveis.
Credit card fieldsCampos de cartao de creditoImpede o skimming de cartao: scripts lendo numeros de cartao enquanto os usuarios os digitam no checkout.
Non-sensitive form accessCampos de formulario que nao guardam dados sensiveisA permissao geral de formularios. O bloqueio impede que o fornecedor leia campos de formulario nao cobertos por uma permissao mais especifica acima.

Outros

PermissaoO que cobreO que o bloqueio previne
NotificationsExibicao de notificacoes do navegadorImpede prompts de notificacao e spam de push vindos do fornecedor.
Full screenColocar a pagina em modo de tela cheiaImpede tomadas de tela cheia usadas para imitar a interface do navegador em sobreposicoes de phishing.
PaymentsAbertura da caixa de dialogo de pagamento do navegadorImpede que o fornecedor invoque a interface de pagamento do navegador ou sonde capacidades de pagamento.
Browser historyAlteracao do historico de navegacao do visitanteImpede manipulacoes de URL que podem disfarcar a pagina em que o usuario realmente esta ou travar o botao de voltar.
ClipboardLeitura e gravacao na area de transferenciaImpede que scripts leiam o que os usuarios copiaram em outros lugares, como senhas ou enderecos de carteiras, e o sequestro da area de transferencia, como a troca de um endereco de pagamento copiado pelo endereco de um atacante.
Send messagesEnvio de mensagens entre frames com postMessageImpede que o fornecedor passe dados para outros frames, uma forma comum de mover dados roubados para um iframe controlado pelo atacante.
Receive messagesEscuta de mensagens entre framesImpede que o fornecedor receba instrucoes ou dados de outros frames na pagina.
Worker messagesTroca de mensagens com web workersImpede que o fornecedor mova dados de e para workers em segundo plano, onde e mais dificil observa-los.

Escolhendo o que bloquear

Voce nao precisa tomar 40 decisoes por fornecedor no primeiro dia. Uma abordagem pratica:

  1. Comece pelas capacidades que o fornecedor nao tem motivo para usar. A maioria dos fornecedores nunca precisa de teclas digitadas, campos de senha, campos de cartao de credito, eval() ou da area de transferencia. Bloquear esses itens raramente afeta a funcionalidade.
  2. Verifique o comportamento registrado do fornecedor. A visao Dependencies mostra o que cada fornecedor realmente faz no seu site. Se um fornecedor nunca usou uma capacidade, o bloqueio traz baixo risco.
  3. Restrinja as paginas onde os dados estao. Em fluxos de checkout e login, priorize as permissoes de campos de formulario e Keystrokes.
  4. Acompanhe os relatorios depois de bloquear. As tentativas bloqueadas continuam sendo registradas. Um fornecedor que tenta repetidamente algo que voce bloqueou merece investigacao.

Se voce ainda nao ve Dependencies no seu painel, a funcionalidade esta sendo liberada gradualmente. Entre em contato com support@cside.dev para habilitar o recurso para sua equipe.

Paginas relacionadas

Was this page helpful?