1 01:22:44,440 --> 01:22:45,000 So 2 01:26:50,880 --> 01:26:51,280 , let's get started. 3 01:27:08,130 --> 01:27:09,530 ♪♫♪ 4 01:35:47,410 --> 01:35:53,530 Welcome to Space Security Challenge 2020, HackASAT, the final event. 5 01:35:53,530 --> 01:36:02,390 As the democratization of space opens up a new frontier for exploration and innovation, we see new cybersecurity vulnerabilities emerging. 6 01:36:02,830 --> 01:36:15,070 The Space Security Challenge is designed to inspire the world's top cybersecurity talent to develop the skills necessary to secure this last frontier of cybersecurity, space. 7 01:36:15,070 --> 01:36:18,170 And already we've made a ton of progress. 8 01:36:18,170 --> 01:36:19,510 I'll catch you up. 9 01:36:19,510 --> 01:36:29,230 This spring we hosted over 2,000 teams who worked their way through a set of foundational space cybersecurity challenges in our HackASAT qualification round. 10 01:36:29,290 --> 01:36:33,630 Now eight finalist teams are stepping up to the ultimate challenge. 11 01:36:33,990 --> 01:36:36,730 They are hacking a satellite. 12 01:36:44,050 --> 01:36:49,070 Welcome back to the second and final day of the competition portion of HackASAT. 13 01:36:49,070 --> 01:36:50,110 Are you excited? 14 01:36:50,110 --> 01:36:52,850 As always, I'm your host Jordan Wines. 15 01:36:53,030 --> 01:36:56,550 First, a quick recap of the game to this point. 16 01:37:02,160 --> 01:37:12,380 The game has actually been underway for one hour now, and our team's first challenge has been to regain control of the ground station that they'll be using to communicate with their FlatSats. 17 01:37:12,380 --> 01:37:20,040 In fact, just before this broadcast went live, we received word that this challenge was actually solved by Team Samurai. 18 01:37:20,040 --> 01:37:21,640 Congratulations to them. 19 01:37:21,640 --> 01:37:28,240 Right after our last update ended with only a Samurai solve, several other teams came in with solutions for Challenge Zero. 20 01:37:28,420 --> 01:37:33,040 PFS and SolarWine were solvers two and three on that challenge. 21 01:37:33,300 --> 01:37:39,700 After those two teams scored on Challenge Zero, every other team was eventually able to solve Challenge Zero over the next several hours. 22 01:37:39,700 --> 01:37:44,060 Taking a look at the scoreboard so far, we've had an eventful last hour. 23 01:37:44,060 --> 01:37:48,480 Our teams continue to make progress with four teams now having solved Challenge One. 24 01:37:48,500 --> 01:37:55,540 Unfortunately, the window of time after first solve has expired, and the remaining four teams were given the solution with no points. 25 01:37:55,600 --> 01:38:03,680 PFS and Colon Can Into Space were joined by 1553 and 1064 Seabred with solutions for Challenge One. 26 01:38:03,680 --> 01:38:13,700 Now, this was going to be where I signed off for this update, but as we were live, PFS actually jumped up on the scoreboard yet again, solving Challenge Two. 27 01:38:13,760 --> 01:38:16,660 Most teams are now working on two or three challenges. 28 01:38:16,780 --> 01:38:20,360 The On-Orbit Challenge, Challenge Two, and Challenge Three. 29 01:38:20,360 --> 01:38:23,160 PFS has been pulling away to a healthy lead. 30 01:38:23,160 --> 01:38:27,500 They still have a critical problem to solve, specifically the On-Orbit Challenge. 31 01:38:27,500 --> 01:38:38,500 While Colon Can Into Space is only nipping at their heels at number two on the scoreboard, they are critically not only the first team with an attempted solution to the On-Orbit Challenge, but the first with an accepted solution. 32 01:38:38,500 --> 01:38:46,080 That would mean that they would be able to pass PFS if PFS is not able to actually solve, because again, that is a pass-fail challenge. 33 01:38:50,470 --> 01:39:01,330 Yesterday, our teams collectively worked their way through Challenges Zero through Two, leaving with half of the challenges solved by at least one team, and three challenges remaining to be solved today. 34 01:39:01,570 --> 01:39:07,650 PFS grew their lead throughout the day yesterday, but the biggest drama occurred after hours. 35 01:39:07,650 --> 01:39:08,610 When the 4 p.m. 36 01:39:08,610 --> 01:39:15,430 Pacific deadline for the On-Orbit Challenge passed, only four teams had submitted solutions deemed acceptable. 37 01:39:15,430 --> 01:39:17,230 What's an acceptable solution? 38 01:39:18,170 --> 01:39:21,390 Let's take a look at solving the On-Orbit Challenge. 39 01:39:21,610 --> 01:39:24,010 First, some terms you'll want to know. 40 01:39:24,270 --> 01:39:26,490 Two-Line Element Set, or TLE. 41 01:39:26,630 --> 01:39:32,230 A data format containing information about an object's position and velocity at a specific point in time. 42 01:39:32,230 --> 01:39:38,370 It is used to calculate where a satellite will be at some point in the future, with increasing uncertainty the further out in time. 43 01:39:38,370 --> 01:39:40,190 Window of Opportunity. 44 01:39:40,190 --> 01:39:44,890 The period of time during which the satellite can be positioned to complete the desired goal. 45 01:39:45,330 --> 01:39:46,310 Vector. 46 01:39:46,310 --> 01:39:49,730 A line indicating a specific direction in magnitude. 47 01:39:49,770 --> 01:39:56,910 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. 48 01:39:56,910 --> 01:40:04,110 Camera Boresight, Camera Mounting Position, and Camera Body Vector all describe the satellite camera and where it's pointed. 49 01:40:04,110 --> 01:40:05,130 Quaternion. 50 01:40:05,130 --> 01:40:08,850 A number system that is handy for calculating 3D rotations. 51 01:40:09,250 --> 01:40:10,310 Got it? 52 01:40:10,310 --> 01:40:11,290 Here we go. 53 01:40:11,290 --> 01:40:13,910 The first step in solving the On-Orbit Challenge. 54 01:40:13,950 --> 01:40:15,670 Identify the key data. 55 01:40:15,710 --> 01:40:23,730 The TLE, Camera Mounting Position, Target, and Window of Opportunity are all supplied in the Challenge Description or the On-Orbit Handbook. 56 01:40:23,870 --> 01:40:28,990 The data is used to calculate the orbit of both the satellite and the moon toward the Window of Opportunity. 57 01:40:28,990 --> 01:40:32,970 And don't forget to grab the Camera Body Vector, which will be needed later. 58 01:40:33,190 --> 01:40:34,350 The second step. 59 01:40:34,370 --> 01:40:38,790 Calculate the time of image by defining the relationship between these key vectors. 60 01:40:39,250 --> 01:40:39,750 1. 61 01:40:39,750 --> 01:40:44,410 Determine the satellite-to-moon vector, which points directly from the satellite towards the moon. 62 01:40:44,410 --> 01:40:44,950 2. 63 01:40:44,950 --> 01:40:49,670 Determine the nadir vector, which points directly from the satellite towards the center of the earth. 64 01:40:49,670 --> 01:40:50,370 3. 65 01:40:50,370 --> 01:40:52,010 Determine the angle between 1. 66 01:40:52,010 --> 01:40:55,630 The satellite-to-moon vector and the nadir vector and 2. 67 01:40:55,630 --> 01:40:59,670 The angle between the satellite negative Z vector and the Camera Body Vector. 68 01:40:59,670 --> 01:41:10,570 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 moon shot. 69 01:41:11,530 --> 01:41:12,850 The third step. 70 01:41:12,850 --> 01:41:19,110 Calculate the attitude or the position within its orbit that the satellite must take for the camera to capture the image. 71 01:41:19,150 --> 01:41:22,430 This is accomplished by lots of math. 72 01:41:22,730 --> 01:41:28,230 Specifically, something called a Direction Cosine Matrix, DCM, or Rotation Matrix. 73 01:41:28,230 --> 01:41:31,470 The DCM calculates a satellite attitude that points 1. 74 01:41:31,470 --> 01:41:33,870 The camera boresight to the moon and 2. 75 01:41:33,870 --> 01:41:40,050 The satellite's negative Z vector to earth's center, which is the attitude needed to accomplish the goal. 76 01:41:40,930 --> 01:41:52,150 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. 77 01:41:52,310 --> 01:41:54,110 On to the final step. 78 01:41:54,110 --> 01:41:57,870 Apply all that information and get the image we're after. 79 01:41:58,410 --> 01:42:07,950 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. 80 01:42:07,950 --> 01:42:10,470 The proper order of commands would be as follows. 81 01:42:10,470 --> 01:42:21,070 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. 82 01:42:21,250 --> 01:42:22,210 That's it. 83 01:42:22,210 --> 01:42:23,710 Challenge accomplished. 84 01:42:24,490 --> 01:42:28,850 But what does all of this have to do with hacking and keeping our satellites secure? 85 01:42:29,090 --> 01:42:32,370 The on-orbit challenge was completed with full trust. 86 01:42:32,370 --> 01:42:37,110 Our satellites rely on data and sensors from multiple sources in order to complete an objective. 87 01:42:37,110 --> 01:42:41,110 The TLE that was provided relied on data from the satellite and ground stations. 88 01:42:41,110 --> 01:42:45,250 Authenticated communications were required to upload the proper command sequence. 89 01:42:45,250 --> 01:42:50,750 Trusted execution was required to process sensor and actuator data to close control loops. 90 01:42:50,810 --> 01:42:54,970 Secure on-board communications were required to carry out operations in orbit. 91 01:42:55,170 --> 01:43:10,630 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, 92 01:43:10,630 --> 01:43:12,090 usable resource. 93 01:43:14,270 --> 01:43:21,150 The four teams with successful on-orbit solutions during the time period were Poland Cannon to Space. 94 01:43:21,150 --> 01:43:24,230 In fact, theirs came well over an hour before anyone else's. 95 01:43:24,330 --> 01:43:35,910 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. 96 01:43:36,230 --> 01:43:42,530 Remember, the on-orbit portion involves a team computing a mission plan for an actual satellite to take a picture of the moon. 97 01:43:42,630 --> 01:43:48,110 All acceptable solutions were evaluated, and the most accurate solution submitted before the 4 p.m. 98 01:43:48,110 --> 01:43:52,010 deadline will be chosen to be sent into space into our orbiting satellite. 99 01:43:52,010 --> 01:43:56,650 We'll learn whose solution that was amongst those four later on today. 100 01:43:56,690 --> 01:44:00,510 As we entered into our overtime period after the 4 p.m. 101 01:44:00,510 --> 01:44:04,530 deadline yesterday, the alternate acceptance criteria kicked into play. 102 01:44:04,530 --> 01:44:07,070 Well, the four teams submitting before 4 p.m. 103 01:44:07,070 --> 01:44:12,310 were automatically eligible for their solution to be sent and automatically in to prize eligibility. 104 01:44:12,310 --> 01:44:14,730 We had to get more teams available. 105 01:44:14,730 --> 01:44:16,370 The limit was six. 106 01:44:16,370 --> 01:44:22,290 This meant that two teams of the remaining four would be out of contention for the final prize pool. 107 01:44:22,290 --> 01:44:30,970 The four teams fighting for those two spots included PFS, 1553, 1064 Seabred, and Solarwine. 108 01:44:31,110 --> 01:44:38,070 1553 managed to submit a solution that was valid only three minutes after the deadline, quickly grabbing that fifth spot. 109 01:44:38,230 --> 01:44:44,250 That left PFS, 1064 Seabred, and Solarwine on the ropes for that last spot. 110 01:44:44,370 --> 01:44:54,130 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. 111 01:44:54,230 --> 01:44:59,710 All of the contest organizers were on a shared video chat waiting to see the results as they came in. 112 01:44:59,710 --> 01:45:08,070 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. 113 01:45:08,070 --> 01:45:20,850 Then at 7 48 p.m eastern or 4 48 p.m pacific, PFS came in with a valid solution just edging out 1064 Seabred and Solarwine on the list of on-orbit acceptance. 114 01:45:22,930 --> 01:45:28,850 Unfortunately, that means that 1064 Seabred and Solarwine are both ineligible for a spot on the podium. 115 01:45:28,850 --> 01:45:31,930 That said, they can still have an impact on the game. 116 01:45:31,930 --> 01:45:39,450 Either team scoring first blood will potentially change the number of available points left on the board for the competitors and impact the final result. 117 01:45:39,490 --> 01:45:48,410 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. 118 01:45:48,590 --> 01:45:53,050 In fact, let's go ahead and take a look at the scoreboard now in our live octagon feed. 119 01:45:53,670 --> 01:45:55,850 And they definitely haven't slowed down. 120 01:45:55,850 --> 01:46:00,130 You'll notice that Solarwine actually scored first blood on challenge three. 121 01:46:00,250 --> 01:46:03,190 Congratulations to them for the great work overnight. 122 01:46:03,310 --> 01:46:10,090 The pressure is now on the remaining teams to show that they can make they made good use of the downtime as well to land challenge three. 123 01:46:10,090 --> 01:46:17,270 You can also see Flux Repeat Rocket scoring just before this broadcast with only a five percent reduction in total points. 124 01:46:17,270 --> 01:46:19,110 So that's a good amount of points for them. 125 01:46:19,390 --> 01:46:24,290 That means Solarwine and Flux Repeat Rocket are both moving on to challenge four. 126 01:46:28,080 --> 01:46:29,180 Challenge four. 127 01:46:29,880 --> 01:46:31,220 Here's what we know. 128 01:46:31,220 --> 01:46:35,620 We've restored communication with the payload module, but we still can't operate it. 129 01:46:35,620 --> 01:46:36,680 The challenge? 130 01:46:36,720 --> 01:46:41,520 Now teams must restore normal operations of the payload module so we can access the imager. 131 01:46:50,280 --> 01:46:54,660 This is the first time we've seen Flux Repeat Rocket make a big move on the scoreboard. 132 01:46:54,660 --> 01:46:56,260 Let's check out their team bio. 133 01:47:25,840 --> 01:47:33,220 Like many of the combined CTF teams that we've seen here today, I have good memories of playing HackLoo CTF. 134 01:47:33,220 --> 01:47:38,340 In fact, it's often the case that the competition participants are also organizers in other times. 135 01:47:38,340 --> 01:47:47,560 So one of those teams that makes up the composition of Flux Repeat Rocket, FluxFingers, runs HackLoo, which is another great CTF competition you should check out. 136 01:47:47,740 --> 01:47:49,360 What an exciting first day. 137 01:47:49,360 --> 01:47:54,020 I'm looking forward to seeing what happens today as our teams battle through these last few challenges. 138 01:47:54,160 --> 01:48:00,720 Come back and join us at our 10 50 a.m pacific 1 50 p.m eastern for our next competition update. 139 02:39:32,440 --> 02:39:33,840 So 140 03:30:21,810 --> 03:30:28,890 Welcome back to Space Security Challenge 2020, or Math-A-Sat, as one of our competitors fondly called it. 141 03:30:28,890 --> 03:30:30,830 At least, we hope it was fondly. 142 03:30:30,830 --> 03:30:33,270 Anyway, I'm your host, Jordan Wines. 143 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. 144 03:30:38,550 --> 03:30:43,230 However, the teams have surprised us in the past, scoring in the middle of updates. 145 03:30:43,230 --> 03:30:46,590 So let's actually take a quick look at the scoreboard now to confirm that. 146 03:30:47,010 --> 03:30:51,930 If we look at the octagon, it does indeed look like our teams are scoring the same. 147 03:30:51,930 --> 03:30:56,930 Our last two solves with Solarwine and Flux Repeat Rocket in Challenge 3. 148 03:30:56,950 --> 03:31:00,830 So we're still looking at Challenge 4 and 5 for the rest of the day. 149 03:31:01,150 --> 03:31:05,730 While the score hasn't changed, we have had one important game milestone pass us by. 150 03:31:05,730 --> 03:31:08,230 We timed out unavailable points for Challenge 3. 151 03:31:08,230 --> 03:31:17,730 That means those two teams, Solarwine and Flux Repeat Rocket, they've obtained points for that challenge, and all other teams were given a solution script so they can focus on the next challenge. 152 03:31:17,810 --> 03:31:24,850 But before we move on to our explainer video for Challenge 3, we actually missed getting you the full explanation for Challenge 2 during our last update. 153 03:31:24,850 --> 03:31:26,270 So let's start with that. 154 03:31:27,390 --> 03:31:29,030 Challenge 2. 155 03:31:30,870 --> 03:31:37,750 The satellite is spinning out of control because the Attitude Determination and Control System, ADCS, has been manipulated. 156 03:31:37,830 --> 03:31:40,070 We suspect sabotage. 157 03:31:40,070 --> 03:31:41,190 The challenge? 158 03:31:41,190 --> 03:31:46,370 Teams must repair the ADCS system as quickly as possible to stop the dangerous spinning. 159 03:31:46,390 --> 03:31:47,770 Here's how they do it. 160 03:31:47,770 --> 03:31:52,990 Teams may first search the provided documentation for the appropriate command to reset the ADCS. 161 03:31:52,990 --> 03:31:55,210 They find it and execute it. 162 03:31:55,210 --> 03:31:56,990 But the reset does not work. 163 03:31:56,990 --> 03:32:01,890 The ADCS system begins communicating again, but it is not functioning properly. 164 03:32:01,990 --> 03:32:07,310 Teams discover that the ADCS configuration tables have been altered and must be restored. 165 03:32:07,410 --> 03:32:12,690 They have to find the nominal parameters for the configuration tables from the provided user documentation. 166 03:32:12,790 --> 03:32:17,870 The teams then have to upload a new table to the vehicle and command the ADCS to load the table. 167 03:32:17,890 --> 03:32:21,590 This is how they will restore nominal operation of the ADCS. 168 03:32:21,610 --> 03:32:22,870 Good news! 169 03:32:22,870 --> 03:32:31,810 With the ADCS configuration table updated, they receive nominal status from the ADCS, but the majority of the ADCS commands still don't work. 170 03:32:31,850 --> 03:32:43,550 Teams realize that they can point the satellite by uploading various ADCS configuration tables, each with different pointing modes and configuration parameters, and loading them at different points in the orbit of the satellite. 171 03:32:43,550 --> 03:32:50,250 This allows the teams to stop the spin of the vehicle and point the solar arrays at the sun to charge the batteries. 172 03:32:54,390 --> 03:32:59,350 All right, now that we're caught up, here's a little bit more about the intended solution to Challenge 3. 173 03:33:00,550 --> 03:33:02,030 Challenge 3. 174 03:33:03,310 --> 03:33:04,550 Here's what we know. 175 03:33:04,550 --> 03:33:12,750 With the update to the ADCS, the teams have regained control of the satellite, but we still can't communicate with the payload module or operate the imager. 176 03:33:12,790 --> 03:33:17,250 In addition, the majority of useful commands are not being accepted by the flight software. 177 03:33:17,250 --> 03:33:20,970 We have to ask ourselves, what else did they damage on this satellite? 178 03:33:21,070 --> 03:33:22,090 The challenge? 179 03:33:22,090 --> 03:33:26,750 Teams must restore communication with the payload module so we can get it working again. 180 03:33:27,090 --> 03:33:28,490 Here's how they do it. 181 03:33:28,490 --> 03:33:34,290 The teams find that their initial commands to communicate with the payload module are not being accepted by the flight software. 182 03:33:34,450 --> 03:33:39,750 It's clear that the command and data handling C and DH system is not working appropriately. 183 03:33:39,750 --> 03:33:46,290 In fact, payload commands and the majority of the other commands have been disabled in the C and DH system. 184 03:33:46,450 --> 03:33:53,930 It turns out the attacker has modified the C and DH flight software and are now running their own code on board the space vehicle. 185 03:33:54,290 --> 03:34:02,290 The attacker code is rejecting the majority of commands to the satellite, including firmware updates, firmware restore, and ADCS commands. 186 03:34:02,390 --> 03:34:08,170 As a result, it is not possible to restore the failsafe image as the restore command has been disabled. 187 03:34:08,630 --> 03:34:15,090 Lucky for the teams, the attacker was sloppy and inadvertently introduced a vulnerability in the new firmware image. 188 03:34:15,190 --> 03:34:22,710 Teams exploit this vulnerability and use it to repair the system and restore the C and DH software back to normal operation. 189 03:34:22,870 --> 03:34:27,490 Once that is complete, they are able to communicate with the payload module once again. 190 03:34:31,730 --> 03:34:38,430 Challenge 3 happens to be my personal favorite, as it, along with challenge 0, are probably the most similar to regular CTF challenges. 191 03:34:38,430 --> 03:34:39,890 I always love a good pwnable. 192 03:34:40,350 --> 03:34:46,110 Since we have some time in this update, I want to introduce a new graphic to you that we call the Race to Space. 193 03:34:46,510 --> 03:34:51,830 This will be a visualization we'll be using later on today to measure the team's on-orbit submissions. 194 03:34:52,030 --> 03:34:55,650 The closer to the center of the bullseye, the more accurate the solution. 195 03:34:55,710 --> 03:35:01,010 And, of course, the minimum acceptance bar will let us see the solutions that were not accurate enough to be accepted. 196 03:35:01,210 --> 03:35:09,990 Each team gets their own little slice of the pie, and we'll be able to see how many tries it took to become accepted and or how accurate teams got. 197 03:35:10,490 --> 03:35:18,030 You may remember that we have four teams that all submitted accepted solutions before the 4 p.m pacific cutoff yesterday. 198 03:35:18,110 --> 03:35:25,310 They were Poland Cannon to Space ahead of the pack, and then ADD Vulcan, Flux Repeat Rocket, and finally Samurai. 199 03:35:25,350 --> 03:35:36,130 Speaking of ADD Vulcan, we haven't yet had a chance to show off their biography, so let's check them out now in recognition of them being the second accepted solution to the on-orbit challenge. 200 03:36:04,440 --> 03:36:11,360 So apparently the real reason ADD Vulcan is participating in HackASAT was just as an excuse to make pink Starfleet uniforms. 201 03:36:11,360 --> 03:36:14,680 Go check out their Twitter team Twitter account for more info on that. 202 03:36:14,820 --> 03:36:21,980 Also, one of the main team members, Amy Dede, was on the recent tv show Lego Masters and also hosts an awesome STEM for Girls scholarship. 203 03:36:22,520 --> 03:36:24,320 That's it for this competition update. 204 03:36:24,320 --> 03:36:28,920 I'll see you back here in one hour at 11 50 a.m pacific, 2 50 p.m eastern. 205 04:23:25,630 --> 04:23:29,690 Welcome back to Space Security Challenge 2020, the final frontier. 206 04:23:29,690 --> 04:23:30,830 I'm your captain, Jordan. 207 04:23:30,830 --> 04:23:34,410 I'm actually not anybody's captain, but I can play one on YouTube. 208 04:23:34,690 --> 04:23:49,710 With no game changes to report on in the last hour, and the game infrastructure cooled down to a less-than-molten state as things are a steady state, we're going to bring in some of the game organizers to talk a little bit more about the behind-the-scenes and the game infrastructure. 209 04:23:50,170 --> 04:23:58,190 We were going to call this segment Between Two Jasons because we've got Jason Williams and Jason Latimer of Cromulence on the video chat, but I don't think you all need to see my face. 210 04:23:58,190 --> 04:24:00,130 So, Jasons, can you hear me? 211 04:24:02,350 --> 04:24:03,330 Yeah, I can hear you. 212 04:24:03,330 --> 04:24:03,810 Excellent. 213 04:24:03,810 --> 04:24:06,470 All right, that was Latimer on the right and we got Jason Williams on the left. 214 04:24:06,470 --> 04:24:08,310 Thanks for joining me, first of all. 215 04:24:08,470 --> 04:24:08,970 I appreciate it. 216 04:24:08,970 --> 04:24:14,010 You guys have been pretty busy, I know, the last few days and, of course, even before that as well. 217 04:24:14,010 --> 04:24:17,910 Just first general impressions, how are you feeling right now about how everything's going? 218 04:24:20,910 --> 04:24:22,950 I think everything's going really well. 219 04:24:23,970 --> 04:24:24,770 Sorry. 220 04:24:24,790 --> 04:24:29,070 All right, I'll direct into one of you specifically, so I don't make you talk over yourself. 221 04:24:29,070 --> 04:24:31,910 Latimer, how do you think this... are you happy right now with things? 222 04:24:31,910 --> 04:24:32,490 How are you feeling? 223 04:24:32,490 --> 04:24:33,710 I'm happy. 224 04:24:33,910 --> 04:24:41,970 We've had a little bit of a lull as teams have been working on challenge three and four, which are the harder challenges from the hacking perspective. 225 04:24:42,590 --> 04:24:47,850 So, we're kind of sitting back and watching and it's going pretty well today, for sure. 226 04:24:48,470 --> 04:24:55,010 One of my other questions for you each, and we'll stick with Latimer since you're going, was what is your favorite challenge then? 227 04:24:55,010 --> 04:24:57,210 I think three was probably mine. 228 04:24:57,270 --> 04:24:59,450 Do you have a favorite, either one you worked on or one you didn't? 229 04:24:59,450 --> 04:25:04,770 And if it's a later one, no spoilers, of course, but feel free to tell us which one you like best. 230 04:25:05,210 --> 04:25:09,270 Yeah, I really like three a lot and I was super excited. 231 04:25:09,270 --> 04:25:17,470 You know, we gave the team something to work on overnight and to come back in this morning and have a couple solves right away, that was awesome. 232 04:25:17,990 --> 04:25:24,570 Challenge four is going to be a challenge, so I'm hoping that we get some teams that actually solve that this afternoon. 233 04:25:24,570 --> 04:25:29,490 We're going to, you know, looking at when we give, you know, a hint or two coming up. 234 04:25:29,490 --> 04:25:31,090 But yeah, I like four. 235 04:25:31,110 --> 04:25:35,290 I think you guys described to me that four was probably, would you say, the hardest overall of all the challenges. 236 04:25:35,290 --> 04:25:37,870 That was kind of the impression I got from talking to the folks that made them all. 237 04:25:37,870 --> 04:25:40,910 So, this is like, this is going to be important too. 238 04:25:40,910 --> 04:25:45,810 And certainly for the score in the game, a lot could happen in these last two solves. 239 04:25:45,810 --> 04:25:47,570 And so, this is going to be a big moment. 240 04:25:48,510 --> 04:25:49,870 All right, so Jason Williams, same to you. 241 04:25:49,870 --> 04:25:52,150 Do you have a favorite challenge? 242 04:25:53,210 --> 04:25:57,550 Yeah, I think it's, for me, it's going to be challenge four without trying to give too much away. 243 04:25:57,550 --> 04:26:06,610 As you know, we think this is the hardest challenge in the game and it exercises a lot of skills that the teams are going to need to use in order for them to solve this challenge. 244 04:26:06,610 --> 04:26:09,350 So, I'm really excited to see where they go with it. 245 04:26:09,350 --> 04:26:13,130 And hopefully in the next hour or two, we get a solve on this one. 246 04:26:13,570 --> 04:26:14,050 Awesome. 247 04:26:14,050 --> 04:26:20,270 Now, I think you each may have some components of some of these flat sets that we can see kind of up close and maybe talk a little bit more. 248 04:26:20,270 --> 04:26:26,330 Jason Williams, what you, just before we went live, you were showing me one of the boards that you had there. 249 04:26:26,330 --> 04:26:27,910 Do you want to go ahead and talk about that a little bit? 250 04:26:28,630 --> 04:26:29,050 Yeah. 251 04:26:29,050 --> 04:26:33,350 So, on the flat set, we have our own hardware that we designed. 252 04:26:33,810 --> 04:26:37,290 And it's actually, I'll try to show it to you if you guys can see it here. 253 04:26:37,810 --> 04:26:41,910 It consists of a carrier board followed by two boards on top of it. 254 04:26:41,910 --> 04:26:49,210 One of them is a ZX board, which has on it an FPGA, an Artec 7 FPGA, which runs two soft core processors. 255 04:26:49,210 --> 04:26:52,870 Then the other one at the bottom here is the Raspberry Pi Zero. 256 04:26:52,870 --> 04:26:55,050 And this one is running the payload module. 257 04:26:55,050 --> 04:26:55,550 Yes. 258 04:26:55,550 --> 04:26:56,090 Yep. 259 04:26:56,090 --> 04:27:12,730 And so here you can see the ZX board and on there is actually two soft core processors, MSP430, which we use for running the radio baseband, and then a Leon 3 processor from Geissler, which Jason can talk more about that runs our flight software. 260 04:27:12,770 --> 04:27:18,170 Well, before we go Jason, that MSP430 soft core FPGA sounds a little familiar to me. 261 04:27:18,170 --> 04:27:19,690 I think I see something behind your shoulder. 262 04:27:19,690 --> 04:27:22,290 Was that related to that as well? 263 04:27:22,590 --> 04:27:23,010 Yes. 264 04:27:23,010 --> 04:27:32,290 If you can remember the badge service from 2013 DEF CON, it's actually the same soft core processor that was used for that competition. 265 04:27:32,550 --> 04:27:32,830 Yeah. 266 04:27:33,050 --> 04:27:41,430 Badger was the name of the challenge and I remember working on it and we kind of had an almost solution and then my team threw our broken solution and then another team fixed it and got it right. 267 04:27:41,430 --> 04:27:44,530 So we scored more points than that, but I worked on it during the finals. 268 04:27:44,530 --> 04:27:45,450 I remember that one. 269 04:27:45,450 --> 04:27:45,970 Yeah. 270 04:27:46,050 --> 04:27:46,870 That's really cool. 271 04:27:46,870 --> 04:27:48,170 A lot of the code is similar. 272 04:27:48,390 --> 04:27:49,190 That makes sense. 273 04:27:49,190 --> 04:27:53,210 Because you already had the sort of soft core that you needed to implement and it was compatible with what you do. 274 04:27:53,210 --> 04:27:54,210 So that makes sense. 275 04:27:54,210 --> 04:27:54,490 Awesome. 276 04:27:54,490 --> 04:27:59,030 Now the Leon processor then or the payload. 277 04:27:59,030 --> 04:28:00,190 Tell me a little bit more about that, Latimer. 278 04:28:00,190 --> 04:28:01,830 What's involved in that one? 279 04:28:02,550 --> 04:28:02,790 Yeah. 280 04:28:02,790 --> 04:28:07,650 So we used a Leon 3 soft core that Geissler developed. 281 04:28:07,650 --> 04:28:08,850 It's all open source. 282 04:28:08,850 --> 04:28:09,830 You can go out and get it. 283 04:28:09,830 --> 04:28:13,510 You can go buy an Arctic 7 FPGA and run your own Leon 3 on it. 284 04:28:14,730 --> 04:28:19,810 And so it's a Spark processor that was developed in conjunction with the European Space Agency. 285 04:28:19,810 --> 04:28:21,090 So this is legit. 286 04:28:21,150 --> 04:28:24,090 The same kind of processes that are utilized in space. 287 04:28:24,510 --> 04:28:26,890 So that's why we picked it for the competition. 288 04:28:27,230 --> 04:28:32,410 And then on top of that, we're running a NASA product called Core Flight Software. 289 04:28:33,410 --> 04:28:37,930 We picked that because that's a really legitimate flight software. 290 04:28:37,930 --> 04:28:39,250 It's open source. 291 04:28:39,310 --> 04:28:48,090 NASA has been huge in the community as far as releasing their flight software that they are updating periodically. 292 04:28:48,090 --> 04:28:50,750 And there's a number of applications that they have provided. 293 04:28:50,750 --> 04:28:52,770 And so we use that as a basis. 294 04:28:53,030 --> 04:28:58,990 And on top of that, we've developed some custom applications that actually interface to the hardware that we're using in the game. 295 04:28:59,050 --> 04:29:01,530 So that was our approach there. 296 04:29:01,730 --> 04:29:11,730 Now Latimer, how much would you say of the overall system that you've got from the case to the boards, to the payload, to all the different modules that how much did you develop? 297 04:29:11,730 --> 04:29:13,770 How much were off the shelf commercial components? 298 04:29:13,770 --> 04:29:15,030 How much were there other vendors? 299 04:29:15,030 --> 04:29:17,950 What was the sort of breakdown of the overall system? 300 04:29:19,170 --> 04:29:19,390 Yeah. 301 04:29:19,390 --> 04:29:26,810 So on the flat side itself, there's really like two major components, each with subcomponents. 302 04:29:27,430 --> 04:29:30,710 We had kind of a short timeframe to develop all of this. 303 04:29:30,710 --> 04:29:40,310 So we, when we met, you know, starting, we were talking more details in November of last year, we decided we need something quick that we can do to get sensors and actuators. 304 04:29:40,310 --> 04:29:45,350 So in order to do that, we bought an off the shelf training satellite that provides sun sensors. 305 04:29:45,350 --> 04:29:46,490 It has an IMU. 306 04:29:46,710 --> 04:29:49,990 It provides a gyro and magnetometers. 307 04:29:50,330 --> 04:29:52,430 It has torque rods, just like a real satellite. 308 04:29:52,430 --> 04:29:54,510 It has a reaction wheel, just like a real satellite. 309 04:29:54,510 --> 04:29:57,130 So, you know, that's one of the primary components. 310 04:29:58,030 --> 04:30:03,290 But that training satellite from a game perspective, wasn't really interesting. 311 04:30:03,290 --> 04:30:10,370 It didn't really mimic, you know, like the kind of processors that are running on like real satellites in space. 312 04:30:10,370 --> 04:30:18,410 So that's where we came up with the CNVH board that we developed that has, you know, that Arctic seven and, and the Raspberry Pi. 313 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. 314 04:30:23,750 --> 04:30:34,370 And is that where most of the sort of the game occurs, you know, where the challenge is people interacting and except that is the payload module, then a part of that, or that I know we're going to maybe that's coming a little bit later, but like, where, 315 04:30:34,370 --> 04:30:36,110 where is that going to get factored in? 316 04:30:37,410 --> 04:30:38,750 Yeah, that's part of it. 317 04:30:38,750 --> 04:30:39,330 Okay. 318 04:30:39,330 --> 04:30:39,650 All right. 319 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. 320 04:30:45,610 --> 04:30:51,190 But, you know, the intent from the beginning was to take a picture of the moon. 321 04:30:51,190 --> 04:30:57,310 We've been telling the teams that, so the Pi is there really to provide an interface to the camera to allow them to do that. 322 04:30:57,410 --> 04:31:02,910 And we put some interesting things in there that the teams will soon find out about. 323 04:31:02,910 --> 04:31:03,690 Yeah, that makes sense. 324 04:31:03,690 --> 04:31:05,190 And I don't think anyone is surprised. 325 04:31:05,190 --> 04:31:07,550 They knew, they knew the end goal kind of going in. 326 04:31:07,550 --> 04:31:08,890 I've definitely seen some chatter from them. 327 04:31:08,890 --> 04:31:10,490 So that shouldn't be too much of a surprise. 328 04:31:10,690 --> 04:31:11,290 That's cool. 329 04:31:11,290 --> 04:31:15,430 One of the other things I, you know, I've been hearing a lot about stuff, but I was involved in a lot of production side. 330 04:31:15,430 --> 04:31:17,110 So I didn't know a lot of these details. 331 04:31:17,370 --> 04:31:22,470 When I first saw the air bearings in real life and understood, oh, wait, that's how that works. 332 04:31:22,470 --> 04:31:23,170 That's what's happening. 333 04:31:23,170 --> 04:31:23,910 That blew me away. 334 04:31:23,910 --> 04:31:24,950 Can you talk a little bit more? 335 04:31:24,950 --> 04:31:26,070 You've got one there. 336 04:31:26,390 --> 04:31:29,710 Tell us about how that works and what's going on. 337 04:31:31,050 --> 04:31:31,270 Yeah. 338 04:31:31,270 --> 04:31:35,550 So the air bearing is like two precision pieces of aluminum. 339 04:31:36,370 --> 04:31:40,650 It really works almost like an air hockey set, like we played with when we were kids. 340 04:31:40,650 --> 04:31:41,410 Like a table hockey. 341 04:31:41,410 --> 04:31:41,610 Yeah. 342 04:31:42,050 --> 04:31:42,590 Yeah. 343 04:31:42,590 --> 04:31:42,850 Yeah. 344 04:31:42,910 --> 04:31:49,310 So it has, you know, eight machines or eight precision holes in it. 345 04:31:49,310 --> 04:31:51,670 And you know, we hook an air compressor up to it. 346 04:31:51,670 --> 04:31:54,250 We set it to 10 PSI or so. 347 04:31:54,270 --> 04:32:00,330 And the top plate just floats on top of the air bearing and the satellites are sitting on top of that. 348 04:32:00,830 --> 04:32:04,750 A lot of work went into actually getting that to work consistently. 349 04:32:05,030 --> 04:32:10,090 And challenge two, we made the teams point at the sun for an entire revolution. 350 04:32:10,090 --> 04:32:13,350 And, you know, I've been playing with that for months. 351 04:32:13,730 --> 04:32:16,330 Air compressor in my office running consistently. 352 04:32:16,550 --> 04:32:18,770 So it was neat to see the teams do that too. 353 04:32:18,770 --> 04:32:20,590 And we didn't make it easy for them. 354 04:32:20,910 --> 04:32:24,170 So yeah, that's essentially how it works. 355 04:32:24,170 --> 04:32:24,430 Excellent. 356 04:32:24,430 --> 04:32:28,170 Now, Jason Williams, how do you get air then on a thing that's moving? 357 04:32:28,170 --> 04:32:29,630 You have the carousel spinning around. 358 04:32:29,630 --> 04:32:33,790 What was, I mean, was that like a thing that you designed or built or bought or how did that work? 359 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. 360 04:32:40,250 --> 04:32:46,230 And then we have it hooked up to a manifold that distributes air to each of the teams on the carousel itself. 361 04:32:46,230 --> 04:32:57,590 And an interesting thing about the carousel is actually it's driven off of a slew drive, which is somebody, if you're familiar with solar tracking arrays, the slew drive is what causes this solar tracking arrays to track the sun. 362 04:32:57,590 --> 04:33:00,470 So we actually got that from China, had it shipped here. 363 04:33:00,470 --> 04:33:10,990 It was kind of difficult to get, but that's what the centerpiece you see in the room there that's rotating the carousel about 15 minutes rotation, sorry, 15 minutes per single rotation. 364 04:33:12,070 --> 04:33:12,550 Awesome. 365 04:33:12,550 --> 04:33:15,190 Well, thank you both for taking some time out to discuss this. 366 04:33:15,190 --> 04:33:15,770 This was awesome. 367 04:33:15,770 --> 04:33:17,670 I'm sure the audience appreciates it. 368 04:33:17,670 --> 04:33:23,370 We'll let you go back to the game and we'll see our audience in another hour or so at our next update. 369 04:33:23,370 --> 04:33:24,870 Take care. 370 04:33:24,870 --> 04:33:25,950 Thank you. 371 04:33:25,950 --> 04:33:27,170 Thanks. 372 05:26:09,780 --> 05:26:13,960 So hello and welcome back live with another competition update for Hackassat. 373 05:26:13,960 --> 05:26:15,700 I'm your host Jordan Wines. 374 05:26:15,700 --> 05:26:21,540 First, let's take a quick look at our current scoreboard, which at this point should be pretty familiar to everyone. 375 05:26:21,740 --> 05:26:26,580 Since our last update an hour ago, we've actually seen no movement on the scoreboard yet. 376 05:26:26,580 --> 05:26:30,660 Challenge four is proving to be difficult for the teams as we predicted it would be. 377 05:26:30,660 --> 05:26:34,960 But from the sound of it on the team chats, they might be getting a little closer. 378 05:26:34,960 --> 05:26:37,820 So hopefully we'll see some movement soon there. 379 05:26:38,240 --> 05:26:48,520 While we wait a little bit more game action, let's learn about the complexities of navigation in space from our resident expert, Jess Coffey, in another episode of Space Talk. 380 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. 381 05:27:03,780 --> 05:27:06,800 So how do satellites know where they are? 382 05:27:07,000 --> 05:27:11,340 There are actually two completely separate dimensions that we need to consider with satellites. 383 05:27:11,340 --> 05:27:13,540 The first being orbital parameters. 384 05:27:13,540 --> 05:27:23,820 This describes the movement of the satellite over time, kind of like referencing a flight plan to tell where a Basically, what direction am I facing? 385 05:27:23,820 --> 05:27:30,600 This is entirely independent of location for satellites because there's no natural state that it's expected to be in. 386 05:27:30,600 --> 05:27:41,300 On Earth, that natural state is aligned with gravity, basically upright, and satellites have no force or no natural state to adhere to. 387 05:27:41,300 --> 05:27:46,700 Figuring out the orbital parameters of a satellite requires taking several observations and deriving them. 388 05:27:46,700 --> 05:27:53,200 One way to obtain these observations is to use the same technology we use here on Earth, an onboard GPS receiver. 389 05:27:53,200 --> 05:27:56,760 Additionally, we can look for them through external sensors. 390 05:27:56,760 --> 05:28:03,380 NORAD tracks all objects in space through the United States Space Surveillance Network, primarily using radar. 391 05:28:03,380 --> 05:28:11,360 Each object in space gets a unique ID assigned to it called a NORAD ID, which is universally used by satellite operators to reference it. 392 05:28:11,360 --> 05:28:21,480 NORAD uses these observations to derive the orbital parameters and uses two-line elements, or TLEs, as a standard for providing all the orbital information. 393 05:28:21,480 --> 05:28:24,840 Here's an example of one for the International Space Station. 394 05:28:24,840 --> 05:28:30,100 You can see the ISS's NORAD ID at the beginning of each line, 25544. 395 05:28:30,100 --> 05:28:32,900 The rest is used to describe the orbital motion. 396 05:28:32,900 --> 05:28:38,140 This TLE is simply an estimation of the orbital trajectory and there are inherent inaccuracies. 397 05:28:38,160 --> 05:28:43,680 The way we propagate orbital trajectories introduces an error that becomes significant over time. 398 05:28:43,680 --> 05:28:49,700 The TLE format accounts for this by having a timestamp, or epoch, built into it to indicate when it was taken. 399 05:28:49,700 --> 05:28:56,660 It is then valid for only about a week or two around that epoch, depending on how important accuracy is for that specific satellite. 400 05:28:56,660 --> 05:29:00,800 As a result , they must be constantly updated to keep from going stale. 401 05:29:00,940 --> 05:29:04,380 Now we know our orbital parameters, what about the second category? 402 05:29:04,400 --> 05:29:05,260 Attitude. 403 05:29:05,380 --> 05:29:10,020 Space is full of a lot of nothing, but there are still a few somethings that you can sense. 404 05:29:10,020 --> 05:29:14,280 The most common sensors are magnetometers, sun sensors, and star cameras. 405 05:29:14,360 --> 05:29:18,580 Magnetometers are used by satellites when they are within Earth's magnetic field. 406 05:29:18,580 --> 05:29:23,080 This is a very low fidelity measurement though, so it's typically not used by itself. 407 05:29:23,080 --> 05:29:26,440 Sun sensors are photodiodes that measure light intensity. 408 05:29:26,440 --> 05:29:34,980 By putting these sensors in several places surrounding the satellite, we can measure sunlight on each sensor, giving us the direction of the sun. 409 05:29:34,980 --> 05:29:40,080 That, combined with location data, can give us a pointing accuracy of 10 degrees or less. 410 05:29:40,080 --> 05:29:45,160 And finally, star cameras are the primary means of precise attitude measurement. 411 05:29:45,160 --> 05:29:52,520 Stars are far enough away from us and moving slowly enough that we can treat them as constant for all but the highest precision tasks. 412 05:29:52,520 --> 05:30:01,600 This means we can create a map of the star field that surrounds Earth, and we can reference it to calculate exactly where a camera mounted on the satellite is pointing. 413 05:30:01,600 --> 05:30:07,080 Now that we have determined our orbital parameters and orientation, we have a natural follow-on question. 414 05:30:07,140 --> 05:30:08,240 How do I change them? 415 05:30:08,240 --> 05:30:17,060 Getting around in space, meaning both changing your direction and changing your orientation, are difficult primarily because there is simply very, very little to work with. 416 05:30:17,060 --> 05:30:22,960 All the modes of transportation here on Earth require exerting a force on your external environment. 417 05:30:22,960 --> 05:30:30,420 Cars push their tires against the friction of the roadway, planes pull air through their engines, and ships push water with their propellers. 418 05:30:30,420 --> 05:30:36,420 Again, satellite orbit and satellite attitude are generally disconnected, so we have to control them separately. 419 05:30:36,420 --> 05:30:38,780 First, we'll cover how do I change my orbit. 420 05:30:38,780 --> 05:30:43,300 In orbital motion, we don't actually point to where we want to go and start moving there. 421 05:30:43,300 --> 05:30:49,240 Satellites are already moving at a tremendous speed, around 17,000 miles per hour in low Earth orbit. 422 05:30:49,240 --> 05:30:55,220 Changing orbit in space actually consists of carefully adding and subtracting energy at the right times. 423 05:30:55,220 --> 05:31:00,060 Not electrical energy, but rather the satellite's combined kinetic and potential energy. 424 05:31:00,060 --> 05:31:04,820 Adding energy raises the orbit farther away from Earth and subtracting brings you closer. 425 05:31:04,820 --> 05:31:13,260 Notice I didn't say going faster raises the orbit, because as you get farther away from Earth, you actually slow down due to the properties of orbital dynamics. 426 05:31:13,260 --> 05:31:15,400 So we'll stick with the term energy. 427 05:31:15,500 --> 05:31:23,120 Since the satellite already has so much energy that it acquired from launch to stay in orbit, most changes are very small by comparison. 428 05:31:23,120 --> 05:31:28,300 Raising or lowering orbits to maintain or change certain orbital characteristics a small amount. 429 05:31:28,300 --> 05:31:35,900 There are all kinds of technologies being developed and in use to add and subtract energy from satellites, but the most common are thrusters. 430 05:31:36,060 --> 05:31:41,300 Thrusters exist to eject fuel out of a spacecraft fast enough to change its momentum significantly. 431 05:31:41,300 --> 05:31:47,500 This is the same way rockets work, and it comes from one of the fundamental laws of physics, conservation of momentum. 432 05:31:47,500 --> 05:31:56,220 There are several different types of thrusters for spacecraft that each have different trade-offs, but all of them operate on the core principle, throw stuff out the back really fast. 433 05:31:56,280 --> 05:31:59,620 There are cold gas thrusters, which are the simplest ones. 434 05:31:59,620 --> 05:32:03,040 They released compressed air to generate a small amount of thrust. 435 05:32:03,040 --> 05:32:11,580 There are chemical thrusters, or miniaturized rockets, that are harnessing a chemical reaction to energize and release fuel to generate thrust. 436 05:32:11,580 --> 05:32:19,420 And finally there are ion thrusters, which use electromagnetic force to control, accelerate, and release charged particles to generate thrust. 437 05:32:19,420 --> 05:32:21,420 Now how do I control the attitude? 438 05:32:21,460 --> 05:32:24,680 Satellites again have the problem that they exist in a literal vacuum. 439 05:32:24,680 --> 05:32:29,320 You can't change your direction with a steering wheel, rudder, or flaps. 440 05:32:29,320 --> 05:32:35,940 To tackle this, they actually make use of the same law of physics, but with a slight twist, conservation of angular momentum. 441 05:32:36,000 --> 05:32:38,960 This one is easier to demonstrate in your daily life. 442 05:32:38,960 --> 05:32:45,220 If you ever spun yourself on a chair , you probably realized that pulling your arms in will make you go slightly faster. 443 05:32:45,220 --> 05:32:47,380 This is a demonstration of that law. 444 05:32:47,420 --> 05:32:51,600 Satellites make use of this through a technology called reaction wheels. 445 05:32:51,600 --> 05:33:02,700 The core concept is there are very small wheels contained within the spacecraft, and if you spin that wheel very very fast, you'll cause the spacecraft to react and spin in the opposite direction. 446 05:33:02,700 --> 05:33:12,680 The motors that spin that wheel need to exert a torque to make that happen, and the same opposing torque is then exerted back on the spacecraft, causing it to spin as well. 447 05:33:12,680 --> 05:33:28,260 All of these technologies put together that allow you to determine the orbit, determine the attitude, and control the orbit, and control the attitude, make up the satellite's attitude and orbital control system, or AOCS, which is the most complex subsystem on most satellites. 448 05:33:40,700 --> 05:33:42,480 Thanks, Jess, for that update. 449 05:33:42,600 --> 05:33:46,840 Before we sign off here, I want to give another update on the progress of the on-orbit mission. 450 05:33:46,840 --> 05:33:51,680 Remember, we chose a single team solution to send to our orbiting satellite. 451 05:33:51,760 --> 05:33:56,380 The ground control team is telling me that we have those commands scheduled to be sent between 1 p.m. 452 05:33:56,380 --> 05:34:00,320 and 4 30 p.m pacific, and we are just now starting that comms window. 453 05:34:00,560 --> 05:34:07,220 Given the orbit predictions of our satellite and the moon, we expect the actual photo to be taken around 6 30 pacific this evening. 454 05:34:07,300 --> 05:34:14,960 With any luck, we expect to receive that moon shot back here at Earth at 1 a.m pacific tonight, and we'll have it for you tomorrow at the closing awards. 455 05:34:15,020 --> 05:34:16,820 That's it for this hour's update. 456 05:34:16,820 --> 05:34:26,360 We'll see you back here at 4 45 eastern, 1 4 50 eastern, 1 p.m 1 50 pacific for a final hourly update before our end of day recap tonight. 457 05:34:26,460 --> 05:34:27,700 Thanks, and have a good one. 458 06:23:37,800 --> 06:23:42,740 Welcome back to another episode of Competition Update, space security challenge style. 459 06:23:42,740 --> 06:23:44,680 I'm your host, Jordan Wines. 460 06:23:44,680 --> 06:23:52,320 Several teams are showing indications that they're making progress on the hardest challenge, number four, but we don't have any confirmed solutions yet. 461 06:23:52,320 --> 06:23:57,320 Be aware, though, that at some point in the next few hours, the scoreboard might be going off. 462 06:23:57,480 --> 06:24:10,080 Depending on the organizers, anyway, many in-person CTFs have a tradition of blanking the scoreboard toward the end for a little bit of increased drama, and I'm told we might see that happen here, so teams could slip in a surprise solution when that happens. 463 06:24:10,080 --> 06:24:15,820 With no point decay, you probably have no incentive to hold back on an answer that you might otherwise do in a normal CTF. 464 06:24:15,980 --> 06:24:23,060 If you've been watching this carousel webcams, you might have noticed the occasional astronaut heading into space around our flatsats. 465 06:24:23,380 --> 06:24:24,800 Let's go ahead and take a look now. 466 06:24:24,800 --> 06:24:25,840 Oh, we've got some audio. 467 06:24:25,940 --> 06:24:27,260 Let's see if we can mute that. 468 06:24:31,190 --> 06:24:32,550 I'm not sure if it's coming through on that. 469 06:24:32,550 --> 06:24:37,530 Yeah, unfortunately, we've got a little bit too much audio on that video, so we're going to have to probably kill that one. 470 06:24:37,890 --> 06:24:41,630 The video that you're not seeing actually has some of the CubeSats in slow motion. 471 06:24:41,630 --> 06:24:55,690 If you've been watching the webcams, we've actually got different views showing each of the satellites, the flatsats, as they're spinning around orienting themselves on top of the sun. 472 06:24:55,690 --> 06:25:01,610 If we can stop this video before we zoom, it's going to be really good, or else you're going to hear some really, really interesting background noise. 473 06:25:02,310 --> 06:25:04,490 So one of our explorers was able to get that video. 474 06:25:04,830 --> 06:25:09,010 It showed 1550 trees flatsat as it actually orbited around the room. 475 06:25:09,010 --> 06:25:12,410 We'll make sure to get that up on the YouTube playlist afterwards so you can catch it. 476 06:25:12,410 --> 06:25:17,590 It was able to keep itself oriented on the sun as it went around the room, that of course being one of the previous challenges. 477 06:25:18,190 --> 06:25:26,070 All right, for more information on the other things that have been going on behind the scenes, we're going to see if we can bring Alex Taylor from CrimeAlerts into the feed as well. 478 06:25:26,470 --> 06:25:28,210 Alex, can you hear me first of all? 479 06:25:28,650 --> 06:25:29,850 Yeah, I can hear you great. 480 06:25:29,850 --> 06:25:30,630 And I hear you too. 481 06:25:30,630 --> 06:25:31,130 This is good. 482 06:25:31,130 --> 06:25:31,470 Awesome. 483 06:25:31,470 --> 06:25:33,310 All right, well, welcome to the stream. 484 06:25:33,310 --> 06:25:34,050 Thanks for coming on. 485 06:25:34,050 --> 06:25:34,770 Thank you. 486 06:25:35,290 --> 06:25:38,890 Okay, so first, can you tell me a little bit about what's been happening behind the scenes? 487 06:25:38,890 --> 06:25:44,430 I talked to Bryce, I talked to the Jasons, and they kind of gave me some updates on some of the design things. 488 06:25:44,470 --> 06:25:49,370 But in terms of what's actually happening like today and yesterday, anything interesting been going on? 489 06:25:50,110 --> 06:25:50,770 Sure. 490 06:25:50,770 --> 06:26:01,970 So all of the flatsats in the room are connected to the ground stations that the teams are on via radios. 491 06:26:02,110 --> 06:26:06,910 So one of the things that we have to do occasionally is move some of the radios around the room. 492 06:26:06,910 --> 06:26:13,750 Sometimes there's some interference, either from other radios, or, you know, just from things that they get moved around in the room. 493 06:26:13,750 --> 06:26:16,450 Somebody starts to microwave a floor below or something, maybe? 494 06:26:16,450 --> 06:26:17,630 Yeah, sure. 495 06:26:18,330 --> 06:26:21,950 I mean, there's some bits of metal and stuff that might be in the way, too. 496 06:26:21,950 --> 06:26:34,370 So one of the things that you might see people come into frame doing is moving some of those radios around just to make sure that teams are not getting large amounts of packet loss when they're communicating with the satellites. 497 06:26:35,230 --> 06:26:40,190 Yeah, a little bit less deterministic than, I guess, a network challenge where the networks are a little bit more reliable. 498 06:26:40,190 --> 06:26:44,730 When you're working with RF for every connection you make, you've got to deal with a little bit of that. 499 06:26:44,730 --> 06:26:45,530 That makes sense. 500 06:26:45,530 --> 06:26:51,030 Yeah, and something we had to communicate to teams earlier as well is that this isn't a network service. 501 06:26:51,030 --> 06:26:54,330 So they have to be very careful with the amount of data that they're sending. 502 06:26:54,470 --> 06:27:00,790 They don't want to trip over themselves and cause their messages to not get completely sent. 503 06:27:00,790 --> 06:27:02,790 I saw that message going on in the team chat. 504 06:27:02,790 --> 06:27:07,590 And I like that because you kind of, as an organizer, you have to strike the balance between how much information you give. 505 06:27:07,590 --> 06:27:11,010 And, you know, you don't want to give a hint on something that may help one team more than others. 506 06:27:11,010 --> 06:27:14,070 But you want to also help everyone make productive progress. 507 06:27:14,070 --> 06:27:17,530 You don't want people to be doing things that might hurt themselves. 508 06:27:17,610 --> 06:27:19,310 How else do you kind of have to deal with fairness? 509 06:27:19,310 --> 06:27:23,070 Have any other kind of concerns that have come up throughout the game so far? 510 06:27:23,470 --> 06:27:23,970 Sure, yeah. 511 06:27:23,970 --> 06:27:37,910 So actually, early on day one, we realized that we had left a couple of files on certain teams' command and control systems from some earlier testing that we had done to make sure the challenges were solvable. 512 06:27:38,190 --> 06:27:48,790 Fortunately, the files that were left behind, you know, would have given teams an unfair advantage in the competition. 513 06:27:48,790 --> 06:28:06,650 But what we did is we decided to put all those files together into a single archive and give those out to all of the teams so that if we were wrong, and those files contained something that was useful, at least every team had access to the same information before those challenges got released. 514 06:28:06,970 --> 06:28:07,770 Yeah, no, that makes sense. 515 06:28:07,770 --> 06:28:14,550 And I think that's, you know, you always have to, as an organizer, balance what decisions you make, and trying to be fair is certainly important. 516 06:28:14,610 --> 06:28:18,090 One thing I'm asking everyone, what is your favorite challenge? 517 06:28:18,090 --> 06:28:25,150 And if it's not one we've seen yet, no spoilers, but if it's one we've already seen about, you can, of course, talk in detail, or even just which one you worked on that you thought was most interesting. 518 06:28:25,250 --> 06:28:25,790 Sure. 519 06:28:26,030 --> 06:28:27,550 Well, that's an interesting question. 520 06:28:27,550 --> 06:28:31,990 So you might expect me to say challenge zero, since that was the one I worked on. 521 06:28:31,990 --> 06:28:32,570 Yeah , yeah. 522 06:28:32,630 --> 06:28:33,310 Right. 523 06:28:33,590 --> 06:28:41,330 I would also say that challenge five, which is coming up, is pretty cool because it's the culmination of everything that the teams have been doing. 524 06:28:41,530 --> 06:28:47,730 My personal favorite, though, is probably challenge three, just because it's, it's the kind of challenge I would be interested in solving. 525 06:28:47,730 --> 06:28:53,030 If I were playing this event, my background is very heavy on reverse engineering and exploitation. 526 06:28:53,250 --> 06:29:00,250 And that's exactly what you have to do to solve the challenges, have a heavy amount of reverse engineering, you wind up with an exploit. 527 06:29:00,250 --> 06:29:01,250 It's good stuff. 528 06:29:01,370 --> 06:29:02,230 Yeah, I agree. 529 06:29:02,230 --> 06:29:03,890 That's why I highlighted that one as well. 530 06:29:03,890 --> 06:29:07,470 So Alex, thank you very much for taking some time out from helping keep the game going. 531 06:29:07,470 --> 06:29:11,530 Let's get back to that and we'll continue wrapping up this update. 532 06:29:11,810 --> 06:29:13,010 Thanks for having me. 533 06:29:14,410 --> 06:29:25,050 Finally, here's our last Space Talk episode of the event from Just Coffee with a summary of how communications in space work, something our teams have surely demonstrated competence with over these past few days. 534 06:29:25,650 --> 06:29:30,910 Why do we use satellites like these for long distance communication? 535 06:29:40,950 --> 06:29:49,710 Communicating with a satellite ranges from several buildings worth of highly specialized equipment to a couple hundred dollars worth of handheld amateur radio hardware. 536 06:29:49,710 --> 06:29:55,190 LEOSATs, only about 400 to 2000 kilometers up, are even close by terrestrial standards. 537 06:29:55,190 --> 06:29:58,430 That means simple ham radios are often used to communicate with them. 538 06:29:58,430 --> 06:30:05,210 There's even one aboard the International Space Station that you can use to talk to the astronauts if you catch them at the right time and they're not too busy. 539 06:30:05,210 --> 06:30:09,430 The complexity with communicating with LEO satellites is actually their orbital speed. 540 06:30:09,470 --> 06:30:15,730 LEOSATs are moving so quickly that we have to use antennas that track them as they move rapidly across the sky. 541 06:30:15,730 --> 06:30:22,770 This tracking can be really difficult due to the uncertainty of the satellite location and how fast they move in and out of view. 542 06:30:22,790 --> 06:30:27,150 A satellite coming in and out of view from horizon to horizon is called a pass. 543 06:30:27,150 --> 06:30:30,670 Passes are the only times that we can actually communicate with satellites. 544 06:30:30,670 --> 06:30:37,990 Management of LEO satellites especially revolves entirely around this concept of passes and maximizing their effectiveness. 545 06:30:37,990 --> 06:30:47,390 For instance, it doesn't help having an imaging satellite over the target location if you didn't have a pass before it got to that location to tell it to take that photo. 546 06:30:47,390 --> 06:30:53,050 Similarly, you have to wait until the next pass to be able to actually bring that data back down to ground. 547 06:30:53,050 --> 06:30:57,390 Passes are roughly about five to ten minutes for LEO satellites. 548 06:30:57,390 --> 06:31:01,350 This duration changes drastically based on where the ground station is located. 549 06:31:01,350 --> 06:31:07,750 Near the equator, the Earth's rotation actually causes the ground station and the satellite to lose contact with each other faster. 550 06:31:07,750 --> 06:31:14,530 But near the poles, Earth's rotation is negligible and the satellite is actually in view for almost twice as long, if not more. 551 06:31:14,530 --> 06:31:20,050 Essentially, the higher the latitude of your ground station, the more useful your passes actually end up being. 552 06:31:20,050 --> 06:31:26,070 This is the reason most ground stations are located in the higher latitudes, even in the very hard to reach locations. 553 06:31:26,070 --> 06:31:32,190 One of the best examples of that is Svalbard, a Norwegian archipelago that's extremely close to the North Pole. 554 06:31:32,190 --> 06:31:38,850 It has over a hundred commercial ground station antennas, making it the largest commercial ground station in the world. 555 06:31:48,180 --> 06:31:56,160 As always, thanks Jess for the content and thanks to the team at the different studios for that awesome editing and animations that go into those Space Talk episodes. 556 06:31:56,460 --> 06:31:59,020 That's our last hourly update of the competition. 557 06:31:59,020 --> 06:32:01,060 I look forward to seeing everyone at 4 p.m. 558 06:32:01,060 --> 06:32:02,340 Pacific, 7 p.m. 559 06:32:02,340 --> 06:32:10,780 Eastern, as we will have our final daily recap where we will reveal which team's solution is being run on our satellite. 560 07:21:59,130 --> 07:22:00,530 so 561 07:38:50,810 --> 07:38:52,210 A little 562 07:43:32,840 --> 07:43:41,340 pause... 563 07:43:56,560 --> 07:43:56,560 and we are back. 564 07:43:56,560 --> 07:43:56,660 A little pause... 565 07:43:56,660 --> 07:43:56,660 and we are back. 566 07:52:49,270 --> 07:52:51,150 A little pause... and we are back. 567 07:52:51,150 --> 07:52:51,330 A little pause... and we are back. 568 08:31:37,790 --> 08:31:37,870 A little 569 08:32:51,000 --> 08:33:07,240 pause... 570 08:34:01,930 --> 08:34:01,930 and we are back. 571 08:34:01,930 --> 08:34:02,010 A little pause... and we are back. 572 08:34:02,390 --> 08:34:08,070 Welcome to Space Security Challenge 2020, HackASAT, the final event. 573 08:34:08,070 --> 08:34:16,600 As the democratization of space opens up a new frontier for exploration and innovation, we see new cybersecurity vulnerabilities emerging. 574 08:34:17,870 --> 08:34:29,710 The Space Security Challenge is designed to inspire the world's top cybersecurity talent to develop the skills necessary to secure this last frontier of cybersecurity, space. 575 08:34:29,830 --> 08:34:32,370 And already we've made a ton of progress. 576 08:34:32,390 --> 08:34:34,130 I'll catch you up. 577 08:34:34,170 --> 08:34:43,690 This spring we hosted over 2,000 teams who worked their way through a set of foundational space cybersecurity challenges in our HackASAT qualification round. 578 08:34:43,690 --> 08:34:48,190 Now, eight finalist teams are stepping up to the ultimate challenge. 579 08:34:48,230 --> 08:34:50,950 They are hacking a satellite. 580 08:34:57,840 --> 08:35:03,880 Welcome to the Saturday Daily Recap of Space Security Challenge 2020, or HackASAT. 581 08:35:03,880 --> 08:35:13,520 For the second to last time, I'm your host, Jordan Wines, and it's time to fill you in on how our competitors did on day two of this first-of-its-kind satellite hacking competition. 582 08:35:13,600 --> 08:35:16,980 Okay, let's get right to the moment everyone's been waiting for. 583 08:35:17,040 --> 08:35:21,800 Here is our video to show which team was selected for the on-orbit challenge. 584 08:35:23,400 --> 08:35:25,900 Oh, I'm sorry. 585 08:35:26,180 --> 08:35:30,220 Actually, it appears that we're experiencing some technical difficulties. 586 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. 587 08:35:33,640 --> 08:35:36,200 And then we'll play the big reveal at the end instead. 588 08:35:36,380 --> 08:35:39,100 So let's take a look back at today's action. 589 08:35:45,790 --> 08:35:50,410 In fact, let's go ahead and take a look at the scoreboard now in our live octagon feed. 590 08:35:51,150 --> 08:35:53,310 And they definitely haven't slowed down. 591 08:35:53,310 --> 08:35:57,190 You'll notice that Solarwine actually scored first blood on challenge three. 592 08:35:57,250 --> 08:36:00,070 Congratulations to them for the great work overnight. 593 08:36:00,130 --> 08:36:06,550 You can also see Flux Repeat Rocket scoring just before this broadcast with only a 5% reduction in total points. 594 08:36:06,550 --> 08:36:11,310 That means Solarwine and Flux Repeat Rocket are both moving on to challenge four. 595 08:36:11,310 --> 08:36:15,510 While the score hasn't changed, we have had one important game milestone pass us by. 596 08:36:15,510 --> 08:36:17,930 We timed out unavailable points for challenge three. 597 08:36:17,930 --> 08:36:27,490 That means those two teams, Solarwine and Flux Repeat Rocket, they've obtained points for that challenge, and all other teams were given a solution script so they can focus on the next challenge. 598 08:36:32,800 --> 08:36:37,420 If you've been following along at home, you know that we sprung our on-orbit challenge on our teams yesterday. 599 08:36:37,420 --> 08:36:40,260 We had four teams submit their solutions by 4 p.m. 600 08:36:40,260 --> 08:36:48,760 Pacific, our deadline for evaluation for on-orbit, but only one was selected to have their code sent to the live satellite to capture a moonshot. 601 08:36:48,780 --> 08:36:52,040 We will learn who that lucky team is later on in the broadcast. 602 08:36:52,980 --> 08:36:59,580 While today's action started strong with several early scores, teams really struggled their way through challenge four today. 603 08:36:59,580 --> 08:37:04,900 While the organizers knew it would be the hardest challenge, the hope was that it would be solved before this point. 604 08:37:04,900 --> 08:37:14,480 In fact, in the last hour of the competitions, some team had run so low on power that the organizers offered to take the flatsats offline so they could plug them into power. 605 08:37:14,480 --> 08:37:23,580 This would mean teams would have challenges in solving challenge five, but hopefully it would give them enough power and time to solve challenge four in the last few minutes. 606 08:37:23,780 --> 08:37:28,920 Given that, here is our explanation for the challenge four solution. 607 08:37:30,020 --> 08:37:31,560 Challenge four. 608 08:37:32,280 --> 08:37:33,800 Here's what we know. 609 08:37:33,800 --> 08:37:38,000 We've restored communication with the payload module, but we still can't operate it. 610 08:37:38,000 --> 08:37:39,060 The challenge? 611 08:37:39,140 --> 08:37:43,860 Now teams must restore normal operations of the payload module so we can access the imager. 612 08:37:44,140 --> 08:37:45,700 Here's how they do it. 613 08:37:45,700 --> 08:37:51,900 Teams discover that the payload module bootloader has been corrupted, which is why the payload module is not operating normally. 614 08:37:51,900 --> 08:38:03,240 The teams discover a system console to the payload module and the ability to access the module system console by controlling an undocumented GPIO and multiplexer on the CNDH board. 615 08:38:03,240 --> 08:38:10,400 The teams must write a custom flight software application that can control the GPIO and enable access to the payload system console. 616 08:38:10,400 --> 08:38:15,320 After writing the application, the teams must upload it to the CNDH and execute it. 617 08:38:15,320 --> 08:38:20,280 Once the teams have access to the system console, they will identify that it has been corrupted. 618 08:38:20,500 --> 08:38:28,500 The teams will need to research nominal kubos bootloader configuration and repair the payload module's bootloader to resume proper operation of the payload module. 619 08:38:33,940 --> 08:38:39,080 As I mentioned during a previous update, there was always a chance that the scoreboard was going to go dark. 620 08:38:39,080 --> 08:38:47,660 And sure enough, with 30 minutes left in the competition , as teams were hopefully nearing it on a challenge 4 solution, the organizers decided to keep us all in suspense. 621 08:38:47,740 --> 08:38:52,000 Here's a look at our final scoreboard that everyone saw before it went dark. 622 08:38:53,520 --> 08:38:59,220 As we can tell, we had a couple of solves later on, but early was where most of the action happened. 623 08:38:59,220 --> 08:39:06,400 However, with our accepted and rejected on orbit status, we knew that there was two teams who would not be eligible for final prizes. 624 08:39:06,480 --> 08:39:11,320 We will make the final actual scores available tomorrow during the closing ceremony. 625 08:39:11,360 --> 08:39:20,440 Before you make your predictions on our podium winners, let's take a look at the final challenge 5 to see what it was teams would have had to solve after they finished challenge 4. 626 08:39:21,920 --> 08:39:23,320 Challenge 5. 627 08:39:24,040 --> 08:39:25,440 Here's what we know. 628 08:39:25,440 --> 08:39:29,360 We've done our best work, and it seems that we've regained control of the satellite. 629 08:39:29,460 --> 08:39:31,280 But how do we know for sure? 630 08:39:31,580 --> 08:39:32,840 The challenge? 631 08:39:32,880 --> 08:39:38,280 Teams must prove that we are fully in control of the satellite system by successfully imaging the moon. 632 08:39:48,150 --> 08:39:52,550 I thought I could have solved some of these challenges, and the answer was almost certainly not. 633 08:39:52,550 --> 08:39:56,470 I've got a lot of respect for the teams out there who made progress at all through this event. 634 08:39:56,470 --> 08:40:03,310 With a very difficult environment, very different to what many other CTFs have to do, there's a lot of extra constraints you have to worry about. 635 08:40:03,370 --> 08:40:10,730 For more information on that, let's do one last Q&A session with Jason Latimer to talk about how teams were approaching challenge 4. 636 08:40:10,830 --> 08:40:11,950 Let's see if we can get him in here. 637 08:40:11,950 --> 08:40:13,610 Jason, do you hear me? 638 08:40:14,290 --> 08:40:15,250 Yeah, I got you. 639 08:40:15,250 --> 08:40:15,610 Excellent. 640 08:40:15,610 --> 08:40:16,650 I hear you as well. 641 08:40:16,710 --> 08:40:17,370 Great. 642 08:40:17,370 --> 08:40:19,730 So, we're wrapped up. 643 08:40:19,730 --> 08:40:20,970 The game is over. 644 08:40:21,250 --> 08:40:29,350 I hopped into a couple of your calls, and I was listening to you guys describe some of the approaches teams were taking on challenge 4. 645 08:40:29,350 --> 08:40:31,370 I thought there's some really, really interesting things that came out. 646 08:40:31,370 --> 08:40:33,770 I'd love to hear a little bit more from your perspective. 647 08:40:34,290 --> 08:40:47,650 Yeah, so the background on challenge 4 was that, you know, the teams had gotten past the implant that the adversary had put on the satellite, and that they were trying to use the payload, and quickly found that the payload wasn't functional. 648 08:40:48,830 --> 08:40:56,310 So, what the adversary had done was corrupted the bootloader, and so they had to, you know, uncorrupt the bootloader. 649 08:40:56,310 --> 08:40:58,290 There were a number of approaches. 650 08:40:58,490 --> 08:41:00,210 Teams seemed to be struggling in the beginning. 651 08:41:00,210 --> 08:41:10,410 So, at one point, we gave a hint that said, hey, you need to write an application that's capable of communicating with the system console and enabling that system console via GPIO. 652 08:41:10,910 --> 08:41:15,690 Very quickly, teams started uploading their custom CFS applications. 653 08:41:15,790 --> 08:41:26,070 Some teams were just trying to enable the GPIO to control the system console based on other GPIOs that were already on the system, and they had done that successfully. 654 08:41:26,070 --> 08:41:34,170 And then we had some unique approaches where teams were trying to upload applications that could do like TFTP transfers to the device. 655 08:41:34,170 --> 08:41:41,030 So, we had a application that they're compiling. 656 08:41:41,030 --> 08:41:48,770 Was this like just a standard compiler they could use, or what sort of information about that environment did they have to have to build these custom applications? 657 08:41:49,290 --> 08:41:49,570 Yeah. 658 08:41:49,570 --> 08:41:56,430 So, it's actually a little bit more complicated than that, and we didn't want that to be the challenge behind the whole, you know, restoring the bootloader. 659 08:41:56,430 --> 08:42:02,910 So, we actually did provide to the teams ahead of time the RTEMs build environment they would need to build an application. 660 08:42:02,910 --> 08:42:13,530 And then we provided also a set of example applications that they could use as a template for creating this application that would restore the bootloader on the payload. 661 08:42:13,690 --> 08:42:18,490 There was still quite a bit of challenges there because there were specific peripherals that they'd have to be able to control. 662 08:42:18,490 --> 08:42:25,930 So, I'm talking to, you know, specific UART and GPIO drivers to do that. 663 08:42:25,930 --> 08:42:27,530 So, it was non-trivial. 664 08:42:27,810 --> 08:42:27,950 Yeah. 665 08:42:27,950 --> 08:42:29,450 What did your solution look like? 666 08:42:29,450 --> 08:42:33,810 I mean, it just sort of like did it rebuild it, or how did your intended solution work on that? 667 08:42:33,950 --> 08:42:34,290 Yeah. 668 08:42:34,290 --> 08:42:42,270 So, we had a custom application that ran in CFS that could talk to the Raspberry Pi system console over the UART. 669 08:42:42,270 --> 08:42:45,570 So, it was literally like talking to this, you know, system console. 670 08:42:45,570 --> 08:42:50,150 We would send a command and we could, you know, do an LS on the shell or whatever it was. 671 08:42:50,150 --> 08:42:56,430 And through that, we could restore the bootloader via just typical system console commands. 672 08:42:56,650 --> 08:43:01,470 But in order to actually enable that UART, we had a GPIO that was hidden. 673 08:43:01,730 --> 08:43:11,010 So, one of the challenges for challenge four was actually looking through the FPGA Verilog and VHDL code and finding that that actually existed. 674 08:43:11,010 --> 08:43:18,870 So, we had gotten some feedback during quals that, you know, teams were really interested in doing that kind of documentation reverse engineering. 675 08:43:18,870 --> 08:43:22,130 So, we went to a lot of effort to make sure that that existed. 676 08:43:22,130 --> 08:43:29,070 So, to even identify that that was there, they were doing code inspections of the VHDL and the Verilog for the FPGA. 677 08:43:29,130 --> 08:43:35,110 Now, I heard hints that, like, at least one team was doing something creative with, like, direct memory writes. 678 08:43:35,110 --> 08:43:36,950 What do we know about that? 679 08:43:38,130 --> 08:43:51,410 All we know about that, well, teams were doing uploads of applications, but it looked like some teams were using the direct memory writes to actually interact with that shell, the Raspberry Pi shell. 680 08:43:51,410 --> 08:43:53,630 So, a little different than our approach. 681 08:43:53,910 --> 08:43:55,970 But yeah, it was interesting. 682 08:43:55,990 --> 08:43:58,470 If it gets your code running, it gets it working, right? 683 08:43:58,470 --> 08:44:01,930 There's no points for the jankiness or the cleverness. 684 08:44:01,930 --> 08:44:03,670 It's just, does it solve the challenge, right? 685 08:44:03,670 --> 08:44:17,250 So, one of the things that I just mentioned to people, of course, was the power constraints and how many of the satellites were running low on power at the end from a lot of movement throughout the day and a lot of usage and the sort of option they had to get connected to a ground power. 686 08:44:17,590 --> 08:44:19,750 Tell me how that changed the sort of Challenge 5 requirements. 687 08:44:19,750 --> 08:44:28,550 And if a team was able to solve a Challenge 4 after the SCOVR went dark, would they have been able to do it from the ground or was that completely impossible or what happened there? 688 08:44:29,410 --> 08:44:29,670 Yeah. 689 08:44:29,670 --> 08:44:43,950 So, we talked with the organizers and based on the fact that we had these power constraints and that the teams that had elected to be put on the ground wouldn't be able to get a picture of the moon, we adjusted the criteria for Challenge 5 to just be get a picture. 690 08:44:44,030 --> 08:44:52,950 It was interesting to see what the different... it was interesting to see what the different teams were doing as far as power. 691 08:44:53,330 --> 08:44:57,690 Some teams had conserved their power throughout the day and other teams had not. 692 08:44:57,690 --> 08:45:04,050 So, we had some teams that were in the running to solve Challenge 4 that said, hey, we don't want to be put on the ground. 693 08:45:04,050 --> 08:45:05,210 We'll just stay on the carousel. 694 08:45:05,550 --> 08:45:07,430 We've been good with the batteries all day. 695 08:45:07,590 --> 08:45:14,310 And we actually mentioned that in an earlier update here that power was potentially a concern and it was nice that teams weren't entirely out of the running, right? 696 08:45:14,310 --> 08:45:24,630 There was sort of a backup mechanism, but it cost them time while their flat set was taken down, was rewired in, so that was sort of a penalty for exercising that option, although they weren't kind of out of the running entirely. 697 08:45:24,630 --> 08:45:26,310 That works out great. 698 08:45:26,450 --> 08:45:31,870 All right, well, thank you very much for taking time to talk to us and we'll continue on with the rest of our update. 699 08:45:32,370 --> 08:45:33,110 Thank you. 700 08:45:34,350 --> 08:45:38,630 All right, now the moment that you hopefully have actually been waiting for. 701 08:45:38,670 --> 08:45:43,390 We're going to answer the question as to which team had their code sent into space tonight. 702 08:45:44,330 --> 08:45:48,890 So, the video that we're going to look at here is the same one that I previewed earlier. 703 08:45:48,890 --> 08:45:53,230 So, we can see Poland Can is the very first team to get an acceptable payload. 704 08:45:53,230 --> 08:45:56,610 We knew that from watching the scoreboard and got reasonably close. 705 08:45:56,710 --> 08:46:02,470 Next coming in are going to be several other teams, ADD Vulcan number two, and then number three, Flux Repeat Rocket. 706 08:46:02,510 --> 08:46:07,490 So, we've got the three quickest ones and then we're going to have right here a Samurai come in. 707 08:46:07,490 --> 08:46:09,730 So, these were the four that came in before the timeline. 708 08:46:09,730 --> 08:46:12,510 So, if we stop right now, this is our launch cutoff, right? 709 08:46:12,510 --> 08:46:24,550 So, these were the teams that came in and if we look at closest to the bullseye, you can see that Poland Can did a space, just beat out Flux Repeat Rocket with the most accurate solution during our window. 710 08:46:24,550 --> 08:46:28,870 And this is the payload that's being run on an actual satellite right now. 711 08:46:28,870 --> 08:46:33,890 So, we're looking forward to getting the results back from that tonight as it runs. 712 08:46:33,890 --> 08:46:37,510 And then tomorrow during the live event, we're going to show you, hopefully, the moonshot. 713 08:46:37,510 --> 08:46:39,590 We'll find out how accurate it was. 714 08:46:39,590 --> 08:46:46,870 And of course, we're going to continue the run here because as I mentioned earlier, we know there was that sort of like sudden death for the last two slots, right? 715 08:46:46,870 --> 08:46:50,090 And we could see the teams that were two more slots that were available. 716 08:46:50,230 --> 08:46:51,630 And so, after that 7 p.m. 717 08:46:51,690 --> 08:46:54,690 cutoff, we had a quick 1550 tree that was able to make it in. 718 08:46:54,690 --> 08:46:57,850 But we also noticed that Poland Can really got in close. 719 08:46:57,850 --> 08:46:59,810 And so, they got a really, really nice solution. 720 08:46:59,810 --> 08:47:00,850 They kept iterating on it. 721 08:47:00,850 --> 08:47:01,750 There was no points for it. 722 08:47:01,750 --> 08:47:04,990 There was no extra... it was not considered for the on-orbit. 723 08:47:05,510 --> 08:47:14,610 But it was so good that the individuals we had evaluating all of the solutions, they had a lot of automation, but there was also, I guess, a little bit of an art to it. 724 08:47:14,610 --> 08:47:20,370 They were explaining that they thought that final Poland Can was so beautiful that it was like a piece of art. 725 08:47:20,370 --> 08:47:22,930 They loved that final solution. 726 08:47:23,030 --> 08:47:30,530 And then, of course, we had our last solve here coming in that's going to be from PFS, which we've already revealed. 727 08:47:30,530 --> 08:47:43,730 They were the last team to make it into the qualifying minimal acceptable range, which unfortunately left our two other teams, which were SolarWind and 1064 Seabred, not in the running for that. 728 08:47:43,910 --> 08:47:55,710 So, first of all, congrats to Team Poland Can Into Space for submitting not only the best solution overall throughout the whole evaluation period, but the solution that is going to space. 729 08:47:55,710 --> 08:47:57,670 Let's see their team bio again. 730 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. 731 08:48:36,160 --> 08:48:42,640 We expect the moonshot to happen in a couple of hours at 630 Pacific, and that picture will be sent down to Earth at about 1 a.m. 732 08:48:42,640 --> 08:48:43,240 Pacific. 733 08:48:43,240 --> 08:48:47,660 We will reveal what is hopefully a clear moonshot picture at tomorrow's closing ceremonies. 734 08:48:47,660 --> 08:48:50,300 It all depends on how accurate your command really was. 735 08:48:50,300 --> 08:48:51,320 Fingers crossed. 736 08:48:51,660 --> 08:49:01,660 You'd think that just watching instead of playing would be less stressful, and I'm sure it was worse for our competitors, but even in the production room, we were cheering and sweating along with our teams as they worked their way through these challenges. 737 08:49:01,860 --> 08:49:04,620 Thanks very much for joining us throughout this event. 738 08:49:05,240 --> 08:49:06,860 That's it for today's recap. 739 08:49:06,860 --> 08:49:16,560 Make sure you tune in to Hackensack Closing Ceremonies tomorrow at 11 Pacific, where we will hopefully reveal the world's first CTF moonshot taken by Poland Canada Space. 740 08:49:16,560 --> 08:49:23,440 We'll also show you the overall contest results and award the prizes to our teams and reveal what happened after the scoreboard went dark. 741 08:49:23,440 --> 08:49:25,240 We'll also hear closing remarks by Dr. 742 08:49:25,240 --> 08:49:26,220 Will Roper from the U.S. 743 08:49:26,220 --> 08:49:28,740 Space Force and Air Force Acquisition Chief. 744 08:49:28,780 --> 08:49:33,600 Be sure to also check out all the great happenings going on at DEFCON and in the Aerospace Village. 745 08:49:33,600 --> 08:49:36,620 See you tomorrow at 11 Pacific for the Closing Ceremonies.