1 injeção de falhas técnicas e ferramentas. 2 introdução n avaliação da confiabilidade de um...
TRANSCRIPT
1
Injeção de FalhasTécnicas e Ferramentas
2
Introdução
Avaliação da confiabilidade de um sistema envolve o estudo de defeitos e erros
Difícil identificar/recriar cenários defeituosos Abordagem baseada em experimentos
– Concepção– Prototipação– Operação
Instrumentos e ferramentas para injeção de falhas– Recriar cenários defeituosos– Monitorar efeitos
3
Introdução
Injeção de falhas– Detecção– Isolamentos– Recuperação
Ambiente para injeção de falhas
Implementação
Hardware ou Software Escolha dependente do tipo de falha
4
Injeção de Falhas por Hardware
Com contato– Injetor tem contato físico com o sistema– Produz alterações de tensão/corrente externas ao
sistema Sem contato
– Injetor não tem contato físico com o sistema– Fontes externas produzem fenomenos físicos
causando alterações de tensão/corrente internas ao sistema
5
Injeção de Falhas com Contato
Pin-level injection– Contato direto com os pinos do chip
Principais técnicas– Active probes
• probes ligadas diretamente nos pinos do chip produzindo alteração de tensão/corrente
• podem danificar o chip
– Socket insertion• suporte entre o chip e a placa que injeta falhas • podem gerar falhas mais complexas como inversão de
pinos e and/or de pinos
6
Injeção de Falhas sem Contato
Fontes externas que produzem fenômenos físicos naturais
Principais técnicas– Radiação iônica
• emissão de iôns gera corrente dentro do chip
– Campos eltromagnéticos• corrente gerada por indução eletromagnética
Difíceis de controlar– Ativação– Localização
7
Ferramentas
Messaline– Injeção de falha com contato (pin-level injection)
• Active probes • Socket insertion (e.g. stuck-at, open, bridging, logic)
– Controla a duração e a frequência das falhas
8
Ferramentas
FIST (Fault Injection System for Study of Transient Fault Effect)– Injeção de falhas transientes com e sem contato– Radiação iônica
9
Injeção de Falhas por Software
Vantagens– Baixo custo (não requerem hardware extra)– Flexibilidade
Desvantagens– Acesso limitado– Alteração da estrutura original do software
Sistemas alvo– Aplicações– Sistemas operacionais
10
Injeção de Falhas por Software
Tempo de compilação– Falha inserida no código fonte (e.g. > → <)– Emula falhas de hardware e software
Tempo de execução– Time out
• Timer pré-programado dispara a injeção de falhas
– Exception/trap• Baseada em eventos
– Code insertion• Instruções que disparam a injeção de falhas
11
Ferramentas
Ferrari (Fault and Error Automatic Real-Time Injection)– Software Traps (eventos)– Falhas: CPU, memória e barramento– Altera valores de registradores e posições de
memória (dados corrompidos)
12
Ferramentas
Doctor (Integrated Software Fault Injection Enviroment)– Code modification (Compilação)– Time out, Software Traps (Execução)– Falhas: CPU, memória e rede
13
Ferramentas
Xception– Hardware Exception (interrupções)– Injeção de falhas implementada como ISR– Eventos
• Fetch em determinado endereço• Load em determinado endereço• Store em determinado endereço• Time out• Combinação de eventos
14
Comparação
15