Escolar Documentos
Profissional Documentos
Cultura Documentos
• Bug e Debug
• Tipos de Bugs
2
• Identificação:
– Papel do sistema
– Requisitos
• Realizada por Analistas de Sistemas ou
Programadores
• Uma das fases da análise é a
verificação de bugs.
3
• Ocorrência de um erro de fábrica
– Hardware
– Software
• Provém do ano 1945
– Quando foi encontrada uma mariposa num circuito
do MARK II.
• É usado por engenheiros para classificar
pequenas falhas
• Debug
– Processo de depuração de bugs
4
5
• Podem ocorrer em diversas fases
– Fase de requisitos
• Mau entendimento das necessidades dos utilizadores
• Descrição ambígua ou incompleta
• Interface gráfica pobre.
– Fase de análise e desenho
• Arquitectura de software
• Modelo de dados
• Interfaces do sistema
– Fase de Construção
• Implementação inadequada dos algoritmos de
processamento
• Falta da documentação do código
• Deficiente interligação dos componentes
6
• Podem ocorrer em diversas fases
– Fase de requisitos
• Mau entendimento das necessidades dos utilizadores
• Descrição ambígua ou incompleta
• Interface gráfica pobre.
– Fase de análise e desenho
• Arquitectura de software
• Modelo de dados
• Interfaces do sistema
– Fase de Construção
• Implementação inadequada dos algoritmos de
processamento
• Falta da documentação do código
• Deficiente interligação dos componentes
7
• Originados devido:
– Pressão nos prazos de entrega do
software
– Código complexo
– Mudanças na tecnologia
• Condições ambientais
– Radiação
– Magnetismo
– Poluição
8
• Geração de sequências de instruções de forma dinâmica
– Imediatamente antes da execução do programa.
9
• Sistema automático que identifica o
programa ou o módulo do programa
– Pattern Recognition -> coloca dados de entrada
nas classes, responsáveis por extrair os
atributos/propriedades essenciais que
caracterizam estes mesmos dados.
10
• Princípios para a subdivisão de elementos
em classes:
– Enumeração dos membros da classe
– Uniformização das propriedades
• Quais as propriedades comuns entre os elementos da
mesma classe.
– Agrupamento
11
• Analisa o software, em termos de
segurança, relativamente à existência de
DPM’s (Destructive Program Means)
– Exemplos de DPM’s: Vírus, Trojan Horses, etc.
• 3 níveis = 3 fases:
– Análise Lexical
– Análise Sintáctica
– Interpretação Semântica
12
• Análise Léxica
– Verificação estática num programa relativamente
à presença de pedaços de código de DPM’s
conhecidos e de outros códigos suspeitos.
• Análise Sintáctica
– Desmonta o código de um programa e faz a
retradução deste em construções algorítmicas
– Faz a comparação destas construções com as
construções de DPM’s conhecidos
• Existentes numa Base de Conhecimento (espécie de Base de
Dados)
13
• Interpretação Semântica
– Inicia os programas num ambiente virtual para a obter os
códigos do programa após a sua auto-encriptação e auto-
extracção.
– Obtenção de um protocolo de desafio/resposta relativo ao
programa e ao seu ambiente operacional
• Desvantagens:
– Impossibilidade de detecção de DPM’s que não estejam na
sua Base de Conhecimento.
– Bugs podem utilizar métodos especiais que os protejam,
na desmontagem e no rastreio do programa
– Possibilidade de que nem todos os ramos de um programa
sejam rastreados 14
• Um sistema computacional isolado =
Sistema protegido!
15
• Um sistema computacional isolado =
Sistema protegido!
16
• Um bug deve ter a capacidade de:
– Activar e iniciar
– Continuar em memória principal
– Activação após o reinicio do sistema
– Duplicação – para que se consiga infiltrar
noutras máquinas
– Autodestruição – elimina o código e
indicadores da sua presença
17
• GOANNA
19
Questões?