Sei sulla pagina 1di 12

Instituto Federal do Espírito Santo

Bacharelado em Sistemas de Informações


Disciplina de Fundamentos de Sistemas

Estudo de relatos de defeitos em


Softwares

Participantes (turma 2):

Cheila Gomes
Fabianne P. F. Zanetti
Jefferson Andrade
Samela M. Queiroz

- 2010 -
BUGS
Em 9 de setembro de 1945 o grupo de trabalho de Aiken e Grace (uma renomada doutora em
matemática pela universidade de Yale) se encontravam na sala do Mark II (um computador
eletromecânico construído na Universidade de Harvard, concluído em 1947) tentando averiguar
porquê o computador não funcionava adequadamente. Depois de um exame minucioso
conseguiram detectar o problema, uma mariposa entre os contatos de uns dos relés do Mark II.
Mais tarde, Grace registraria o incidente no caderno de registros, colou a borboleta que causou o
problema e anotou embaixo a frase "First atual case of bug being found"

A partir de então, cada vez que algum computador dava problemas eles diziam que tinha bugs.
Anos mais tarde Grace também cunharia o termo "debug" para referir-se à depuração de
programas.

Sessenta anos mais tarde, os erros do computador ainda estão conosco, e não apresentam
qualquer sinal de extinção. Como a correlação entre o software e o hardware é estreita, erros de
codificação são cada vez mais freqüentes e brincam com nossas vidas diárias. Bugs não só
habitam em nossos sistemas operacionais e aplicativos - hoje eles se escondem dentro de nossos
celulares e nossos marca-passos, nossas usinas e equipamentos médicos. E agora, em nossos
aviões e carros.

Mas quais são os piores erros?

É muito fácil fazer uma lista de bugs que causaram grandes estragos, porém é mais difícil avaliar
sua gravidade. O que é pior? Uma vulnerabilidade de segurança que é explorada por um worm
de computador para desligar a internet por alguns dias? Ou um erro que causa o travamento do
dia ao longo do sistema nacional de telefone? A resposta depende se você quiser fazer uma
ligação ou verificar seu e-mail.
Muitas pessoas acreditam que os piores erros são aqueles que causam mortes. Casos como os
acidentes aéreos da AIRBUS e da TAM no Brasil, podem ser vistos como alertas contra a
generalização da utilização de software em aplicações críticas de segurança. Especialistas que
estudam esses sistemas, no entanto, alertam que, embora o software possa matar um número
pequeno de pessoas, focando esses riscos de fatalidades, inibir a migração de tecnologia em
áreas mais inteligentes de processamento é extremamente necessário. No fim das contas, dizem
eles, a falta de software pode matar mais pessoas do que os erros inevitáveis.
ESTUDO DO SISTEMA X-BY-WIRE

FLY-BY-WIRE
Há alguns anos, uma propaganda de companhia aérea tinha como atrativo possuir em sua frota
um avião com a tecnologia fly-by-wire.

Fly-by-wire é apenas um desdobramento da tecnologia conhecida como X-by-wire, sendo que a


letra “X” simboliza as diversas aplicações deste sistema e a quantidade quase infinita de ações
que podem ser feitas “by wire”, ou, em uma tradução literal, “via cabo”.

O X-by-wire consiste em substituir um comando essencialmente mecânico por um


eletromecânico, que é repassado por um computador para executar a tarefa solicitada.

No caso dos aviões, o sistema substitui as interfaces mecânicas entre o manche e as partes
móveis, como os lemes, ailerons e profundors, por cabos ligados a um controlador, o que acaba
reduzindo consideravelmente o peso da aeronave. O sistema de vôo fly-by-wire foi utilizado pela
primeira vez no caça F-16 Fighting Falcon, que entrou oficialmente em operação nos EUA em
1979, e causou alguns problemas em sua fase de implantação que resultaram, inclusive, na morte
de um piloto de testes. Conta-se, ainda, que se não fosse por este sistema, o avião não seria capaz
de se manter no ar, uma vez que sua aerodinâmica é demasiadamente instável para ser
controlada, mesmo por um piloto experiente, sem o auxílio de sistemas eletrônicos.

Em jatos comerciais, o sistema foi implantado pela primeira vez no Air-bus A320, que entrou em
serviço no ano de 1988 e é construído por um consórcio que engloba empresas da França,
Inglaterra, Espanha e Alemanha. Nesses aviões, o fly-by- wire exclui da cabine de controle o
manche convencional, que é operado pelo piloto de forma semelhante a um volante de carro,
com as duas mãos, e o substitui por uma alavanca parecida com a que controla os caças - que
lembra mais um joystick de video-game e está situada ao lado do piloto. Fato este que lhe dá o
nome de sidestick.

CONTROVÉRSIAS

