Ver Feed RSS

Tecnologia de Redes, Mobilidade e Inovação

Cyberwarfare: entendendo o vírus Stuxnet e a nova guerra

Avalie este Post de Blog
Hoje em dia os sistemas digitais (computadores, processadores e a Internet) estão em todos os lugares e dentro de todas as atividades humanas, pois eles aumentam a produtividade das pessoas e facilitam a comunicação e o processamento dessas informações.

Uma das grandes características dos sistemas digitais é a possibilidade de reprograma-los, de acordo com a necessidade. Falando assim parece algo "científico", mas na verdade é algo tão simples com atualizar um sistema operacional, ou instalar um novo software. Já um sistema mecânico, como um motor por exemplo, não é facilmente modificado depois de criado (transformar um motor 1.8 em 2.0 requer uma quantidade enorme de mudanças físicas no motor).

No entanto a mesma flexibilidade que permite aos sistemas digitais serem tão populares, também os torna vulneráveis a ataques. Assim um atacante pode causar problemas - remotamente - em qualquer operação ou atividade humana que se apoie em sistemas digitais. Isso cria o conceito de guerra cibernética, ou cyberwarfare, aonde grupos de pessoas ou mesmo países tentam atacar um ao outro, afetando os sistemas digitais em operações críticas.

Já vimos vários casos de ataques ou "problemas" na Internet que, apesar de não confirmados, parecem muito com esse conceito de cyberwarfare: interrupção das comunicações nos sites dos EUA, falhas de rede na Russia, desvio de tráfego Internet para a China, etc.

No entanto, ao meu ver, nenhum é tão simbólico e interessante como o caso do vírus Stuxnet que, ao que tudo indica, foi criado especificamente para atrasar o programa nuclear do Irã.

Antes de falarmos sobre o vírus, é necessário entender um pouco sobre como funciona uma usina de processamento de urânio e também compreender um pouco sobre processo industriais e PLC.

Refino do urânio

Sem entrarmos em muita teoria de química ou física nuclear, vamos relembrar qual é o objetivo em se refinar urânio.

O urânio é um material radiativo que se encontra na natureza em diversas formas. Apenas o urânio mais pesado interessa para projetos nucleares, porém apenas uma pequena porcentagem (1%) é desse tipo. Então é necessário separar o urânio pesado do urânio leve.

O problema é que não é uma questão de encontrar uma pedra pesada ou leve. Dentro das pedras de urânio existem átomos de todos os tipos, então é necessário fazer essa separação entre os átomos. Um dos métodos para fazer essa separação é a centrifugação: você dissolve o pó de urânio em um líquido, coloca em um tubo e gira muito rápido por muito tempo. Os átomos mais pesados vão para o fundo e os mais leve sobem (como isopor e areia dissolvidos na água).

Porém a variação de peso entre o urânio mais pesado e o urânio mais leve é muito, muito, muito pequena. Então para esse método funcionar, é necessário centrifugar por muito tempo (não existe um manual confiável de como fazer uma usina nuclear, mas provavelmente é necessário centrifugar continuamente por vários meses, ou mesmos anos) para conseguir algum resultado útil.

As centrifugas são como os ventiladores de teto, com um tubo de pó de urânio em cada pá, girando continuamente por muito tempo. Agora imagine o que acontece se você começar a parar-e-acelerar (diversas vezes) esse "ventilador de teto": você mistura tudo e estraga meses de trabalho, pois você vai chacoalhar tudo lá dentro. Tenha isso em mente, pois é isso que o Stuxnet foi programado para fazer.

Sistemas industriais

Ao contrário dos computadores domésticos, um computador industrial tem que ser muito confiável (trabalhar anos e anos sem nenhuma parada nem reboot), porém não precisa, normalmente, de muito poder de processamento.

Assim os sistemas digitais que controlam indústrias, são bastante diferentes dos computadores domésticos e usam programas que não se baixam na Internet. Nem mesmo os manuais desse sistemas são fáceis de encontrar, isso significa que apenas pessoas muito ligadas a projetos industriais vão saber como programar esses sistemas.

Essa informação também é importante porque o Stuxnet afetava sistemas industriais muito raros e específicos, assim apenas uma pessoa (ou grupo) com muito dinheiro teria condições de fazer um programa desse tipo e - pior ainda - aonde eles conseguiriam um sistema igual para testar o vírus, antes de lança-lo?

