WEBVTT

00:00.900 --> 00:11.380
Yesterday, our teams collectively worked their way through Challenges 0 through 2, leaving with half of the challenges solved by at least one team, and three challenges remaining to be solved today.

00:11.920 --> 00:18.060
PFS grew their lead throughout the day yesterday, but the biggest drama occurred after hours.

00:18.060 --> 00:19.000
When the 4 p.m.

00:19.000 --> 00:25.780
Pacific deadline for the On Orbit Challenge passed, only four teams had submitted solutions deemed acceptable.

00:25.780 --> 00:27.620
What's an acceptable solution?

00:28.860 --> 00:31.760
Let's take a look at solving the On Orbit Challenge.

00:31.940 --> 00:34.380
First, some terms you'll want to know.

00:34.640 --> 00:36.860
Two-line element set, or TLE.

00:37.000 --> 00:42.620
A data format containing information about an object's position and velocity at a specific point in time.

00:42.620 --> 00:48.740
It is used to calculate where a satellite will be at some point in the future, with increasing uncertainty the further out in time.

00:48.740 --> 00:50.400
Window of opportunity.

00:50.560 --> 00:55.260
The period of time during which the satellite can be positioned to complete the desired goal.

00:55.260 --> 00:56.740
Vector.

00:56.740 --> 01:00.000
A line indicating a specific direction in magnitude.

01:00.160 --> 01:07.260
A satellite will have assigned X, Y, and Z vectors associated with the body of the vehicle that can be used in a coordinate system.

01:07.260 --> 01:14.420
Camera boresight, camera mounting position, and camera body vector all describe the satellite camera and where it's pointed.

01:14.520 --> 01:15.460
Quaternion.

01:15.460 --> 01:19.180
A number system that is handy for calculating 3D rotations.

01:19.640 --> 01:20.600
Got it?

01:20.600 --> 01:21.660
Here we go.

01:21.660 --> 01:24.300
The first step in solving the on-orbit challenge.

01:24.320 --> 01:26.040
Identify the key data.

01:26.080 --> 01:34.100
The TLE, camera mounting position, target, and window of opportunity are all supplied in the challenge description or the on-orbit handbook.

01:34.260 --> 01:39.380
The data is used to calculate the orbit of both the satellite and the moon toward the window of opportunity.

01:39.380 --> 01:43.340
And don't forget to grab the camera body vector, which will be needed later.

01:43.580 --> 01:44.740
The second step.

01:44.740 --> 01:49.020
Calculate the time of image by defining the relationship between these key vectors.

01:49.020 --> 01:50.100
1.

01:50.100 --> 01:54.800
Determine the satellite-to-moon vector, which points directly from the satellite towards the moon.

01:54.800 --> 01:55.340
2.

01:55.340 --> 02:00.060
Determine the nadir vector, which points directly from the satellite towards the center of the Earth.

02:00.060 --> 02:00.740
3.

02:00.740 --> 02:02.480
Determine the angle between 1.

02:02.480 --> 02:06.000
the satellite-to-moon vector and the nadir vector and 2.

02:06.000 --> 02:10.200
the angle between the satellite negative Z vector and the camera body vector.

02:10.200 --> 02:20.900
The instance when the difference between the two angles is minimized gives us the time of image, the moment along its orbit when the satellite will be in position to take our all-important moonshot.

02:21.840 --> 02:23.220
The third step.

02:23.220 --> 02:29.440
Calculate the attitude or the position within its orbit that the satellite must take for the camera to capture the image.

02:29.540 --> 02:32.760
This is accomplished by lots of math.

02:33.140 --> 02:38.600
Specifically, something called a direction cosine matrix, DCM, or rotation matrix.

02:38.600 --> 02:41.840
The DCM calculates a satellite attitude that points 1.

02:41.840 --> 02:44.320
the camera boresight to the moon and 2.

02:44.320 --> 02:50.440
the satellite's negative Z vector to Earth's center, which is the attitude needed to accomplish the goal.

02:50.940 --> 03:02.540
The DCM supplies us with a specific quaternion which, when uploaded and applied to the satellite's attitude determination and control system, ADCS, moves the satellite into the desired position.

03:02.540 --> 03:04.500
On to the final step.

03:04.500 --> 03:08.240
Apply all that information and get the image we're after.

03:08.780 --> 03:18.320
We take the time of image and back out the commands around it, giving the satellite enough time to apply the quaternion and be in position when it arrives at the window of opportunity.

03:18.340 --> 03:20.840
The proper order of commands would be as follows.

03:20.840 --> 03:31.460
Turn on the ADCS, slew to the commanded quaternion, turn the camera on, set the exposure time, capture the image, and finally, turn the camera off.

03:31.460 --> 03:32.600
That's it.

03:32.600 --> 03:34.160
Challenge accomplished.

03:34.700 --> 03:39.320
But what does all of this have to do with hacking and keeping our satellites secure?

03:39.400 --> 03:42.740
The on-orbit challenge was completed with full trust.

03:42.740 --> 03:47.480
Our satellites rely on data and sensors from multiple sources in order to complete an objective.

03:47.480 --> 03:51.480
The TLE that was provided relied on data from the satellite and ground stations.

03:51.480 --> 03:55.620
Authenticated communications were required to upload the proper command sequence.