Enquanto o F-16 precisa do fly-by-wire para “filtrar” os comandos escolhidos pelo piloto, o
Airbus A320 opera 100% por este sistema e conta com protocolos de segurança em sua
programação para garantir que ele execute os comandos com perfeição. No entanto, estas
mesmas “travas de segurança” são programadas para não apenas “repassar” os comandos
fornecidos pelo piloto, mas também para avaliá-los, ou seja: se o computador “entender” que o
piloto forneceu um comando errado para aquele determinado tipo de situação ou procedimento,
ele, prontamente, irá ignorá-lo e executar a tarefa conforme a sua programação.

Por causa disso, embora a tecnologia traga uma série de benefícios como a redução de peso e
consumo de combustível, além da melhora no tempo de resposta dos controles, ela também é
controversa, uma vez que limita o trabalho do piloto a simplesmente monitorar o computador e
restringe as ações que podem ser tomadas por parte dele em virtude de uma pane geral do
sistema.

Especula-se, inclusive, que o acidente com o avião da TAM que matou 199 pessoas em julho de
2007, ocorreu pelo fato do computador do Airbus ter “entendido” errado a posição dos manetes
de aceleração e ter impedido os pilotos de reduzir a velocidade da aeronave manualmente.

ESTUDO DE DADOS

Apesar das controvérsias, segundo dados do Ministério de Defesa da Aeronáutica Brasileira, a


aviação aponta uma diminuição de acidentes fatais nos últimos 10 anos.

Em números absolutos, como se pode observar na Tabela abaixo, no ano de 2009 o número total
de acidentes permaneceu acima da média do decênio 2000-2009. Por sua vez, o número de
acidentes que envolveram perda total da aeronave, o número de acidentes fatais e o número de
fatalidades ficaram abaixo da média apresentada.
DRIVE-BY-WIRE
Em 2005 a montadora Toyota anunciou um recall de 160.000 de seus veículos híbridos Prius
devido a freqüências de relatórios das luzes de advertências de iluminação por qualquer razão e a
paradas inesperadas dos motores dos automóveis a gasolina. Mas ao contrário do automóvel em
larga escala, a raiz do problema Prius não foi um problema de hardware – e sim um erro de
programação no código incorporado ao carro inteligente. O Prius tinha um bug de software.

Com essa retirada, o Prius entrou para as fileiras do computador buggy, clube que começou com
o Mark II, já citado anteriormente.

De uns anos para cá, conforme a tecnologia avança, aumentam também as implementações
eletrônicas nos automóveis para otimizar ou mesmo substituir partes mecânicas. Foi o que
aconteceu na década de 80 com o surgimento da injeção eletrônica de combustível, que
substituiu o carburador na função de misturar ar e combustível dentro do cilindro. A injeção
tornou o processo mais preciso, reduziu o consumo de combustível e, por consequência, a
emissão de poluentes no ar.

Hoje, nós temos carros equipados com computadores de bordo capazes de rodar diagnósticos em
todo o veículo e informar ao motorista em tempo real se há algum problema com o carro, desde
uma simples porta que não está devidamente fechada, até um defeito mais sério dentro do motor.

Para fazer parte desse conjunto de melhorias eletrônicas que facilitam a vida do motorista, criou-
se o conceito de drive-by-wire, que, nos carros, possui função semelhante à dos aviões:
substituir alguns sistemas mecânicos por eletrônicos, diminuir o peso e melhorar a segurança e o
desempenho do veículo, além de garantir uma interface com as outras partes eletrônicas. Tudo
isso já está presente nos automóveis há um certo tempo para tornar mais fácil o gerenciamento de
todas as funções do carro por uma unidade central de processamento como o computador de
bordo.

Esses sistemas podem ser aplicados para otimizar funções básicas do veículo como aceleração,
direção e frenagem.

Futuro

Em 1996, durante o Paris Motorshow, a Mercedes-Benz apresentou o carro-conceito F200, um


coupé que trazia, mesmo para os padrões de hoje, inúmeras inovações tecnológicas, tais como: o
sistema de abertura das portas e portamalas, receptor de TV, câmeras no lugar de espelhos
retrovisores e um cartão magnético que, mesmo dentro do bolso do dono, era capaz de destravar
as portas do carro quando se encontrava próximo a ele.
O que chamava mais atenção no carro, na verdade, é que era 100% drive-by-wire, o que tornava
desnecessária, inclusive, a existência de um volante. Todo os comandos são passados para o
veículo por meio de um par de sidesticks localizadas no console central.

Melhorias

Veja o que essa tecnologia pode trazer de melhoria em cada um dos campos citados:

Aceleração: Acelerador eletrônico e controle de tração (TCS). No primeiro, os cabos que


transmitem o comando do pedal até o motor são substituídos por um circuito com um
potenciômetro, que envia sinais elétricos de maneira diretamente proporcional à intensidade com
que o motorista pisa no acelerador.

Direção: Nos carros normais, ao virarmos o volante, movimentamos a barra de direção que tem
uma engrenagem na ponta chamada de pinhão. Esta, por sua vez, movimenta um trilho denteado
conhecido como cremalheira, que é a responsável por virar as rodas para esquerda e para direita.
Em carros que operam com o sistema steer-by-wire, a barra de direção é eliminada e dá lugar a
um conjunto de sensores que medem a direção e a inclinação do volante para informar a um
motor elétrico o sentido e o grau com que o mesmo deverá movimentar a cremalheira para que as
rodas se virem de maneira mais precisa e não haja erros de trajetória, algo que pode evitar um
acidente.

