James Pavur and Casey Knerr both study cybersecurity at Georgetown University and have long sought jobs and internships in the field. Throughout our education, however, we couldn't help but notice the incredibly low percentage of women pursuing jobs in information or network security. In software development, women make up roughly 30% of coders. In cybersecurity, women make up only 10%
For a long time, there have existed tools that teach young computer novices simple programming concepts like loops and conditionals through fun games and activities. These tools have been especially helpful in encouraging women to pursue jobs in computer science and software development. However, there is no equivalent tool for basic, essential cybersecurity concepts: cryptography, packet analysis, social engineering, etc. We wondered why we couldn't create such a program.
What it does
The Adventures of Hackergirl follows a female hacker on her first day in a law enforcement career. Her supervisor, Officer Maria, gives her an assignment to track Ms. Evilady, a notorious criminal suspected of kidnapping puppies. Currently, the game teaches three lessons.
The first lesson is the difference between ethical and unethical hacking. Hackergirl has to get a warrant before collecting any information on Ms. Evilady. To do this, she must demonstrate a reasonable suspicion that Ms. Evilady is actually kidnapping puppies. We felt that this lesson - follow the law, and use your skills only for good - is an important lesson to learn for any hacker, young or old.
The second lesson teaches kids about packets. The packets are depicted as envelopes, each going to and coming from a certain address. The game instructs children to only collect certain packets going to certain addresses. Hackergirl only has a warrant on Ms. Evilady, not everyone else who wants to send messages. The letter analogy helps kids to understand packets (envelopes with letters inside), IP addresses (addresses), and packet captures.
The third lesson teaches kids about encryption. We designed a fake encryption algorithm, ShapeCrypt, that transforms the message inside a particular packet into a series of shapes. However, some packets also contain keys. The kids have to figure out which packets contain keys, which packets contain messages, and which keys match with which messages. This lessons helps kids to understand what it means to encrypt and decrypt a message, and why encryption may be used.
At the end of the story, the puppies are rescued and Hackergirl has saved the day.
How we built it
We used Unity and C# to create the game. We used open source clip art for the animations.
Challenges we ran into
The internet was somewhat spotty throughout the hackathon, which meant we got started on our project late and felt a bit discouraged. This was also our first time a) building a game and b) using Unity to create 2-D animations, so we ran into somewhat of a learning curve.
Accomplishments that we're proud of
We both loved this idea from the start, and we wanted to give it the time and hard work it deserved. Despite the technical and logistical setbacks, we felt we lived up to that goal. Hackergirl is at a great start, and we're excited to see what she's in for next!
What we learned
We learned a ton about Unity, animations, and game design in general.
What's next for HackerGirl
James and Casey are both mentors for Georgetown Women who Code, an organization dedicated to teaching women how to code and mentoring female computer science enthusiasts. We thought it would be a fantastic experience all around to offer our mentees a chance to participate in this project. The students could work together in small groups, each developing an additional level to our game that can teach new cybersecurity concepts. Eventually, we hope to release the game publicly for girls all over the world to enjoy.