SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
Qualidade de
Software
Aula 03 - QS -
Confiabilidade de SW
Prof. Ms. Luiz Alberto
Contato: lasf.bel@gmail.com
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Confiabilidade de software
– 1 –
usandousando
Confiabilidade
de software
medida e estimada
dados históricos e
de desenvolvimento
pode
ser
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Falhas provocam custos
• Computadores são onipresentes
• Problemas causados por falhas vêm piorando
• Exemplos:
– Falha em e-commerce
– Falha em controle embarcado de carros
– Software malicioso em computadores de uma empresa
• O usuário precisa confiar no sistema
– 2 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Confiança: Funcionalidade
1. Falhas do sistema afetam grande numero de
pessoas
2. Usuários rejeitam sistemas não-confiáveis,
inseguros ou desprotegidos
3. Custos de falhas do sistema podem ser
enormes
4. Sistemas pouco confiáveis podem causar
perdas de informação
– 3 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Tipos de falhas
1. Falhas de Hardware
2. Falhas de Software
3. Falhas operacionais
– 4 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Sistemas críticos
• É um tipo de sistema em que falhas podem causar:
– Danos a pessoas,
– Danos ao ambientes,
– Grandes perdas econômicas
• Exemplos:
– Bomba de insulina (crítico por segurança)
– Sistemas de navegação para ônibus espaciais (crítico por
missão)
– Sistemas de transferência monetária online (crítico por
negócio)
– 5 –
Prof. Luiz Alberto -
Em termos estatísticos, a confiabilidade de software é definida como:
“a probabilidade de operação livre de falhas de um programa de
computador num ambiente específico durante determinado tempo”
(Musa et al, 1987 in Pressman (1995).
DEFINIÇÃO
Falhas
aborrecimentos
catastrofes
Não conformidade aos requisitos de software
– 6 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Propriedades de Confiança
• Muitas pessoas hoje usam computadores e convivem
com falhas de sistema. Poucos confiam plenamente nos
computadores que usam.
• Confiança é uma propriedade que reflete fiabilidade (o
grau de confiança do usuário no sistema)
• Não pode ser expresso numericamente
– Exemplo: “não confiável”, “muito confiável” “ultra
confiável”
• Confiabilidade ≠	Utilidade, ex: editor de texto
– 7 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Dimensões da Confiança
Confiança
Disponibilidade
Habilidade do sistema
fornecer serviços quando
requisitado
Confiabilidade
Habilidade do sistema
fornecer os serviços
especificados
Segurança
Habilidade do sistema
operar sem falhas
catastróficas
Proteção
Habilidade do sistema se
proteger contra intrusão
acidental ou deliberada
– 8 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Para desenvolver um software
confiável é preciso ...
1. Evitar introdução acidental de erros durante as fases de
especificação e desenvolvimento.
2. Usar processos de verificação e validação que detectem erros
residuais.
3. Projetar mecanismos de proteção que protejam o sistema contra
ataques.
4. Configurar corretamente o sistema final e seus software de suporte
para o ambiente operacional.
... e incluir mecanismos de recuperação para restaurar o serviço o mais
rapidamente possível.
– 9 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Para tolerar defeitos é necessário:
• Usar código redundante para:
– Monitorar o sistema
– Detectar estados errôneos
– Recuperar o sistema quando ocorrerem falhas
• Consequência: Perda de eficiência
Eficiência Confiança
Decisão do
desenvolvedor
– 10 – Prof. Luiz Alberto -
Custos
• Software com baixa
Confiança custa pouco para
melhorar
• Sistema com alta confiança
custa exponencialmente
mais caro
• Custo aumenta
exponencialmente
Custo
Confiança
Baixa Média Alta
Muito
Alta
Ultra
alta
11
Prof. Luiz Alberto -
Tempo médio de ocorrência de falhas
Tempo médio até a ocorrência de falhas
Tempo médio de reparo
Taxa de ocorrência de falha.
Probabilidade de falha sob demanda
Disponibilidade
Métrica do
número de falhas
do sistema
Métricas de tempo
ou número de
transações
Tempo gasto para
reparar ou
reiniciar o sistema
Classificação geral
Métricas de confiabilidade:
– 12 – Prof. Luiz Alberto -
Confiabilidade de software
Medidas de confiabilidade e disponibilidade de software
MTBF = MTTF + MTTR
MTBF – tempo médio de ocorrência de falhas
(mean time between failure)
MTTF – tempo médio até a ocorrência de falha
(mean time to failure)
MTTR – tempo médio de reparo
(mean time to repair)
Disponibilidade = MTTF
--------------------------- x 100%
(MTTF + MTTR)
– 13 –
Prof. Luiz Alberto -
Probabilidade de falhas sob demanda (POFOD):
A probabilidade de o sistema falhar quando um pedido de serviço é feito.
Uma POFOD de 0,0001 significa que um entre mil pedidos de serviços
pode resultar em falha.
POFOD – probability of failure on demand
Taxa de ocorrência de falha (ROCOF):
A frequência com que um comportamento inesperado pode ocorrer.
Uma ROCOF de 2/100 significa que duas falhas têm possibilidade de
ocorrer em cada cem unidade operacionais de tempo. Essa medida=
Intensidade de falhas.
ROCOF – Rate of failure occurrence
– 14 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Disponibilidade e Confiabilidade
Disponibilidade e Confiabilidade são
propriedades relacionadas que podem ser
expressas numericamente.
– 15 –
Prof. Luiz Alberto -
disponibilidade
Disponibilidade: é a probabilidade de um sistema, em determinado
instante, ser operacional e fornecer os serviços requeridos.
A confiabilidade implica a disponibilidade – se um serviço
especificado não for prestado, o sistema não estará se
comportando de acordo com sua especificação.
– 16 – Prof. Luiz Alberto -
Exemplo: sistema A falha uma vez por ano e leva 3 dias para reiniciar;
Sistema B falha uma vez por mês e leva 3 minutos para reiniciar.
Qual a maior disponibilidade? Qual o preferido?
A disponibilidade não depende do sistema em si, mas do tempo
necessário para reparar os defeitos que tornam o sistema
indisponível.
– 17 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Disponibilidade
• Probabilidade do sistema estar ativo e funcional
para fornecer os serviços quando requisitado
• Ex. Se o sistema tem disponibilidade 0,999
significa que ele está disponível 99,9% das
vezes em que é requisitado.
– 18 – Prof. Luiz Alberto -
“altos níveis de confiança de software somente podem ser
alcançados à custa do desempenho do sistema”
Refletindo...
confiabilidade
– 19 –
Prof. Luiz Alberto -
Um software confiável inclui:
Código extra (redundante; para verificar os estados excepcionais
do sistema e para possibilitar a recuperação necessária a partir
das falhas do sistema)
Aumento da capacidade de armazenamento
X
Redução do desempenho
– 20 – Prof. Luiz Alberto -
Razões pelas quais a confiança é um atributo importante:
1. Sistemas não confiáveis (não apresentam segurança ou
são inseguros) não são utilizados;
2. Os custos de falhas em um sistema podem ser enormes;
3. É difícil readequar a confiança;
4. Frequentemente é possível compensar a falha de desempenho do
sistema;
5. Sistemas não confiáveis podem causar a perda das informações.
– 21 –
Prof. Luiz Alberto -
A confiabilidade do produto de software é influenciada pelo
processo de software utilizado para desenvolver o produto.
Um processo orientado no sentido de evitar defeitos poderá
desenvolver um sistema confiável.
– 22 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Confiabilidade
• Probabilidade do sistema fornecer os serviço
conforme definido na especificação do sistema
• Ex. Se o sistema, em média, apresenta erros em
2 a cada 1.000 entradas a confiabilidade do
sistema é 0,002
– 23 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Relação entre Disponibilidade e
Confiabilidade
• A importância da propriedade depende do
sistema:
– Se o usuário demanda uso continuo do sistema, então
a disponibilidade deve ser alta
• Sistemas bancários online
– Se os custos de uma falha são baixos, então a
confiabilidade pode ser baixa.
• Sistemas telefônicos.
– 24 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Fator tempo
• Disponibilidade leva em conta o tempo para
resolver uma falha
Sistema A
1 falha por ano
3 dias (média) para
recuperar
4.320 minutos por ano indisponível
Sistema B
1 falha por mês
10 minutos (média)
para recuperar
120 minutos por ano indisponível
Melhor
disponibilidade– 25 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Fator Momento
• Não só o tempo é importante para a disponibilidade,
mas também o momento em que as falhas ocorrem.
• Um sistema que falha uma hora por dia entre 3 e 4
da manhã não afeta tantos usuários quanto um
sistema que falha 10 minutos por dia durante o
horário comercial.
• A definição de disponibilidade NÃO leva em conta
o momento da falha.
– 26 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Definições
Termo Descrição
Exemplo (sistema de avaliação
climática remoto)
Erro humano (Engano)
Comportamento humano que
resulta na introdução de erros no
sistema
Programador decide computar a
hora da próxima transmissão
como sendo (hora atual + 1).
Erro de sistema (system fault)
Característica de um sistema que
pode levar a um defeito de
sistema
Adicionar 1 a hora atual sem
verificar se hora atual > 23
Defeito de sistema (system error)
Um estado incorreto do sistema,
ou seja, um estado do sistema que
não é esperado por seus
projetistas
Valor da hora de transmissão é
entrado como 24.XX em vez de
00.XX
Falha de sistema (system failure)
Um evento que ocorre em algum
momento, quando o sistema não
fornece o serviço esperado por
seus usuários
A informação não é transmitida
porque a hora está incorretamente
informada
– 27 –
Prof. Luiz Alberto -
Os defeitos de software causam falhas de software quando o código
com defeito é executado com um conjunto de entradas que expõem
o defeito.
Conjunto de entradas
Conjunto de saídas
programa
Ie
Oe
Entradas que
causam saídas
errôneas
Saídas errôneas
Estado de erro
– 28 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Defeitos e Falhas
• Erros não necessariamente provocam defeitos.
• Defeitos não necessariamente provocam falhas.
– Nem todo código de um programa é executado
– Defeitos são transientes
– O sistema pode conter detecção e proteção contra
falhas.
– Usuários evitam entradas que a experiência mostrou
provocar falhas.
– 29 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Como Melhorar a Confiabilidade
• Evitar erros.
• Detecção e remoção de erros.
• Tolerância a erros
especificação
– 30 – Prof. Luiz Alberto -
A segurança de um sistema é um atributo que reflete a
capacidade do sistema de operar normal e anormalmente,
sem ameaçar as pessoas ou o ambiente.
Quando a segurança é um atributo essencial de um sistema crítico,
esse sistema é “um sistema de segurança crítica”.
Exemplos:
Sistemas de controle de aeronaves;
Sistemas de controle de processos em indústrias químicas;
11.3 Segurança
– 31 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
11.3 Segurança
• Sistemas críticos com relação à segurança são
aqueles em que a operação do sistema deve ser
sempre segura, isto é, não devem causar danos
às pessoas e ao ambiente, mesmo que ocorra
uma falha.
• Exemplos:
– Sistemas de controle de aviões;
– Sistemas de controle de automóveis;
– Sistemas de controle de plantas químicas, etc.
– 32 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Geralmente...
• É mais simples implementar e analisar o
controle de hardware do que o de software.
• Entretanto, sistemas muito complexos muitas
vezes não podem ser controlados só por
hardware.
– Ex: aeronaves militares são aerodinamicamente
instáveis e requerem ajuste contínuo controlado por
software.
– 33 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Classes de softwares críticos de
segurança
• Software crítico de segurança primária
– Esse é um software que é embutido como um controlador em um
sistema. A disfunção desse software pode causar uma disfunção de
hardware, o que resulta em ferimentos em pessoas ou dano
ambiental.
• Software crítico de segurança secundária
– Esse é um software que pode indiretamente resultar em ferimentos.
Exemplo: banco de dados de um médico – erro pode resultar em
dose errada de medicamento.
– 34 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Confiabilidade e segurança
• Há um relacionamento entre confiabilidade e segurança
mas uma não implica na outra.
• Razões para que um software confiável seja inseguro:
– Não é possível estar 100% seguro que um software esteja
livre de defeitos, que podem ficar adormecidos por muito
tempo;
– A especificação pode ser incompleta;
– Problemas de hardware podem levar a comportamentos
imprevisíveis;
– Operadores do sistema podem gerar entradas erradas ou de tal
forma combinadas que levam a erros.
– 35 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Confiabilidade e segurança
A confiabilidade e a segurança do sistema estão relacionadas,
mas são atributos de confianças distintos.
Os sistemas que apresentam tolerância a defeitos não são
necessariamente seguros.
– 36 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Terminologia de Segurança
– 37 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Garantia de segurança
• Garantir que não ocorram acidentes ou que as
consequências sejam mínimas.
– Prevenção de perigos: evitar riscos. Ex. apertar dois
botões para assegurar que as duas mãos estejam fora
do alcance do perigo.
– Detecção e remoção de perigos. Ex. válvula para
aliviar pressão.
– Limitação de danos: motor de avião, que possuem
extintores de incêndio automáticos.
– 38 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Garantia da segurança (cont.)
• Análises de acidentes mostram que os acidentes
geralmente ocorrem quando há várias falhas ao
mesmo tempo.
• Combinações inesperadas de falhas podem levar a
falhas globais.
• Há argumentos prós e contras o uso de software
para controle.
• É preciso fazer uma análise de senso de proporção
sobre a segurança do sistema, já que sistemas 100%
seguros são impossíveis.
– 39 –
Prof. Luiz Alberto -
Razões pelas quais os sistemas de software que são confiáveis
não são necessariamente seguros:
1. A especificação pode estar incompleta, pelo fato de não descrever
o comportamento exigido do sistema em algumas situações
críticas; (dificuldades com requisitos).
2. As disfunções de hardware podem fazer com que o sistema se
comporte de maneira imprevisível e apresentar o software em
um ambiente não previsto.
3. O operador do sistema pode gerar entradas que não são
individualmente corretas, que, em determinadas situações, podem
levar a uma disfunção do sistema. (mecânico e software para levantar
trem de aterrissagem)
– 40 – Prof. Luiz Alberto -
Chaves para garantir a segurança:
1. Evitar o perigo;
2. Detectar e eliminar o perigo; (válvula de alívio)
3. Limitar o prejuízo. (extintores de incêndio automáticos)
– 41 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Proteção
• É um atributo do sistema que reflete sua capacidade
de se proteger de ataques externos (acidentais ou
deliberados).
• O uso em rede facilita o acesso de estranhos.
• Exemplos: vírus, cavalos de troia, acesso não
autorizado, ...
• Para alguns sistemas, a proteção é a dimensão mais
importante da confiança. Ex. sistemas militares, de
comércio eletrônico e de reserva de passagens
aéreas.
– 42 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Proteção
A proteção de um sistema é uma avaliação do ponto em que o sistema
protege a si mesmo de ataques externos.
Sem um nível razoável de proteção, a disponibilidade, a
confiabilidade e a segurança do sistema poderão ser
comprometidos, se ataques externos provocarem algum dado
ao sistema.
– 43 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Terminologia de proteção
– 44 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Terminologia de proteção
– 45 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Principais ameaças à proteção de
sistemas em rede:
• Confidencialidade do sistema e seus dados.
• Integridade do sistema e seus dados.
• Disponibilidade do sistema e seus dados.
• As três são naturalmente interdependentes.
– 46 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Vulnerabilidades em Sistemas de
Informação
• Falhas humanas:
– senhas fáceis de descobrir ou senhas anotadas em lugares
que são facilmente descobertos
– Administradores cometem erros de configuração de
controle de acesso
– Usuários não instalam software de proteção
• Muitas vezes, erros que parecem dos usuários são
facilitados por decisões de projeto. Exemplo:
exigência de alterações constantes de senhas, que
levam à anotação das senhas em papel.
– 47 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Controles para melhorar a proteção
• Prevenção de vulnerabilidade: para evitar que os
ataques sejam bem sucedidos
– Sistema não está ligado a uma rede pública
– Criptografia
• Detecção e neutralização de ataques:
funcionalidades para monitorar a operação do
sistema e descobrir padrões incomuns de uso e
tomar medidas como desligar o sistema, restringir o
acesso etc.
• Limitação de exposição e recuperação. Ex. backups
automatizado e espelhamento.
– 48 – Prof. Luiz Alberto -
Erros no desenvolvimento de um sistema podem levar
a falhas na proteção.
Exemplo de fraquezas:
Sistema não responde a entradas inesperadas;
Seus limites não são verificados
Alto nível de proteção:
Sistemas militares;
Sistemas de comércio eletrônico;
Sistemas de processamento e intercâmbio de informações
confidenciais.
– 49 –
Prof. Luiz Alberto -
Danos provocados por ataques externos:
1. Interrupção de serviço;
afeta a disponibilidade do sistema.
2. Corrupção de programas ou dados;
afeta a confiabilidade e a segurança.
3. Revelação de informações confidenciais;
afeta a disponibilidade e a confiabilidade.
– 50 – Prof. Luiz Alberto -
Uso da Internet
Mais conexões
Mais facilidade de ataques
Atributo relacionado ao uso da Internet: sobrevivência.
É a capacidade de um sistema continuar a prestar serviços
enquanto sob ataque e, potencialmente, parte do sistema
está incapacitada.
– 51 –
Prof. Luiz Alberto -
Resistência a ataques;
Reconhecimento de um ataque;
Recuperação a partir dos danos provocados pelo ataque..
Abordagens para assegurar a proteção de um sistema:
– 52 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Comentários finais
• Métodos para certificação de disponibilidade,
confiabilidade e segurança de sistemas
assumem que o software operacional é o
mesmo instalado originalmente.
• Se o sistema foi atacado e modificado, esses
princípios não são mais válidos.
• Exemplo: controle de limites de vetores.
– 53 –
Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW
Lista de Exercício
1. Quais as dimensões mais importantes da confiança de sistema?
2. Sugira quais atributos de confiança podem ser mais críticos para os seguintes
sistemas. Justifique sua resposta.
a) Um servidor de internet com milhares de clientes
b) Um bisturi controlado por computador usado em cirurgias laparoscópicas.
c) Um sistema de controle direcional, usado em um veículo lançador de satélite.
d) Um sistema de gerenciamento de finanças pessoais baseado na internet.
3. Confiabilidade e segurança são atributos de confiança relacionados, porém
distintos. Descreva as principais distinções entre esses atributos e explique por
que é possível que um sistema confiável seja inseguro e vice-versa.
4. Em um sistema médico projetado para liberar radiação de tumores, sugira um
possível perigo e proponha um recurso de software que possa ser usado para
garantir que o perigo identificado não resulte em um acidente.
– 54 –

