Conceitos de Segurança da Informação
Questionar se um software é "seguro" exige um esclarecimento imediato: "seguro em qual aspecto?". Isso ocorre porque o termo "segurança da informação" é amplo e multifacetado, possuindo significados distintos para cada contexto ou pessoa.
Longe de ser um conceito único e absoluto, a segurança é composta por diversos pilares. A importância de cada um varia drasticamente dependendo dos objetivos e riscos do sistema em questão.
Os três primeiros formam a clássica e mais conhecida "Tríade da Segurança da Informação" - CIA: Confidentiality, Integrity, Availability
- Confidencialidade
- Integridade
- Disponibilidade
- Rastreabilidade
- Autenticidade
- Confiabilidade
- Privacidade
- Irretratabilidade
Confidencialidade
A confidencialidade é o pilar da segurança que garante que a informação seja acessível apenas a indivíduos, sistemas ou processos devidamente autorizados. Uma quebra de confidencialidade ocorre no momento em que um dado é exposto ou revelado a uma parte não autorizada, independentemente da intenção.

Para gerenciar o acesso de forma eficaz, cada informação confidencial deve ter um proprietário (owner) designado desde sua criação. Este proprietário pode ser um usuário específico ou um grupo e esse é o único com autoridade para definir e manter a lista de quem pode acessar essa informação.
A forma como esse controle é implementado depende da arquitetura do sistema. Duas abordagens comuns são:
-
ACL - Access Control List: Ideal para sistemas com muitos dados (objetos) e um número limitado de usuários. Cada objeto possui uma lista anexa que especifica quais usuários (ou grupos) têm permissão para acessá-lo. A verificação da permissão é feita no próprio objeto. -
Capability List: Mais adequada para sistemas com muitos usuários e um número limitado de objetos sensíveis. Nesse modelo, cada usuário possui uma "lista de chaves" que define a quais objetos ele tem acesso. A verificação é focada na identidade e nas permissões do usuário.
Gerenciar permissões complexas aumenta os custos operacionais e o risco de falhas de configuração. Por isso, uma regra de ouro no design de sistemas é aplicar a confidencialidade apenas ao que é estritamente necessário.
A necessidade de restringir o acesso à informação não é arbitrária. Ela surge de motivações críticas para o negócio, a segurança e a conformidade legal. As principais razões para se classificar um dado como confidencial são:
-
Obrigações Legais e Contratuais: Muitas vezes, a confidencialidade não é uma escolha, mas uma imposição. Leis, regulamentações e contratos exigem que certas informações sejam protegidas de forma rigorosa.- Requisitos Legais: Leis específicas definem níveis de sigilo e penalidades para o seu descumprimento.
- A Lei de Acesso à Informação (Lei 12.527/11) estabelece gradações para a confidencialidade de documentos governamentais.
- A Lei de Licitações (Lei 8.666/93, agora sucedida pela Lei 14.133/21) tipifica como crime a divulgação de informações sigilosas do processo, como o orçamento interno da administração ou as propostas dos concorrentes antes da hora. Nesses casos, a implementação da confidencialidade é mandatória, e seu descumprimento pode acarretar sanções severas, multas e processos judiciais.
- Requisitos Legais: Leis específicas definem níveis de sigilo e penalidades para o seu descumprimento.
-
Vantagem Competitiva e Valor Estratégico: Certas informações são valiosas não pelo que são, mas pelo fato de serem secretas. Como bem definido, o valor do segredo está no quanto ele é valioso enquanto os concorrentes não o conhecem.- Propriedade Intelectual: Antes de ser formalmente registrada, uma inovação precisa de sigilo absoluto. Imagine o vazamento de dados sobre a fórmula de um novo medicamento ainda em fase de pesquisa ou o design de um produto antes do registro da patente. O segredo é o que protege o investimento e o potencial de mercado.
- Segredos Comerciais (Trade Secrets): Informações que dão a uma empresa uma vantagem no mercado. Uma lista de clientes estratégicos, detalhes de uma negociação em andamento ou um algoritmo de precificação são ativos valiosos. Se um concorrente obtém acesso a esses dados, pode antecipar ações, "roubar" clientes e neutralizar sua vantagem competitiva.
-
Fatores de Autenticação: Esta é uma categoria especial de confidencialidade, onde o segredo é a própria prova de identidade de um usuário.- Senhas e Segredos de Acesso: A confidencialidade aqui é absoluta. A senha de um usuário, por exemplo, é um segredo que deve pertencer apenas a ele. Em um sistema bem projetado, ninguém mais pode ter acesso à senha em seu formato original — nem mesmo administradores de banco de dados, desenvolvedores ou a equipe de infraestrutura. Isso é garantido por meio de técnicas criptográficas como hashing, que tornam a senha original irrecuperável.
O valor do segredo é o quanto ele é valioso se ninguém conhecer.
Privacidade
Embora intimamente ligada à confidencialidade, a privacidade é um conceito distinto e fundamental. Enquanto a confidencialidade foca em quem pode acessar uma informação, a privacidade se concentra no direito do indivíduo de controlar como suas informações pessoais são coletadas, usadas, armazenadas e compartilhadas.
Sob a ótica de leis como a LGPD (Lei Geral de Proteção de Dados), o usuário é o titular de seus dados pessoais, como:
- Nome e sobrenome
- Endereço residencial
- Número de telefone
- CPF, RG, e outros documentos
Um dos pilares da privacidade é o princípio da finalidade. Quando um usuário preenche um formulário para realizar uma compra, por exemplo, ele consente com o uso de seus dados apenas para aquela finalidade específica (processar o pagamento, emitir a nota fiscal, enviar o produto).
Qualquer uso secundário dessa informação, seja para fins de marketing ou para compartilhamento com terceiros, um novo consentimento é necessário. O sistema não pode simplesmente presumir essa autorização.
O desenvolvedor tem que prever que o usuário que tem informações pessoais dele no sistema possa decidir sobre o uso dessas informações.
Isso impõe uma responsabilidade direta aos desenvolvedores e arquitetos de software: os sistemas devem ser projetados com a privacidade em mente desde o início. É preciso criar mecanismos que permitam ao usuário exercer seu controle de forma granular e transparente.
Os controles que devem estar na mão do usuário incluem, no mínimo, a capacidade de:
- Consentir (ou não) com comunicações de marketing, como e-mail marketing, newsletters e mala direta.
- Autorizar (ou não) o compartilhamento de seus dados com empresas parceiras.
- Gerenciar o uso de cookies e outras tecnologias de rastreamento de navegação.
- Acessar, corrigir e solicitar a exclusão de seus dados pessoais da plataforma, exercendo seus direitos como titular.
No momento que o usuário preenche um formulário do sistema, entende-se que já está sendo permitindo o uso dessas informação dentro do próprio sistema, porém este sistema não está autorizado a fazer uso dessas informações para outras coisas.
O sistema deve definir a política de privacidade, basta o usuário aceitar ou não.
Um ponto importante a se falar é pontos que fica difícil decidir se é ou não privacidade
-
Cookie de sessão, nesse caso é um cookie que salva informação do usuário para acesso ao seu sistema. Esse é um ponto que pode ou não ser definido como requisito de privacidade.
-
Cookies do tipo google analitcs ou facebook, esses certamente são informações privadas do usuário que são repassados a outros sistemas e estão sofrendo com as leis.
Confidencialidade vs Privacidade
A diferença fundamental entre os dois pode ser resumida assim:
- Privacidade protege o usuário do uso indevido de seus dados pelo sistema.
- Confidencialidade protege os dados do sistema do acesso não autorizado pelo usuário.
A privacidade é tão importante que, além de ser um direito, é uma exigência legal e uma prática de negócio inteligente. Seus pilares são:
- Aspectos Legais:
- Constituição Federal (CRF/88)
- LGPD (Lei Geral de Proteção de Dados)
- GDPR (General Data Protection Regulation)
- Proteção do Indivíduo e do Negócio:
- Boa Prática: Gera confiança e fortalece a marca.
- Limitação de Responsabilidade: Reduz os riscos legais e financeiros.
Para evitar problemas, um sistema deve guardar apenas os dados estritamente necessários para seu funcionamento. Guardar informações desnecessárias não traz benefícios e aumenta o risco de prejuízos e processos em caso de um vazamento.
Integridade
É uma propriedade da segurança da informação que garante que os dados permaneçam completos, exatos e inalterados, exceto por modificações autorizadas. Toda informação precisa de algum grau de integridade. Uma informação que perde sua integridade perde também o seu valor.
Somente quem é autorizado pode alterar a informação. Se alguém não autorizado alterar, a informação torna-se não íntegra, como mostrado no exemplo abaixo.

