Machine Learning Binaries
Train a machine learning classifier to identify architectures.
How to play
We see huge benefits of machine learning in the field of computer security. Do you?
Much of the work we do on a daily basis can be automated and classified by a machine, leaving us to focus on more interesting and challenging problems. One stunning example is the automated binary exploitation and patching research funded by DARPA for the Cyber Grand Challenge. Problems like these are the stepping stones that will lead us to a future of automated computer security.
The crux of the challenge is to build a classifier that can automatically identify and categorize the instruction set architecture of a random binary blob. Train a machine learning classifier to identify the architecture of a binary blob given a list of possible architectures. We currently support twelve architectures, including: avr, alphaev56, arm, m68k, mips, mipsel, powerpc, s390, sh4, sparc, x86_64, and xtensa.
When your classifier has solved 500 challenges in a row, send your resume along with all hash values you collected and any code used in the challenges to: careers@praetorian.com
Please remember to document your solutions and provide code where applicable.
Explore the Sample
Method | Action | Details |
---|---|---|
|
|
Retrieve a new challenge. Consists of a binary blob and six possible target architectures. Response: |
|
|
Attempt to solve a challenge by guessing the instruction set architecture of the binary blob. The server will respond with your current consecutive wins and the actual architecture of the binary. If you have solved over 500 challenges, the server will also send a hash for submission to careers@praetorian.com Request: Response: |
Getting started
To help get you started, we’ve included this example code to help you communicate with the “Machine Learning Binaries” technical challenge.
Python
Will you be next? We’ll be watching.
But feel free to reach out via Twitter @PraetorianLabs.