Mais conteúdo relacionado

Mais procurados

Mais procurados (19)

Implementando Segurança em desenvolvimento com a verdadeira ISO
Implementando Segurança em desenvolvimento com a verdadeira ISOImplementando Segurança em desenvolvimento com a verdadeira ISO
Implementando Segurança em desenvolvimento com a verdadeira ISO
 
Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011Desenvolvimento Seguro- 2011
Desenvolvimento Seguro- 2011
 
(2) O Processo de Gerenciamento de Vulnerabilidades Web
(2) O Processo de Gerenciamento de Vulnerabilidades Web(2) O Processo de Gerenciamento de Vulnerabilidades Web
(2) O Processo de Gerenciamento de Vulnerabilidades Web
 
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TI
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TIBe Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TI
Be Aware Webinar Symantec - Reduza as vulnerabilidades do seu ambiente de TI
 
Segurança vs UX: Qual relação do usuário com a segurança do sistema?
Segurança vs UX: Qual relação do usuário com a segurança do sistema?Segurança vs UX: Qual relação do usuário com a segurança do sistema?
Segurança vs UX: Qual relação do usuário com a segurança do sistema?
 
(4) Comparando o N-Stalker WAS com o RedeSegura
(4) Comparando o N-Stalker WAS com o RedeSegura(4) Comparando o N-Stalker WAS com o RedeSegura
(4) Comparando o N-Stalker WAS com o RedeSegura
 
