domingo, 29 de maio de 2011

O Stuxnet e a responsabilidade civil

Neste que é o ultimo(?) post da série Stuxnet, quero colocar algumas indagações e duvidas de ordem jurídica. Sei que alguns leitores militam no Direito e poderão contribuir.

O Stuxnet, como foi veiculado e também comentamos ao longo dos posts, causou uma serie de estragos. Observando a linha do tempo de atuação dele, podemos perceber algumas coisas críticas envolvendo o processo de infecção dele:

- Os 0-day exploits usados;
- Os exploits que já possuíam correções;
- A senha hardcoded no WinCC/Step7;

Enquanto ter uma máquina explorada por um exploits cuja vulnerabilidade já foi corrigida é falha da equipe da empresa explorada, que não atualizou a máquina devidamente, os outros dois casos tem conotação diferente.

Na questão da senha hardcoded, não tenho a menor dúvida de que isso vai contra todas as boas práticas de segurança. Não importa quais controles compensatórios estejam atuando, existem inúmeros esquemas de segurança para evitar o hardcoded, que torna rapidamente o elo mais fraco e o primeiro a ser atacado. Que o diga o Stuxnet. Isso dito, e considerando que InfoSec nao deveria ser novidade para nenhuma empresa de porte da Siemens, minha pergunta é se caberia ação de reparação contra a Siemens, por danos causados pelo Stuxnet, considerando negligência a questão do hardcode da senha.

A parte do 0-day requer uma analise sob um outro ponto. A principal técnica de propagação, baseada em arquivos .lnk craftados, era um 0-day que tinha sido usado anteriormente. Há registros sobre o uso dessa mesma técnica em novembro de 2008, com uma variante do Trojan.Zlob. Ou seja, a técnica era já conhecida "in the wild" por 2 anos !!! O outro 0-day, explorando uma vulnerabilidade do Printer Spooler, foi comentado na edição de abril de 2009 da revista Hakin9 ! Nos dois casos, o fabricante do SO pode ter deixado os usuários na mão por muito tempo, e isso implicou a viabilidade da infecção das máquinas controladoras do PLC, e com isso, os $$$$ de prejuízo. Dai vem a pergunta número 2: caberia reparação contra o fabricante de SO, considerando negligência por não ter consertado em tempo razoável falhas graves divulgadas publicamente ?

Doutores e não doutores, comentem !

Até o próximo post !

sexta-feira, 27 de maio de 2011

Stuxnet e seus estragos

Ainda na nossa serie de posts sobre o Stuxnet, gostaria de comentar e lançar uma discussão sobre o impacto desse malware.

Há algumas coisas que podem ser imediatamente apontadas como tendo impacto negativo, mas outras vieram por tabela e lançam aspectos obscuros no já tenebroso mundo cibernético que estamos vivendo.

O impacto real e mais aparente é, obviamente, o principal motivo pelo qual o malware foi escrito. Ele é uma arma cibernética de sabotagem. Ponto. Os estragos foram contabilizados e há vários gráficos e estudos por aí que mostram como foi impactante nas estruturas de diversos países, mas muito mais nas plantas atômicas iranianas. Alguns gráficos mostram perceptivelmente que o impacto no Irã foi mais do que o dobro do que o segundo mais afetado; em alguns aspectos, foi mais que três vezes pior, ou maior que a soma de todos os outros afetados.

Ok, mas que outros impactos nos trouxe o Stuxnet ?

Ele mudou o cenário de malware. Ao aplicar técnicas novas, rebuscadas e sincronizadas, ele pode ter lançado novas formas e métodos de ataque que em breve estarão disseminados e serão comuns nos malwares, e sem duvida essa nova situação vai requerer mais pesquisas e praticas investigativas diferenciadas. O mecanismo de injeção de código dele, por exemplo, é engenhoso e inovador.Ele também lançou nova onda nos conceitos de guerra cibernética.

Ate onde pude colher informações, nunca tinham usado malware com objetivos de sabotagem de infra-estrutura critica. Isso também com certeza vai cair no lugar comum e vai acontecer com mais freqüência. No ultimo Hackinthebox houve uma palestra indicando como malware pode causar danos físicos ao hardware do computador, fazendo com PCs o que o Stuxnet fez com as centrifugas. A bem da verdade, isso não é nada novo. No inicio dos anos 90, a onda era criar malware que danificava a trilha 0 do disco, detonando-o. Também me lembro de algumas rotinas em assembly cujo objetivo era danificar o monitor, colocando parâmetros incompatíveis nele. Isso tinha parado, mas tudo indica que pode voltar.