03:55.620 --> 04:01.040
Trusted execution was required to process sensor and actuator data to close control loops.

04:01.040 --> 04:05.360
Secure onboard communications were required to carry out operations in orbit.

04:05.560 --> 04:21.000
We need security-focused people to help with these problems because just as much as it takes a team of people to strap explosives to a computer to get a satellite into orbit, it takes a team of people from both space and security communities to ensure that space remains a viable,

04:21.000 --> 04:22.500
usable resource.

04:24.640 --> 04:31.520
The four teams with successful on-orbit solutions during the time period were Poland Cannon to Space.

04:31.520 --> 04:34.620
In fact, theirs came well over an hour before anyone else's.

04:34.700 --> 04:46.280
ADD Vulcan, Flux Rocket Repeat, and Samurai all came in within about 10 minutes of each other within the last 15 minutes of that window.

04:46.600 --> 04:52.480
Remember, the on-orbit portion involves a team computing a mission plan for an actual satellite to take a picture of a moon.

04:52.480 --> 04:58.500
All acceptable solutions were evaluated and the most accurate solution submitted before the 4 p.m.

04:58.500 --> 05:02.460
deadline will be chosen to be sent into space into our orbiting satellite.

05:02.520 --> 05:06.730
We'll learn whose solution that was amongst those four later on today.

05:07.060 --> 05:10.920
As we entered into our overtime period after the 4 p.m.

05:10.920 --> 05:14.980
deadline yesterday, the alternate acceptance criteria kicked into play.

05:14.980 --> 05:17.640
While the four teams submitting before 4 p.m.

05:17.640 --> 05:25.100
were automatically eligible for their solution to be sent and automatically into prize eligibility, we had to get more teams available.

05:25.100 --> 05:26.800
The limit was six.

05:26.800 --> 05:32.620
This meant that two teams of the remaining four would be out of contention for the final prize pool.

05:32.880 --> 05:41.280
The four teams fighting for those two spots included PFS, 1553, 1064 Seabred, and Solarwine.

05:41.280 --> 05:48.480
1553 managed to submit a solution that was valid only three minutes after the deadline, quickly grabbing that fifth spot.

05:48.560 --> 05:54.680
That left PFS, 1064 Seabred, and Solarwine on the ropes for that last spot.

05:54.760 --> 06:04.540
PFS and 1064 Seabred were number one and number four on the scoreboard at that point, so no matter what happened, someone in contention for the podium would not be eligible.

06:04.540 --> 06:10.080
All of the contest organizers were on a shared video chat, waiting to see the results as they came in.

06:10.080 --> 06:18.400
1064 Seabred had what looked to be an extremely close solution that was just outside the acceptance criteria, and PFS didn't seem to be close.

06:18.400 --> 06:20.700
Then, at 7.48 p.m.

06:20.700 --> 06:22.980
Eastern, or 4.48 p.m.

06:22.980 --> 06:31.020
Pacific, PFS came in with a valid solution, just edging out 1064 Seabred and Solarwine on the list of on-orbit acceptance.

06:33.400 --> 06:39.280
Unfortunately, that means that 1064 Seabred and Solarwine are both ineligible for a spot on the podium.

06:39.280 --> 06:42.380
That said, they can still have an impact on the game.

06:42.440 --> 06:49.760
Either team scoring first blood will potentially change the number of available points left on the board for their competitors and impact the final result.

06:49.800 --> 06:58.720
It's sad to see two great teams out of contention for the prize pool, but they can still end up on the leaderboard from a points perspective and attain the associated bragging rights.

06:58.720 --> 07:03.400
In fact, let's go ahead and take a look at the scoreboard now in our live octagon feed.

07:04.340 --> 07:06.300
And they definitely haven't slowed down.

07:06.300 --> 07:10.600
You'll notice that Solarwine actually scored first blood on Challenge 3.

07:10.620 --> 07:13.560
Congratulations to them for the great work overnight.

07:13.700 --> 07:20.620
The pressure is now on the remaining teams to show that they made good use of the downtime as well to land Challenge 3.

07:20.620 --> 07:27.480
You can also see Flux Repeat Rocket scoring just before this broadcast with only a 5% reduction in total points.

07:27.480 --> 07:29.440
So that's a good amount of points for them.

07:29.760 --> 07:34.580
That means Solarwine and Flux Repeat Rocket are both moving on to Challenge 4.

08:00.330 --> 08:05.010
This is the first time we've seen Flux Repeat Rocket make a big move on the scoreboard.

08:05.010 --> 08:06.570
Let's check out their team bio.

08:36.200 --> 08:43.560
Like many of the combined CTF teams that we've seen here today, I have good memories of playing Hack Lou CTF.

08:43.560 --> 08:48.660
In fact, it's often the case that the competition participants are also organizers in other times.

08:48.660 --> 08:57.960
So one of those teams that makes up the composition of Flux Repeat Rocket, Flux Fingers, runs Hack Lou, which is another great CTF competition you should check out.

08:58.060 --> 08:59.720
What an exciting first day.

08:59.720 --> 09:04.420
I'm looking forward to seeing what happens today as our teams battle through these last few challenges.

09:04.420 --> 09:10.600
Come back and join us at our 10.50am Pacific, 1.50pm Eastern for our next competition update.

