iCTF: the International Capture The Flag Competition

The International Capture The Flag (“iCTF”) is a distributed, wide-area security exercise, which aims to test the security skills of the participants. The iCTF is one of the world’s largest and longest-running educational hacking competitions and has the goal of educating students about security-related topics in a live setting.

iCTF 2023

The iCTF 2023 took place on December 2, 2023, at 10 am Pacific Time to December 8, 2023, at 4 pm, Pacific Time.

The iCTF 2023 was sponsored by the ACTION NSF AI Institute, and was organized by Shellphish and the UCSB Women in Computer Science group.

This edition of the competition had a different design and scope with respect to previous editions of the iCTF. First, of all the competition moved from its traditional attack/defense structure to a challenge-based one. Second, the competition lasted for a whole week. Third, the iCTF was actually composed of two separate competitions, one dedicated to high school teams and one dedicated to undergraduate students (the teams were vetted and needed to have an academic advisor, going back what was done in the early versions of the iCTF).

Congratulations to the winners!

History and Background

The iCTF evolved from several security “live exercises” that were carried out locally by Prof. Giovanni Vigna at UC Santa Barbara, in 2001 and 2002.

Motivated by the students’ enthusiasm for security competitions, Prof. Vigna carried out the first wide-area edition of the iCTF in December 2003. In that CTF, fourteen teams from around the United States competed in a contest to compromise other teams’ network services while trying to protect their services from attacks. This historical contest included teams from UC Santa Barbara, North Carolina State University, the Naval Postgraduate School in Monterey, the West Point Academy, Georgia Tech, the University of Texas at Austin, and the University of Illinois, Urbana-Champaign.

In 2004, the iCTF evolved into a truly international exercise (hence, the name “iCTF”), which included teams from the United States, Austria, Germany, Italy, and Norway.

For many years, the iCTF was the world’s largest educational security competition and helped popularize this type of event. In traditional editions of the iCTF competition, the goal of each team is to maintain a set of services so that they remain available and uncompromised throughout the contest. Each team also has to attempt to compromise the other teams’ services. Since all the teams have access to an identical copy of the virtual host containing the vulnerable services, each team has to find vulnerabilities in their copy of the hosts and possibly fix the vulnerabilities without disrupting the services. At the same time, the teams have to leverage their knowledge about the vulnerabilities they found to compromise the servers run by other teams. Compromising a service allows a team to bypass the service’s security mechanisms and to “capture the flag” associated with the service (a flag is just a string of characters, such as “Y0u F0und Th3 Fl4g”.) These flags are then presented to the organizers as “proof of compromise” to receive “attack” points. The teams also receive “defense” points if they can keep their services functional and uncompromised. At the end of the competition, the team with the most points wins.

Throughout the years, new competition designs have been introduced that innovated the more “traditional” designs followed in the early editions of the competition.

More precisely, in 2008 the iCTF featured a separate virtual network for each team. The goal was to attack a terrorist network and defuse a bomb after compromising several hosts. This competition allowed for the recording of several parallel multi-stage attacks against the same network. The resulting dataset has been used as the basis for correlation and attack prediction research.

In 2009, the participants had to compromise the browsers of a large group of simulated users, steal their money, and create a botnet. This design focused particularly on the concept of drive-by attacks, in which users are lured into visiting websites that deliver attacks silently.

In 2010, the participants were part of a coalition that had to attack the rogue nation of Litya, ruled by the evil Lisvoy Bironulesk. A new design forced the team to attack the services supporting Litya’s infrastructure only at specific times when certain activities were in progress. In addition, an intrusion detection system would temporarily firewall out the teams whose attacks were detected.

In 2011, the participants had to “launder” their money through the execution of exploits, which had some risks associated with them. This created an interesting exercise in evaluating the risk/reward trade-offs in network security.

In both 2012 and 2013, teams had to “weaponize” their exploits and give them to the organizer, who would then schedule their execution. This last design was a first step towards the creation of a “cyber-range” where interesting network datasets (with ground truth) can be created to support security research.

In 2014, the competition was used as a way to publicize the iCTF Framework. To this end, the vulnerable virtual machine contained 42 services from previous iCTF editions, which forced the participants to effectively triage their efforts.

In 2015, the iCTF followed a novel design: to participate, the teams had to provide a vulnerable service that would become part of the competition. As a result, the 2015 iCTF featured 35 new services (and 35 teams) and tested a new set of skills, in addition to attack and defense: the ability to create a well-balanced vulnerable service.

In 2016, we decided to permanently move the competition to March (and since the decision was made in October, there was no iCTF event in that year).

In March 2017, the iCTF was run using Amazon’s cloud. All components were run in an enclave, and the competition, for the first time, was open to the world, resulting in more than 280 teams participating. Until then, only academic teams were allowed to participate. As part of this competition, we released the iCTF framework, which is the software infrastructure used to run the competition. The framework is available for download on GitHub: https://github.com/shellphish/ictf-framework

In March 2019, the iCTF competition continued to be hosted on Amazon AWS infrastructure and introduced a new way of creating and deploying services using containers. The competition was held on March 15th, 2019 with almost 400 teams participating.

In March 2020, the iCTF competition featured a novel component-based deployment mode, that allowed for greater scalability.

In December 2021, we themed the competition around Decentralized Finance (DeFi), while operating under the duress introduced by COVID.

In 2022, we didn’t have a competition, largely due to the impact of COVID-19 on all of Shellphish’s activities.

In 2023, the competition moved to a challenge-based scheme, returned its focus on education (vetted teams), and had two separate tracks (high school and undegraduate).

Publications

The organizers of the iCTF have published a number of papers about various aspects of designing and organizing security competitions:

Point Of Contact

The International Capture The Flag (iCTF) is organized by Shellphish.

For information contact ictf@shellphish.net.