Apesar de tudo, o maior impacto indireto das ações do Stuxnet não está no que comentei acima, mas no fato de que algumas das dlls do seu código estavam assinadas com certificados validos. O driver mrxnet.sys, parte do Stuxnet atuando como um rootkit, estava assinado digitalmente com um certificado válido da Realtek. Outros arquivos possuíam a mesma assinatura digital. Em meados de 2010, outros arquivos identificados como parte do código do Stuxnet estavam assinados digitalmente por um certificado válido da empresa JMicron Technology Corp. Vale notar que, fisicamente, ambas estão próximas e isso pode indicar que os certificados foram roubados por alguém com acesso físico às dependências das duas empresas. O quanto essa situação vai trazer de desconfiança nos esquemas de assinatura digital não sabemos ainda. É fato que a validade de todo o processo reside no fato de a chave privada estar muito bem guardada, e não acredito que esse tenha sido o único caso de comprometimento até hoje registrado. A famosa propriedade da assinatura digital conhecida como não-repúdio, onde o emissor não pode negar a autoria do que foi assinado, pode sair arranhada desse caso. Assim como a alegação de insanidade virou moda nos processos americanos e, nos meios digitais, o malware defense ("não fui eu quem fez isso, foi um vírus"), essa pode ser a próxima tese de defesa em documentos assinados digitalmente ("está assinado mas não fui eu, minha chave privada deve ter sido comprometida").

Pronto, mais um problema para resolver. Não devemos esquecer que já está acontecendo no Brasil o projeto da nova carteira de identidade, que já virá com chip e certificado, permitindo o uso em assinaturas digitais. Ahhh, mas tem a revogação do certificado, você pode dizer.
É verdade. O código Stuxnet com assinatura da Realtek foi identificado em 25 de Janeiro de 2010. O certificado foi revogado em 20 de julho. Tire suas conclusões ...

Comentários ?

Até o próximo post !

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 !

domingo, 22 de maio de 2011

O Stuxnet e as capivaras

Em primeiro lugar, gostaria de dizer que o termo Capivara não foi criado por mim. Essa alcunha genial é fruto das mentes brilhantes dos nossos camaradas do dclabs Grinch, Crash e Alexos, hábeis observadores da natureza e da semelhança com atitudes de certos usuários.

A pergunta que não quer calar é: Habitariam também as capivaras os ambientes high-tech, ou estariam confinadas apenas aos lugares mais comuns, onde o Office é o exemplo máximo de tecnologia ? Infelizmente, habitam.

Vamos falar de alta tecnologia.

O STUXNET

Essa obra de arte da tecnologia não é mais novidade. O assunto já rola há algum tempo e foi alvo de pelo menos 3 comentários nas palestras do WebSecForum, incluindo a minha.
O Stuxnet é um malware especificamente criado com fins de sabotagem. Ele pode ser desmembrado em algumas dlls e códigos que vão infectar máquinas Windows e controladores PLCs, de maneira bem especifica.

Diferentemente dos PCs, cujo hardware é praticamente padronizado e o SO não varia tanto também (win, Linux, etc), a arquitetura que envolve controladores industriais é bem mais complexa e diferenciada.O caso do Stuxnet envolve código específico para centrifugas ligadas a projetos de energia atômica. Algumas pesquisas mostram que a grande maioria dos usuários do modelo vulnerável ao código do Stuxnet esta no IRÃ. Seria isso mera coincidência ?

Em termos de arquitetura, um grupo de centrifugas está ligado por interfaces de controle a um concentrador, que por sua vez liga-se ao PLC (Programmable Logic Controller). Esse equipamento é quem recebe e roda programas em uma linguagem incomum chamada STL e que, através desses programas, controla as centrifugas. Esse controle envolve parametrizações mais simples e algumas mais criticas, como por exemplo, a velocidade de rotação do motor da centrifuga. Essa velocidade é muito especifica para o processo, não pode ser mais nem menos do que o estabelecido, e é exatamente isso que o Stuxnet faz, ora aumentando, ora diminuindo a velocidade de rotação, sabotando o processo.
Para interfacear com o PLC, mandando os programas para ele, por exemplo, existe um PC rodando Windows e fica conectado ao PLC (na verdade, não precisam estar o tempo todo conectados). Em geral , esses computadores ficam apartados das redes TCP/IP, mas também podem estar ligados a uma (o que não parece ser uma boa pratica). No caso específico do PLC alvo do Stuxnet, da marca Siemens, há um software de controle que é executado nesse PC, o WinCC/Step7.

