Last night Scott, DJ, and I took part in DefCamp, “BarCamp’s Little Slice of Defcon”. DefCamp is a security contest, like Defcon’s Mystery Box, masterminded by Viss with help from Billy (?). The contest had three phases: First, a set of web pages and online clues to decode. Second, a booby-trapped box to open. Third, an embedded system to build then modify.
The first task was solving the web page challenges. It was a security mish-mash: lots of binary or hex to/from ASCII conversions, rotation and substitution ciphers, some simple password breaking, QR codes, sound spectral graphs, steganography in JPEGs. All the while with other teams trying to shoulder-surf us, and us trying to overhear them. Each puzzle led to a letter that spelled out a word.
Once we got the word (it was “IZZARD” as in Eddie), we went to Viss and he gave us The Box. The box (I didn’t get any pictures but someone else probably did) was a set of physical and electronic puzzles. Rules of the game are: no tilting, cutting, drilling, or breaking the box. If you mishandle the box or cut wires incorrectly, it makes a loud alarm. The top of the box is studded with nails, sharp side up. There are a handful of wires coming out from the back of the box, with alligator clips on the end. When the wires are connected to most of the nails, they trigger the beeper briefly. When you get the right combination of wires and nails, though, a relay flips and a set of green LEDs go on. Now we can cut some of the red wires and open the box.
Inside the box (which is actually a plastic tool box with a drawer inside), the next obstacle is an old padlock, keeping the drawer in place. We all suck at picking locks, so we spent about half an hour with DJ’s lockpicks trying to get it open. We finally realized we were turning the ‘key’ the wrong way, and then we got it open with another five minutes of fiddling.
After that, we got to the final step: one of Lady Ada’s MiniPOV3 kits, ready to assemble. The mission: get it to display a custom message. Piece of cake, right? I know AVRs, this is like home turf.
Scott and I made quick work of the assembly: sorting the dozen through-hole parts, slotting them into the holes, and tag-team soldering (turns out soldering is a four-hand job). We followed the schematic to find the pins for the serial connector. At the same time, DJ and I started installing avr-gcc from MacPorts on Scott’s computer. We hit trouble though: avr-libc in MacPorts failed to configure, because it somehow kept trying to use the system’s PowerPC gcc instead of avr-gcc (oops). Apart from that, we couldn’t get avrdude on the Mac to talk to the board. DJ installed avrdude on his Linux computer, but it didn’t work either.
Turns out that when Scott and I buzzed out the PCB traces to figure out how to solder the serial connector on… the schematic we were working from didn’t match our board!. We got two wires backward! By the time we figured it out, it was too late: another group had already finished… our UCSD rivals Declan and Robert. After fixing the wires (turns out, the pad pattern on the board was a direct analog of the connector itself), we programmed it from Declan’s computer, since by then we’d figured out how to change the message and recompile. We finally claimed third place.
Our prize: Fry’s gift cards and the memories of a marvelously fun experience. Viss, you’re a mean-hearted fellow… some of those challenges were hard :D
I’m still disappointed I couldn’t bring home the top prize, an A2 Aviator. Iain, Viss says Aviators are red without exception, and to kill you for the offense against nature embodied in your green one.
Two hours till I give my talk…