Stuxnet

Muito bem, com isso dito, vamos analisar o Stuxnet. Ele foi descoberto em Julho de 2010 e é uma maravilha da programação. Devido a sua complexidade e a sua forma de trabalho, ele é considerado o trabalho de uma organização muito grande, como um país (ou pelo menos um grande grupo com muito dinheiro), pois a quantidade de "coisas" que esse vírus faz é impressionante.

O mais interessante, no entanto, é o objetivo do vírus. Ele tem apenas uma função "malévola": deixar maluco um sistema de controle industrial que regula velocidade de motores que rode entre 807Hz e 1210Hz. Isso mesmo, ele não rouba informação, não apaga arquivos e não manda spam, apenas deixa louco alguns motores controlados por um sistema específico. Quando ele encontra um sistema desses (controle de motores) ele altera o sistema de controle (chamado PLC) para que velocidade do motor varie rapidamente.

Aonde no mundo existe esse sistema de controle industrial, afetado pelo vírus, e que esteja controlando motores? As centrífugas de urânio da unidade de Natanz no Irã é uma delas. Além disso o Irã foi um dos países aonde o vírus foi espalhado com maior força. É difícil pensar em um vírus de atuação mais específico do esse.

Existem outras características do vírus que não são típicas:
  • Ele usa 4 brechas de segurança do Windows que na época eram desconhecidas. Com apenas 1 brecha já é possível espalhar um vírus. Quem criou esse vírus queria garantir que ele iria se espalhar mesmo que algumas das brechas estivessem cobertas. Além disso, não é fácil descobrir uma brecha, quanto mais 4 brechas diferentes, então quem criou o Stuxnet contava com uma boa equipe de hackers.
  • Foi criado usando várias linguagens de programação. Um programador normalmente se especializa em uma linguagem de programação, por usar várias linguagens temos mais um indício de que foi um trabalho de um grande grupo de programadores.
  • Esse vírus infecta o Windows, o software de controle de um fabricante específico e uma aplicação específica (rotação de motores). Uma diversidade enorme de conhecimentos distintos.


Não existem relatos claros, mas aparentemente o Stuxnet teve sucesso e conseguiu chegar até o sistema de controle da unidade iraniana de refino de urânio e chacoalhou as centrifugas, estragando o trabalho de meses.

Apesar de existirem outros casos de "suspeita de guerra cibernética" o Stuxnet foi o primeiro caso claro de ataque direcionado usando uma arma cibernética. Ele também demonstra, pela sua complexidade, o tamanho do investimento que os países e organizações políticas estão fazendo em se armar dessa forma.

Moral da história: quanto mais as organizações e governos forem dependentes dos computadores, smartphones e tablets, mais eles estarão sujeitos a esses ataques, cada vez mais sofisticados.

Me siga no Twitter: http://www.twitter.com/mlrodrig

Para saber mais

[1] Stuxnet no Wikipedia: http://en.wikipedia.org/wiki/Stuxnet
[2] Was Stuxnet Built to Attack Iran's Nuclear Program?: http://www.pcworld.com/businesscente...r_program.html

Atualizado 23-12-2010 em 15:16 por mlrodrig

Categorias
Não Categorizado

Comentários

  1. Avatar de lemke
    Realmente, tudo o que tem ligação com a grande rede está vulnerável, por maior que seja a "blindagem"...mesmo os recursos de segurança mais modernos não estão isentos de ataques.

    Parabéns pelo texto, muito bom mesmo!

    Sds,
  2. Avatar de rafaelfernandes
    a menos que eu crie um sistema operacional proprio em liguagem binaria em que so eu louco possa entender .

    0111011001100011001000000110010101110011011101001110000100100000011011000110010101101110011001000110111100100000011001010110110100100000011000100110100101101110011000010111001001101001011011110010110000100000001000000111000001101111011010010111001100100000011001010111010100100000011100110110111101110101001000000110011001101111011001000110000100100000001000010010000100100001001000010010000100100001001000000110011001100001011011000110000100100000011000010111001101110011011010010110110100100000001011000010000001100011011101010010000000100000001000010000110100001010011010110110101101101011011010110110101101101011011010110110101101101011

+ Enviar Comentário



Visite: BR-Linux ·  VivaOLinux ·  Dicas-L