Em termos de preparação e planejamento, o Stuxnet é o estado da arte. Esqueça mensagens com palavras escritas errado e adolescentes programando em uma mesa suja. Stuxnet foi desenvolvido por equipe grande e com skills bem variados. Ele usa complicados esquemas de injeção de código na memória e aplica rootkits para esconder-se tanto na máquina Windows quanto no PLC. O esquema de infecção é engenhoso, apoiando-se em varias vulnerabilidades, sendo que duas delas eram 0-day na época de seu lançamento. Além disso, busca infectar máquinas Windows com Step7 ligadas a rede TCP/IP ou não. Para as desconectadas usa uma estratégia bastante inteligente: a fim de manter as máquinas atualizadas, em geral os administradores baixam patches para pendrives e as atualizam off-line, plugando o pendrive em cada uma das máquinas que acessam PLCs. O Stuxnet tem um sub-sistema específico para explorar máquinas a partir de arquivos .lnk e com isso infectar máquinas onde pendrives contendo tais arquivos forem usados. Muito engenhoso !

Vale a pena tirar um tempo e estudar mais profundamente a estratégia e os detalhes desse malware. Ele foi citado, inclusive, em uma das minhas previsões da minha palestra no WebSecForum e imagino que vá criar uma nova onda de ataques muito mais complexa e elaborada que as atuais.

Onde estão as Capivaras ???

O Stuxnet ataca por todos os lados. Uma das estratégias de infecção é buscar a máquina que está rodando o banco de dados do WinCC. Ele se conecta ao banco e usa algumas queries, acessa o SO, aciona OLE automation, enfim, faz a festa. Como ele faz isso ? Muito simples. A senha do database está hardcoded dentro do código do WinCC ...

Sem comentários, não ? Ou melhor, comentem !!!

Até o próximo post !

quinta-feira, 19 de maio de 2011

Ysts 5 - Review

Quem foi que disse que não dá para melhorar o que já está excelente ? A turma da organização do YSTS mostrou que dá.

O ano passado já tinha sido ótimo, lugar legal, palestras super interessantes, mas o trio Willian Caprino, Nelson Murilo e Luiz Eduardo conseguiu se superar. O lugar foi ainda melhor, ambiente descontraído, e as palestras estavam super interessantes. Não posso deixar de destacar também o trabalho do staff, sempre disponíveis para ajudar (valeu o help, Rodolfo!).

O dia começou com uma palestra genial sobre lockpicking. Foi a primeira vez que assisti uma palestra sobre esse tema. Já tinha visto vários vídeos sobre o assunto, mas ao vivo é mais interessante e o palestrante, Deviant Allan, mandou bem. Acredito que o tema foi muito bem recebido, já que a área que foi disponibilizada para tentar as técnicas estava sempre cheia.

Segunda palestra do evento, nosso camarada brazuca Fábio Assolini trouxe algumas histórias macabras de roubo de identidade no Brasil. Como o Anchises mesmo twittou, deu medo ...

Alex Kirk veio em seguida trazendo o assunto de uso da porta 80 em canais c&c. Eu estava me preparando para a minha palestra e confesso que aproveitei pouco essa. Vou ler melhor os slides quando forem liberados.

O cheff Tony Rodrigues apresentou em seguida o projeto MUFFIN, uma técnica para se criar toolkits de resposta a incidentes que não tenham as fraquezas ou problemas que encontramos nos toolkits disponíveis atualmente. A apresentação foi muito positiva e varias pessoas já me procuraram querendo trabalhar projeto. Excelente ! Vou dedicar um post especificamente para o projeto e seus detalhes.

Seguindo a minha apresentação, tivemos Gerry Egan mostrando como a ideia de reputação pode ser usada para complementar a proteção pelos antivírus. Almoço, sobremesa, e recomeçam as palestras.

Anderson Ramos falou do histórico do projeto hackers construindo futuros e passou a bola para FerFon falar sobre riscos e como ganhar com eles. A palestra trouxe alguns questionamentos e, como o próprio Fernando comentou comigo, atingiu o objetivo de colocar a turma para pensar em algumas questões. Muito bom.

Michael Smith falou sobre ddos e suas diversas implicações, e foi bacana assistir ao assunto porque ao meu lado estava o Nelson Brito, mestre nesse tema.

Gary Golomb trouxe uma abordagem de forense baseada em rede e falou do Netwitness, um software excelente para esse fim. É tudo e mais um pouco, pena que tem custo altíssimo (há uma versão free, com capacidade reduzida).