Requisitos de Segurança
Requisitos de SegurançaRequisitos de Segurança
Requisitos de Segurança
 
ERP no Varejo
ERP no VarejoERP no Varejo
ERP no Varejo
 
Curso Plano de Continuidade dos Negócios - Overview
Curso Plano de Continuidade dos Negócios  - OverviewCurso Plano de Continuidade dos Negócios  - Overview
Curso Plano de Continuidade dos Negócios - Overview
 
CNASI 2014 - Servicos Confiaveis
CNASI 2014 - Servicos ConfiaveisCNASI 2014 - Servicos Confiaveis
CNASI 2014 - Servicos Confiaveis
 
CNASI 2015 - Desenvolvimento Seguro
CNASI 2015 - Desenvolvimento SeguroCNASI 2015 - Desenvolvimento Seguro
CNASI 2015 - Desenvolvimento Seguro
 
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...
Artigo - OS FUNDAMENTOS DE TESTE DE SOFTWARE E SUA IMPORTÂNCIA NA QUALIDADE D...
 
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil
CPBR11 - DevSecOps: Adotando uma cultura de segurança ágil
 
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágil
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágilDevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágil
DevOpsDays Brasilia - DevSecOps: Adotando uma cultura de segurança ágil
 
Importância dos Testes em Sistemas para Internet
Importância dos Testes em Sistemas para Internet Importância dos Testes em Sistemas para Internet
Importância dos Testes em Sistemas para Internet
 
