Quem sou eu

Nome: Lizzi Villalba

Disciplina: ELC139 - Programação Paralela

Professora: Andrea Schwertner Charão

Semestre: 01/2011

quarta-feira, 8 de junho de 2011

Quebra de senhas com MPI

Este trabalho e o primeiro contato com programação paralela com passagem de mensagens. Se bem tivemos contato com MPI nas aulas praticas da disciplina, este e o primeiro trabalho desenvolvido completamente com MPI, em termos de analise e programação. 

O trabalho consiste em desenvolver um programa utilizando MPI, em qualquer linguagem de programação, devido à familiaridade com a linguagem C foi a escolhida.

O programa desenvolvido chama o aplicativo MDCrack, uma ferramenta que faz a quebra de senhas baseadas em algoritmos de hash aplicando ataques exaustivos, podendo recuperar qualquer senha feita de ate 16 caracteres.

A quebra de senhas e um processo informático que consiste em a decodificação de senhas. Seu uso é dirigido para os administradores de sistemas provarem a solidez das senhas dos seus utilizadores. Neste trabalho utilizaremos o ataque pela força bruta, também conhecido como o ataque exaustivo, que consiste no decifrado de uma senha testando todas as combinações de caracteres possíveis até encontrar a combinação aceita pelo sistema.

Ao receber como entrada o arquivo crackme.txt que contem uma lista de hashes para quebrar, o programa desenvolvido faz a leitura do arquivo para um vetor de string e distribui uma senha para cada processo trabalhador. À medida que cada trabalhador devolve a senha resolvida, o processo mestre vai designado outra linha de código do arquivo para quebrar, fazendo uma distribuição dinâmica das tarefas.

Para os testes de execução utilizamos as maquinas linux01 e linux02. Para fazer a analise de desempenho utilizamos a ferramenta de visualização Jumpshot. O arquivo crackme.txt foi utilizado como entrada de dados pelo programa.

A partir dos arquivos de log gerados na execução do programa e utilizando a ferramenta Jumpshot para visualizar a execução do programa desenvolvido consegue-se ver o tempo em que os processos se comunicam que difere segundo o numero de processos e a complexidade das senhas a quebrar.

Colocar gráficos

Pode-se afirmar que desempenho do programa depende do tamanho das senhas a quebrar ou ate do numero de processos. Quando menor o tamanho das senhas e a quantidade de processos for maior, os processos trabalhadores usaram mais tempo na comunicação (pedindo mais tarefas), nesse caso a opção mais efetiva seria uma distribuição estática das tarefas.

Porem quando for maior o tamanho das senhas, ou a quantidade de processos for menor, os trabalhadores passam menos tempo pedindo mais tarefas e e ai onde a distribuição dinâmica seria mais efetiva.





Obs: o programa mdcrack foi alterado para imprimir somente o resultado.

Nenhum comentário:

Postar um comentário