1 Introdução à segurança computacional Definição formal de segurança computacional Ameaças Políticas e mecanismos Suposição e confiança Garantia Questões operacionais Questões humanas (C) 2004-2006 Gustavo Motta 1 Definição de segurança computacional (1) Segurança computacional • “Prevenir que atacantes alcancem seus objetivos através do acesso não autorizado ou uso não autorizado dos computadores e suas redes” (Howard, 1997) – Acesso não autorizado: ocorre quando um indivíduo tenta acessar informações ou recursos sem a devida autoridade – Uso não autorizado: ocorre quando um indivíduo com autoridade para acessar informações ou recursos de um certo modo tenta acessá-las de outras formas (C) 2004-2006 Gustavo Motta 2 Definição de segurança computacional (2) Atacantes Meios Acesso Hackers Comandos de usuários Vulnerabilidade implementação Acesso não autorizado Espiões Programas ou scripts Vulnerabilidade projeto Uso não autorizado Terroristas Agentes autônomos Vulnerabilidade configuração Agressores internos Toolkits Criminosos Profissionais Ferramentas distribuídas Vândalos Grampo de Dados Processos (arquivos ou dados em trânsito) Serviços de segurança Resultados Objetivos Corrupção da informação Desafio, status Revelação da informação Ganho político Roubo de serviço Ganho financeiro Recusa de serviço Causar perdas (C) 2004-2006aGustavo Motta Taxonomia de ataques redes e computadores 3 Definição de segurança computacional (3) Segurança computacional • “A segurança em um sistema de informação (SI) visa protegê-lo contra ameaças à confidencialidade, à integridade e à disponibilidade das informações e dos recursos sob sua responsabilidade” (Brinkley & Schell, 1995; Joshi et al., 2001) (C) 2004-2006 Gustavo Motta 4 Definição de segurança computacional (4) Confidencialidade (1) • É a manutenção do sigilo das informações ou dos recursos • A violação da confidencialidade ocorre com a revelação não autorizada da informação ou dos recursos • A prevenção contra as ameaças à confidencialidade em SI pode ser alcançada com a aplicação de mecanismos de controle de acesso e com técnicas de criptografia e de segurança de redes • A confidencialidade também se aplica a mera existência de um dado, que pode ser mais importante do que o dado em si • Todos os mecanismos que impõem confidencialidade requerem serviços (C) 2004-2006 Gustavo Motta 5 para suportá-los – suposições e confiança Definição de segurança computacional (5) Confidencialidade (2) • Exemplo: criptografia como mecanismo de controle de acesso – A criptografia do extrato de uma conta corrente previne alguém de lê-lo. Caso o correntista precise de ver o extrato, ele precisa ser decifrado. Apenas o possuidor da chave criptográfica, utilizando o programa de decifração, pode fazê-lo. Entretanto, se outrem conseguir ler a chave, a confidencialidade do extrato fica comprometida – O problema da confidencialidade do extrato se reduz agora à confidencialidade da chave criptográfica, que deve ser protegida • Exemplo: proteção da existência de um dado – Saber que um indivíduo é um cliente VIP de um banco pode ser mais importante que saber quais/quantos são os recursos que ele possui aplicados (C) 2004-2006 Gustavo Motta 6 Definição de segurança computacional (6) Integridade (1) • Refere-se a confiabilidade da informação ou dos recursos • A violação da integridade ocorre pela modificação imprópria ou não autorizada da informação ou dos recursos • Integridade de dados – Confiabilidade do conteúdo dos dados • Integridade de origem – Confiabilidade da fonte dos dados – autenticação Sustenta-se na acurácia e na credibilidade da fonte e na confiança que as pessoas depositam na informação (C) 2004-2006 Gustavo Motta 7 Definição de segurança computacional (7) Integridade (2) • Classes de mecanismos para integridade – Mecanismos de prevenção Objetivam manter a integridade dos dados com o bloqueio de qualquer tentativa não autorizada de modificá-los ou qualquer tentativa de modificá-los por meios não autorizados – acesso e uso não autorizados Autenticação e controle de acessos adequados, em geral, são eficazes para prevenir o acesso não autorizado O uso não autorizado requer formas de controle distintas, sendo mais difícil de prevenir – Mecanismos de detecção Buscam reportar que a integridade dos dados não é mais confiável, em parte ou no todo A criptografia pode ser usada para detectar violações de integridade • A avaliação da integridade é de difícil realização por basear-se em (C) 2004-2006 Gustavo Motta 8 suposições sobre a fonte dos dados e da sua confiabilidade Definição de segurança computacional (8) Integridade (3) • Exemplo: corrupção da integridade de origem – Um jornal pode noticiar uma informação obtida de um vazamento no Palácio do Planalto, mas atribuí-la a uma fonte errada. A informação é impressa como recebida (integridade dos dados preservada), mas a fonte é incorreta (corrupção na integridade de origem ) • Exemplo: distinção entre acesso e uso não autorizados – Num sistema contábil, o acesso não autorizado ocorre quando alguém quebra a segurança para tentar modificar o dado de uma conta, por exemplo, para quitar um débito, sem autoridade para tal – Agora, quando o contador da empresa tenta apropriar-se de dinheiro desviando-o para contas no exterior e ocultado respectivas transações, então ele está abusando de sua autoridade – embora possa, ele não deve fazê-lo (C) 2004-2006 Gustavo Motta 9 Definição de segurança computacional (9) Disponibilidade (1) • Refere-se a capacidade de usar a informação ou o recurso desejado • A violação da disponibilidade ocorre com a retenção não autorizada de informações ou recursos computacionais – Ataques de recusa de serviço – denial of service attacks • Usualmente definido em termos de “qualidade de serviço” – Usuários autorizados esperam receber um nível específico de serviço, estabelecido em termos de uma métrica • Mecanismos para prevenção/detecção eficazes são difíceis de implementar e podem ser manipulados (C) 2004-2006 Gustavo Motta 10 Definição de segurança computacional (10) Disponibilidade (2) • Exemplo: manipulação de mecanismos de disponibilidade – Suponha que Ana tenha comprometido o servidor secundário de um banco, que fornece os saldos das contas correntes. Quando alguém solicita informações ao servidor, Ana pode fornecer a informação que desejar. Caixas validam saques contatando o servidor primário. Caso ele não obtenha resposta, o servidor secundário é solicitado. Um cúmplice de Ana impede que caixas contactem o servidor primário, de modo que todos eles acessam o servidor secundário. Ana nunca tem um saque ou cheque recusado, independente do saldo real em conta – Note que se o banco tivesse apenas o servidor primário, este esquema não funcionaria – o caixa não teria como validar o saque (C) 2004-2006 Gustavo Motta 11 Ameaças (1) Ameaça • Uma ameaça é uma potencial violação de segurança • As ações que podem acarretar a violação são denominadas de ataques • Aqueles que executam tais ações são denominados de atacantes • Os serviços de suporte a mecanismos para confidencialidade, integridade e disponibilidade visam conter as ameaças à segurança de um sistema (C) 2004-2006 Gustavo Motta 12 Ameaças (2) Classes de ameaças (Stallings, 1999) Prevenção Confidencialidade Disponibilidade Autenticação Integridade origem Ameaças destino Fabricação Interceptação Modificação Fluxo Interrupção normal (C) 2004-2006 Gustavo Motta 13 Ameaças (3) Classes de ameaças (Shirey, 1994) • Disclosure: acesso não autorizado à informação – Snooping (bisbilhotar): ataque passivo – o grampo telefônico é o exemplo clássico • Deception: aceitação de dados falsos, indução ao erro – Modificação (alteração), spoofing (masquerading ou logro), repudiação de origem, repudiação de recebimento • Disruption: interrupção ou prevenção da operação correta de um sistema – Modificação • Usurpação – Modificação, spoofing, delay, recusa de serviço (C) 2004-2006 Gustavo Motta 14 Ameaças (4) Masquerading × Delegação • Masquerading ocorre quando uma entidade é personificada por outra • Delegação ocorre quando uma entidade autoriza outrem a realização ações em seu interesse – Todas as partes são cientes da delegação, que pode ser verificada junto ao delegante • Exemplo: delegação por motivo de férias – Quando Ana sai de férias no banco, ela delega para José a autoridade (menos a capacidade de delegar) para que ele atuar em seu interesse. Nesse caso, José não finge ser Ana, mas pode afirmar que atua no interesse dela, que pode confirmar isto – Contrariamente ao masquerading, a delegação não é uma violação de segurança (C) 2004-2006 Gustavo Motta 15 Políticas e mecanismos (1) Política de segurança • É uma diretriz de alto nível que determina o que permitido e o que é proibido – Em geral, são expressas em linguagem natural – ambigüidades e incompletudes – Brinkley & Schell (1995) definem o conceito de “política técnica” como sendo a interpretação da “política de alto nível” em termos dos relacionamentos formais entre as entidades ativas (sujeitos), as entidades passivas (objetos) e os modos de acesso (operações) permitidos Matemática – precisa, mas difícil de trabalhar e de entender: descrita em termos de estados permitidos (seguros) e proibidos (não seguros) Linguagens para expressar políticas – alia precisão com facilidade de uso (C) 2004-2006 Gustavo Motta 16 Políticas e mecanismos (2) Mecanismo de segurança • É um método, ferramenta ou procedimento que pode ser usado para impor uma política de segurança – Técnico: aquele no qual os controles de um sistema impõem a política Obrigar um usuário a fornecer uma senha para autenticá-lo antes de utilizar um recurso – Procedimental: aquele no qual controles externos ao sistema impõem a política Sanções contra aqueles que violam a política de segurança Composição de políticas • Caso as políticas conflitem, as discrepâncias podem criar vulnerabilidades de segurança (C) 2004-2006 Gustavo Motta 17 Políticas e mecanismos (3) Exemplo: distinção entre políticas e mecanismos • Suponha que o laboratório de computação de uma universidade estabelece uma política que proíbe qualquer estudante de copiar os arquivos de trabalhos de outros estudantes. O sistema de computação provê mecanismos para prevenir que terceiros leiam os arquivos de um usuário qualquer. Ana falhou em usar tais mecanismos e José conseguiu copiar os arquivos. Uma brecha na segurança ocorreu e José violou a política de segurança. A falha de Ana em proteger seus arquivos não autoriza José a copiá-los • Caso José pudesse apenas ver os arquivos, sem copiá-los, haveria violação da política? (C) 2004-2006 Gustavo Motta 18 Políticas e mecanismos (4) Objetivos da segurança • Uma política de segurança especifica as ações “seguras” e aquelas “não seguras” – Mecanismos de segurança visam prevenir, detectar ou recuperar-se de ataques – Prevenção: visa impedir o sucesso dos ataques – ideal Envolve a implementação de mecanismos que os usuários não possam ignorar, para os quais se supõe uma implementação correta e não vulnerável – Detecção: visa determinar que um ataque está ocorrendo ou que já ocorreu Monitora, mas não impede ataques – permite conhecê-los melhor – Recuperação – complexo porque a natureza de cada ataque é diversa Pára o ataque, avalia e repara os danos O sistema continua a operar corretamente, mesmo quando o ataque sucede (C) 2004-2006 Gustavo Motta 19 Políticas e mecanismos (4) Exemplo: prevenção • Caso alguém pretenda violar um servidor a partir da Internet e este não está conectado à rede, então preveniu-se do ataque Exemplo: detecção • Mecanismo que fornece uma advertência quando um usuário entra mais de três vezes com uma senha incorreta. O login continua mas o registro fica para fins de auditoria Exemplo: recuperação • Caso um atacante delete um arquivo, o mecanismo de recuperação pode restaurá-lo da lixeira ou(C) do2004-2006 backupGustavo Motta 20 Suposição e confiança (1) Permeiam todos os aspectos de segurança • A segurança baseia-se em suposições específicas para o tipo de segurança requerido e para o ambiente no qual será empregada Políticas • Consistem num conjunto de axiomas que os formuladores das políticas acreditam ser exeqüíveis – Suposições A política particiona o conjunto de estados do sistema em estados “seguros” e em estados “inseguros” – determina o que é um sistema seguro Captura corretamente os requisitos de segurança (C) 2004-2006 Gustavo Motta 21 Suposição e confiança (2) Exemplo: back door e confiança • Precisa-se de uma chave para abrir a fechadura de uma porta. Assume-se que a fechadura é segura contra arrombamentos. Essa suposição é tratada como um axioma e é feita porque, em geral, as pessoas só conseguem abrir a porta com uma chave. Um bom arrombador, entretanto, pode abrir a porta sem uma chave. Logo, num ambiente com um arrombador habilidoso e não confiável, tal suposição é errada e a conseqüência é inválida. • Uma exceção bem definida para as regras oferece a porta dos fundos (back door) pela qual o mecanismo de segurança pode ser contornado – A confiança reside na crença de que o back door não será usado, exceto como especificado na política (C) 2004-2006 Gustavo Motta 22 Suposição e confiança (3) Mecanismos • Suposições – Os mecanismos de segurança previnem o sistema de entrar em estados “inseguros” – a política de segurança pode ser imposta pelos mecanismos – Os mecanismos de segurança funcionam corretamente Hardware, infra-estrutura, redes, etc Caso alguma suposição não se verifique, o sistema não será seguro (C) 2004-2006 Gustavo Motta 23 Suposição e confiança (4) Tipos de Mecanismos seguro preciso Conjunto de estados alcançáveis – R abrangente Conjunto de estados seguros – Q Um mecanismo de segurança é seguro se R Q; ele é preciso se R = Q; e ele é abrangente se existirem estados tal que rGustavo R e rMotta Q (C)r2004-2006 24 Suposição e confiança (5) Confiar no funcionamento correto dos mecanismos requer várias suposições • Cada mecanismo foi projetado para implementar uma ou mais partes da política de segurança • A união dos mecanismos implementa todos os aspectos da política de segurança • Os mecanismos estão implementados corretamente • Os mecanismos estão instalados e administrados corretamente (C) 2004-2006 Gustavo Motta 25 Garantia (1) A confiança não pode ser quantificada precisamente • A especificação, o projeto e a implementação de um sistema provêem a base para determinar “o quanto” se pode confiar nele – A garantia é a confiança de que uma entidade satisfaz seus requisitos de segurança, baseada em evidências específicas fornecidas pela aplicação de técnicas de garantia O quanto se pode confiar que o que sistema realmente faz é aquilo que se supõe que ele faz Demonstração de que sistema em funcionamento não violará as especificações – argumentos e provas Processo de software estabelecido – qualidade de produto » Embora as técnicas de garantia não assegurem a correção ou a segurança, elas provêem uma base firme avaliar em que se pode confiar a fim de acreditar que um sistema é (C) 2004-2006 Gustavo Motta 26 seguro Garantia (2) Políticas Definição de requisitos que explicitamente estabelece as expectativas de segurança dos mecanismos Garantia Prover uma justificativa de que o mecanismo atende a política através de evidência de garantia e aprovações baseadas em evidência Mecanismos Entidades executáveis que são projetadas e implementadas para atender os requisitos da política Relacionamentos entre garantia, políticas e mecanismos (C) 2004-2006 Gustavo Motta 27 Questões operacionais (1) A preocupação com a segurança não termina com a conclusão de um sistema • Um sistema “seguro” pode ser violado pela operação imprópria • A questão é como avaliar o efeito das questões operacionais na segurança (C) 2004-2006 Gustavo Motta 28 Questões operacionais (2) Análise de custo-benefício • Pesa o custo de proteger dados e recursos contra os custos associados com a violação da segurança – É mais barato prevenir ou recuperar? • Considerações – Sobreposição de efeitos de mecanismos Exemplo: criptografia – Os aspectos não técnicos dos mecanismos Eles podem ser empregados efetivamente – Facilidade de uso, aceitação ... O efeito desejado com o mecanismo pode não ser o obtido (C) 2004-2006 Gustavo Motta 29 Questões operacionais (3) Análise de risco • O que acontece se dados e recursos forem comprometidos? – Ajuda a determinar o que se deve proteger e com qual nível de proteção Requer uma análise das ameaças potenciais contra um bem e as chances delas ocorrerem O nível de proteção é em função da probabilidade do ataque ocorrer e dos seus efeitos » Proteger-se contra um ataque de baixa probabilidade é menos importante que se proteger de um ataque de alta probabilidade Isso nem sempre é verdade! (C) 2004-2006 Gustavo Motta 30 Questões operacionais (4) Leis e clientes • Leis restringem a disponibilidade e uso de tecnologias e afetam procedimentos de controle – Leis específicas para informações clínicas de paciente determinam políticas e controles a serem adotados • Normas, procedimentos, resoluções no âmbito das organizações • A sociedade distingue práticas legais das aceitáveis – Medidas de segurança ilegais ou inaceitáveis podem cair no descrédito ou dar a falsa sensação de segurança (C) 2004-2006 Gustavo Motta 31 Questões humanas (1) Problemas organizacionais • Poder e responsabilidade – Aqueles responsáveis pela segurança têm o poder para impô-la? • Benefícios financeiros – Os investimentos em segurança não trazem rendimentos, mas apenas previnem a perda de rendimentos provenientes de outras fontes – Perdas decorrentes de falhas de segurança são um grande incentivo para realização dos investimentos (C) 2004-2006 Gustavo Motta 32 Questões humanas (2) Problemas com pessoal • Maior fonte de problemas com segurança – Pessoal interno Acesso autorizado, mas uso não autorizado (80-90% dos problemas de segurança) Treinamento inadequado – e. g., problemas de configuração – Pessoal externo Acesso não autorizado • Engenharia social (C) 2004-2006 Gustavo Motta 33 Resumo (1) Ameaças Polícias Especificação Projeto Implementação Operação (C) 2004-2006 Gustavo Motta 34 Resumo (2) Objetivos e requisitos Autenticação Regras e procedimentos •Criptografia •Assinatura Eletrônica •CABP ... Auditoria Inclui legislação Controle de acesso Definição de domínios Confidencialidade Não de repudiação Definição autoridades •X.509 •LDAP •NIST CABP ... Integridade Disponibilidade Planejamento de implantação Acompanhamento (C) 2004-2006 Gustavo Motta 35 Referências BRINKLEY, D. L.; SCHELL, R. R. Concepts and terminology for computer security. In: ABRAMS, M. D.; JAJODIA, S.; PODELL, H. J. (Ed.). Information security: an integrated collection of essays. Los Alamitos, CA: IEEE Computer Society Press, jan. 1995. p. 40-97. HOWARD, J. D. An analysis of security incidents on the internet: 1989-1995. 1997. Tese de Doutorado – Carnegie Mellon University, Pittsburgh, Pennsylvania, EUA. JOSHI, J. B. D.; AREF, W. G.; GHAFOOR, A.; SPAFFORD, E. H. Security models for web-based applications. Communications of the ACM, v. 44, n. 2, p. 38-44, fev. 2001. SHIREY, R. Security Architecture for Internet Protocols: A Guide for Protocol Designs and Standards, Internet Draft: draft-irtf-psrg-secarch-sect1-00.txt (Nov. 1994). STALLINGS, W. Cryptography and network security: principles and practice. 2. ed. Prentice Hall, 1999. 569 p. (C) 2004-2006 Gustavo Motta 36