Qa test roadsec-bh - testes de segurança, não comece pelo fim!
Qa test   roadsec-bh - testes de segurança, não comece pelo fim!Qa test   roadsec-bh - testes de segurança, não comece pelo fim!
Qa test roadsec-bh - testes de segurança, não comece pelo fim!
 
Defesa Becker
Defesa BeckerDefesa Becker
Defesa Becker
 
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores WebGerenciamento de Vulnerabilidades em Aplicações e Servidores Web
Gerenciamento de Vulnerabilidades em Aplicações e Servidores Web
 
Aula3 engenharia requisitos
Aula3 engenharia requisitosAula3 engenharia requisitos
Aula3 engenharia requisitos
 

Destaque

Montagem de tabelas de capacidades e cálculo de índices de confiabilidade
Montagem de tabelas de capacidades e cálculo de índices de confiabilidadeMontagem de tabelas de capacidades e cálculo de índices de confiabilidade
Montagem de tabelas de capacidades e cálculo de índices de confiabilidade
FernandoMLagos
 
Apostila comandos eltricos - cefet
Apostila   comandos eltricos - cefetApostila   comandos eltricos - cefet
Apostila comandos eltricos - cefet
zeu1507
 
3020515 apostila-automacao-industrial (1)
3020515 apostila-automacao-industrial (1)3020515 apostila-automacao-industrial (1)
3020515 apostila-automacao-industrial (1)
Mércia Regina da Silva
 
Confiabilidade de processos e a gestão de riscos ambientais
Confiabilidade de processos e a gestão de riscos ambientaisConfiabilidade de processos e a gestão de riscos ambientais
Confiabilidade de processos e a gestão de riscos ambientais
Universidade Federal Fluminense
 
Apresentação confiabilidade e diagnóstico de falhas em sistemas industriais
Apresentação   confiabilidade e diagnóstico de falhas em sistemas industriaisApresentação   confiabilidade e diagnóstico de falhas em sistemas industriais
Apresentação confiabilidade e diagnóstico de falhas em sistemas industriais
Gláucio Bastos
 

Destaque (20)

Montagem de tabelas de capacidades e cálculo de índices de confiabilidade
Montagem de tabelas de capacidades e cálculo de índices de confiabilidadeMontagem de tabelas de capacidades e cálculo de índices de confiabilidade
Montagem de tabelas de capacidades e cálculo de índices de confiabilidade
 
Desvendando o desenvolvimento seguro de software
Desvendando o desenvolvimento seguro de softwareDesvendando o desenvolvimento seguro de software
Desvendando o desenvolvimento seguro de software
 
Especificação formal de protocolos de Segurança
Especificação formal de protocolos de SegurançaEspecificação formal de protocolos de Segurança
Especificação formal de protocolos de Segurança
 
Automacao basica
Automacao basicaAutomacao basica
Automacao basica
 
Comando
ComandoComando
Comando
 
Apostila comandos eltricos - cefet
Apostila   comandos eltricos - cefetApostila   comandos eltricos - cefet
Apostila comandos eltricos - cefet
 