A palestra do nosso camarada Zucco veio em seguida, mas eu já estava de partida para o aeroporto e não consegui assisti-la, bem como perdi o hilario Anchises no Infosec Arena. Tenho que vê-las em vídeo assim que ficarem disponíveis.

Fim do resumo, resultados super-positivos e mais um mega evento para a conta desse trio que está de parabéns.

Comentários ? Dê suas impressões sobre o evento !

Até o próximo post !

segunda-feira, 9 de maio de 2011

YSTS 5 e habilidades culinárias

O mais famoso evento etílico-hacker do planeta está chegando. Dia 16 de maio, algum bar bacana de São Paulo estará fechado e cheio de loucos falando sobre InfoSec, invasões, pentesting, forense e assuntos nessa linha.

Meu paper foi aceito e vou lançar no evento um projeto na linha de coleta de dados voláteis para resposta a incidentes.

O projeto MUFFIN surgiu a partir da observação das vantagens e desvantagens dos produtos existentes no mercado com essa finalidade: levantar os dados voláteis e o estado da máquina, coletando informações para analise. O MUFFIN tem lugar garantido nessa etapa e vai atuar exatamente onde os Live CDs e alguns outros deixam a desejar.

Um exemplo ? Quem já nao passou pela irritante situação de ter o antivirus bloqueando um utilitário legitimo de coleta, enquanto o próprio deixou passar o malware ? E quando o alvo da coleta ou triagem estava se protegendo com alguma ferramenta de anti-forense ? MUFFIN se propõe a tratar esses e outros problemas.

A turma também está preparando a Operação Aurora++. Não perca !

Quem for ao evento, dê um alô. É sempre bom falar de Forense e reencontrar amigos.

Até o próximo post !

sábado, 7 de maio de 2011

Websecforum - Review

O Web Security Fórum terminou há alguns dias e eu fiquei devendo alguns comentários aqui no blog.

O primeiro deles é sobre a organização do evento. Gustavo Lima, mistura de nerd de Infosec com Silvio Santos, mostrou que podemos ir longe se juntarmos planejamento, contatos e muita, mas muuuita persistência. O evento foi impecável em todos os sentidos, tanto para quem palestrou quanto para quem assistiu. Lugar excelente, infra adequada, preços acessíveis para estudantes, tratamento VIP para os palestrantes (ele só ficou devendo as virgens havaianas que iriam nos abanar durante todo o evento ... Nada é perfeito ...).

Brincadeiras à parte, Gustavo levou nota 10. Foi excelente. As palestras, idem. Diversas disciplinas foram tratadas, desde Segurança de Informações até Direito Digital, técnicas de pentesting, Forense, tivemos até um vidente maluco ... :O. Sem desmerecer os demais, os mineirinhos do DC LABS e o baianinho maluco que veio em seguida foram sensacionais. Milagres deu show, como sempre. Nelson trouxe uma nova versão do T50 em mais uma super palestra multimídia, Mercês vai tomar conta do projeto e foi apresentado lá. Um ponto a mais! O evento também contou com as palestras da Dra Gisele Truzzi e da Carol Bozza, que além de lindas, fizeram excelentes palestras e calaram a boca dos que contam aquela infame piadinha que Deus pergunta se quer ser bonita ou ser de TI ...

Saindo do e entrando no , fiquei me questionando sobre uma característica que notei durante o evento, tanto nas palestras quanto nos comentários e conversas sobre o assunto no hall. Sobre o projeto de lei de crimes cibernéticos, já esta claro que o assunto é polemico e está se arrastando muito além do que imaginávamos. Alguns são, inclusive, da opinião de que nada vai efetivamente sair, nem mesmo nessa década. É nesse ponto que eu pergunto: afinal, o que precisa ser feito ??? Muitas ideias e criticas foram colocadas sobre o assunto no evento. Ok, mas o que efetivamente pode ser feito para acelerar essa discussão e colocar na cadeia quem usa o mouse como arma ?

Comentários ?

Ate o próximo post !

PS: os vídeos das palestras já estão no youtube.

quinta-feira, 5 de maio de 2011

Twitter

Depois de mais de um ano resistindo à idéia de usar o Twitter, acabei sendo vencido e criei uma conta. Como meu camarada Nelson T50 Brito disse, não posso deixar de acompanhar algumas pérolas que os amigos escrevem, sejam elas de tecnologia ou mesmo pura insanidade.

Já aviso logo que meus tweets vão variar entre essas duas linhas, então siga-me por sua própria conta e risco ;)

O nome da conta faz menção a um novo projeto que lançarei em breve: @OctaneLabs

Vamos nos ver por lá.

Até o próximo post !