Hackathon General Documentation - 2
Hackathon General Documentation - 2
Dell Technologies
March 2024
1
Contents
1 Introduction 3
1.1 Game Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Game Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Fox 4
2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.2 Chunks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3 Steganography: LSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Fake messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.1 Main Idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.2 How to Increase Your Budget . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.3 Limitations on Use . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.4 Utilizing the Fake Messages . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5 Riddles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5.1 Main Idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.5.2 Riddle Rewards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6 Scoring Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Eagle 9
3.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Footprints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.1 Main Idea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.2 What it is . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2.3 Effect on Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3 Requesting The Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4 Decoding The Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.5 Scoring Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
List of Figures
1 Game overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Fox riddle request sequence diagram. . . . . . . . . . . . . . . . . . . . . . . . 7
3 Audio sample with its corresponding spectrogram. . . . . . . . . . . . . . . . 10
4 Eagle sequence diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2
1 Introduction
Hello, and welcome to Hacktrick 2024!
Congratulations on successfully completing all the previous phases and finally making it
to the game - the most interesting part! We are delighted to have you all here.
This document will provide you with all the necessary information from start to end to
participate in this year’s Hacktrick. For clarity and ease of use, there are two additional
supporting documents that focus on specific areas. They will be referenced where relevant.
Moving forward, the hackathon will be divided into two phases, and the details of each
phase will be mentioned at the end of this document. Both the student and professional
tracks will run concurrently, with contestants from each track being separated for fairness.
steganography
/stEg@"nOgr@fi/
noun
the practice of concealing messages or information within other non-secret text or data.
An image, in our case.
Contestants get to compete in teams against each other, taking one of two roles at a
time but ultimately playing on both sides. One trying to send a secret message, and the
other trying hard to intercept it.
Firstly: The Fox. Mischievous, and sly, the Fox uses all its tactics to fool the Eagle and
try to send the message through to the parrot using steganography. As the Fox, you’ll have
the opportunity to invest your time wisely into honing your skills and creating distractions
to increase your chances of evading the Eagle’s watchful gaze.
Second: The Eagle. Sharp-eyed and vigilant, the Eagle uses its attentiveness to try to
intercept and decode the messages sent without getting fooled. Beware of the Fox’s devious
tricks, for Fake messages may cross your path. Your mission is to distinguish truth from de-
ception, ensuring that only genuine messages are intercepted while avoiding costly mistakes.
The parrot represents the game administrator that receives the messages and scores both
ends accordingly.
3
Figure 1: Game overview
2 Fox
Let’s start with the Fox, our primary player.
The primary objective for the Fox is to send the secret message to the parrot, encoded
through steganography, while devising a strategic game plan to outsmart the Eagle and pre-
vent it from intercepting the message. For each game, you will be provided with a message
of a specific length and an image to use for encoding the messages. During the first phase,
the message length is fixed to 20 characters.
2.1 Overview
The game is played in chunks (anything between 1 and 20). In every chunk, there are 3
channels that concurrently carry your messages. The messages can be one of the following
3 types:
• Real: These messages are part of the original message intended for transmission.
• Empty: These are Empty messages.
• Fake: These are Fake messages used to deceive the Eagle. Unlocking this feature
requires solving riddles - details of which are mentioned in section 2.5.
2.2 Chunks
As the Fox, you have the freedom to divide the message into one or more chunks.
However, it’s important to note that there is a time limit for completing your part of the
4
game. Failing to send the full message within the allocated time will result in a score penalty.
It is very important to make sure you send the message exactly as it is. The order of the
messages as well as the characters sent should precisely match the given message.
Rules
• You can only send a maximum of one Real message per chunk.
• The maximum number of chunks you can use is 20.
• You can only use Fake messages if your budget allows for it (details will be explained
in the upcoming sections). If you attempt sending a fake message when you are out
of budget, it will be automatically replaced with an empty message.
• The rest of the channels would contain Empty messages.
• The messages must be encoded using the Least Significant Bit (LSB) technique, which
will be discussed in the next section.
• You cannot send 3 empty messages on one chunk. Every chunk has to have atleast 1
non-empty message.
In this approach, the LSB of each pixel in an image is altered to embed hidden data.
Since the LSB holds the least amount of information and changes to it are less likely to be
noticed by the human eye, this method allows for discrete communication. By replacing
the LSB with secret data bits, one can conceal messages within seemingly innocuous files,
making steganography a powerful tool for covert communication and data security.
To embed secret data using the LSB method, one must first convert the secret data into
a binary format. The secret data is then divided into blocks, and each block is converted
into a series of bits. The LSB of each pixel or sample in the image is then altered to match
the corresponding bit in the secret data block. This process is repeated for each block of
secret data, and the resulting file is then saved.
To extract the secret data from the file, the LSB of each pixel or sample is read, and the
corresponding bit in the secret data block is extracted. This process is repeated for each
block of secret data, and the resulting binary data is then converted back into the original
secret data.
You are given the implementation of the LSB algorithm and you don’t need to imple-
ment it from scratch. You are going to use it in:
5
• The Fox, where you should be able to encode the message in the given image using
the least significant bit method.
• The Eagle, where you should be able to decode the message in the given image using
the least significant bit method.
However, if you try to send a Fake message when your budget is 0, the server will auto-
matically replace it with an Empty message before sending it to the parrot. Additionally,
it’s crucial to note that misusing this feature and falsely claiming a Real message as Fake, or
vice versa, will result in severe penalties. Whether it’s an intentional attempt to deceive the
Eagle or a genuine mistake, any unlawful attempts to deceive the other player are against
6
Figure 2: Fox riddle request sequence diagram.
That will result in the following sequence diagram for requesting the riddles:
2.5 Riddles
2.5.1 Main Idea
As mentioned in the previous section, the riddles exist as a side quest for you to solve
to gain a budget of Fake messages. You can choose to solve riddles from the available pool
in the Riddles Documentation (external document). The reward received depends on the
chosen riddle and the correct submission of the solution within the allocated time specific
for this riddle. When you submit a riddle solution, the server will provide an update on
your status, including your Fake message budget.
7
• 3 Problem Solving Riddles (easy, medium, and hard difficulties).
In the case of solving all riddles correctly, the maximum number of Fake messages you
can obtain is 20. However, to ensure fairness among the teams, the maximum number of
Fake messages allowed to be used in a single game is capped at 12. This ensures that teams
are not expected to solve all riddles in all domains. Any unused Fake message budget will
still be rewarded as previously mentioned, and as indicated in the scoring function.
Remember, riddles are only optional side quests, but they can enhance your game strat-
egy. The details of each riddle can be found in the provided Riddles Documentation.
P
msgReal +msgFake P 2 !
budget
msgReal +msgFake +msgEmpty msgFake timeTaken remaining
Score = Done α1 + α2 1− −1 + α3 1 − + α4
nchunk 6 timeOut 20
Where:
msgReal : The number of Real messages sent.
msgFake : The number of Fake messages used, limited to a maximum of 12.
msgEmpty : The number of Empty messages sent.
nchunk : The number of message chunks sent.
timeTaken: The time taken by the player in this game.
timeOut: The maximum time allowed for the game.
budgetremaining : The remaining budget of unused Fake messages at the end of the game.
8
3 Eagle
3.1 Overview
The Eagle has various responsibilities during the game, and your main objective is to
successfully intercept Real messages in order to decipher the hidden message. You have a
designated timeout to complete your part of the game, and your efficiency within that time
frame contributes to the final score as can be seen in the scoring function at the end of this
section.
3.2 Footprints
3.2.1 Main Idea
As previously mentioned, there are three channels through which messages are sent
simultaneously at a time. The channels receive messages in the same order sent by the
Fox. However, you can only intercept at most one channel at a time, which means you
will miss the messages sent on the other two channels.
But don’t worry, only a maximum of one genuine message is sent at any given time.
So if you can correctly identify the channel on which the genuine message is transmitted, if
one exists, you are guaranteed not to miss any Real messages.
To assist in this identification process, you receive three footprints at a time, with each
footprint corresponding to one of the three channels. These footprints indicate whether the
message on a specific channel is Real, Fake, or Empty. By analyzing the footprints, you
can determine which message is genuine and request it from that channel. However, be
cautious, as requesting a message that is Empty or Fake would result in a penalty and could
lead to missing a Real message altogether!
3.2.2 What it is
Each footprint is a visual representation of an audio file, one for each channel. Your
task is to identify the word represented, being one of: ”Dell”, Fooled, or just an Empty
audio with some random noise. Rather than working directly with raw audio files, we’ve
transformed them into spectrograms with fixed dimensions (Tx, Nfreq).
The spectrogram can be visualized as a 2D array that depicts the intensity of the fre-
quency components in the audio file at each moment in time. In simpler terms, you can
perceive the spectrogram as a sequence of snapshots, where each snapshot captures the in-
tensity of the frequency components at a particular instant. A frequency component is a
singular element that makes up the sound, akin to the vocal cords in human speech.
9
Nfreq = 101.
Feel free to use any method you prefer for this task, but we do encourage the use of an
AI-driven approach if possible. To train your model, you will be given 2 datasets: one
with 750 samples of Real message footprints, and the other containing 750 samples of Fake
message footprints. Your task is to process the given two-dimensional arrays and find the
Real ones. You then request the message on that channel, decode it, and send it back to
the server. Your decisions will be carefully evaluated and factored into the calculation of
the final score. You can see the exact formula later in this section.
10
Figure 4: Eagle sequence diagram
is important to note that requesting a Fake or Empty message will result in a penalty. The
exact scoring function is provided at the end of this section.
Upon submitting or skipping a message, the next set of footprints will be automatically
sent to you. If there are no more footprints available - indicating the end of the message
- you will be notified, and you should conclude the game. Detailed information about the
specific APIs can be found in the attached API Documentation.
That pipeline would result in the following diagram: This sequence diagram is for one
time step of the game, and that loop ends when you are notified that there are no more
footprints.
11
1st Term: Jaccard distance measures the similarity between your requested messages de-
coded and concatenated, and the original message sent.
2nd Term: Measures the time efficiency by comparing the time taken by the player with
the maximum allowed time for the game.
Where:
Fakedodged : The number of Fake messages dodged.
Fakechunks : The number of chunks that included at least 1 Fake message on one of the
channels.
Afterward, each team will play 15 games as an Eagle against a computerized Fox agent.
The score will be updated after each trial, considering the latest and highest score achieved.
4.1.2 Evaluation
Based on the combined highest scores achieved as the Fox and Eagle on the final day,
the top 8 teams in each track will qualify for the next phase.
Please note that after the leaderboard phase ends, you will submit your codes and we will
12
run it against a plagiarism checker, any team who cheated will be disqualified immediately,
and then the announcement of the qualified teams will take place on Wednesday, the 6th
of March, early in the morning.
13