[01:22:44.440 --> 01:26:51.280] So, let's get started. [01:27:08.130 --> 01:27:09.530] ♪♫♪ [01:35:47.410 --> 01:35:54.610] Welcome to Space Security Challenge 2020, HackASAT, the final event. As the democratization [01:35:54.610 --> 01:36:00.990] of space opens up a new frontier for exploration and innovation, we see new cybersecurity vulnerabilities [01:36:00.990 --> 01:36:08.230] emerging. The Space Security Challenge is designed to inspire the world's top cybersecurity talent [01:36:08.230 --> 01:36:13.310] to develop the skills necessary to secure this last frontier of cybersecurity, [01:36:13.870 --> 01:36:21.030] space. And already we've made a ton of progress. I'll catch you up. This spring we hosted over [01:36:21.030 --> 01:36:26.130] 2,000 teams who worked their way through a set of foundational space cybersecurity challenges [01:36:26.130 --> 01:36:31.830] in our HackASAT qualification round. Now eight finalist teams are stepping up to [01:36:31.830 --> 01:36:46.090] the ultimate challenge. They are hacking a satellite. Welcome back to the second and [01:36:46.090 --> 01:36:50.850] final day of the competition portion of HackASAT. Are you excited? As always, [01:36:50.850 --> 01:36:56.550] I'm your host Jordan Wines. First, a quick recap of the game to this point. [01:37:02.160 --> 01:37:07.340] The game has actually been underway for one hour now, and our team's first challenge has been to [01:37:07.340 --> 01:37:12.520] regain control of the ground station that they'll be using to communicate with their FlatSats. In [01:37:12.520 --> 01:37:18.100] fact, just before this broadcast went live, we received word that this challenge was actually [01:37:18.100 --> 01:37:24.260] solved by Team Samurai. Congratulations to them. Right after our last update ended with only a [01:37:24.260 --> 01:37:29.880] Samurai solve, several other teams came in with solutions for Challenge Zero. PFS and SolarWine [01:37:29.880 --> 01:37:35.760] were solvers two and three on that challenge. After those two teams scored on Challenge Zero, [01:37:35.760 --> 01:37:39.700] every other team was eventually able to solve Challenge Zero over the next several hours. [01:37:39.700 --> 01:37:45.040] Taking a look at the scoreboard so far, we've had an eventful last hour. Our teams continue to make [01:37:45.040 --> 01:37:49.740] progress with four teams now having solved Challenge One. Unfortunately, the window of [01:37:49.740 --> 01:37:54.000] time after first solve has expired, and the remaining four teams were given the solution [01:37:54.000 --> 01:38:02.520] with no points. PFS and Colon Can Into Space were joined by 1553 and 1064 Seabred with solutions for [01:38:02.520 --> 01:38:08.500] Challenge One. Now, this was going to be where I signed off for this update, but as we were live, [01:38:08.500 --> 01:38:14.620] PFS actually jumped up on the scoreboard yet again, solving Challenge Two. Most teams are now [01:38:14.620 --> 01:38:20.780] working on two or three challenges. The On-Orbit Challenge, Challenge Two, and Challenge Three. PFS [01:38:20.780 --> 01:38:25.720] has been pulling away to a healthy lead. They still have a critical problem to solve, specifically [01:38:25.720 --> 01:38:30.900] the On-Orbit Challenge. While Colon Can Into Space is only nipping at their heels at number two on [01:38:30.900 --> 01:38:35.340] the scoreboard, they are critically not only the first team with an attempted solution to the [01:38:35.340 --> 01:38:40.220] On-Orbit Challenge, but the first with an accepted solution. That would mean that they would be able [01:38:40.220 --> 01:38:46.080] to pass PFS if PFS is not able to actually solve, because again, that is a pass-fail challenge. [01:38:50.470 --> 01:38:55.410] Yesterday, our teams collectively worked their way through Challenges Zero through Two, leaving [01:38:55.410 --> 01:39:00.090] with half of the challenges solved by at least one team, and three challenges remaining to be [01:39:00.090 --> 01:39:06.390] solved today. PFS grew their lead throughout the day yesterday, but the biggest drama occurred [01:39:06.390 --> 01:39:12.890] after hours. When the 4 p.m. Pacific deadline for the On-Orbit Challenge passed, only four teams [01:39:12.890 --> 01:39:18.770] had submitted solutions deemed acceptable. What's an acceptable solution? Let's take a look at [01:39:18.770 --> 01:39:26.490] solving the On-Orbit Challenge. First, some terms you'll want to know. Two-Line Element Set, or TLE. [01:39:26.630 --> 01:39:30.950] A data format containing information about an object's position and velocity at a specific [01:39:30.950 --> 01:39:35.510] point in time. It is used to calculate where a satellite will be at some point in the future, [01:39:35.510 --> 01:39:41.050] with increasing uncertainty the further out in time. Window of Opportunity. The period of time [01:39:41.050 --> 01:39:46.750] during which the satellite can be positioned to complete the desired goal. Vector. A line [01:39:46.750 --> 01:39:52.550] indicating a specific direction in magnitude. A satellite will have assigned X, Y, and Z vectors [01:39:52.550 --> 01:39:58.070] associated with the body of the vehicle that can be used in a coordinate system. Camera Boresight, [01:39:58.070 --> 01:40:03.210] Camera Mounting Position, and Camera Body Vector all describe the satellite camera and where it's [01:40:03.210 --> 01:40:11.290] pointed. Quaternion. A number system that is handy for calculating 3D rotations. Got it? Here we go. [01:40:11.290 --> 01:40:17.330] The first step in solving the On-Orbit Challenge. Identify the key data. The TLE, Camera Mounting [01:40:17.330 --> 01:40:22.310] Position, Target, and Window of Opportunity are all supplied in the Challenge Description or the [01:40:22.310 --> 01:40:27.250] On-Orbit Handbook. The data is used to calculate the orbit of both the satellite and the moon [01:40:27.250 --> 01:40:31.850] toward the Window of Opportunity. And don't forget to grab the Camera Body Vector, which will be [01:40:31.850 --> 01:40:37.590] needed later. The second step. Calculate the time of image by defining the relationship between these [01:40:37.590 --> 01:40:43.330] key vectors. 1. Determine the satellite-to-moon vector, which points directly from the satellite [01:40:43.330 --> 01:40:48.290] towards the moon. 2. Determine the nadir vector, which points directly from the satellite towards [01:40:48.290 --> 01:40:53.990] the center of the earth. 3. Determine the angle between 1. The satellite-to-moon vector and the [01:40:53.990 --> 01:40:59.670] nadir vector and 2. The angle between the satellite negative Z vector and the Camera Body Vector. [01:40:59.670 --> 01:41:04.810] The instance when the difference between the two angles is minimized gives us the time of image, [01:41:04.810 --> 01:41:08.870] the moment along its orbit when the satellite will be in position to take our all-important [01:41:08.870 --> 01:41:16.130] moon shot. The third step. Calculate the attitude or the position within its orbit that the satellite [01:41:16.130 --> 01:41:23.730] must take for the camera to capture the image. This is accomplished by lots of math. Specifically, [01:41:23.730 --> 01:41:29.890] something called a Direction Cosine Matrix, DCM, or Rotation Matrix. The DCM calculates a satellite [01:41:29.890 --> 01:41:35.770] attitude that points 1. The camera boresight to the moon and 2. The satellite's negative Z vector [01:41:35.770 --> 01:41:42.870] to earth's center, which is the attitude needed to accomplish the goal. The DCM supplies us with a [01:41:42.870 --> 01:41:47.050] specific quaternion which, when uploaded and applied to the satellite's Attitude Determination [01:41:47.050 --> 01:41:54.110] and Control System, ADCS, moves the satellite into the desired position. On to the final step. [01:41:54.110 --> 01:42:00.490] Apply all that information and get the image we're after. We take the time of image and back [01:42:00.490 --> 01:42:05.070] out the commands around it, giving the satellite enough time to apply the quaternion and be in [01:42:05.070 --> 01:42:09.170] position when it arrives at the window of opportunity. The proper order of commands [01:42:09.170 --> 01:42:15.510] would be as follows. Turn on the ADCS, slew to the commanded quaternion, turn the camera on, [01:42:15.510 --> 01:42:22.210] set the exposure time, capture the image, and finally, turn the camera off. That's it. [01:42:22.210 --> 01:42:27.490] Challenge accomplished. But what does all of this have to do with hacking and keeping our [01:42:27.490 --> 01:42:33.250] satellites secure? The on-orbit challenge was completed with full trust. Our satellites rely [01:42:33.250 --> 01:42:37.730] on data and sensors from multiple sources in order to complete an objective. The TLE that [01:42:37.730 --> 01:42:42.350] was provided relied on data from the satellite and ground stations. Authenticated communications [01:42:42.350 --> 01:42:47.130] were required to upload the proper command sequence. Trusted execution was required to [01:42:47.130 --> 01:42:52.170] process sensor and actuator data to close control loops. Secure on-board communications [01:42:52.170 --> 01:42:57.570] were required to carry out operations in orbit. We need security-focused people to help with these [01:42:57.570 --> 01:43:02.510] problems because just as much as it takes a team of people to strap explosives to a computer to [01:43:02.510 --> 01:43:07.390] get a satellite into orbit, it takes a team of people from both space and security communities [01:43:07.390 --> 01:43:12.090] to ensure that space remains a viable, usable resource. [01:43:14.270 --> 01:43:20.490] The four teams with successful on-orbit solutions during the time period were Poland Cannon to [01:43:20.490 --> 01:43:27.290] Space. In fact, theirs came well over an hour before anyone else's. ADD Vulcan, Flux Rocket [01:43:27.290 --> 01:43:34.350] Repeat, and Samurai all came in within about 10 minutes of each other within the last 15 minutes [01:43:34.350 --> 01:43:40.090] of that window. Remember, the on-orbit portion involves a team computing a mission plan for an [01:43:40.090 --> 01:43:45.150] actual satellite to take a picture of the moon. All acceptable solutions were evaluated, and the [01:43:45.150 --> 01:43:50.550] most accurate solution submitted before the 4 p.m. deadline will be chosen to be sent into space [01:43:50.550 --> 01:43:55.750] into our orbiting satellite. We'll learn whose solution that was amongst those four later on [01:43:55.750 --> 01:44:02.410] today. As we entered into our overtime period after the 4 p.m. deadline yesterday, the alternate [01:44:02.410 --> 01:44:07.930] acceptance criteria kicked into play. Well, the four teams submitting before 4 p.m. were automatically [01:44:07.930 --> 01:44:12.770] eligible for their solution to be sent and automatically in to prize eligibility. We had [01:44:12.770 --> 01:44:19.050] to get more teams available. The limit was six. This meant that two teams of the remaining four [01:44:19.050 --> 01:44:24.670] would be out of contention for the final prize pool. The four teams fighting for those two spots [01:44:24.670 --> 01:44:33.770] included PFS, 1553, 1064 Seabred, and Solarwine. 1553 managed to submit a solution that was valid [01:44:33.770 --> 01:44:40.130] only three minutes after the deadline, quickly grabbing that fifth spot. That left PFS, 1064 [01:44:40.130 --> 01:44:47.310] Seabred, and Solarwine on the ropes for that last spot. PFS and 1064 Seabred were number one and [01:44:47.310 --> 01:44:51.970] number four on the scoreboard at that point, so no matter what happened, someone in contention for the [01:44:51.970 --> 01:44:57.630] podium would not be eligible. All of the contest organizers were on a shared video chat waiting to [01:44:57.630 --> 01:45:03.410] see the results as they came in. 1064 Seabred had what looked to be an extremely close solution that [01:45:03.410 --> 01:45:10.650] was just outside the acceptance criteria, and PFS didn't seem to be close. Then at 7 48 p.m eastern [01:45:10.650 --> 01:45:18.690] or 4 48 p.m pacific, PFS came in with a valid solution just edging out 1064 Seabred and Solarwine [01:45:18.690 --> 01:45:26.690] on the list of on-orbit acceptance. Unfortunately, that means that 1064 Seabred and Solarwine are both [01:45:26.690 --> 01:45:31.930] ineligible for a spot on the podium. That said, they can still have an impact on the game. [01:45:31.930 --> 01:45:36.390] Either team scoring first blood will potentially change the number of available points left on the [01:45:36.390 --> 01:45:41.490] board for the competitors and impact the final result. It's sad to see two great teams out of [01:45:41.490 --> 01:45:45.790] contention for the prize pool, but they can still end up on the leaderboard from a points perspective [01:45:45.790 --> 01:45:50.330] and attain the associated bragging rights. In fact, let's go ahead and take a look at the [01:45:50.330 --> 01:45:56.730] scoreboard now in our live octagon feed. And they definitely haven't slowed down. You'll notice that [01:45:56.730 --> 01:46:02.290] Solarwine actually scored first blood on challenge three. Congratulations to them for the great work [01:46:02.290 --> 01:46:06.570] overnight. The pressure is now on the remaining teams to show that they can make they made good [01:46:06.570 --> 01:46:11.970] use of the downtime as well to land challenge three. You can also see Flux Repeat Rocket [01:46:12.490 --> 01:46:17.590] scoring just before this broadcast with only a five percent reduction in total points. So that's [01:46:17.670 --> 01:46:22.650] a good amount of points for them. That means Solarwine and Flux Repeat Rocket are both moving [01:46:22.650 --> 01:46:32.940] on to challenge four. Challenge four. Here's what we know. We've restored communication with the [01:46:32.940 --> 01:46:38.180] payload module, but we still can't operate it. The challenge? Now teams must restore normal [01:46:38.180 --> 01:46:52.040] operations of the payload module so we can access the imager. This is the first time we've seen [01:46:52.040 --> 01:46:56.260] Flux Repeat Rocket make a big move on the scoreboard. Let's check out their team bio. [01:47:25.840 --> 01:47:30.180] Like many of the combined CTF teams that we've seen here today, [01:47:30.180 --> 01:47:35.560] I have good memories of playing HackLoo CTF. In fact, it's often the case that the competition [01:47:35.560 --> 01:47:41.120] participants are also organizers in other times. So one of those teams that makes up the composition [01:47:41.120 --> 01:47:46.680] of Flux Repeat Rocket, FluxFingers, runs HackLoo, which is another great CTF competition you should [01:47:46.680 --> 01:47:51.800] check out. What an exciting first day. I'm looking forward to seeing what happens today as our teams [01:47:51.800 --> 01:47:57.560] battle through these last few challenges. Come back and join us at our 10 50 a.m pacific 1 50 p.m [01:47:57.560 --> 01:48:00.720] eastern for our next competition update. [02:39:32.440 --> 02:39:33.840] So [03:30:21.810 --> 03:30:27.470] Welcome back to Space Security Challenge 2020, or Math-A-Sat, as one of our competitors [03:30:27.470 --> 03:30:33.270] fondly called it. At least, we hope it was fondly. Anyway, I'm your host, Jordan Wines. [03:30:33.690 --> 03:30:38.550] It's been a quiet few hours since our last update, with, I think, no changes on the scoreboard. [03:30:38.550 --> 03:30:43.470] However, the teams have surprised us in the past, scoring in the middle of updates. So [03:30:43.470 --> 03:30:48.550] let's actually take a quick look at the scoreboard now to confirm that. If we look at the octagon, [03:30:48.550 --> 03:30:54.310] it does indeed look like our teams are scoring the same. Our last two solves with Solarwine [03:30:54.310 --> 03:30:59.930] and Flux Repeat Rocket in Challenge 3. So we're still looking at Challenge 4 and 5 for the rest [03:30:59.930 --> 03:31:05.070] of the day. While the score hasn't changed, we have had one important game milestone pass us [03:31:05.070 --> 03:31:10.470] by. We timed out unavailable points for Challenge 3. That means those two teams, Solarwine and Flux [03:31:10.470 --> 03:31:14.970] Repeat Rocket, they've obtained points for that challenge, and all other teams were given a [03:31:14.970 --> 03:31:19.690] solution script so they can focus on the next challenge. But before we move on to our explainer [03:31:19.690 --> 03:31:23.810] video for Challenge 3, we actually missed getting you the full explanation for Challenge 2 during [03:31:23.810 --> 03:31:32.690] our last update. So let's start with that. Challenge 2. The satellite is spinning out of [03:31:32.690 --> 03:31:37.750] control because the Attitude Determination and Control System, ADCS, has been manipulated. [03:31:37.830 --> 03:31:44.250] We suspect sabotage. The challenge? Teams must repair the ADCS system as quickly as possible [03:31:44.250 --> 03:31:49.410] to stop the dangerous spinning. Here's how they do it. Teams may first search the provided [03:31:49.410 --> 03:31:55.370] documentation for the appropriate command to reset the ADCS. They find it and execute it. But [03:31:55.370 --> 03:32:00.810] the reset does not work. The ADCS system begins communicating again, but it is not functioning [03:32:00.810 --> 03:32:07.310] properly. Teams discover that the ADCS configuration tables have been altered and must be restored. [03:32:07.410 --> 03:32:11.430] They have to find the nominal parameters for the configuration tables from the provided user [03:32:11.430 --> 03:32:16.590] documentation. The teams then have to upload a new table to the vehicle and command the ADCS to [03:32:16.590 --> 03:32:23.150] load the table. This is how they will restore nominal operation of the ADCS. Good news! With the [03:32:23.150 --> 03:32:29.090] ADCS configuration table updated, they receive nominal status from the ADCS, but the majority [03:32:29.090 --> 03:32:33.970] of the ADCS commands still don't work. Teams realize that they can point the satellite by [03:32:33.970 --> 03:32:39.410] uploading various ADCS configuration tables, each with different pointing modes and configuration [03:32:39.410 --> 03:32:44.730] parameters, and loading them at different points in the orbit of the satellite. This allows the [03:32:44.730 --> 03:32:50.250] teams to stop the spin of the vehicle and point the solar arrays at the sun to charge the batteries. [03:32:54.390 --> 03:32:58.270] All right, now that we're caught up, here's a little bit more about the intended solution to [03:32:58.270 --> 03:33:07.410] Challenge 3. Challenge 3. Here's what we know. With the update to the ADCS, the teams have regained [03:33:07.410 --> 03:33:11.790] control of the satellite, but we still can't communicate with the payload module or operate [03:33:11.790 --> 03:33:16.570] the imager. In addition, the majority of useful commands are not being accepted by the flight [03:33:16.570 --> 03:33:22.290] software. We have to ask ourselves, what else did they damage on this satellite? The challenge? Teams [03:33:22.290 --> 03:33:27.930] must restore communication with the payload module so we can get it working again. Here's how they do [03:33:27.930 --> 03:33:32.330] it. The teams find that their initial commands to communicate with the payload module are not being [03:33:32.330 --> 03:33:38.210] accepted by the flight software. It's clear that the command and data handling C and DH system is [03:33:38.210 --> 03:33:43.750] not working appropriately. In fact, payload commands and the majority of the other commands have been [03:33:43.750 --> 03:33:50.190] disabled in the C and DH system. It turns out the attacker has modified the C and DH flight software [03:33:50.190 --> 03:33:55.850] and are now running their own code on board the space vehicle. The attacker code is rejecting the [03:33:55.850 --> 03:34:01.210] majority of commands to the satellite, including firmware updates, firmware restore, and ADCS [03:34:01.210 --> 03:34:07.150] commands. As a result, it is not possible to restore the failsafe image as the restore command has been [03:34:07.150 --> 03:34:13.090] disabled. Lucky for the teams, the attacker was sloppy and inadvertently introduced a vulnerability [03:34:13.090 --> 03:34:18.690] in the new firmware image. Teams exploit this vulnerability and use it to repair the system [03:34:18.690 --> 03:34:24.950] and restore the C and DH software back to normal operation. Once that is complete, they are able to [03:34:24.950 --> 03:34:34.050] communicate with the payload module once again. Challenge 3 happens to be my personal favorite, [03:34:34.050 --> 03:34:38.690] as it, along with challenge 0, are probably the most similar to regular CTF challenges. I always [03:34:38.690 --> 03:34:43.410] love a good pwnable. Since we have some time in this update, I want to introduce a new graphic [03:34:43.410 --> 03:34:49.250] to you that we call the Race to Space. This will be a visualization we'll be using later on today [03:34:49.250 --> 03:34:53.890] to measure the team's on-orbit submissions. The closer to the center of the bullseye, [03:34:53.890 --> 03:34:58.450] the more accurate the solution. And, of course, the minimum acceptance bar will let us see the [03:34:58.450 --> 03:35:02.610] solutions that were not accurate enough to be accepted. Each team gets their own little slice [03:35:02.610 --> 03:35:08.270] of the pie, and we'll be able to see how many tries it took to become accepted and or how [03:35:08.270 --> 03:35:14.290] accurate teams got. You may remember that we have four teams that all submitted [03:35:14.290 --> 03:35:20.050] accepted solutions before the 4 p.m pacific cutoff yesterday. They were Poland Cannon to Space ahead [03:35:20.050 --> 03:35:26.570] of the pack, and then ADD Vulcan, Flux Repeat Rocket, and finally Samurai. Speaking of ADD Vulcan, [03:35:26.570 --> 03:35:30.690] we haven't yet had a chance to show off their biography, so let's check them out now [03:35:31.510 --> 03:35:36.130] in recognition of them being the second accepted solution to the on-orbit challenge. [03:36:04.440 --> 03:36:05.000] So [03:36:05.000 --> 03:36:09.040] apparently the real reason ADD Vulcan is participating in HackASAT was just as an [03:36:09.040 --> 03:36:13.600] excuse to make pink Starfleet uniforms. Go check out their Twitter team Twitter account for more [03:36:13.600 --> 03:36:19.040] info on that. Also, one of the main team members, Amy Dede, was on the recent tv show Lego Masters [03:36:19.040 --> 03:36:23.640] and also hosts an awesome STEM for Girls scholarship. That's it for this competition [03:36:23.640 --> 03:36:28.920] update. I'll see you back here in one hour at 11 50 a.m pacific, 2 50 p.m eastern. [04:23:25.630 --> 04:23:30.830] Welcome back to Space Security Challenge 2020, the final frontier. I'm your captain, Jordan. [04:23:30.830 --> 04:23:36.510] I'm actually not anybody's captain, but I can play one on YouTube. With no game changes to report on [04:23:36.510 --> 04:23:41.370] in the last hour, and the game infrastructure cooled down to a less-than-molten state as things [04:23:41.370 --> 04:23:45.510] are a steady state, we're going to bring in some of the game organizers to talk a little bit more [04:23:45.510 --> 04:23:51.070] about the behind-the-scenes and the game infrastructure. We were going to call this [04:23:51.070 --> 04:23:55.610] segment Between Two Jasons because we've got Jason Williams and Jason Latimer of Cromulence [04:23:55.610 --> 04:24:00.130] on the video chat, but I don't think you all need to see my face. So, Jasons, can you hear me? [04:24:02.350 --> 04:24:05.970] Yeah, I can hear you. Excellent. All right, that was Latimer on the right and we got Jason Williams [04:24:05.970 --> 04:24:09.990] on the left. Thanks for joining me, first of all. I appreciate it. You guys have been pretty busy, [04:24:09.990 --> 04:24:15.410] I know, the last few days and, of course, even before that as well. Just first general impressions, [04:24:15.410 --> 04:24:17.910] how are you feeling right now about how everything's going? [04:24:20.910 --> 04:24:27.490] I think everything's going really well. Sorry. All right, I'll direct into one of you specifically, [04:24:27.490 --> 04:24:31.470] so I don't make you talk over yourself. Latimer, how do you think this... are you happy right now [04:24:31.470 --> 04:24:35.850] with things? How are you feeling? I'm happy. We've had a little bit of a lull as teams have [04:24:35.850 --> 04:24:41.130] been working on challenge three and four, which are the harder challenges from the hacking [04:24:41.130 --> 04:24:47.190] perspective. So, we're kind of sitting back and watching and it's going pretty well today, [04:24:47.190 --> 04:24:52.630] for sure. One of my other questions for you each, and we'll stick with Latimer since you're going, [04:24:52.630 --> 04:24:58.230] was what is your favorite challenge then? I think three was probably mine. Do you have a favorite, [04:24:58.230 --> 04:25:01.750] either one you worked on or one you didn't? And if it's a later one, no spoilers, of course, but [04:25:01.750 --> 04:25:08.750] feel free to tell us which one you like best. Yeah, I really like three a lot and I was super [04:25:08.750 --> 04:25:13.590] excited. You know, we gave the team something to work on overnight and to come back in this morning [04:25:13.590 --> 04:25:19.830] and have a couple solves right away, that was awesome. Challenge four is going to be a challenge, [04:25:19.830 --> 04:25:25.110] so I'm hoping that we get some teams that actually solve that this afternoon. We're going to, you [04:25:25.110 --> 04:25:31.450] know, looking at when we give, you know, a hint or two coming up. But yeah, I like four. I think [04:25:31.450 --> 04:25:34.830] you guys described to me that four was probably, would you say, the hardest overall of all the [04:25:34.830 --> 04:25:38.370] challenges. That was kind of the impression I got from talking to the folks that made them all. So, [04:25:38.370 --> 04:25:42.630] this is like, this is going to be important too. And certainly for the score in the game, [04:25:43.270 --> 04:25:47.570] a lot could happen in these last two solves. And so, this is going to be a big moment. [04:25:48.510 --> 04:25:54.030] All right, so Jason Williams, same to you. Do you have a favorite challenge? Yeah, I think it's, [04:25:54.030 --> 04:25:58.230] for me, it's going to be challenge four without trying to give too much away. As you know, [04:25:58.230 --> 04:26:03.450] we think this is the hardest challenge in the game and it exercises a lot of skills that the [04:26:03.450 --> 04:26:08.030] teams are going to need to use in order for them to solve this challenge. So, I'm really excited to [04:26:08.030 --> 04:26:13.130] see where they go with it. And hopefully in the next hour or two, we get a solve on this one. [04:26:13.570 --> 04:26:17.930] Awesome. Now, I think you each may have some components of some of these flat sets that we [04:26:17.930 --> 04:26:22.490] can see kind of up close and maybe talk a little bit more. Jason Williams, what you, just before [04:26:22.490 --> 04:26:26.730] we went live, you were showing me one of the boards that you had there. Do you want to go [04:26:26.730 --> 04:26:32.190] ahead and talk about that a little bit? Yeah. So, on the flat set, we have our own hardware [04:26:32.190 --> 04:26:37.290] that we designed. And it's actually, I'll try to show it to you if you guys can see it here. [04:26:37.810 --> 04:26:43.450] It consists of a carrier board followed by two boards on top of it. One of them is a ZX board, [04:26:43.450 --> 04:26:49.790] which has on it an FPGA, an Artec 7 FPGA, which runs two soft core processors. Then the other [04:26:49.790 --> 04:26:55.050] one at the bottom here is the Raspberry Pi Zero. And this one is running the payload module. [04:26:55.050 --> 04:27:01.050] Yes. Yep. And so here you can see the ZX board and on there is actually two soft core processors, [04:27:01.050 --> 04:27:08.030] MSP430, which we use for running the radio baseband, and then a Leon 3 processor from [04:27:08.030 --> 04:27:14.650] Geissler, which Jason can talk more about that runs our flight software. Well, before we go Jason, [04:27:14.650 --> 04:27:19.210] that MSP430 soft core FPGA sounds a little familiar to me. I think I see something behind [04:27:19.210 --> 04:27:25.670] your shoulder. Was that related to that as well? Yes. If you can remember the badge service from [04:27:25.670 --> 04:27:32.290] 2013 DEF CON, it's actually the same soft core processor that was used for that competition. [04:27:32.550 --> 04:27:36.610] Yeah. Badger was the name of the challenge and I remember working on it and we kind of had an [04:27:36.610 --> 04:27:40.910] almost solution and then my team threw our broken solution and then another team fixed it and got [04:27:40.910 --> 04:27:45.170] it right. So we scored more points than that, but I worked on it during the finals. I remember that [04:27:45.170 --> 04:27:49.750] one. Yeah. That's really cool. A lot of the code is similar. That makes sense. Because you already [04:27:49.750 --> 04:27:52.970] had the sort of soft core that you needed to implement and it was compatible with what you [04:27:52.970 --> 04:27:59.310] do. So that makes sense. Awesome. Now the Leon processor then or the payload. Tell me a little [04:27:59.310 --> 04:28:06.310] bit more about that, Latimer. What's involved in that one? Yeah. So we used a Leon 3 soft core that [04:28:06.310 --> 04:28:11.410] Geissler developed. It's all open source. You can go out and get it. You can go buy an Arctic 7 FPGA [04:28:11.410 --> 04:28:18.250] and run your own Leon 3 on it. And so it's a Spark processor that was developed in conjunction [04:28:18.250 --> 04:28:23.250] with the European Space Agency. So this is legit. The same kind of processes that are utilized in [04:28:23.250 --> 04:28:28.410] space. So that's why we picked it for the competition. And then on top of that, we're [04:28:28.410 --> 04:28:36.850] running a NASA product called Core Flight Software. We picked that because that's a really legitimate [04:28:36.850 --> 04:28:41.750] flight software. It's open source. NASA has been huge in the community as far as releasing [04:28:42.270 --> 04:28:48.870] their flight software that they are updating periodically. And there's a number of [04:28:48.870 --> 04:28:54.510] applications that they have provided. And so we use that as a basis. And on top of that, we've [04:28:54.510 --> 04:28:58.290] developed some custom applications that actually interface to the hardware that we're using in the [04:28:58.290 --> 04:29:04.330] game. So that was our approach there. Now Latimer, how much would you say of the overall [04:29:04.330 --> 04:29:09.370] system that you've got from the case to the boards, to the payload, to all the different modules that [04:29:09.370 --> 04:29:14.390] how much did you develop? How much were off the shelf commercial components? How much were there [04:29:14.390 --> 04:29:20.570] other vendors? What was the sort of breakdown of the overall system? Yeah. So on the flat side [04:29:20.570 --> 04:29:29.050] itself, there's really like two major components, each with subcomponents. We had kind of a short [04:29:29.050 --> 04:29:33.790] timeframe to develop all of this. So we, when we met, you know, starting, we were talking more [04:29:33.790 --> 04:29:39.070] details in November of last year, we decided we need something quick that we can do to get [04:29:39.070 --> 04:29:43.930] sensors and actuators. So in order to do that, we bought an off the shelf training satellite that [04:29:43.930 --> 04:29:51.410] provides sun sensors. It has an IMU. It provides a gyro and magnetometers. It has torque rods, [04:29:51.410 --> 04:29:55.250] just like a real satellite. It has a reaction wheel, just like a real satellite. So, you know, [04:29:55.250 --> 04:30:01.970] that's one of the primary components. But that training satellite from a game perspective, [04:30:01.970 --> 04:30:06.130] wasn't really interesting. It didn't really mimic, you know, like the kind of processors [04:30:07.070 --> 04:30:12.430] that are running on like real satellites in space. So that's where we came up with the [04:30:12.430 --> 04:30:18.410] CNVH board that we developed that has, you know, that Arctic seven and, and the Raspberry Pi. [04:30:18.890 --> 04:30:23.610] So those are the two kind of primary components on the, on the, on the flat side. [04:30:23.750 --> 04:30:27.970] And is that where most of the sort of the game occurs, you know, where the challenge is people [04:30:27.970 --> 04:30:32.010] interacting and except that is the payload module, then a part of that, or that I know we're going to [04:30:32.010 --> 04:30:36.110] maybe that's coming a little bit later, but like, where, where is that going to get factored in? [04:30:37.410 --> 04:30:39.650] Yeah, that's part of it. Okay. All right. [04:30:39.870 --> 04:30:45.470] Not going to talk too much about that because the team still have some things to figure out there. [04:30:45.610 --> 04:30:51.630] But, you know, the intent from the beginning was to take a picture of the moon. We've been telling [04:30:51.630 --> 04:30:56.130] the teams that, so the Pi is there really to provide an interface to the camera to allow [04:30:56.130 --> 04:31:02.170] them to do that. And we put some interesting things in there that the teams will soon find [04:31:02.170 --> 04:31:05.850] out about. Yeah, that makes sense. And I don't think anyone is surprised. They knew, they knew [04:31:05.850 --> 04:31:09.550] the end goal kind of going in. I've definitely seen some chatter from them. So that shouldn't [04:31:09.550 --> 04:31:13.450] be too much of a surprise. That's cool. One of the other things I, you know, I've been hearing a lot [04:31:13.450 --> 04:31:16.450] about stuff, but I was involved in a lot of production side. So I didn't know a lot of these [04:31:16.450 --> 04:31:22.270] details. When I first saw the air bearings in real life and understood, oh, wait, that's how that [04:31:22.270 --> 04:31:25.470] works. That's what's happening. That blew me away. Can you talk a little bit more? You've got one [04:31:25.470 --> 04:31:33.490] there. Tell us about how that works and what's going on. Yeah. So the air bearing is like two [04:31:33.490 --> 04:31:39.770] precision pieces of aluminum. It really works almost like an air hockey set, like we played [04:31:39.770 --> 04:31:44.710] with when we were kids. Like a table hockey. Yeah. Yeah. Yeah. So it has, you know, eight [04:31:45.750 --> 04:31:51.910] machines or eight precision holes in it. And you know, we hook an air compressor up to it. We set [04:31:51.910 --> 04:31:58.610] it to 10 PSI or so. And the top plate just floats on top of the air bearing and the satellites are [04:31:58.610 --> 04:32:04.750] sitting on top of that. A lot of work went into actually getting that to work consistently. [04:32:05.030 --> 04:32:10.770] And challenge two, we made the teams point at the sun for an entire revolution. And, you know, [04:32:10.770 --> 04:32:16.330] I've been playing with that for months. Air compressor in my office running consistently. [04:32:16.550 --> 04:32:20.590] So it was neat to see the teams do that too. And we didn't make it easy for them. [04:32:20.910 --> 04:32:26.170] So yeah, that's essentially how it works. Excellent. Now, Jason Williams, how do you [04:32:26.170 --> 04:32:30.050] get air then on a thing that's moving? You have the carousel spinning around. What was, I mean, [04:32:30.050 --> 04:32:33.790] was that like a thing that you designed or built or bought or how did that work? [04:32:34.810 --> 04:32:39.790] So the center of the carousel is not moving and that's where we have the air hose come in. [04:32:40.250 --> 04:32:45.050] And then we have it hooked up to a manifold that distributes air to each of the teams on [04:32:45.050 --> 04:32:48.790] the carousel itself. And an interesting thing about the carousel is actually it's driven [04:32:49.290 --> 04:32:54.290] off of a slew drive, which is somebody, if you're familiar with solar tracking arrays, [04:32:54.290 --> 04:32:58.510] the slew drive is what causes this solar tracking arrays to track the sun. So we actually got that [04:32:58.930 --> 04:33:03.490] from China, had it shipped here. It was kind of difficult to get, but that's what the centerpiece [04:33:03.490 --> 04:33:09.010] you see in the room there that's rotating the carousel about 15 minutes rotation, sorry, [04:33:09.010 --> 04:33:14.890] 15 minutes per single rotation. Awesome. Well, thank you both for taking some time out to discuss [04:33:14.890 --> 04:33:18.570] this. This was awesome. I'm sure the audience appreciates it. We'll let you go back to the game [04:33:18.570 --> 04:33:24.870] and we'll see our audience in another hour or so at our next update. Take care. [04:33:24.870 --> 04:33:27.170] Thank you. Thanks. [05:26:09.780 --> 05:26:10.300] So [05:26:10.300 --> 05:26:13.960] hello and welcome back live with another competition update for Hackassat. [05:26:13.960 --> 05:26:18.520] I'm your host Jordan Wines. First, let's take a quick look at our current scoreboard, [05:26:18.520 --> 05:26:23.640] which at this point should be pretty familiar to everyone. Since our last update an hour ago, [05:26:23.640 --> 05:26:28.200] we've actually seen no movement on the scoreboard yet. Challenge four is proving to be difficult [05:26:28.200 --> 05:26:33.060] for the teams as we predicted it would be. But from the sound of it on the team chats, [05:26:33.060 --> 05:26:37.820] they might be getting a little closer. So hopefully we'll see some movement soon there. [05:26:38.240 --> 05:26:42.940] While we wait a little bit more game action, let's learn about the complexities of navigation [05:26:42.940 --> 05:26:48.520] in space from our resident expert, Jess Coffey, in another episode of Space Talk. [05:26:48.780 --> 05:26:54.380] Now that we've seen how precession takes place, let's try to predict its direction in this case. [05:27:03.780 --> 05:27:09.280] So how do satellites know where they are? There are actually two completely separate dimensions [05:27:09.280 --> 05:27:14.500] that we need to consider with satellites. The first being orbital parameters. This describes [05:27:14.500 --> 05:27:21.000] the movement of the satellite over time, kind of like referencing a flight plan to tell where a [05:27:21.640 --> 05:27:26.280] Basically, what direction am I facing? This is entirely independent of location for satellites [05:27:26.280 --> 05:27:32.320] because there's no natural state that it's expected to be in. On Earth, that natural state [05:27:32.320 --> 05:27:40.220] is aligned with gravity, basically upright, and satellites have no force or no natural state to [05:27:40.220 --> 05:27:45.260] adhere to. Figuring out the orbital parameters of a satellite requires taking several observations [05:27:45.260 --> 05:27:49.820] and deriving them. One way to obtain these observations is to use the same technology [05:27:49.820 --> 05:27:55.440] we use here on Earth, an onboard GPS receiver. Additionally, we can look for them through [05:27:55.440 --> 05:28:01.120] external sensors. NORAD tracks all objects in space through the United States Space Surveillance [05:28:01.120 --> 05:28:06.980] Network, primarily using radar. Each object in space gets a unique ID assigned to it called a [05:28:06.980 --> 05:28:13.780] NORAD ID, which is universally used by satellite operators to reference it. NORAD uses these [05:28:13.780 --> 05:28:19.080] observations to derive the orbital parameters and uses two-line elements, or TLEs, as a standard for [05:28:19.080 --> 05:28:24.200] providing all the orbital information. Here's an example of one for the International Space [05:28:24.200 --> 05:28:31.100] Station. You can see the ISS's NORAD ID at the beginning of each line, 25544. The rest is used [05:28:31.100 --> 05:28:36.420] to describe the orbital motion. This TLE is simply an estimation of the orbital trajectory and there [05:28:36.420 --> 05:28:41.940] are inherent inaccuracies. The way we propagate orbital trajectories introduces an error that [05:28:41.940 --> 05:28:47.580] becomes significant over time. The TLE format accounts for this by having a timestamp, or epoch, [05:28:47.580 --> 05:28:51.860] built into it to indicate when it was taken. It is then valid for only about a week or two [05:28:51.860 --> 05:28:57.320] around that epoch, depending on how important accuracy is for that specific satellite. As a [05:28:57.320 --> 05:29:02.860] result, they must be constantly updated to keep from going stale. Now we know our orbital parameters, [05:29:02.860 --> 05:29:08.320] what about the second category? Attitude. Space is full of a lot of nothing, but there are still [05:29:08.320 --> 05:29:13.280] a few somethings that you can sense. The most common sensors are magnetometers, sun sensors, [05:29:13.280 --> 05:29:17.880] and star cameras. Magnetometers are used by satellites when they are within Earth's magnetic [05:29:17.880 --> 05:29:23.080] field. This is a very low fidelity measurement though, so it's typically not used by itself. [05:29:23.080 --> 05:29:28.360] Sun sensors are photodiodes that measure light intensity. By putting these sensors in several [05:29:28.360 --> 05:29:34.100] places surrounding the satellite, we can measure sunlight on each sensor, giving us the direction [05:29:34.100 --> 05:29:40.080] of the sun. That, combined with location data, can give us a pointing accuracy of 10 degrees or less. [05:29:40.080 --> 05:29:45.880] And finally, star cameras are the primary means of precise attitude measurement. Stars are far [05:29:45.880 --> 05:29:50.740] enough away from us and moving slowly enough that we can treat them as constant for all but the [05:29:50.740 --> 05:29:56.480] highest precision tasks. This means we can create a map of the star field that surrounds Earth, [05:29:56.480 --> 05:30:01.600] and we can reference it to calculate exactly where a camera mounted on the satellite is pointing. [05:30:01.600 --> 05:30:06.140] Now that we have determined our orbital parameters and orientation, we have a natural follow-on [05:30:06.140 --> 05:30:11.140] question. How do I change them? Getting around in space, meaning both changing your direction and [05:30:11.140 --> 05:30:16.580] changing your orientation, are difficult primarily because there is simply very, very little to work [05:30:16.580 --> 05:30:22.000] with. All the modes of transportation here on Earth require exerting a force on your external [05:30:22.000 --> 05:30:27.020] environment. Cars push their tires against the friction of the roadway, planes pull air through [05:30:27.020 --> 05:30:32.180] their engines, and ships push water with their propellers. Again, satellite orbit and satellite [05:30:32.180 --> 05:30:37.460] attitude are generally disconnected, so we have to control them separately. First, we'll cover how [05:30:37.460 --> 05:30:42.460] do I change my orbit. In orbital motion, we don't actually point to where we want to go and start [05:30:42.460 --> 05:30:48.300] moving there. Satellites are already moving at a tremendous speed, around 17,000 miles per hour in [05:30:48.300 --> 05:30:53.640] low Earth orbit. Changing orbit in space actually consists of carefully adding and subtracting energy [05:30:53.640 --> 05:30:58.820] at the right times. Not electrical energy, but rather the satellite's combined kinetic and [05:30:58.820 --> 05:31:04.140] potential energy. Adding energy raises the orbit farther away from Earth and subtracting brings you [05:31:04.140 --> 05:31:08.660] closer. Notice I didn't say going faster raises the orbit, because as you get farther away from [05:31:08.660 --> 05:31:14.480] Earth, you actually slow down due to the properties of orbital dynamics. So we'll stick with the term [05:31:14.480 --> 05:31:20.060] energy. Since the satellite already has so much energy that it acquired from launch to stay in [05:31:20.060 --> 05:31:25.700] orbit, most changes are very small by comparison. Raising or lowering orbits to maintain or change [05:31:25.700 --> 05:31:30.380] certain orbital characteristics a small amount. There are all kinds of technologies being developed [05:31:30.380 --> 05:31:35.900] and in use to add and subtract energy from satellites, but the most common are thrusters. [05:31:36.060 --> 05:31:41.300] Thrusters exist to eject fuel out of a spacecraft fast enough to change its momentum significantly. [05:31:41.300 --> 05:31:45.840] This is the same way rockets work, and it comes from one of the fundamental laws of physics, [05:31:45.840 --> 05:31:49.880] conservation of momentum. There are several different types of thrusters for spacecraft [05:31:49.880 --> 05:31:53.800] that each have different trade-offs, but all of them operate on the core principle, [05:31:53.800 --> 05:31:59.620] throw stuff out the back really fast. There are cold gas thrusters, which are the simplest ones. [05:31:59.620 --> 05:32:04.580] They released compressed air to generate a small amount of thrust. There are chemical thrusters, [05:32:04.580 --> 05:32:09.940] or miniaturized rockets, that are harnessing a chemical reaction to energize and release [05:32:09.940 --> 05:32:15.020] fuel to generate thrust. And finally there are ion thrusters, which use electromagnetic force [05:32:15.020 --> 05:32:20.120] to control, accelerate, and release charged particles to generate thrust. Now how do I [05:32:20.120 --> 05:32:24.680] control the attitude? Satellites again have the problem that they exist in a literal vacuum. [05:32:24.680 --> 05:32:30.200] You can't change your direction with a steering wheel, rudder, or flaps. To tackle this, they [05:32:30.200 --> 05:32:35.020] actually make use of the same law of physics, but with a slight twist, conservation of angular [05:32:35.020 --> 05:32:40.780] momentum. This one is easier to demonstrate in your daily life. If you ever spun yourself on a [05:32:40.780 --> 05:32:45.440] chair, you probably realized that pulling your arms in will make you go slightly faster. This [05:32:45.440 --> 05:32:50.780] is a demonstration of that law. Satellites make use of this through a technology called reaction [05:32:50.780 --> 05:32:56.520] wheels. The core concept is there are very small wheels contained within the spacecraft, and if you [05:32:56.520 --> 05:33:01.940] spin that wheel very very fast, you'll cause the spacecraft to react and spin in the opposite [05:33:01.940 --> 05:33:07.240] direction. The motors that spin that wheel need to exert a torque to make that happen, and the same [05:33:07.240 --> 05:33:13.060] opposing torque is then exerted back on the spacecraft, causing it to spin as well. All of [05:33:13.060 --> 05:33:18.180] these technologies put together that allow you to determine the orbit, determine the attitude, and [05:33:18.180 --> 05:33:23.340] control the orbit, and control the attitude, make up the satellite's attitude and orbital control [05:33:23.340 --> 05:33:28.260] system, or AOCS, which is the most complex subsystem on most satellites. [05:33:40.700 --> 05:33:45.320] Thanks, Jess, for that update. Before we sign off here, I want to give another update on the progress [05:33:45.320 --> 05:33:50.940] of the on-orbit mission. Remember, we chose a single team solution to send to our orbiting [05:33:50.940 --> 05:33:55.160] satellite. The ground control team is telling me that we have those commands scheduled to be sent [05:33:55.160 --> 05:34:00.980] between 1 p.m. and 4 30 p.m pacific, and we are just now starting that comms window. Given the [05:34:00.980 --> 05:34:05.840] orbit predictions of our satellite and the moon, we expect the actual photo to be taken around 6 30 [05:34:05.840 --> 05:34:11.020] pacific this evening. With any luck, we expect to receive that moon shot back here at Earth at 1 a.m [05:34:11.020 --> 05:34:16.200] pacific tonight, and we'll have it for you tomorrow at the closing awards. That's it for this hour's [05:34:16.200 --> 05:34:23.520] update. We'll see you back here at 4 45 eastern, 1 4 50 eastern, 1 p.m 1 50 pacific for a final [05:34:23.520 --> 05:34:27.700] hourly update before our end of day recap tonight. Thanks, and have a good one. [06:23:37.800 --> 06:23:43.000] Welcome back to another episode of Competition Update, space security challenge style. I'm your [06:23:43.000 --> 06:23:48.060] host, Jordan Wines. Several teams are showing indications that they're making progress on the [06:23:48.060 --> 06:23:53.220] hardest challenge, number four, but we don't have any confirmed solutions yet. Be aware, though, [06:23:53.220 --> 06:23:58.120] that at some point in the next few hours, the scoreboard might be going off. Depending on the [06:23:58.120 --> 06:24:02.660] organizers, anyway, many in-person CTFs have a tradition of blanking the scoreboard toward the [06:24:02.660 --> 06:24:07.920] end for a little bit of increased drama, and I'm told we might see that happen here, so teams could [06:24:07.920 --> 06:24:12.360] slip in a surprise solution when that happens. With no point decay, you probably have no incentive [06:24:12.360 --> 06:24:17.120] to hold back on an answer that you might otherwise do in a normal CTF. If you've been watching this [06:24:17.120 --> 06:24:22.080] carousel webcams, you might have noticed the occasional astronaut heading into space around [06:24:22.080 --> 06:24:26.660] our flatsats. Let's go ahead and take a look now. Oh, we've got some audio. Let's see if we can mute [06:24:26.660 --> 06:24:33.670] that. I'm not sure if it's coming through on that. Yeah, unfortunately, we've got a little bit too [06:24:33.670 --> 06:24:38.630] much audio on that video, so we're going to have to probably kill that one. The video that you're [06:24:38.630 --> 06:24:43.610] not seeing actually has some of the CubeSats in slow motion. If you've been watching the webcams, [06:24:43.610 --> 06:24:52.890] we've actually got different views showing each of the satellites, the flatsats, as they're spinning [06:24:52.890 --> 06:24:57.450] around orienting themselves on top of the sun. If we can stop this video before we zoom, it's [06:24:57.450 --> 06:25:00.990] going to be really good, or else you're going to hear some really, really interesting background [06:25:00.990 --> 06:25:07.810] noise. So one of our explorers was able to get that video. It showed 1550 trees flatsat as it [06:25:07.810 --> 06:25:11.290] actually orbited around the room. We'll make sure to get that up on the YouTube playlist afterwards [06:25:11.290 --> 06:25:15.270] so you can catch it. It was able to keep itself oriented on the sun as it went around the room, [06:25:15.270 --> 06:25:19.390] that of course being one of the previous challenges. All right, for more information [06:25:19.390 --> 06:25:23.150] on the other things that have been going on behind the scenes, we're going to see if we can bring [06:25:23.150 --> 06:25:28.210] Alex Taylor from CrimeAlerts into the feed as well. Alex, can you hear me first of all? [06:25:28.650 --> 06:25:29.850] Yeah, I can hear you great. [06:25:29.850 --> 06:25:33.730] And I hear you too. This is good. Awesome. All right, well, welcome to the stream. Thanks for [06:25:33.730 --> 06:25:34.050] coming on. [06:25:34.050 --> 06:25:34.770] Thank you. [06:25:35.290 --> 06:25:39.330] Okay, so first, can you tell me a little bit about what's been happening behind the scenes? I talked [06:25:39.330 --> 06:25:43.910] to Bryce, I talked to the Jasons, and they kind of gave me some updates on some of the design [06:25:43.910 --> 06:25:48.770] things. But in terms of what's actually happening like today and yesterday, anything interesting [06:25:48.770 --> 06:25:49.370] been going on? [06:25:50.110 --> 06:25:58.590] Sure. So all of the flatsats in the room are connected to the ground stations that the teams [06:25:58.590 --> 06:26:06.250] are on via radios. So one of the things that we have to do occasionally is move some of the radios [06:26:06.250 --> 06:26:10.930] around the room. Sometimes there's some interference, either from other radios, or, you [06:26:10.930 --> 06:26:13.750] know, just from things that they get moved around in the room. [06:26:13.750 --> 06:26:16.450] Somebody starts to microwave a floor below or something, maybe? [06:26:16.450 --> 06:26:17.630] Yeah, sure. [06:26:18.330 --> 06:26:23.430] I mean, there's some bits of metal and stuff that might be in the way, too. So one of the [06:26:23.430 --> 06:26:28.190] things that you might see people come into frame doing is moving some of those radios around just [06:26:28.190 --> 06:26:33.150] to make sure that teams are not getting large amounts of packet loss when they're communicating [06:26:33.150 --> 06:26:34.370] with the satellites. [06:26:35.230 --> 06:26:39.010] Yeah, a little bit less deterministic than, I guess, a network challenge where the networks [06:26:39.010 --> 06:26:43.330] are a little bit more reliable. When you're working with RF for every connection you make, [06:26:43.330 --> 06:26:45.530] you've got to deal with a little bit of that. That makes sense. [06:26:45.530 --> 06:26:50.070] Yeah, and something we had to communicate to teams earlier as well is that this isn't [06:26:50.190 --> 06:26:53.650] a network service. So they have to be very careful with the amount of data that they're [06:26:53.650 --> 06:27:00.070] sending. They don't want to trip over themselves and cause their messages to not get completely [06:27:00.070 --> 06:27:00.790] sent. [06:27:00.790 --> 06:27:04.310] I saw that message going on in the team chat. And I like that because you kind of, as an [06:27:04.310 --> 06:27:07.910] organizer, you have to strike the balance between how much information you give. And, [06:27:07.910 --> 06:27:10.390] you know, you don't want to give a hint on something that may help one team more than [06:27:10.390 --> 06:27:14.570] others. But you want to also help everyone make productive progress. You don't want people [06:27:14.570 --> 06:27:18.790] to be doing things that might hurt themselves. How else do you kind of have to deal with [06:27:18.790 --> 06:27:23.070] fairness? Have any other kind of concerns that have come up throughout the game so far? [06:27:23.470 --> 06:27:29.430] Sure, yeah. So actually, early on day one, we realized that we had left a couple of files [06:27:29.430 --> 06:27:35.630] on certain teams' command and control systems from some earlier testing that we had done [06:27:35.630 --> 06:27:44.550] to make sure the challenges were solvable. Fortunately, the files that were left behind, [06:27:45.110 --> 06:27:49.550] you know, would have given teams an unfair advantage in the competition. But what we did [06:27:49.550 --> 06:27:56.710] is we decided to put all those files together into a single archive and give those out to all [06:27:56.710 --> 06:28:01.850] of the teams so that if we were wrong, and those files contained something that was useful, [06:28:01.850 --> 06:28:06.650] at least every team had access to the same information before those challenges got released. [06:28:06.970 --> 06:28:09.870] Yeah, no, that makes sense. And I think that's, you know, you always have to, as an organizer, [06:28:09.870 --> 06:28:15.230] balance what decisions you make, and trying to be fair is certainly important. One thing I'm [06:28:15.230 --> 06:28:19.930] asking everyone, what is your favorite challenge? And if it's not one we've seen yet, no spoilers, [06:28:19.930 --> 06:28:22.910] but if it's one we've already seen about, you can, of course, talk in detail, or even just [06:28:22.910 --> 06:28:26.850] which one you worked on that you thought was most interesting. Sure. Well, that's an interesting [06:28:26.850 --> 06:28:31.990] question. So you might expect me to say challenge zero, since that was the one I worked on. [06:28:31.990 --> 06:28:37.730] Yeah, yeah. Right. I would also say that challenge five, which is coming up, is pretty cool because [06:28:37.730 --> 06:28:42.710] it's the culmination of everything that the teams have been doing. My personal favorite, [06:28:42.710 --> 06:28:46.870] though, is probably challenge three, just because it's, it's the kind of challenge I would be [06:28:46.870 --> 06:28:51.550] interested in solving. If I were playing this event, my background is very heavy on reverse [06:28:51.550 --> 06:28:56.550] engineering and exploitation. And that's exactly what you have to do to solve the challenges, [06:28:56.550 --> 06:29:01.250] have a heavy amount of reverse engineering, you wind up with an exploit. It's good stuff. [06:29:01.370 --> 06:29:05.110] Yeah, I agree. That's why I highlighted that one as well. So Alex, thank you very much for taking [06:29:05.110 --> 06:29:09.490] some time out from helping keep the game going. Let's get back to that and we'll continue wrapping [06:29:09.490 --> 06:29:17.510] up this update. Thanks for having me. Finally, here's our last Space Talk episode of the event [06:29:17.510 --> 06:29:21.670] from Just Coffee with a summary of how communications in space work, something our [06:29:21.670 --> 06:29:27.110] teams have surely demonstrated competence with over these past few days. Why do we use satellites [06:29:27.110 --> 06:29:30.910] like these for long distance communication? [06:29:40.950 --> 06:29:45.290] Communicating with a satellite ranges from several buildings worth of highly specialized [06:29:45.290 --> 06:29:50.430] equipment to a couple hundred dollars worth of handheld amateur radio hardware. LEOSATs, [06:29:50.430 --> 06:29:55.910] only about 400 to 2000 kilometers up, are even close by terrestrial standards. That means simple [06:29:55.910 --> 06:29:59.850] ham radios are often used to communicate with them. There's even one aboard the International [06:29:59.850 --> 06:30:04.090] Space Station that you can use to talk to the astronauts if you catch them at the right time [06:30:04.090 --> 06:30:07.990] and they're not too busy. The complexity with communicating with LEO satellites is actually [06:30:07.990 --> 06:30:13.790] their orbital speed. LEOSATs are moving so quickly that we have to use antennas that track them as [06:30:13.790 --> 06:30:18.430] they move rapidly across the sky. This tracking can be really difficult due to the uncertainty [06:30:18.430 --> 06:30:24.250] of the satellite location and how fast they move in and out of view. A satellite coming in and out [06:30:24.250 --> 06:30:29.210] of view from horizon to horizon is called a pass. Passes are the only times that we can actually [06:30:29.210 --> 06:30:34.670] communicate with satellites. Management of LEO satellites especially revolves entirely around [06:30:34.670 --> 06:30:39.550] this concept of passes and maximizing their effectiveness. For instance, it doesn't help [06:30:39.550 --> 06:30:44.690] having an imaging satellite over the target location if you didn't have a pass before it [06:30:44.690 --> 06:30:49.870] got to that location to tell it to take that photo. Similarly, you have to wait until the next pass [06:30:49.870 --> 06:30:55.190] to be able to actually bring that data back down to ground. Passes are roughly about five to ten [06:30:55.190 --> 06:31:00.610] minutes for LEO satellites. This duration changes drastically based on where the ground station is [06:31:00.610 --> 06:31:05.210] located. Near the equator, the Earth's rotation actually causes the ground station and the [06:31:05.210 --> 06:31:10.170] satellite to lose contact with each other faster. But near the poles, Earth's rotation is negligible [06:31:10.170 --> 06:31:15.510] and the satellite is actually in view for almost twice as long, if not more. Essentially, the higher [06:31:15.510 --> 06:31:20.230] the latitude of your ground station, the more useful your passes actually end up being. This [06:31:20.230 --> 06:31:24.730] is the reason most ground stations are located in the higher latitudes, even in the very hard [06:31:24.730 --> 06:31:30.390] to reach locations. One of the best examples of that is Svalbard, a Norwegian archipelago that's [06:31:30.390 --> 06:31:35.830] extremely close to the North Pole. It has over a hundred commercial ground station antennas, [06:31:35.830 --> 06:31:38.850] making it the largest commercial ground station in the world. [06:31:48.180 --> 06:31:52.720] As always, thanks Jess for the content and thanks to the team at the different studios for that [06:31:52.720 --> 06:31:57.980] awesome editing and animations that go into those Space Talk episodes. That's our last hourly update [06:31:57.980 --> 06:32:03.320] of the competition. I look forward to seeing everyone at 4 p.m. Pacific, 7 p.m. Eastern, as we [06:32:03.320 --> 06:32:10.780] will have our final daily recap where we will reveal which team's solution is being run on our satellite. [07:21:59.130 --> 07:22:00.530] so [07:38:50.810 --> 07:43:56.560] A little pause... and we are back. [07:43:56.560 --> 07:43:56.660] A little pause... and we are back. [07:52:49.270 --> 07:52:51.150] A little pause... and we are back. [07:52:51.150 --> 07:52:51.330] A little pause... and we are back. [08:31:37.790 --> 08:34:01.930] A little pause... and we are back. [08:34:01.930 --> 08:34:02.010] A little pause... and we are back. [08:34:02.390 --> 08:34:08.070] Welcome to Space Security Challenge 2020, HackASAT, the final event. [08:34:08.070 --> 08:34:12.980] As the democratization of space opens up a new frontier for exploration and innovation, [08:34:13.270 --> 08:34:16.600] we see new cybersecurity vulnerabilities emerging. [08:34:17.870 --> 08:34:22.730] The Space Security Challenge is designed to inspire the world's top cybersecurity talent [08:34:22.730 --> 08:34:27.800] to develop the skills necessary to secure this last frontier of cybersecurity, [08:34:28.310 --> 08:34:32.370] space. And already we've made a ton of progress. [08:34:32.390 --> 08:34:38.030] I'll catch you up. This spring we hosted over 2,000 teams who worked their way through a set [08:34:38.030 --> 08:34:44.450] of foundational space cybersecurity challenges in our HackASAT qualification round. Now, [08:34:44.450 --> 08:34:50.950] eight finalist teams are stepping up to the ultimate challenge. They are hacking a satellite. [08:34:57.840 --> 08:35:03.880] Welcome to the Saturday Daily Recap of Space Security Challenge 2020, or HackASAT. [08:35:03.880 --> 08:35:08.800] For the second to last time, I'm your host, Jordan Wines, and it's time to fill you in [08:35:08.800 --> 08:35:13.520] on how our competitors did on day two of this first-of-its-kind satellite hacking competition. [08:35:13.600 --> 08:35:16.980] Okay, let's get right to the moment everyone's been waiting for. [08:35:17.040 --> 08:35:21.800] Here is our video to show which team was selected for the on-orbit challenge. [08:35:23.400 --> 08:35:30.220] Oh, I'm sorry. Actually, it appears that we're experiencing some technical difficulties. [08:35:30.620 --> 08:35:33.640] Yeah, I guess that means you're going to have to listen to the rest of this update. [08:35:33.640 --> 08:35:38.220] And then we'll play the big reveal at the end instead. So let's take a look back at today's [08:35:38.220 --> 08:35:50.410] action. In fact, let's go ahead and take a look at the scoreboard now in our live octagon feed. [08:35:51.150 --> 08:35:55.850] And they definitely haven't slowed down. You'll notice that Solarwine actually scored first blood [08:35:55.850 --> 08:36:01.110] on challenge three. Congratulations to them for the great work overnight. You can also see Flux [08:36:01.110 --> 08:36:06.850] Repeat Rocket scoring just before this broadcast with only a 5% reduction in total points. That [08:36:06.850 --> 08:36:11.670] means Solarwine and Flux Repeat Rocket are both moving on to challenge four. While the score [08:36:11.670 --> 08:36:16.650] hasn't changed, we have had one important game milestone pass us by. We timed out unavailable [08:36:16.650 --> 08:36:21.350] points for challenge three. That means those two teams, Solarwine and Flux Repeat Rocket, [08:36:21.350 --> 08:36:25.050] they've obtained points for that challenge, and all other teams were given a solution script [08:36:25.050 --> 08:36:34.520] so they can focus on the next challenge. If you've been following along at home, [08:36:34.520 --> 08:36:38.580] you know that we sprung our on-orbit challenge on our teams yesterday. We had four teams submit [08:36:38.580 --> 08:36:44.820] their solutions by 4 p.m. Pacific, our deadline for evaluation for on-orbit, but only one was [08:36:44.820 --> 08:36:49.360] selected to have their code sent to the live satellite to capture a moonshot. We will learn [08:36:49.360 --> 08:36:56.160] who that lucky team is later on in the broadcast. While today's action started strong with several [08:36:56.160 --> 08:37:00.360] early scores, teams really struggled their way through challenge four today. While the organizers [08:37:00.360 --> 08:37:04.900] knew it would be the hardest challenge, the hope was that it would be solved before this point. [08:37:04.900 --> 08:37:10.140] In fact, in the last hour of the competitions, some team had run so low on power that the [08:37:10.140 --> 08:37:14.900] organizers offered to take the flatsats offline so they could plug them into power. This would [08:37:15.640 --> 08:37:19.520] mean teams would have challenges in solving challenge five, but hopefully it would give [08:37:19.520 --> 08:37:24.900] them enough power and time to solve challenge four in the last few minutes. Given that, [08:37:24.900 --> 08:37:28.920] here is our explanation for the challenge four solution. [08:37:30.020 --> 08:37:36.100] Challenge four. Here's what we know. We've restored communication with the payload module, [08:37:36.100 --> 08:37:41.380] but we still can't operate it. The challenge? Now teams must restore normal operations of the [08:37:41.380 --> 08:37:47.000] payload module so we can access the imager. Here's how they do it. Teams discover that the payload [08:37:47.000 --> 08:37:51.900] module bootloader has been corrupted, which is why the payload module is not operating normally. [08:37:51.900 --> 08:37:56.260] The teams discover a system console to the payload module and the ability to access the [08:37:56.260 --> 08:38:01.760] module system console by controlling an undocumented GPIO and multiplexer on the [08:38:01.760 --> 08:38:07.300] CNDH board. The teams must write a custom flight software application that can control the GPIO [08:38:07.300 --> 08:38:12.000] and enable access to the payload system console. After writing the application, [08:38:12.000 --> 08:38:17.020] the teams must upload it to the CNDH and execute it. Once the teams have access to the system [08:38:17.020 --> 08:38:21.780] console, they will identify that it has been corrupted. The teams will need to research [08:38:21.780 --> 08:38:26.560] nominal kubos bootloader configuration and repair the payload module's bootloader to resume proper [08:38:26.560 --> 08:38:37.040] operation of the payload module. As I mentioned during a previous update, there was always a [08:38:37.040 --> 08:38:41.540] chance that the scoreboard was going to go dark. And sure enough, with 30 minutes left in the [08:38:41.540 --> 08:38:46.120] competition, as teams were hopefully nearing it on a challenge 4 solution, the organizers decided [08:38:46.120 --> 08:38:51.200] to keep us all in suspense. Here's a look at our final scoreboard that everyone saw before it went [08:38:51.200 --> 08:38:58.420] dark. As we can tell, we had a couple of solves later on, but early was where most of the action [08:38:58.420 --> 08:39:04.100] happened. However, with our accepted and rejected on orbit status, we knew that there was two teams [08:39:04.100 --> 08:39:09.540] who would not be eligible for final prizes. We will make the final actual scores available tomorrow [08:39:09.540 --> 08:39:13.900] during the closing ceremony. Before you make your predictions on our podium winners, let's [08:39:13.900 --> 08:39:19.020] take a look at the final challenge 5 to see what it was teams would have had to solve after they [08:39:19.020 --> 08:39:27.440] finished challenge 4. Challenge 5. Here's what we know. We've done our best work, and it seems that [08:39:27.440 --> 08:39:33.500] we've regained control of the satellite. But how do we know for sure? The challenge? Teams must [08:39:33.500 --> 08:39:38.280] prove that we are fully in control of the satellite system by successfully imaging the moon. [08:39:48.150 --> 08:39:51.870] I thought I could have solved some of these challenges, and the answer was almost certainly [08:39:51.870 --> 08:39:56.470] not. I've got a lot of respect for the teams out there who made progress at all through this event. [08:39:56.470 --> 08:40:00.950] With a very difficult environment, very different to what many other CTFs have to do, [08:40:00.950 --> 08:40:04.990] there's a lot of extra constraints you have to worry about. For more information on that, let's [08:40:04.990 --> 08:40:10.730] do one last Q&A session with Jason Latimer to talk about how teams were approaching challenge 4. [08:40:10.830 --> 08:40:16.150] Let's see if we can get him in here. Jason, do you hear me? Yeah, I got you. Excellent. I hear you as [08:40:16.150 --> 08:40:23.610] well. Great. So, we're wrapped up. The game is over. I hopped into a couple of your calls, [08:40:23.610 --> 08:40:29.350] and I was listening to you guys describe some of the approaches teams were taking on challenge 4. [08:40:29.350 --> 08:40:32.070] I thought there's some really, really interesting things that came out. I'd love to hear a little [08:40:32.070 --> 08:40:37.890] bit more from your perspective. Yeah, so the background on challenge 4 was that, you know, [08:40:37.890 --> 08:40:43.050] the teams had gotten past the implant that the adversary had put on the satellite, and that they [08:40:43.050 --> 08:40:47.650] were trying to use the payload, and quickly found that the payload wasn't functional. [08:40:48.830 --> 08:40:54.670] So, what the adversary had done was corrupted the bootloader, and so they had to, you know, [08:40:54.670 --> 08:40:59.750] uncorrupt the bootloader. There were a number of approaches. Teams seemed to be struggling in the [08:40:59.750 --> 08:41:04.570] beginning. So, at one point, we gave a hint that said, hey, you need to write an application that's [08:41:04.570 --> 08:41:10.410] capable of communicating with the system console and enabling that system console via GPIO. [08:41:10.910 --> 08:41:17.530] Very quickly, teams started uploading their custom CFS applications. Some teams were just [08:41:17.530 --> 08:41:23.190] trying to enable the GPIO to control the system console based on other GPIOs that were already on [08:41:23.190 --> 08:41:28.570] the system, and they had done that successfully. And then we had some unique approaches where teams [08:41:28.570 --> 08:41:38.710] were trying to upload applications that could do like TFTP transfers to the device. So, we had a [08:41:39.350 --> 08:41:43.210] application that they're compiling. Was this like just a standard compiler they could use, [08:41:43.210 --> 08:41:47.410] or what sort of information about that environment did they have to have to build [08:41:47.410 --> 08:41:52.210] these custom applications? Yeah. So, it's actually a little bit more complicated than that, and we [08:41:52.210 --> 08:41:56.530] didn't want that to be the challenge behind the whole, you know, restoring the bootloader. So, [08:41:56.530 --> 08:42:01.250] we actually did provide to the teams ahead of time the RTEMs build environment they would need to [08:42:01.250 --> 08:42:07.630] build an application. And then we provided also a set of example applications that they could use [08:42:07.630 --> 08:42:13.530] as a template for creating this application that would restore the bootloader on the payload. [08:42:13.690 --> 08:42:17.070] There was still quite a bit of challenges there because there were specific peripherals that [08:42:17.070 --> 08:42:25.450] they'd have to be able to control. So, I'm talking to, you know, specific UART and GPIO drivers to [08:42:25.450 --> 08:42:30.050] do that. So, it was non-trivial. Yeah. What did your solution look like? I mean, it just sort of [08:42:30.050 --> 08:42:35.090] like did it rebuild it, or how did your intended solution work on that? Yeah. So, we had a custom [08:42:35.090 --> 08:42:42.410] application that ran in CFS that could talk to the Raspberry Pi system console over the UART. So, [08:42:42.410 --> 08:42:47.130] it was literally like talking to this, you know, system console. We would send a command and we [08:42:47.130 --> 08:42:53.010] could, you know, do an LS on the shell or whatever it was. And through that, we could restore the [08:42:53.010 --> 08:42:58.990] bootloader via just typical system console commands. But in order to actually enable that UART, we had [08:42:59.790 --> 08:43:06.310] a GPIO that was hidden. So, one of the challenges for challenge four was actually looking through [08:43:06.310 --> 08:43:12.310] the FPGA Verilog and VHDL code and finding that that actually existed. So, we had gotten some [08:43:12.310 --> 08:43:16.490] feedback during quals that, you know, teams were really interested in doing that kind of [08:43:17.130 --> 08:43:22.570] documentation reverse engineering. So, we went to a lot of effort to make sure that that existed. So, [08:43:22.570 --> 08:43:27.790] to even identify that that was there, they were doing code inspections of the VHDL and the Verilog [08:43:27.790 --> 08:43:32.950] for the FPGA. Now, I heard hints that, like, at least one team was doing something creative with, [08:43:32.950 --> 08:43:40.210] like, direct memory writes. What do we know about that? All we know about that, well, [08:43:41.890 --> 08:43:46.830] teams were doing uploads of applications, but it looked like some teams were using the direct [08:43:46.830 --> 08:43:52.010] memory writes to actually interact with that shell, the Raspberry Pi shell. So, [08:43:52.150 --> 08:43:57.510] a little different than our approach. But yeah, it was interesting. If it gets your code running, [08:43:57.510 --> 08:44:02.510] it gets it working, right? There's no points for the jankiness or the cleverness. It's just, [08:44:02.510 --> 08:44:05.870] does it solve the challenge, right? So, one of the things that I just mentioned to people, [08:44:05.870 --> 08:44:10.550] of course, was the power constraints and how many of the satellites were running low on power at the [08:44:10.550 --> 08:44:15.330] end from a lot of movement throughout the day and a lot of usage and the sort of option they had to [08:44:15.330 --> 08:44:19.890] get connected to a ground power. Tell me how that changed the sort of Challenge 5 requirements. And [08:44:19.890 --> 08:44:24.910] if a team was able to solve a Challenge 4 after the SCOVR went dark, would they have been able to [08:44:24.910 --> 08:44:29.810] do it from the ground or was that completely impossible or what happened there? Yeah. So, [08:44:29.810 --> 08:44:33.770] we talked with the organizers and based on the fact that we had these power constraints [08:44:34.670 --> 08:44:39.190] and that the teams that had elected to be put on the ground wouldn't be able to get a picture of [08:44:39.190 --> 08:44:44.750] the moon, we adjusted the criteria for Challenge 5 to just be get a picture. It was interesting to [08:44:44.750 --> 08:44:52.190] see what the different... it was interesting to see what the different teams were doing as far [08:44:52.190 --> 08:44:57.850] as power. Some teams had conserved their power throughout the day and other teams had not. So, [08:44:57.850 --> 08:45:03.250] we had some teams that were in the running to solve Challenge 4 that said, hey, we don't want [08:45:03.250 --> 08:45:06.830] to be put on the ground. We'll just stay on the carousel. We've been good with the batteries all [08:45:06.830 --> 08:45:11.570] day. And we actually mentioned that in an earlier update here that power was potentially a concern [08:45:11.570 --> 08:45:14.890] and it was nice that teams weren't entirely out of the running, right? There was sort of [08:45:14.990 --> 08:45:20.050] a backup mechanism, but it cost them time while their flat set was taken down, was rewired in, [08:45:20.050 --> 08:45:23.670] so that was sort of a penalty for exercising that option, although they weren't kind of out [08:45:23.670 --> 08:45:27.550] of the running entirely. That works out great. All right, well, thank you very much for taking [08:45:27.550 --> 08:45:33.110] time to talk to us and we'll continue on with the rest of our update. Thank you. [08:45:34.350 --> 08:45:39.090] All right, now the moment that you hopefully have actually been waiting for. We're going [08:45:39.090 --> 08:45:43.390] to answer the question as to which team had their code sent into space tonight. [08:45:44.330 --> 08:45:49.070] So, the video that we're going to look at here is the same one that I previewed earlier. So, [08:45:49.070 --> 08:45:53.730] we can see Poland Can is the very first team to get an acceptable payload. We knew that from [08:45:53.730 --> 08:45:58.430] watching the scoreboard and got reasonably close. Next coming in are going to be several other [08:45:58.430 --> 08:46:03.310] teams, ADD Vulcan number two, and then number three, Flux Repeat Rocket. So, we've got the [08:46:03.310 --> 08:46:07.990] three quickest ones and then we're going to have right here a Samurai come in. So, these were the [08:46:07.990 --> 08:46:12.510] four that came in before the timeline. So, if we stop right now, this is our launch cutoff, right? [08:46:12.510 --> 08:46:17.970] So, these were the teams that came in and if we look at closest to the bullseye, you can see that [08:46:17.970 --> 08:46:23.130] Poland Can did a space, just beat out Flux Repeat Rocket with the most accurate solution [08:46:23.130 --> 08:46:29.030] during our window. And this is the payload that's being run on an actual satellite right now. So, [08:46:29.030 --> 08:46:34.410] we're looking forward to getting the results back from that tonight as it runs. And then tomorrow [08:46:34.410 --> 08:46:38.170] during the live event, we're going to show you, hopefully, the moonshot. We'll find out how [08:46:38.170 --> 08:46:42.230] accurate it was. And of course, we're going to continue the run here because as I mentioned [08:46:42.230 --> 08:46:46.930] earlier, we know there was that sort of like sudden death for the last two slots, right? And [08:46:46.930 --> 08:46:51.630] we could see the teams that were two more slots that were available. And so, after that 7 p.m. [08:46:51.690 --> 08:46:56.230] cutoff, we had a quick 1550 tree that was able to make it in. But we also noticed that Poland Can [08:46:56.690 --> 08:47:00.850] really got in close. And so, they got a really, really nice solution. They kept iterating on it. [08:47:00.850 --> 08:47:05.890] There was no points for it. There was no extra... it was not considered for the on-orbit. But it [08:47:05.890 --> 08:47:12.650] was so good that the individuals we had evaluating all of the solutions, they had a lot of automation, [08:47:12.650 --> 08:47:15.750] but there was also, I guess, a little bit of an art to it. They were explaining that they thought [08:47:15.750 --> 08:47:21.910] that final Poland Can was so beautiful that it was like a piece of art. They loved that final [08:47:21.910 --> 08:47:28.250] solution. And then, of course, we had our last solve here coming in that's going to be from [08:47:28.250 --> 08:47:33.790] PFS, which we've already revealed. They were the last team to make it into the qualifying minimal [08:47:33.790 --> 08:47:40.710] acceptable range, which unfortunately left our two other teams, which were SolarWind and 1064 [08:47:40.710 --> 08:47:47.650] Seabred, not in the running for that. So, first of all, congrats to Team Poland Can Into Space [08:47:47.650 --> 08:47:53.130] for submitting not only the best solution overall throughout the whole evaluation period, [08:47:53.130 --> 08:47:57.670] but the solution that is going to space. Let's see their team bio again. [08:48:30.120 --> 08:48:36.160] And into space, I can confirm that your commands were uplinked in our comms window earlier today. [08:48:36.160 --> 08:48:40.980] We expect the moonshot to happen in a couple of hours at 630 Pacific, and that picture will be [08:48:40.980 --> 08:48:45.440] sent down to Earth at about 1 a.m. Pacific. We will reveal what is hopefully a clear moonshot [08:48:45.440 --> 08:48:50.300] picture at tomorrow's closing ceremonies. It all depends on how accurate your command really was. [08:48:50.300 --> 08:48:54.480] Fingers crossed. You'd think that just watching instead of playing would be less stressful, [08:48:54.480 --> 08:48:58.060] and I'm sure it was worse for our competitors, but even in the production room, we were cheering [08:48:58.060 --> 08:49:01.660] and sweating along with our teams as they worked their way through these challenges. [08:49:01.860 --> 08:49:07.400] Thanks very much for joining us throughout this event. That's it for today's recap. Make sure you [08:49:07.400 --> 08:49:12.500] tune in to Hackensack Closing Ceremonies tomorrow at 11 Pacific, where we will hopefully reveal the [08:49:12.500 --> 08:49:18.080] world's first CTF moonshot taken by Poland Canada Space. We'll also show you the overall contest [08:49:18.080 --> 08:49:22.800] results and award the prizes to our teams and reveal what happened after the scoreboard went [08:49:22.800 --> 08:49:27.520] dark. We'll also hear closing remarks by Dr. Will Roper from the U.S. Space Force and Air Force [08:49:27.520 --> 08:49:31.740] Acquisition Chief. Be sure to also check out all the great happenings going on at DEFCON [08:49:31.740 --> 08:49:36.620] and in the Aerospace Village. See you tomorrow at 11 Pacific for the Closing Ceremonies.