Sistemas Tolerantes a Falhas: Conceitos e Técnicas FURB – DSC Paulo Fernando da Silva Sumário • • • • • Introdução Conceitos e Terminologia Redundância Temporal Redundância de Hardware Redundância de Software Introdução • Falhas são inevitáveis: – Paralisia do sistema pode ser evitada; • Técnicas têm alto custo: – Computacional: backup; – Financeiro: Redundâncias; • Avaliação Custo x Benefício; Introdução • Expansão das redes de computadores; • Maior disponibilidade de serviços; – Ex.: transações eletrônicas; • Maior dependência de serviços; – Ex.: Site de vendas pela internet; • Falhas podem prejudicar empresas; Introdução • Confiabilidade e disponibilidade são cada vez mais importantes; • Dependência da sociedade; – – – – Tráfego aéreo; Área da saúde; Área financeira; Telecomunicações; Introdução • Hardware: – Teve grande aumento de confiabilidade; • Software: – Está se tornando cada vez mais complexo; – Apresenta muito problemas; • Só o hardware não garante a confiabilidade e disponibilidade dos sistemas; Introdução • Algumas falhas: – Falhas em mísseis na guerra do golfo (1991) – Falhas na comunicação de ambulâncias em Londres (1992) – Falhas no sistema de crédito da França (1993) Introdução - Desafios • Como evitar, detectar e contornar bugs? • Como explorar a rede aumentando a confiabilidade e a disponibilidade? • Como desenvolver um sistema confiável em uma plataforma não confiável? Conceitos – TF x Depend. • Tolerância a Falhas: – Localização e recuperação de falhas do sistema; – Chamados de sistemas redundantes; – Falsa impressão de que o sistema não falha!!! • Dependabilidade: – Conceito mais atual; – Confiança que se pode ter em um sistema; Conceitos - Objetivo Conceitos – Falha, Erro e Defeito • Defeito: – Desvio da especificação; – Não pode ser tolerado; • Erro: – Causador de defeito em potencial; • Falha: – Causa física ou algoritmica do erro; Conceitos – Falha, Erro e Defeito Conceitos – Falha, Erro e Defeito Conceitos – Falha, Erro e Defeito • Falhas são inevitáveis: – Componentes físicos envelhecem; – Projetos de software podem apresentar falhas humanas; • Defeitos são evitáveis: – Através de técnicas de tolerância a falhas; Conceitos – Falha, Erro e Defeito • Exemplo: – Chip com defeito: falha; – Interpretação errada da informação: erro; – Provoca negação de acesso ao usuário: defeito; • Nem toda falha leva a um erro; • Nem todo erro leva a um defeito; – Podem não aparecer durante a execução do sistema; Conceitos – Classificação das Falhas Conceitos – Classificação das Falhas • Natureza: falhas de hardware, software, operação; • Extensão: local ou global; • Valor: determinado ou indeterminado no tempo; • Falhas de interação intencional: – são tratadas por técnicas de segurança, não por tolerância a falhas; Conceitos – Classificação das Falhas • Tf 1.2.doc • Atributos e dependabilidade • xxx Técnicas de Dependabilidade Técnicas de Dependabilidade Técnicas de Dependabilidade Técnicas de Tolerância a Falhas • Classificam-se em: – Técnicas de mascaramento; – Técnicas de detecção e reconfiguração; • Mascaramento: – Usa redundância para mascarar o defeito; – É mais rápida; – Própria para tempo real; Técnicas de Tolerância a Falhas Detecção e Reconfiguração • Fase de Detecção: • xxx Redundância da Informação • Repete bits na transmissão: – Códigos de paridade; – Técnicas de checksum; • Detecta apenas erros simples; • Usado em componentes de hardware: – Memórias e processadores; – Redes de computadores; Redundância Temporal • Torna redundante as informações no tempo; • Evita custo de harware, aumentando o tempo; • Usado onde o tempo não é crítico; • Para detectar falhas transitórias: – Repete-se a computação no tempo; – Resultados diferentes indicam falhas; Redundância Temporal • Para detectar falhas permanentes: – Com base em uma computação normal; – Repete-se a computação com dados codificados; – Compara-se o resultado da computação normal com o resultado esperado na computação codificada; • A codificação força o uso diferente do componente; Redundância HW - Passiva • Faz mascaramento de falhas; • Vários componentes executam a mesma tarefa; • Resultado determinado por votação; • Resultado obtido por maioria ou valor médio; Redundância HW - Passiva Redundância HW - Passiva Redundância HW - Passiva • TMR: redundância modular tripla; • NMR: redundância modular N; • É ideal para falhas temporárias: • Suporta apenas uma falha permanente; Redundância HW - Ativa • Técnicas de detecção, localização e reconfiguração; Redundância HW - Ativa Redundância HW - Ativa • Reconfiguração do módulo estepe: – Alimentado: minimiza a descontinuidade do sistema; – Não alimentado: espete só começa a operar quando necessário; – Módulo não alimentado minimiza a vida útil do estepe; Redundância HW - Híbrida • Baseado em votação: – Módulo que descorda é desconectado; – Estepe entra em seu lugar; • Modelo redundância auto-eliminadora • xxx Redundância HW - Híbrida Redundância Software • Se a falha está no software, replicação de hardwares é inútil; • Solução: replicar o software: – Diversidade; – Blocos de recuperação; – Verificação de consistência; Redundância SW - Diversidade • São implementadas diversas soluções em software; • Resultado determinado por votação; • Diversidade de algoritmos; • Diversidade de versões; Redundância SW - Diversidade Redundância SW - Diversidade • xxx • Problemas: – Aumento do custo de desenvolvimento; – Não há garantias de que o erro não esteja em todas as versões; Redundância SW – Blocos Recuperação • xxx Pesquisas sobre IDSs Aspectos em desenvolvimento • Técnicas de Detecção: – Inteligência Artificial; – Sistemas Imunológicos; • Técnicas de Correlação; – Diminuir informações no log; – Identificar ataques distribuídos; • Interoperabilidade: – Diferentes IDSs trocando informações; Pesquisas - Interoperabilidade • Existe uma grande diversidade de IDSs: – análise de assinaturas, métodos estatísticos; – baseados em rede, baseados em host; – centralizados, distribuídos; • Sem padrão de arquitetura e comunicação; • A necessidade de interoperabilidade leva à necessidade de padronização; Interoperabilidade – Padrões • Modelo CIDF: – Divisão em módulos; – Atualmente abandonado; • Modelo IDWG: – Está em fase de Draft (IETF); – Modelo de dados IDMEF; – Tendência a ser implementado; Interoperabilidade - IDMEF • Define formato e significados dos dados; • Diversidade de informações: – alertas grandes e pequenos; – rede, sistema operacional, aplicativos; • É orientado a objetos; Interoperabilidade – IDMEF Visão Geral IDMEF-Message Alert Analyser 1 1 1 1 Heartbeat 1 1 1 1 CreateTime 1 0..* AdditionalData 0..* 1 Interoperabilidade - IDMEF • Não define comunicação de respostas: – Não gerencia respostas; – Sem interoperabilidade de respostas; – Operador tem que conhecer cada IDS; – Atrazo no envio de respostas; Pesquisa LRG – Extensão IDWG • Objetivo geral: – Propor uma extensão ao modelo IDWG, de forma a suportar o envio de respostas; • Objetivos específicos: – estender a arquitetura IDWG; – estender o modelo de dados IDMEF; – desenvolver um gerenciador de alertas e respostas; Pesquisa LRG – Modelo Proposto Arquitetura Recurso Ação ContraMedidas Fonte de Dados Atividade Sensor Resposta Gerenciador Atividade Evento Sensor Evento Alerta Resposta Notificação Analisador Operador Administrador Política de Segurança Pesquisa LRG – Modelo IDREF Visão Geral Response alertident -analyzerid : String CreateTime 1..* 1 React IDREF-Message -ident : String -version : String 1 Config Manager 1 1 1 1 0..1 0..* AdditionalData description Pesquisa LRG - Desenvolvimento • Componentes desenvolvidos: – IDSMan: gerenciador IDMEF / IDREF; – IDSAna: ponte entre Analisador e Gerenciador; – IDSRes: componente de Contra-Medidas; • Desenvolvida biblioteca IDREF; • Linguagem Java; – Orientação a objetos; – Bibliotecas existentes; Pesquisa LRG - Desenvolvimento Bibliotecas Utilizadas • Beepcore: protocolo BEEP mapeado no TCP; • IDXP-Java: perfil IDXP do BEEP; • JavaIDMEF: modelo de dados IDMEF; • JPcap: captura/geração de pacotes de rede; Pesquisa LRG - Desenvolvimento Componente IDSMan Pesquisa LRG - Validação Componente IDSMan Pesquisa LRG - Desenvolvimento Componente IDSAna • Lê mensagens IDMEF de um arquivo; • Transmite mensagens para o IDSMan; • Um IDS deve alimentar o arquivo; Pesquisa LRG - Desenvolvimento Componente IDSRes • Recebe respostas IDREF do IDSMan; • Armazena as respostas em log; • Aplica as ações aos recursos; Pesquisa LRG - Ambiente Log IDREF Ambiente de domínio do IDS IDSRes IDSAna IDS Snot BEEP/IDXP IDMEF IDSMan Arquivo IDMEF BEEP/IDXP IDREF Considerações Finais • Atualmente existem vários mecanismos voltados para a prevenção de ataques: – Firewall, Criptografia; • Menos representativa é a utilização de mecanismos para: – Detecção de ataques; – Identificação de ataques/vulnerabilidades; – Resposta a ataques em andamento; Considerações Finais • Identifica que os mecanismos de prevenção foram ultrapassados; • Muitos ataques ocorrem dentro do ambiente: – Funcionários, estudantes; • Um ambiente seguro deve combinar diversos mecanismos; – Criptografia, Firewall, IDS, etc.