This document attempts to give the reader an overview of the scoring system used for Capture the Flag.
The scoring system consists of two parts.
The Flag Server Daemon MUST run on all contestant machines. The purpose of the Flag Server is to allow for the automated replacement of service flags (without the need for administrative access to the contestant machine). For more information, see CTF::FlagServer.
The Scoring Client runs from the CTF administrative host. The scoring client connects to each contestant's Flag Server to read and write the flag data. More information can be found in CTF::FlagClient
Service checking encompasses much more than simply making sure the service is functional. This process involves the reading and writing of the flag data for the service, as well. To ensure that the flag information is being stored properly, the flag data must be made available through the service itself. The service test modules list the flag locations, and any other requirements needed to pass verification.
Every round, the scoring system performs the following procedure for each service on each contestant machine.
$servicefrom the Flag Server.
$servicedirectly for the flag, and ensure that they are the same.
$serviceusing the appropriate module.
CTF::FlagServer, CTF::FlagClient, CTF::ServiceTest::Base