quarta-feira, 25 de maio de 2011

Stuxnet - fingerprinting e contra-inteligência

Uma das atividades investigativas mais interessantes é o Fingerprinting. Apesar do nome, a técnica investigativa não é a mesma usada em pentesting. No nosso caso, o objetivo pode ser o mesmo, mas as técnicas costumam diferir bastante.

O objetivo é detectar traços nos vestígios que possam dar pistas sobre o caso. Fingerprinting tem uma diferença básica em relação às técnicas de forense propriamente ditas, porque Fingerprinting não é conclusivo, são apenas dicas ou possibilidades, enquanto que as técnicas forenses buscam corroborar hipóteses (ou negar), trazendo a verdade dos fatos. Forense é conclusiva, Fingerprinting é mais um "achismo", mas muito útil em alguns casos, podendo dar a direção correta a ser tomada em uma investigação. Ajuda também a filtrar situações, priorizando a busca por determinados artefatos.

Alguns tweets apareceram recentemente citando Fingerprinting e o código do Zeus. Alguns investigadores usaram as técnicas e supõem que o autor do código tem o inglês por língua nativa. Há técnicas que, pela freqüência das palavras utilizadas, permitem sugerir a altura do autor/digitador ! Muito bacana, mas como eu disse antes, nada conclusivo.

Algumas dessas técnicas foram usadas no Stuxnet. Não nos fontes, pois não são públicos, mas os binários deixaram alguns traços possíveis de serem analisados.

Uma das mais bacanas é o magic number que ele escreve, numa espécie de marcação que avisa da existência dele e evita que a máquina sofra continuas re-infecções. É um valor adicionado a uma chave de Registry. Se o valor estiver lá, o Stuxnet não infectará a máquina novamente. O valor é o número 19790509, que pode ser apenas um número qualquer ou pode ser entendido como uma data. O que teria acontecido em 9 de maio de 1979 ? Dentre varias coisas, uma chama a atenção. Essa foi a data da primeira execução de um judeu iraniano pelo governo islâmico recém empossado à época, marcando o inicio de um grande êxodo de judeus do Irã. Sugestivo, não ?

Há uma outra data em um dos arquivos de configuração, mas essa é uma data explicita e indica que o Stuxnet não vai mais fazer nada após ela: 24 de junho de 2012. Qual será pista para essa data ?

Há ainda outras marcas interessantes. Um dos magic numbers usados como status final da rotina no PLC é a seqüência hexa 0xDEADF007, que pode significar dead fool ou dead foot, termos usados em aviação e que indicam pane no motor. Além de tudo, os caras são também espirituosos hehehe

Outra: Dentro do código de um dos drivers há uma path não removida que aponta para b:\myrtus\src\objfre_w2k_x86\i386 \guava.pdb. Guava (goiaba) é uma planta da família dos myrtles ou myrtus, mas também podemos ter myrtus como MyRTUs, onde RTU é uma sigla alternativa ao PLC. Só que não para por aí. Myrtles é o significado em inglês do nome hebreu Hadassah, nome original de uma conhecida Rainha dos judeus descrita na Bíblia como Ester. Segundo relatos bíblicos, Ester descobre um plano para assassinar judeus e, com muita sabedoria, consegue inverter a situação. No fim das contas, os que tramavam contra os judeus são pegos e partem dessa para melhor (ou pior, vai saber ?). As analogias são inteligentes e dá para perceber que a equipe gastou tempo nisso.

Mas ... E se tudo isso for obra de contra-inteligência ? E se a equipe, sabendo dos procedimentos e métodos de Fingerprinting, não decidiu plantar deliberadamente essas marca a fim de colocar o foco em outro grupo ? Tudo é possível. Há diversos posts na web com acusações inclusive de que o malware teria sido um trabalho conjunto entre Israel e os EUA, com ajuda da própria Siemens, que é alemã. Especulações à parte, a maior lição que talvez possamos tirar disso é que o Fingerprinting ajuda mas não determina nada. Sempre devemos ter cuidado em não sermos levados em direções erradas nas investigações, ainda mais nesses novos tempos de cyberwar e armas cibernéticas, como é o caso do Stuxnet. Lembre-se que, segundo o movimento natural do mercado e da tecnologia, o próximo passo é passarem a tornar as técnicas do Stuxnet comuns e mais acessíveis, até o ponto onde poderemos pegar malwares mais corriqueiros fazendo uso das mesmas artimanhas e estratégias.

São tempos difíceis ...

Até o próximo post !

Nenhum comentário: