Monday, August 31, 2009

Sistema Operacional à prova de falhas?

Recentemente, o NICTA (Centro de Pesquisa Australiano) apresentou um kernel de sistema operacional que, a princípio, é resistente a falhas de segurança sendo, portanto, ideal para operações de missão crítica.

É importante ressaltar que o kernel é a alma de um sistema operacional. Todos os sistemas  operacionais conhecidos (Linux, FreeBSD, OpenBSD, Mac OS X, Windows, enfim, todos) são compostos por kernels. É lógico que existem diferenças conceituais na implementação destes kernels, mas o objetivo principal é sempre o mesmo:  Ser o ponto central do sistema operacional que controla os aspectos principais como acesso a disco, uso de memória, processamento simultâneo de aplicativos, entre outras funções (maiores detalhes aqui).

Não é a primeira vez que se tenta criar um Sistema Operacional seguro. Várias alternativas já foram especificadas. Alguns exemplos: http://en.wikipedia.org/wiki/Security-focused_operating_system

Certamente o caso mais conhecido é o do OpenBSD. É um sistema operacional pensado desde o início sob a ótica da segurança e tem tido excelentes resultados. Basicamente, o código-fonte é auditado frequentemente a procura de erros de programação que possam levar  ao comprometimento do ambiente.

É importante reforçar que só a segurança do sistema operacional não é suficiente para garantir a proteção. De que adianta uma base robusta se ainda temos casos de vulnerabilidades de SQL Injection tão comuns?

Mas voltando ao caso do sistema operacional desenvolvido pela NICTA, tomara que seja uma alternativa viável para sistemas de missão crítica.

Aliás, para encerrar, aí vão alguns exemplos de "missão crítica":
  1. Já pensou naquele carro último modelo, com sistema operacional {Fiat/GM/Ford}OS, que permite acesso via bluetooth, e que possui uma senha padrão para acesso ao sistema de gerência (senha tipo: fiat, gm2009, ford123...)? Já imaginou este sistema vulnerável a um Buffer Overflow? E que, uma vez explorado, o atacante consiga travar todo o sistema (embreagem, freio, computador de bordo, tudo integrado!) e o motorista perca o controle? Aliás, já pensou na exploração desta mesma vulnerabilidade a partir da rede bluetooth (tipo uns 200 metros de distância)?
  2. Sistemas de Controle de  hidrelétricas, usinas nucleares, e outros brinquedinhos? Você sabia que os sistemas operacionais onde estas aplicações estão instaladas são os Solaris/Windows/Linux da vida?
  3. Sistemas que controlam equipamentos médicos. Já pensou na tela azul justamente no momento mais crítico?
  4. Sistemas de controle de tráfego aéreo; Sistemas de controle de semáforos "inteligentes"; Sistemas dos Caixas Eletrônicos (ATM's); entre outros...
Todos os sistemas  acima citados são de "missão crítica" e certamente se beneficiariam muito de sistemas operacionais robustos à prova de bugs (é possível isso afinal de contas?) e à prova de falhas de segurança.

2 comments:

  1. A torre de controle do Centro Oeste teve uma tela azul no acidente com o Learjet e o avião da Gol. :)
    Brincadeiras a parte, ótimo blog, parabéns !

    ReplyDelete
  2. Uma pimenta nesta história:
    http://www.computerworld.com/s/article/84042/Northeast_Canada_power_failure_exposes_infrastructure_frailty?taxonomyId=083

    Outra coisa: Essa história de avião que desaparece de radar não me parece coisa de aliens...

    ReplyDelete