3020515 apostila-automacao-industrial (1)
3020515 apostila-automacao-industrial (1)3020515 apostila-automacao-industrial (1)
3020515 apostila-automacao-industrial (1)
 
Comandos Elétricos Apostila
Comandos Elétricos ApostilaComandos Elétricos Apostila
Comandos Elétricos Apostila
 
Apostila automacao de sistemas guy
Apostila automacao de sistemas guyApostila automacao de sistemas guy
Apostila automacao de sistemas guy
 
Proconf softwear confiabilidade
Proconf softwear confiabilidadeProconf softwear confiabilidade
Proconf softwear confiabilidade
 
Confiabilidade de processos e a gestão de riscos ambientais
Confiabilidade de processos e a gestão de riscos ambientaisConfiabilidade de processos e a gestão de riscos ambientais
Confiabilidade de processos e a gestão de riscos ambientais
 
Os conceitos de confiabilidade e a análise de acidentes do trabalho
Os conceitos de confiabilidade e a análise de acidentes do trabalhoOs conceitos de confiabilidade e a análise de acidentes do trabalho
Os conceitos de confiabilidade e a análise de acidentes do trabalho
 
Os riscos e os conceitos de perdas confiabilidade de processos
Os riscos e os conceitos de perdas   confiabilidade de processosOs riscos e os conceitos de perdas   confiabilidade de processos
Os riscos e os conceitos de perdas confiabilidade de processos
 
Mkbf apresentação jan 2017
Mkbf apresentação jan 2017Mkbf apresentação jan 2017
Mkbf apresentação jan 2017
 
Confiabilidade sistemas final
Confiabilidade sistemas finalConfiabilidade sistemas final
Confiabilidade sistemas final
 
346238 3-confiabilidade [modo-de_compatibilidade]
346238 3-confiabilidade [modo-de_compatibilidade]346238 3-confiabilidade [modo-de_compatibilidade]
346238 3-confiabilidade [modo-de_compatibilidade]
 
Tabela sensores da sense.
Tabela sensores da sense.Tabela sensores da sense.
Tabela sensores da sense.
 
Apresentação confiabilidade e diagnóstico de falhas em sistemas industriais
Apresentação   confiabilidade e diagnóstico de falhas em sistemas industriaisApresentação   confiabilidade e diagnóstico de falhas em sistemas industriais
Apresentação confiabilidade e diagnóstico de falhas em sistemas industriais
 
Exercício 2 manutenção
Exercício 2   manutençãoExercício 2   manutenção
Exercício 2 manutenção
 
Exercícios manut
Exercícios manutExercícios manut
Exercícios manut
 

Semelhante a Aula 03 qs - confiabilidade de sw

Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)
Evandro Júnior
 
29241496 confiabilidade-conceitos-2
29241496 confiabilidade-conceitos-229241496 confiabilidade-conceitos-2
29241496 confiabilidade-conceitos-2
Margarete Santana
 

Semelhante a Aula 03 qs - confiabilidade de sw (20)

Segurança em sistemas distribuidos
Segurança em sistemas distribuidosSegurança em sistemas distribuidos
Segurança em sistemas distribuidos
 
Aula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosdsAula sd 2008_02aspectosprojectosds
Aula sd 2008_02aspectosprojectosds
 
Modelo de falhas
Modelo de falhasModelo de falhas
Modelo de falhas
 
Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)Aula 3 (alta disponibilidade)
Aula 3 (alta disponibilidade)
 
Sistemas de Tempo Real No Âmbito De Dependabilidade
Sistemas de Tempo Real No Âmbito De DependabilidadeSistemas de Tempo Real No Âmbito De Dependabilidade
Sistemas de Tempo Real No Âmbito De Dependabilidade
 
SRE - Esperança não é uma estratégia
SRE - Esperança não é uma estratégiaSRE - Esperança não é uma estratégia
SRE - Esperança não é uma estratégia
 
Tolerancia a falhas sistema distribuído .pdf
Tolerancia a falhas sistema distribuído .pdfTolerancia a falhas sistema distribuído .pdf
Tolerancia a falhas sistema distribuído .pdf
 
Prevenção e Recuperação de Falhas.pptx
Prevenção e Recuperação de Falhas.pptxPrevenção e Recuperação de Falhas.pptx
Prevenção e Recuperação de Falhas.pptx
 
Tolerancia falhas em software
Tolerancia falhas em softwareTolerancia falhas em software
Tolerancia falhas em software
 
Conceitos de confiabilidade
Conceitos de confiabilidadeConceitos de confiabilidade
Conceitos de confiabilidade
 
Aula 04 qs - sistemas embarcados
Aula 04   qs - sistemas embarcadosAula 04   qs - sistemas embarcados
Aula 04 qs - sistemas embarcados
 
Engenharia de software
Engenharia de software Engenharia de software
Engenharia de software
 
Alats Seminario V03 3
Alats Seminario V03 3Alats Seminario V03 3
Alats Seminario V03 3
 
29241496 confiabilidade-conceitos-2
29241496 confiabilidade-conceitos-229241496 confiabilidade-conceitos-2
29241496 confiabilidade-conceitos-2
 
Es aula01
Es   aula01Es   aula01
Es aula01
 
Aula 04
Aula 04Aula 04
Aula 04
 
Engenharia Software
Engenharia SoftwareEngenharia Software
Engenharia Software
 
Infraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISLInfraestrutura ágil com Puppet - CISL
Infraestrutura ágil com Puppet - CISL
 
Reactive architecture e microservices microservices, ap is e event driven (1)
Reactive architecture e microservices  microservices, ap is e event driven (1)Reactive architecture e microservices  microservices, ap is e event driven (1)
Reactive architecture e microservices microservices, ap is e event driven (1)
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 

Mais de Junior Gomes (6)

Aula 07 qs - cmmi
Aula 07   qs - cmmiAula 07   qs - cmmi
Aula 07 qs - cmmi
 
Aula 06 qs - garantia da qualidade de sw
Aula 06   qs - garantia da qualidade de swAula 06   qs - garantia da qualidade de sw
Aula 06 qs - garantia da qualidade de sw
 
Aula 05 qs - cocomo
Aula 05   qs - cocomoAula 05   qs - cocomo
Aula 05 qs - cocomo
 