Frenagem: Talvez esta seja a mais controversa de todas as ferramentas “by wire” que possam
ser instaladas nos automóveis. Freios convencionais funcionam com sistemas de cabos,
mangueiras e fluidos que enviam o comando de “parar” para as pinças de freio que pressionam
os discos das rodas. Quando falamos em brake-by-wire, temos a troca de todos os cabos e
mangueiras por um conjunto de sensores que repassa o comando de frenagem para as pinças,
com base na intensidade com a qual o motorista pisa no pedal. No entanto, uma vez que os
sensores não oferecem a mesma resistência dos cabos, o condutor pode ter uma certa dificuldade
em “sentir” o freio e ser incapaz de saber se o mesmo está funcionando com perfeição, o que
pode provocar um acidente.

CONCLUSÃO
Hoje, embora os conceitos de tecnologia X-by-wire estejam bem mais avançados do que na
época na qual entraram em operação, nos anos 80, ainda persiste a questão da confiança.

O uso do fly-by-wire em aviões ainda gera polêmica, uma vez que se trata de se entregar o
controle total de um meio de transporte aéreo com dezenas de pessoas a bordo. Nos automóveis,
no entanto, o drive-by-wire é mais aceito, pois a substituição de sistemas mecânicos por
componentes eletrônicos é capaz de diminuir o consumo de combustível, além de melhorar
consideravelmente alguns aspectos como segurança e performance. Mas, o emprego do X-by-
wire em alguns sistemas como os freios, por exemplo, ainda encontra dificuldades em ser
adotado como padrão por causa da desconfiança das pessoas, embora já exista uma tecnologia
específica para essa função (brake-by-wire).
ESTUDO DO CASO ADOBE
Solução alternativa disponível para vulnerabilidade de permissões de arquivos Linux e
ColdFusion MX 7

Data da versão: 10 de abril de 2007

Identificador de vulnerabilidade: APSB07-08

Número CVE: CVE-2007-1874

Plataformas: Linux e Solaris

Versões de software afetadas: ColdFusion MX 7.X

Resumo
A vulnerabilidade identificada concede a usuários sem privilégios permissão para alterar
arquivos de programa importantes. Um usuário hostil sem privilégios e com acesso local poderia
se aproveitar dessa condição para substituir arquivos de programas por código nocivo ou
prejudicial, que poderia ler, gravar ou destruir dados confidenciais se posteriormente executado
por um usuário com privilégios. Este problema não pode ser explorado remotamente.

Solução
A Adobe recomenda aos usuários do Adobe Reader e do Acrobat atualizar os softwares* para
evitar o problema. As possíveis soluções alternativas no lado do servidor estão detalhadas
abaixo.

Observação: antes de aplicar qualquer uma destas alterações de configuração aos servidores de
produção, você deve testá-las para se certificar de que funcionarão no seu ambiente.

1. Modifique o tipo de MIME de PDFs.


Uma forma de impedir que Plug-ins do Adobe Reader e do Acrobat passem JavaScript
para o navegador é forçar a abertura de PDFs fora do navegador e do Adobe Reader ou
do Acrobat Professional. Para isso, altere o tipo de MIME (Multipurpose Internet Mail
Extension) da extensão de arquivo.pdf (application/pdf) para um binário genérico
(application/octet-stream), o qual o navegador solicitará ao usuário para abrir ou salvar.
2. Adicione o cabeçalho Content-Disposition
Assim como a alteração de um tipo de MIME, é possível adicionar um cabeçalho
Content-Disposition à resposta do servidor.
3. Armazene o PDF em um local que não possa ser acessado via Web
Para finalizar, em um ambiente onde o acesso aos arquivos de configurações não é
possível, considere criar um código de servidor (ColdFusion, Java, PHP, ASP.NET etc.)
para ler o arquivo e enviá-lo de volta como parte da Resposta. Por exemplo, MyPDF.cfm
poderia ser um script que retorna o PDF real.

Observação: ainda assim você precisará definir Response.ContentType como


“application/pdf” ou “application/octet-stream”. Para obter mais informações, releia a
documentação sobre a linguagem do servidor.

Classificação da gravidade
A Adobe categoriza isso como um problema moderado, que de acordo com sua tabela de
classificação é uma vulnerabilidade que é limitada a um grau significativo por fatores como
configuração padrão, auditoria ou é difícil de explorar. E recomenda aos usuários afetados que
atualizem suas instalações.
BIBLIOGRAFIA

Revista Mecatrônica Fácil Nº51

Panorama Estatístico da Aviação Civil Brasileira para 2000 a 2009, elaborado pelo Comando da
Aeronáutica Brasileira.

Site da Wikipédia

Site da Adobe (http://www.adobe.com/br/support/security/advisories/apsa07-02.html)

Potrebbero piacerti anche