[Desafio do mês] Explorando falhas de segurança em firmware

- por Sergio Prado

Categorias: Desafios Tags: , ,

O desafio deste mês é sobre segurança em sistemas embarcados.

Há alguns anos, o pessoal da Matasano Security e da Square criaram uma competição online do tipo Capture The Flag chamada Microcorruption CTF.

A estória é a seguinte: existem diversas maletas espalhadas pelo mundo que possuem um conteúdo que pode valer bilhões de dólares. Mas estas maletas estão protegidas por um dispositivo de trava eletrônico, chamado Lockitall LockIT Pro. Seu objetivo? Destravar este dispositivo e acessar o conteúdo das maletas!

A idéia então é explorar falhas de segurança no código que está rodando neste dispositivo, baseado no MSP430 e até com um manual disponível!

E o conceito é simples, basta fazer login no dispositivo. O único problema é que você não tem a senha! É aí que você aprenderá técnicas para explorar falhas em código, como buffer overflow, estouro de inteiro, etc. E tudo o que você tem é o disassembly do código, um assembler e um debugger, com uma interface parecida com o GDB.

São várias fases, e conforme você vai passando de fase, a dificuldade aumenta e você acumula pontos.

AS REGRAS DO DESAFIO

A regra é simples. Primeiro você deve acessar o site da ferramenta e criar um usuário. Depois acesse a página de documentação da ferramenta e estude como o jogo funciona. Jogue, passe de fase e acumule pontos!

O jogo tem diversas fases, mas você não precisa jogar até o fim. Quando achar que já tem pontos suficientes para ganhar o desafio do blog, me envie seus dados de login da ferramenta (usuário e senha) para o e-mail contato@sergioprado.org. Não se preocupe que não divulgarei estes dados, mas preciso deles para confirmar no site da ferramenta a quantidade de pontos que você fez.

Aceitarei submissões até o dia 31/03 e o resultado será divulgado na primeira semana de abril.

Todos os participantes ganharão 5 pontos no ranking de desafios do blog, e o participante que fizer mais pontos no jogo ganha os 10 pontos no ranking do blog, além do prêmio, esta belezura de Stellaris LM4F120 LaunchPad!

Boa diversão!

Um abraço,

Sergio Prado

  • Opa, eu já fiz vários desses desafios do microcorruption e acho muito válido pra quem se interessa em aprender engenharia reversa. O problema deste tipo de desafio popular é que uma rápida pesquisa vai encontrar repos no Github onde tem as soluções para todos os problemas e assim alguém de índole mais “discutível” pode ir ali, criar usuário e subir na pontuação apenas seguindo os passos já prontos. Anyway, vale a pena pra quem quer aprender.

    Outro muito bom da Matasano é o: https://cryptopals.com/, mas este é não é embarcados e sim focado em criptografia. Vale a pena fazer.

Navegue
Creative Commons Este trabalho de Sergio Prado é licenciado pelo
Creative Commons BY-NC-SA 3.0.