Postagem em destaque

Código Limpo: Nomes Significativos

Imagem
Às vezes fico com um assunto na cabeça por semanas, até achar uma situação ou um exemplo que esclareça a situação. Explico: estava querendo já a algum tempo escrever sobre boas práticas de programação, e pensei em iniciar por "Nomes Significativos", para seguir a nomenclatura utilizada pelo ótimo livro Código Limpo , de Robert C. Martin.  Entretanto, ficava sempre amarrado em exemplos que pareciam ser bons, mas que ainda eu não tinha visto a utilidade prática.  Antes de continuar preciso explicar que tenho um hábito de anotar num bloco de papel todas as ideias que surgem, pois elas desaparecem com a mesma velocidade que aparecem. Para isso tenho um bloco e caneta na mesa de cabeceira (além de um no banheiro), pois esses são os lugares onde tenho mais ideias... Vai entender... Semana passada, estava com um problema bem complicado e tive uma ideia: "vou criar uma variável para indicar que quando um arquivo tiver um certo tamanho deve gravar algumas informações no log. Pois

Stuxnet, DEADF007, visão do futuro e final dos tempos

Você lembra quando assistiu Exterminador do Futuro? Tinha a Skynet, um super computador que tenta exterminar todos os seres humanos, usando inclusive a deliciosa talentosa Kristanna Loken (isso não tem nada a ver com o texto, mas toda vez que lembro do filme, eu lembro dela em suas roupas de couro, fazer o quê, né?).

Pode clicar, a foto é grande (ela merece).
Pois é, gafanhoto, o futuro chegou, e tem nome: Stuxnet é considerado o malware mais perigoso que existe.  Segundo a definição da Symantec: "Stuxnet é um worm que tem como alvo os sistemas de controle industriais". Para quem tem curiosidade aqui tem um estudo muito bom sobre o vírus, apesar de ser bastante técnico. A própria Symantec tem um white paper (PDF) sobre o vírus.

Ralph Langner, que participou da descoberta e análise do vírus, fez uma apresentação no TED sobre o assunto e vale a pena ser vista - a linguagem é simples e ainda tem legendas em português. Ele fala rapidamente como foi o processo de decodificação e análise do vírus. E não, não é como no cinema, que o sujeito em alguns minutos resolve tudo. A EQUIPE dele, que não é fraca, demorou SEMANAS.  E antes que alguém fale: "Ah, mas era Windows". Eu garanto, por tudo que já li, que mesmo que fosse em Unix, eles fariam o vírus funcionar.

Parte do código do vírus.

Lembro quando estava na faculdade apareceu um vírus chamado "Leandro &  Kelly" e eu resolvi descompilar o código para ver como era (quem nunca desmontou um brinquedo para ver como funciona por dentro que atire a primeira pedra). Mesmo com a simplicidade do código, não foi fácil entender o funcionamento. Depois de algumas noites perdidas, consegui "reprogramar" o vírus para executar todos os dias 28 de cada mês. Mas fiz isso só em ambiente controlado, de testes e NÃO disseminei o vírus.

Abaixo disponibilizo alguns links interessantes para quem tiver interesse e quiser se aprofundar mais no assunto:

- Um canal de TV australiano, também traz uma abordagem (ver abaixo), ainda que superficial, interessante sobre o vírus - é um bom resumo.



- Recentemente foi ao ar um documentário (YouTube) feito pela CBS falando sobre o vírus.

- Mike Russinovich (outro cara mais ou menos) também faz uma análise (mais avançada) sobre o sistema de infeção do vírus, utilizando apenas as ferramentas Sysinternals.

 O fato de um vírus permitir o controle de equipamentos físicos, na verdade controladoras PLC (até onde sei), é assustador. As possibilidades são muito grandes e quase todas preocupantes: desde indústrias automobilísticas até usinas nucleares, passando por hidrelétricas e afins.

O Stuxnet é mesmo diferente. Veja porque:
- Utiliza ataques zero-day (aqueles que são exploradas vulnerabilidades desconhecidos pelo próprio fabricante do software. O Stuxnet utilizou vários deles.
- Algumas dlls são assinadas com certificados válidos. Como conseguiram isso? Roubando os certificados de duas outras empresas.
- São utilizados vários códigos complexos que requerem diferentes habilidades.
- Foi necessário o conhecimento dos sistemas industriais, mais especificamente, sistemas SCADA.
- São cerca de 15 mil linhas de código.
- Fora alguns furos básicos: por exemplo, senhas utilizadas pelo software Siemens WinCC SCADA estão disponíveis na internet:
login='WinCCConnect' password='2WSXcder'
login='WinCCAdmin' password='2WSXcde.'
Tudo isso leva a crer que foi uma equipe grande, de cerca de 10 pessoas, que elaborou o vírus ao longo de meses de trabalho, com toda a infraestrutura necessária. Os rumores dão conta que os governos dos EUA e de Israel  estão envolvidos na criação do vírus.



Como alguém disse: é uma obra de arte! DEADF007!

Fonte: SSegurança

Comentários

Postagens mais visitadas deste blog

Netflix não mostra ícone de streaming

Google Hacking

FTP não funciona no PHP