Uma informação deve inclusive sofrer um versionamento para que seja auditada a mudança. Esta também é uma forma de backup, mantendo a referência. O versionamento garante o ciclo de vida da informação, todas as suas mudanças até o momento da sua destruição. Em algum momento a informação precisará ser destruida.
Pilares da Integridade:
-
Autorização: Apenas usuários ou sistemas com permissão podem criar, modificar ou apagar a informação. Qualquer alteração realizada por uma entidade não autorizada constitui uma quebra de integridade. -
Ciclo de Vida da Informação:- Criação: A informação nasce íntegra.
- Alterações e Acessos: Todas as modificações são controladas e registradas.
- Exclusão: A destruição da informação é feita de forma segura e definitiva quando necessário.
-
Versionamento: Manter um histórico de versões da informação é crucial. Isso não só permite auditar todas as mudanças realizadas ao longo do tempo, mas também funciona como uma forma de backup, garantindo que seja possível reverter para um estado anterior íntegro.
Ameaças:
- Ataques Diretos: Um invasor altera deliberadamente a informação para corrompê-la.
- Falhas de Transmissão: Pacotes de dados que não chegam ao seu destino, como em um ataque de Negação de Serviço (DoS), impedem que a informação seja atualizada, resultando em um estado desatualizado e não íntegro.
- Incidentes Externos: Situações como falta de energia, desastres naturais, falhas de hardware podem impedir que modificações necessárias ocorram, afetando a correção da informação.
É muito similar a confidencilidade, mas referente à alteração e não a leitura.
É muito mais fácil detecar que houve quebra integridade do que de confidencialidade.
Integridade vs Confidencialidade
- Integridade é crítica: Em transações financeiras, a exatidão do valor movimentado na conta de um cliente é mais crítica do que o sigilo da transação em si.
- Confidencialidade é crítica: A chave privada de uma Autoridade Certificadora (AC) é um exemplo onde a confidencialidade é suprema. O simples vazamento (leitura) dessa chave, mesmo sem alteração, comprometeria todo o sistema de confiança, exigindo a revogação imediata de todos os certificados emitidos.
Disponibilidade
É um dos três pilares fundamentais da segurança da informação (junto com a Confidencialidade e a Integridade). Ela é a propriedade que garante que a informação e os sistemas estejam acessíveis e operacionais para uso sempre que demandados por uma entidade autorizada.
De nada adianta a informação ser segura e íntegra se os usuários legítimos não conseguem acessá-la quando precisam. A indisponibilidade pode causar perdas financeiras, danos à reputação e interrupção de processos críticos de negócio.
Hoje com o sistema cloud, a disponbilidade chega a ser práticamente 99,999%.
A disponibilidade é um indicador fácil de medir e geralmente expresso em percentual.
- Usando transações: Disponibilidade = (Tentativas com Êxito / Total de Tentativas) x 100
- Tempo de atividade: (Tempo em Uptime / (Tempo em Uptime + Downtime)) x 100
Só a título de curiosidade:
99%: ~3,65 dias de inatividade por ano. 99,9%: ~8,76 horas de inatividade por ano. 99,99%: ~52 minutos de inatividade por ano. 99,999%: ~5 minutos de inatividade por ano.
Assegurar a disponibilidade contínua envolve um conjunto de estratégias e boas práticas para criar sistemas resilientes e tolerantes a falhas. As principais são:
- Redundância: Duplicar componentes críticos do sistema (como servidores, discos, links de rede e fontes de energia). Se um componente falhar, o redundante assume sua função imediatamente.
- Failover: Implementar sistemas de contingência que são ativados automaticamente quando o sistema principal falha. Isso minimiza ou elimina o tempo de inatividade percebido pelo usuário.
- Balanceamento de Carga (Load Balancing): Distribuir o tráfego e as requisições entre múltiplos servidores. Isso evita que um único servidor fique sobrecarregado e pare de responder, melhorando o desempenho e a resiliência.
- Backups e Disaster Recovery Plan (DRP): Realizar backups constantes e ter um plano bem definido para restaurar os sistemas e os dados após um incidente grave (como um desastre natural ou um ciberataque em larga escala).
Principais Ameaças à Disponibilidade:
- Ataques de Negação de Serviço (DoS/DDoS): Inundar um sistema com um volume massivo de tráfego ou requisições com o objetivo de esgotar seus recursos e torná-lo inacessível para usuários legítimos.
- Falhas de Hardware e Software
- Ransomware: Um tipo de malware que sequestra os dados ao criptografá-los, tornando-os indisponíveis até que um resgate seja pago.
- Fatores Ambientais e Humanos: Incidentes como cortes de energia, incêndios, inundações ou mesmo um erro humano (como uma configuração incorreta ou a exclusão acidental de dados) podem derrubar um serviço.
Confiabilidade
É a probabilidade de um sistema ou componente desempenhar sua função esperada, sem falhas, por um período de tempo especificado e sob condições pré-determinadas. A palavra-chave aqui é "sem falhas".
Enquanto a Disponibilidade se preocupa se o sistema está "de pé" em um dado momento, a Confiabilidade se preocupa com a frequência com que ele cai.
Confiabilidade vs. Disponibilidade
A relação entre os dois conceitos é governada pela frequência das falhas e pelo tempo necessário para a recuperação.
- Disponibilidade é impactada pelo tempo de recuperação (o quão rápido o sistema volta).
- Confiabilidade é impactada pela frequência das falhas (quantas vezes ele cai).
Vamos analisar com cenários:
-
Cenário 1: Alta Disponibilidade, Baixa Confiabilidade
- Um sistema que sofre uma micro-falha e reinicia a cada hora, mas o processo de reinicialização leva apenas 1 segundo.
- Confiabilidade: Péssima. O sistema falha constantemente (a cada hora). Não é confiável para processos contínuos.
- Disponibilidade: Altíssima. Em um dia de 24 horas (86.400 segundos), ele ficaria indisponível por apenas 24 segundos. A disponibilidade seria de (86376 / 86400) * 100 = 99,97%.
- Um sistema que sofre uma micro-falha e reinicia a cada hora, mas o processo de reinicialização leva apenas 1 segundo.
-
Cenário 2: Alta Confiabilidade, Baixa Disponibilidade
- Um sistema de satélite que funciona perfeitamente por 5 anos sem nenhuma falha, mas quando finalmente falha, leva 6 meses para ser reparado.
- Confiabilidade: Excelente. Funcionou por 5 anos ininterruptos. É um sistema extremamente confiável durante sua operação.
- Disponibilidade: Baixa (se analisarmos o ciclo de vida completo). O longo tempo de reparo (6 meses) impacta drasticamente a disponibilidade total no período de 5,5 anos.
- Um sistema de satélite que funciona perfeitamente por 5 anos sem nenhuma falha, mas quando finalmente falha, leva 6 meses para ser reparado.
Alta confiabilidade é um requisito de sistemas críticos de tempo real e é muito mais difícil garantir a confiabilidade do que a disponbilidade.
Do mesmo modo, um sistema com alta confiabilidade pode existir, mas com baixa disponbilidade, seria quando um sistema nunca cai, mas quando cai não volta mais.
Para medir esses conceitos, a indústria usa duas métricas principais:
-
MTBF - Mean Time Between Failures (Tempo Médio Entre Falhas): É a média de tempo que um sistema opera corretamente entre uma falha e a próxima.
- É a métrica principal da Confiabilidade. Um MTBF alto significa alta confiabilidade.
-
MTTR - Mean Time To Repair (Tempo Médio Para Reparo): É a média de tempo que leva para reparar um sistema após ele ter falhado.
- Impacta diretamente a Disponibilidade. Um MTTR baixo significa alta disponibilidade.
A fórmula da disponibilidade pode ser aproximada por Disponiblidade ≈ MTBF / (MTBF + MTTR)
Quando Priorizar Cada Um?
- Prioridade na Disponibilidade (Ex: E-commerce, Redes Sociais):
- O objetivo é estar "no ar" para o máximo de usuários. Pequenas falhas que são corrigidas rapidamente (um refresh na página, um reinício de servidor em segundos) são toleráveis. O importante é que o MTTR seja extremamente baixo.
- Prioridade na Confiabilidade (Ex: Sistema de voo, marca-passo, controle de reator nuclear):
- O objetivo é nunca falhar. Uma única falha, por mais breve que seja, pode ter consequências catastróficas. Nesses sistemas, o MTBF deve ser o mais longo possível, idealmente infinito durante a vida útil da missão.
A disponibilidade costuma ser mais requerida do que confiabilidade. Os e-commerce podem sofrer quedas rápidas mas não podem sair do ar. Por outro lado, um sistema de navegação de vôo nunca podem parar.
Geralmente, um sistema com alta confiabilidade tende a ter alta disponibilidade, pois se ele falha menos (MTBF alto), ele passa mais tempo operando. A redundância é a principal estratégia para aumentar ambos: ela previne que a falha de um componente cause uma falha no sistema (aumentando a confiabilidade) e permite uma recuperação quase instantânea (diminuindo o MTTR), garantindo a disponibilidade.
Rastrebilidade
É a capacidade de ligar a alteração, criação ou remoção de uma informação ao usuário que realizou, ou seja, auditoria.
Rastreabilidade e privacidade são requisitos antagônicos. O usuário precisa aceitar que naquele sistema ele será rastregado e todas as suas ações serão gravadas. Para isso, é necessário estar nas políticas de privacidade e o usuários esteja ciente.
Uma rastreabilidade forte leva a um dos conceitos mais importantes da segurança da informação: o Não Repúdio (Non-repudiation\) que é mais conhecido como Irretratabilidade que falaremos mais adiante.
O não repúdio é a garantia de que um usuário não pode negar ter realizado uma ação.
Por exemplo, se um usuário autorizado transfere fundos, o sistema deve ter provas criptográficas ou de auditoria tão fortes que ele não possa, posteriormente, negar ter feito a transação. Isso é crucial para a validade de contratos digitais, transações financeiras e operações críticas.
A rastreabilidade serve a múltiplos propósitos:
- Responsabilização do Usuário: É o pilar para garantir que cada pessoa seja responsável por seus atos dentro do sistema. A simples existência de uma trilha de auditoria eficaz já inibe comportamentos maliciosos.
- Análise de Incidentes e Melhoria da Segurança: Em caso de uma falha de segurança ou vazamento de dados, os logs são a primeira ferramenta que os analistas usam para entender o que aconteceu.
- Requisitos Legais e de Conformidade: Muitos setores são legalmente obrigados a manter trilhas de auditoria detalhadas.
Nesse caso o usuário não é mais o owner da informação, pois se fosse desse jeito ele iria apagar a informação.
As eleições possuem um nível de privacidade alto (ninguém pode saber o voto do eleitor), o que afeta a rastreabilidade pois o sistema não pode pegar esta informação por ele o que afeta uma auditoria.,logo sendo difícil encontrar fraudes.
Autencididade
É a capacidade de comprovar, sem sombra de dúvida, a identidade de um usuário ou a origem e a integridade de uma informação
Este princípio se desdobra em dois conceitos práticos e complementares:
- Autenticação de Identidade: Verificar se um usuário é quem ele diz ser.
- Autenticidade da Informação: Verificar se uma informação foi realmente criada pela fonte declarada e se não foi alterada no caminho.
-
Autenticação de Identidade (Quem é você?): um sistema precisa de provas para validar o "login" de um usuário. Essas provas são chamadas de fatores de autenticação e se dividem em três categorias:
- Algo que você sabe: senha, pins, frases secretas, etc
- Alto que você tem: tokens de segurança, cartões com chip, 2FA, etc
- Algo que você é (geralmente biométrico): digital, iris, voz, reconhecimento facial, etc.
- Se quer entender melhor sobre isso faça uma leitura em Autenticação.
-
Autenticidade da Informação (Esta informação é legítima?): a garantia de que um documento, um e-mail ou um software realmente veio de uma fonte confiável e não foi modificado. O principal mecanismo para isso é a Assinatura Digital que usa criptografia assimétrica (chaves pública e privada) para oferecer garantias muito mais fortes:
- Autenticidade: Apenas o detentor da chave privada pode gerar a assinatura. Se a chave pública correspondente conseguir verificá-la, isso prova quem foi o remetente.
- Integridade: A assinatura digital é baseada no conteúdo exato da informação. Qualquer alteração, por menor que seja (mudar uma vírgula, por exemplo), invalidará a assinatura.
- Não Repúdio: O remetente não pode negar a autoria, pois ele é o único que possui a chave privada capaz de criar aquela assinatura.
- Se quiser se aprofundar no assunto leia tls.
O registro de propriedade intelectual é um ótimo caso de uso. Ao assinar digitalmente uma obra no momento da sua criação, um autor pode provar a autoria e a data exata em que o conteúdo existia naquela forma.
Irretratabilidade
Mais conhecida no meio técnico como Não Repúdio (Non-repudiation), é a garantia de que uma parte envolvida em uma transação ou comunicação não pode negar sua participação ou a autoria de suas ações.
É o mecanismo que fornece a prova irrefutável da identidade do autor de uma ação e da integridade do que foi feito. Enquanto a rastreabilidade registra o que aconteceu, a irretratabilidade garante que esse registro tenha validade legal e técnica, impedindo que o autor negue o fato.
Rastrear vs Provar
- Rastreabilidade (Auditoria): Um sistema registra em um log: "O usuário 'David Puziol' acessou o sistema às 10:05 e aprovou a transação 789". Isso nos diz o que aconteceu e qual conta de usuário foi usada.
- Irretratabilidade (Não Repúdio): O sistema não só registra a ação, mas a vincula a uma prova criptográfica, como uma assinatura digital. Agora, a evidência é: "A transação 789, com estes exatos dados, foi assinada digitalmente com a chave privada que pertence unicamente a David Puziol".
Com a segunda prova, David não pode alegar que sua senha foi roubada ou que não foi ele, pois a posse da chave privada é uma prova muito mais forte e de sua exclusiva responsabilidade.
Vamos exemplificar isso com um sistema de caixa eletrônico.
-
Cenário Antigo (Baixo Não Repúdio): O único fator de autenticação era a senha. Um cliente poderia sacar dinheiro e depois alegar que seu cartão e senha foram roubados. Como o banco não tinha outras provas para vincular inequivocamente aquela pessoa àquela transação, muitas vezes precisava arcar com o prejuízo para não perder o cliente. A prova era fraca.
-
Cenário Moderno (Alto Não Repúdio): Hoje, o sistema combina múltiplos fatores para criar uma prova robusta:
- Algo que você tem: O cartão físico.
- Algo que você sabe: A senha (PIN).
- Prova de Auditoria: Câmeras de segurança que gravam a imagem da pessoa no caixa.
- Algo que você é (em alguns casos): Biometria (leitura da digital ou da palma da mão).
Em resumo, a irretratabilidade é o fechamento do ciclo da segurança transacional, garantindo que todas as ações digitais tenham o mesmo peso e validade de um ato assinado e reconhecido em cartório no mundo físico.