Aula 02 qs - 5 s
Aula 02   qs - 5 sAula 02   qs - 5 s
Aula 02 qs - 5 s
 
Aula 01 qs - 6 sigma
Aula 01   qs - 6 sigmaAula 01   qs - 6 sigma
Aula 01 qs - 6 sigma
 
Aula 00 qs - apresentação da disciplina
Aula 00   qs - apresentação da disciplinaAula 00   qs - apresentação da disciplina
Aula 00 qs - apresentação da disciplina
 

Aula 03 qs - confiabilidade de sw

  • 1. Qualidade de Software Aula 03 - QS - Confiabilidade de SW Prof. Ms. Luiz Alberto Contato: lasf.bel@gmail.com Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Confiabilidade de software – 1 – usandousando Confiabilidade de software medida e estimada dados históricos e de desenvolvimento pode ser Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Falhas provocam custos • Computadores são onipresentes • Problemas causados por falhas vêm piorando • Exemplos: – Falha em e-commerce – Falha em controle embarcado de carros – Software malicioso em computadores de uma empresa • O usuário precisa confiar no sistema – 2 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Confiança: Funcionalidade 1. Falhas do sistema afetam grande numero de pessoas 2. Usuários rejeitam sistemas não-confiáveis, inseguros ou desprotegidos 3. Custos de falhas do sistema podem ser enormes 4. Sistemas pouco confiáveis podem causar perdas de informação – 3 –
  • 2. Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Tipos de falhas 1. Falhas de Hardware 2. Falhas de Software 3. Falhas operacionais – 4 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Sistemas críticos • É um tipo de sistema em que falhas podem causar: – Danos a pessoas, – Danos ao ambientes, – Grandes perdas econômicas • Exemplos: – Bomba de insulina (crítico por segurança) – Sistemas de navegação para ônibus espaciais (crítico por missão) – Sistemas de transferência monetária online (crítico por negócio) – 5 – Prof. Luiz Alberto - Em termos estatísticos, a confiabilidade de software é definida como: “a probabilidade de operação livre de falhas de um programa de computador num ambiente específico durante determinado tempo” (Musa et al, 1987 in Pressman (1995). DEFINIÇÃO Falhas aborrecimentos catastrofes Não conformidade aos requisitos de software – 6 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Propriedades de Confiança • Muitas pessoas hoje usam computadores e convivem com falhas de sistema. Poucos confiam plenamente nos computadores que usam. • Confiança é uma propriedade que reflete fiabilidade (o grau de confiança do usuário no sistema) • Não pode ser expresso numericamente – Exemplo: “não confiável”, “muito confiável” “ultra confiável” • Confiabilidade ≠ Utilidade, ex: editor de texto – 7 –
  • 3. Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Dimensões da Confiança Confiança Disponibilidade Habilidade do sistema fornecer serviços quando requisitado Confiabilidade Habilidade do sistema fornecer os serviços especificados Segurança Habilidade do sistema operar sem falhas catastróficas Proteção Habilidade do sistema se proteger contra intrusão acidental ou deliberada – 8 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Para desenvolver um software confiável é preciso ... 1. Evitar introdução acidental de erros durante as fases de especificação e desenvolvimento. 2. Usar processos de verificação e validação que detectem erros residuais. 3. Projetar mecanismos de proteção que protejam o sistema contra ataques. 4. Configurar corretamente o sistema final e seus software de suporte para o ambiente operacional. ... e incluir mecanismos de recuperação para restaurar o serviço o mais rapidamente possível. – 9 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Para tolerar defeitos é necessário: • Usar código redundante para: – Monitorar o sistema – Detectar estados errôneos – Recuperar o sistema quando ocorrerem falhas • Consequência: Perda de eficiência Eficiência Confiança Decisão do desenvolvedor – 10 – Prof. Luiz Alberto - Custos • Software com baixa Confiança custa pouco para melhorar • Sistema com alta confiança custa exponencialmente mais caro • Custo aumenta exponencialmente Custo Confiança Baixa Média Alta Muito Alta Ultra alta 11
  • 4. Prof. Luiz Alberto - Tempo médio de ocorrência de falhas Tempo médio até a ocorrência de falhas Tempo médio de reparo Taxa de ocorrência de falha. Probabilidade de falha sob demanda Disponibilidade Métrica do número de falhas do sistema Métricas de tempo ou número de transações Tempo gasto para reparar ou reiniciar o sistema Classificação geral Métricas de confiabilidade: – 12 – Prof. Luiz Alberto - Confiabilidade de software Medidas de confiabilidade e disponibilidade de software MTBF = MTTF + MTTR MTBF – tempo médio de ocorrência de falhas (mean time between failure) MTTF – tempo médio até a ocorrência de falha (mean time to failure) MTTR – tempo médio de reparo (mean time to repair) Disponibilidade = MTTF --------------------------- x 100% (MTTF + MTTR) – 13 – Prof. Luiz Alberto - Probabilidade de falhas sob demanda (POFOD): A probabilidade de o sistema falhar quando um pedido de serviço é feito. Uma POFOD de 0,0001 significa que um entre mil pedidos de serviços pode resultar em falha. POFOD – probability of failure on demand Taxa de ocorrência de falha (ROCOF): A frequência com que um comportamento inesperado pode ocorrer. Uma ROCOF de 2/100 significa que duas falhas têm possibilidade de ocorrer em cada cem unidade operacionais de tempo. Essa medida= Intensidade de falhas. ROCOF – Rate of failure occurrence – 14 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Disponibilidade e Confiabilidade Disponibilidade e Confiabilidade são propriedades relacionadas que podem ser expressas numericamente. – 15 –
  • 5. Prof. Luiz Alberto - disponibilidade Disponibilidade: é a probabilidade de um sistema, em determinado instante, ser operacional e fornecer os serviços requeridos. A confiabilidade implica a disponibilidade – se um serviço especificado não for prestado, o sistema não estará se comportando de acordo com sua especificação. – 16 – Prof. Luiz Alberto - Exemplo: sistema A falha uma vez por ano e leva 3 dias para reiniciar; Sistema B falha uma vez por mês e leva 3 minutos para reiniciar. Qual a maior disponibilidade? Qual o preferido? A disponibilidade não depende do sistema em si, mas do tempo necessário para reparar os defeitos que tornam o sistema indisponível. – 17 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Disponibilidade • Probabilidade do sistema estar ativo e funcional para fornecer os serviços quando requisitado • Ex. Se o sistema tem disponibilidade 0,999 significa que ele está disponível 99,9% das vezes em que é requisitado. – 18 – Prof. Luiz Alberto - “altos níveis de confiança de software somente podem ser alcançados à custa do desempenho do sistema” Refletindo... confiabilidade – 19 –
  • 6. Prof. Luiz Alberto - Um software confiável inclui: Código extra (redundante; para verificar os estados excepcionais do sistema e para possibilitar a recuperação necessária a partir das falhas do sistema) Aumento da capacidade de armazenamento X Redução do desempenho – 20 – Prof. Luiz Alberto - Razões pelas quais a confiança é um atributo importante: 1. Sistemas não confiáveis (não apresentam segurança ou são inseguros) não são utilizados; 2. Os custos de falhas em um sistema podem ser enormes; 3. É difícil readequar a confiança; 4. Frequentemente é possível compensar a falha de desempenho do sistema; 5. Sistemas não confiáveis podem causar a perda das informações. – 21 – Prof. Luiz Alberto - A confiabilidade do produto de software é influenciada pelo processo de software utilizado para desenvolver o produto. Um processo orientado no sentido de evitar defeitos poderá desenvolver um sistema confiável. – 22 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Confiabilidade • Probabilidade do sistema fornecer os serviço conforme definido na especificação do sistema • Ex. Se o sistema, em média, apresenta erros em 2 a cada 1.000 entradas a confiabilidade do sistema é 0,002 – 23 –
  • 7. Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Relação entre Disponibilidade e Confiabilidade • A importância da propriedade depende do sistema: – Se o usuário demanda uso continuo do sistema, então a disponibilidade deve ser alta • Sistemas bancários online – Se os custos de uma falha são baixos, então a confiabilidade pode ser baixa. • Sistemas telefônicos. – 24 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Fator tempo • Disponibilidade leva em conta o tempo para resolver uma falha Sistema A 1 falha por ano 3 dias (média) para recuperar 4.320 minutos por ano indisponível Sistema B 1 falha por mês 10 minutos (média) para recuperar 120 minutos por ano indisponível Melhor disponibilidade– 25 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Fator Momento • Não só o tempo é importante para a disponibilidade, mas também o momento em que as falhas ocorrem. • Um sistema que falha uma hora por dia entre 3 e 4 da manhã não afeta tantos usuários quanto um sistema que falha 10 minutos por dia durante o horário comercial. • A definição de disponibilidade NÃO leva em conta o momento da falha. – 26 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Definições Termo Descrição Exemplo (sistema de avaliação climática remoto) Erro humano (Engano) Comportamento humano que resulta na introdução de erros no sistema Programador decide computar a hora da próxima transmissão como sendo (hora atual + 1). Erro de sistema (system fault) Característica de um sistema que pode levar a um defeito de sistema Adicionar 1 a hora atual sem verificar se hora atual > 23 Defeito de sistema (system error) Um estado incorreto do sistema, ou seja, um estado do sistema que não é esperado por seus projetistas Valor da hora de transmissão é entrado como 24.XX em vez de 00.XX Falha de sistema (system failure) Um evento que ocorre em algum momento, quando o sistema não fornece o serviço esperado por seus usuários A informação não é transmitida porque a hora está incorretamente informada – 27 –
  • 8. Prof. Luiz Alberto - Os defeitos de software causam falhas de software quando o código com defeito é executado com um conjunto de entradas que expõem o defeito. Conjunto de entradas Conjunto de saídas programa Ie Oe Entradas que causam saídas errôneas Saídas errôneas Estado de erro – 28 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Defeitos e Falhas • Erros não necessariamente provocam defeitos. • Defeitos não necessariamente provocam falhas. – Nem todo código de um programa é executado – Defeitos são transientes – O sistema pode conter detecção e proteção contra falhas. – Usuários evitam entradas que a experiência mostrou provocar falhas. – 29 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Como Melhorar a Confiabilidade • Evitar erros. • Detecção e remoção de erros. • Tolerância a erros especificação – 30 – Prof. Luiz Alberto - A segurança de um sistema é um atributo que reflete a capacidade do sistema de operar normal e anormalmente, sem ameaçar as pessoas ou o ambiente. Quando a segurança é um atributo essencial de um sistema crítico, esse sistema é “um sistema de segurança crítica”. Exemplos: Sistemas de controle de aeronaves; Sistemas de controle de processos em indústrias químicas; 11.3 Segurança – 31 –
  • 9. Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW 11.3 Segurança • Sistemas críticos com relação à segurança são aqueles em que a operação do sistema deve ser sempre segura, isto é, não devem causar danos às pessoas e ao ambiente, mesmo que ocorra uma falha. • Exemplos: – Sistemas de controle de aviões; – Sistemas de controle de automóveis; – Sistemas de controle de plantas químicas, etc. – 32 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Geralmente... • É mais simples implementar e analisar o controle de hardware do que o de software. • Entretanto, sistemas muito complexos muitas vezes não podem ser controlados só por hardware. – Ex: aeronaves militares são aerodinamicamente instáveis e requerem ajuste contínuo controlado por software. – 33 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Classes de softwares críticos de segurança • Software crítico de segurança primária – Esse é um software que é embutido como um controlador em um sistema. A disfunção desse software pode causar uma disfunção de hardware, o que resulta em ferimentos em pessoas ou dano ambiental. • Software crítico de segurança secundária – Esse é um software que pode indiretamente resultar em ferimentos. Exemplo: banco de dados de um médico – erro pode resultar em dose errada de medicamento. – 34 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Confiabilidade e segurança • Há um relacionamento entre confiabilidade e segurança mas uma não implica na outra. • Razões para que um software confiável seja inseguro: – Não é possível estar 100% seguro que um software esteja livre de defeitos, que podem ficar adormecidos por muito tempo; – A especificação pode ser incompleta; – Problemas de hardware podem levar a comportamentos imprevisíveis; – Operadores do sistema podem gerar entradas erradas ou de tal forma combinadas que levam a erros. – 35 –
  • 10. Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Confiabilidade e segurança A confiabilidade e a segurança do sistema estão relacionadas, mas são atributos de confianças distintos. Os sistemas que apresentam tolerância a defeitos não são necessariamente seguros. – 36 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Terminologia de Segurança – 37 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Garantia de segurança • Garantir que não ocorram acidentes ou que as consequências sejam mínimas. – Prevenção de perigos: evitar riscos. Ex. apertar dois botões para assegurar que as duas mãos estejam fora do alcance do perigo. – Detecção e remoção de perigos. Ex. válvula para aliviar pressão. – Limitação de danos: motor de avião, que possuem extintores de incêndio automáticos. – 38 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Garantia da segurança (cont.) • Análises de acidentes mostram que os acidentes geralmente ocorrem quando há várias falhas ao mesmo tempo. • Combinações inesperadas de falhas podem levar a falhas globais. • Há argumentos prós e contras o uso de software para controle. • É preciso fazer uma análise de senso de proporção sobre a segurança do sistema, já que sistemas 100% seguros são impossíveis. – 39 –
  • 11. Prof. Luiz Alberto - Razões pelas quais os sistemas de software que são confiáveis não são necessariamente seguros: 1. A especificação pode estar incompleta, pelo fato de não descrever o comportamento exigido do sistema em algumas situações críticas; (dificuldades com requisitos). 2. As disfunções de hardware podem fazer com que o sistema se comporte de maneira imprevisível e apresentar o software em um ambiente não previsto. 3. O operador do sistema pode gerar entradas que não são individualmente corretas, que, em determinadas situações, podem levar a uma disfunção do sistema. (mecânico e software para levantar trem de aterrissagem) – 40 – Prof. Luiz Alberto - Chaves para garantir a segurança: 1. Evitar o perigo; 2. Detectar e eliminar o perigo; (válvula de alívio) 3. Limitar o prejuízo. (extintores de incêndio automáticos) – 41 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Proteção • É um atributo do sistema que reflete sua capacidade de se proteger de ataques externos (acidentais ou deliberados). • O uso em rede facilita o acesso de estranhos. • Exemplos: vírus, cavalos de troia, acesso não autorizado, ... • Para alguns sistemas, a proteção é a dimensão mais importante da confiança. Ex. sistemas militares, de comércio eletrônico e de reserva de passagens aéreas. – 42 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Proteção A proteção de um sistema é uma avaliação do ponto em que o sistema protege a si mesmo de ataques externos. Sem um nível razoável de proteção, a disponibilidade, a confiabilidade e a segurança do sistema poderão ser comprometidos, se ataques externos provocarem algum dado ao sistema. – 43 –
  • 12. Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Terminologia de proteção – 44 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Terminologia de proteção – 45 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Principais ameaças à proteção de sistemas em rede: • Confidencialidade do sistema e seus dados. • Integridade do sistema e seus dados. • Disponibilidade do sistema e seus dados. • As três são naturalmente interdependentes. – 46 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Vulnerabilidades em Sistemas de Informação • Falhas humanas: – senhas fáceis de descobrir ou senhas anotadas em lugares que são facilmente descobertos – Administradores cometem erros de configuração de controle de acesso – Usuários não instalam software de proteção • Muitas vezes, erros que parecem dos usuários são facilitados por decisões de projeto. Exemplo: exigência de alterações constantes de senhas, que levam à anotação das senhas em papel. – 47 –
  • 13. Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Controles para melhorar a proteção • Prevenção de vulnerabilidade: para evitar que os ataques sejam bem sucedidos – Sistema não está ligado a uma rede pública – Criptografia • Detecção e neutralização de ataques: funcionalidades para monitorar a operação do sistema e descobrir padrões incomuns de uso e tomar medidas como desligar o sistema, restringir o acesso etc. • Limitação de exposição e recuperação. Ex. backups automatizado e espelhamento. – 48 – Prof. Luiz Alberto - Erros no desenvolvimento de um sistema podem levar a falhas na proteção. Exemplo de fraquezas: Sistema não responde a entradas inesperadas; Seus limites não são verificados Alto nível de proteção: Sistemas militares; Sistemas de comércio eletrônico; Sistemas de processamento e intercâmbio de informações confidenciais. – 49 – Prof. Luiz Alberto - Danos provocados por ataques externos: 1. Interrupção de serviço; afeta a disponibilidade do sistema. 2. Corrupção de programas ou dados; afeta a confiabilidade e a segurança. 3. Revelação de informações confidenciais; afeta a disponibilidade e a confiabilidade. – 50 – Prof. Luiz Alberto - Uso da Internet Mais conexões Mais facilidade de ataques Atributo relacionado ao uso da Internet: sobrevivência. É a capacidade de um sistema continuar a prestar serviços enquanto sob ataque e, potencialmente, parte do sistema está incapacitada. – 51 –
  • 14. Prof. Luiz Alberto - Resistência a ataques; Reconhecimento de um ataque; Recuperação a partir dos danos provocados pelo ataque.. Abordagens para assegurar a proteção de um sistema: – 52 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Comentários finais • Métodos para certificação de disponibilidade, confiabilidade e segurança de sistemas assumem que o software operacional é o mesmo instalado originalmente. • Se o sistema foi atacado e modificado, esses princípios não são mais válidos. • Exemplo: controle de limites de vetores. – 53 – Prof. Luiz Alberto -Aula 03 - QS - Confiabilidade de SW Lista de Exercício 1. Quais as dimensões mais importantes da confiança de sistema? 2. Sugira quais atributos de confiança podem ser mais críticos para os seguintes sistemas. Justifique sua resposta. a) Um servidor de internet com milhares de clientes b) Um bisturi controlado por computador usado em cirurgias laparoscópicas. c) Um sistema de controle direcional, usado em um veículo lançador de satélite. d) Um sistema de gerenciamento de finanças pessoais baseado na internet. 3. Confiabilidade e segurança são atributos de confiança relacionados, porém distintos. Descreva as principais distinções entre esses atributos e explique por que é possível que um sistema confiável seja inseguro e vice-versa. 4. Em um sistema médico projetado para liberar radiação de tumores, sugira um possível perigo e proponha um recurso de software que possa ser usado para garantir que o perigo identificado não resulte em um acidente. – 54 –