Archive for January 2011

 
 

Ataques dicionáricos

Li recentemente sobre um hacker Alemão que utilizou as novas máquinas virtuais da Amazon Web Services com dois cartões de vídeo GPU que aceitam código fonte que implemente a arquitetura CUDA de computação paralela, para decriptografar senhas de Wifi WPA-PSK, senhas estas compostas por palavras encontradas em um dicionário.

No experimento, Thomas Roth conseguiu conferir senhas em uma velocidade de até 400 mil palavras por segundo.

O experimento consiste em simular um cliente, entenda-se um computador com cartão de rede wireless, tentando autenticação em uma rede Wifi. Uma vez “capturada” a transmissão de pacotes, é possível, segundo entendi, decriptar a senha com auxílio de software.

Para conferir, instalei o software aircrack-ng num laptop rodando Ubuntu 10.10 com um cartão de rede Intel PRO/Wireless 3945ABG, capturei dados da rede do escritório e forneci ao software uma tabela, que incluia a nossa senha.

# Iniciar interface em modo monitor
$ sudo airmon-ng start wlan 9
# Capturar comunicação
$ sudo airodump-ng -w wpa -c 9 mon0
# Simular interação com uma rede
$ sudo aireplay-ng -0 5 -a 1C:AF:F7:24:A1:26 -c F0:B4:79:16:ED:57 mon0
# Decriptar – onde dic.txt é o dicionário e wpa-01.cap o log de comunicação
$ sudo aircrack-ng -a 2 -0 -w dic.txt wpa-01.cap

De fato o software achou a senha. Ocorre que nem todas as combinações possíveis de caracteres se encontram no dicionário. Considere que um conjunto de 13 caracteres formados de letras maiúsculas (25) e minúsculas (25) e números de 0 a 9 (10), possibilitam a formação de nr arranjos com repetição, ou seja 6013 resultando em um total de 1.3061 * 1023 senhas segundo minha calculadora HP 35s.

Dado que seriam necessários ao menos 14 bytes para representar uma senha; 13 mais um caracter de separação, um arquivo abrangendo todos os possíveis arranjos com repetição conforme descrito utilizaria:

1.3061 * 1023 x 14 = 1,8285 * 1024 bytes
1.8285 * 1024 / 10244 = 1.663 * 1012 terabytes

Seriam necessários aproximadamente 830 milhões de discos rígidos USB externo de 2 terabytes para salvar tal arquivo. E isto sem considerar outros fatores como o algoritmo e a computação da tabela.

Considerando que a altura de um destes é 40mm, se empilhados chegariam a quase 21 mil metros de altura, ou seja, se a pilha começasse na depressão mais profunda dos oceanos, as Fossas das Marianas, iria além da altitude do Monte Everest.

Moral da história, quando escolher a senha do seu Wifi, não escolha palavras que estão no dicionário!

Cromatógrafo Portátil

O departamento de P&D da Construmaq está trabalhando no novo cromatógrafo portátil, modelo provisóriamente denominado U-14, sucessor do clássico U-13, o “fusquinha” da cromatografia.

O U-13 é um modelo provado com centenas de milhares de quilômetros rodados, entre um laboratório de campo e outro.

O U-14 conta com conversores analógico-digitais de 24 bits da família AD719x, fabricados pela empresa Norte-Americana Analog Devices. Estes conversores permitem a redução do volume da parte eletrônica do cromatógrafo, dado que várias funções de amplificação e ajuste de sinal são manejadas internamente ao conversor. O tamanho do U-14 será portanto menor que do U-13.

Os conversores da família AD718x permitem até 19.7 bits de resolução sem ruído, ou seja, uma escala de 0 até quase um milhão.

O U-14 deve chegar ao mercado no primeiro trimestre de 2011.

Computação nas nuvens

Os conceitos que geraram a noção de computação em (ou nas) nuvens, existem desde os anos 60, quando pesquisas feitas pela IBM começaram a otimizar o uso de processador, memória e disco de seus mainframes.

Desta feita, foi possível repartir um mainframe entre vários usuários, cada qual utilizando uma fração dos recursos, como um computador a parte. Esta prática ficou conhecida com virtualização.

Aliada a virtualização, outro conceito fundamental da computaçao nas nuvens, é um que tambem é fundamental à internet; o acesso remoto. A primeira ferramenta de acesso remoto começou a ser debatida no final dos anos sessenta, e veio a ser conhecida com Telnet, acronimia para teletype terminal. Esta funcionalidade permite que um computador seja acessado através de outro, como se o acesso fosse feito no próprio terminal.

Equivalentes modernos incluem as ferramentas Remote Desktop e VNC, que fornecem um cópia do desktop do computador sendo acessado.

A IBM continua uma das líderes em sistemas virtualizados, enquanto empresas como a VMWare produzem software que facilitam a criação de “imagens” de máquinas virtuais, uma imagem sendo o conjunto de arquivos que definem um computador.

Em 2006, a Amazon, através de sua subsidiária, a Amazon Web Services, ou AWS, entrou no mercado com uma série de serviços. Um deles, o EC2 (Elastic Compute Cloud) permite o uso de computadores virtuais cobrados por hora. Existem vários casos para o emprego de tais computadores, um dos mais conhecidos sendo o atendimento de demanda sazonal (vendas natalinas, devolução de imposto de renda) e pesquisa (supercomputadores).

Uma das ferramentas disponibilizadas pela AWS é o EC2 API (interface de programação de aplicativos). Uma vez aberta uma conta, e configurado o API, rodar uma máquina virtual é questão de datilografar no console:

$ ec2run ami-d79ca9a3 -t t1.micro -k aws_key_pair

No caso acima, o computador virtual é uma instância do Ubuntu 10.10. Para acessá-la com SSH, o comando é:

$ ssh -i ~/.ssh/aws_key_pair.pem ubuntu@<public dns>

Onde <public dns> é especifico à instância.

O custo neste caso é de U$0.02 por hora.

Outro provedor do serviço é a empresa Rackspace.