1 00:00:14,860 --> 00:00:16,860 Good afternoon, everybody. 2 00:00:17,000 --> 00:00:23,180 In case you haven't been following this weekend, we executed the world's first CTF in space. 3 00:00:31,940 --> 00:00:34,500 So here's what's going to go on today. 4 00:00:34,500 --> 00:00:41,540 We're obviously going to go over the award ceremony and who won by our resident CTF expert, Jordan Wines. 5 00:00:41,640 --> 00:00:46,280 I'm Captain Kevin Berner, again, from the Space Systems Command in the U.S. 6 00:00:46,280 --> 00:00:46,920 Space Force. 7 00:00:46,920 --> 00:00:47,960 Sorry about that. 8 00:00:48,480 --> 00:01:02,560 I think everyone probably heard about it, but late last night while we were still here, the organizers, we were still collecting data from the satellite to see how well the teams were scoring, but there was something suspicious in the hallway and we were still here, 9 00:01:02,560 --> 00:01:06,500 so they had to evacuate all of Caesar's Forum out of an abundance of caution. 10 00:01:06,620 --> 00:01:12,840 But we couldn't necessarily pause Moonlighter, just have it stop going, so we still had to connect. 11 00:01:12,840 --> 00:01:15,460 That's us in an emergency exit stairwell. 12 00:01:20,160 --> 00:01:30,440 The show must go on, so massive props to the game organizers there for continuing to execute it. 13 00:01:31,120 --> 00:01:37,120 We had to use our Wi-Fi pucks and hotspots to make sure we were still connected to the satellite itself. 14 00:01:37,300 --> 00:01:41,620 We just wanted to make sure the integrity of the game was still intact, so that's why. 15 00:01:41,620 --> 00:01:46,240 Here's another shot of us right outside the forum before we had to get ushered away. 16 00:01:47,460 --> 00:01:48,400 Thank you. 17 00:01:50,140 --> 00:01:52,160 We knew we would be out there for a while, though. 18 00:01:52,160 --> 00:02:08,260 Again, the satellite never stops going and we wanted to get all the data, so one of the teammates invited us to just go and continue uploading into his actual room itself, so we were there until the wee hours of the morning, but we are in a very good spot and we're very, 19 00:02:08,260 --> 00:02:11,960 very excited to tell you the results of the competition here. 20 00:02:12,340 --> 00:02:18,860 Unlike some of the other contests, though, we wanted to just front-load the awards, so not make you, you know, sit through everything. 21 00:02:18,860 --> 00:02:24,740 We have a lot of great content, though, to go through, but just to cut to it, I'm going to invite Jordan up on stage. 22 00:02:24,740 --> 00:02:25,320 Thanks. 23 00:02:27,360 --> 00:02:28,400 Thanks, Kevin. 24 00:02:33,500 --> 00:02:43,600 I sat through a lot of DEF CON CTF finals waiting to find out who won, so I was excited when they said they were going to do it first, because I know how stressful that can be, so we're going to get right into it. 25 00:02:43,600 --> 00:02:48,580 We're going to announce the winners, except first we have to explain something. 26 00:02:50,800 --> 00:02:57,560 We almost had an unfortunate situation where we couldn't differentiate, but we did. 27 00:02:57,560 --> 00:03:13,500 If teams remember, there was an update the first day, actually, so I guess it was two days ago or yesterday, where we clarified and said, just so you know, tiebreaker mode is where we can differentiate between final scores that are the same based on rounds. 28 00:03:13,720 --> 00:03:18,400 So within the same round, if two teams scored, it counts the same, no matter when their windows were, right? 29 00:03:18,400 --> 00:03:19,840 No matter where in the window they were. 30 00:03:19,840 --> 00:03:29,940 So we weren't going to differentiate between somebody who got an earlier time slot in a particular window, but for a previous round, if you were the first to get to that score, that's how we broke the ties, right? 31 00:03:29,940 --> 00:03:38,100 This is traditionally how it's done in most CTFs as well, so I think people weren't surprised, but it's a good thing that we clarified that because we did indeed need that. 32 00:03:38,420 --> 00:03:54,620 So we've got our second and third place were points-wise scored with fourth place, but because they were earlier to it, first to it, we're able to reveal that the third place team, round of applause for JumpFS RCX. 33 00:04:07,060 --> 00:04:08,600 We're gonna bring all you guys up. 34 00:04:08,600 --> 00:04:10,040 All right, so I thought we were just doing the first place. 35 00:04:10,040 --> 00:04:12,660 We're bringing every... so come on up stage or come up up front. 36 00:04:12,700 --> 00:04:15,900 We're gonna actually challenge going all of the the winners. 37 00:04:15,900 --> 00:04:19,100 So if the third place team, JumpFS, come on up in front. 38 00:04:19,320 --> 00:04:23,960 You're gonna have... you're gonna come and get your letters and all sorts of good stuff. 39 00:04:23,960 --> 00:04:26,000 Sorry, I thought we were... yeah, yeah. 40 00:04:27,120 --> 00:04:31,160 So you'll get more stuff later, but coming up real quick, we'll get the whole team up. 41 00:04:34,040 --> 00:04:36,600 This is a lot more than the eight we saw on the table, right? 42 00:04:36,600 --> 00:04:38,180 I expect this with a lot of the teams. 43 00:04:39,960 --> 00:04:44,420 So one last... one other round of applause for JumpFS RCX, everybody. 44 00:04:53,540 --> 00:04:54,160 Congratulations. 45 00:04:54,160 --> 00:04:55,140 Thanks, everybody. 46 00:04:55,140 --> 00:04:58,140 All right, and now in second place, go ahead and head back to your seats. 47 00:04:58,140 --> 00:05:00,580 It's a too small a stage to bring everybody up. 48 00:05:02,760 --> 00:05:09,360 In second place... and somebody remind me, I forget the prize amounts for third, second, and first. 49 00:05:09,500 --> 00:05:10,820 I should have remembered. 50 00:05:11,740 --> 00:05:20,500 So it's $20,000 prize for third place, $30,000 prize for second place, and a $50,000 prize for first place. 51 00:05:21,300 --> 00:05:26,600 And in second place, Poland Candidate Into Space. 52 00:05:46,140 --> 00:05:47,580 There's more stuff coming afterwards. 53 00:05:47,580 --> 00:05:52,260 I'm not going to hand everything out, but we've got some coins and some letters and much other stuff for all the teams. 54 00:05:53,920 --> 00:05:55,280 You all worked very hard. 55 00:05:55,280 --> 00:05:57,780 You deserve the recognition. 56 00:06:17,150 --> 00:06:18,290 All right, thanks, everybody. 57 00:06:19,710 --> 00:06:32,490 All right, go ahead, take your seats, and we'll bring up the winners of HackASAT 4, the first place scores for the first Capture the Flag in space. 58 00:06:32,490 --> 00:06:34,010 I'm going to wait until the hallways are cleared. 59 00:06:34,110 --> 00:06:35,890 We don't want to cause a fire hazard here. 60 00:06:42,470 --> 00:06:45,270 Congratulations to Team Macaroni. 61 00:06:54,180 --> 00:06:56,360 This is HackATheHack, the king of the hill. 62 00:06:56,540 --> 00:06:58,080 HackASAT 4, the hack for the thrill. 63 00:06:58,080 --> 00:06:59,860 Forget about breathing, let's get to the meal. 64 00:06:59,860 --> 00:07:01,740 I'm about to serve you beef, tougher than that. 65 00:07:01,920 --> 00:07:03,500 HavocHack is really bad as well. 66 00:07:03,500 --> 00:07:04,920 All you hackers, bring your baggage. 67 00:07:05,120 --> 00:07:07,140 Let me take you on a ride in my rocket ship. 68 00:07:07,140 --> 00:07:08,960 This is the future in Apollo 11. 69 00:07:09,180 --> 00:07:10,220 Welcome to space. 70 00:07:10,220 --> 00:07:11,960 Better strap in if you want to keep pace. 71 00:07:11,960 --> 00:07:13,580 Better come prepared if you want to save face. 72 00:07:13,580 --> 00:07:15,500 Boy, need I remind you this ain't a safe place. 73 00:07:15,500 --> 00:07:17,380 This is a race, this is a grind. 74 00:07:17,380 --> 00:07:19,080 Infinite space, but not infinite time. 75 00:07:19,080 --> 00:07:20,940 It's the same face, but it's different inside. 76 00:07:20,940 --> 00:07:22,960 HackASAT 4, can you hack at it now? 77 00:07:23,020 --> 00:07:24,480 That's it, calibrated. 78 00:07:24,600 --> 00:07:26,520 HackASAT, underrated, flatline. 79 00:07:26,520 --> 00:07:27,760 All you haters, game time. 80 00:07:27,760 --> 00:07:29,740 Is it 81 00:07:36,000 --> 00:07:36,840 time for a be real? 82 00:07:36,840 --> 00:07:38,320 Did you catch that in time? 83 00:07:42,830 --> 00:07:45,670 So congratulations to all of the participants. 84 00:07:45,670 --> 00:07:47,050 Everybody worked really hard. 85 00:07:47,050 --> 00:07:50,990 Congratulations to those that scored in the finals. 86 00:07:51,330 --> 00:07:54,090 Making it here at all really is impressive. 87 00:07:54,230 --> 00:08:02,090 Let's go ahead and look now a little bit more about how they got here, how the teams did it, the scores that kind of got them into this position. 88 00:08:02,090 --> 00:08:09,930 So again, as Kevin said, I'm Jordan, the BinaryNinjaGuy, or CTF sideline reporter, as has been the case. 89 00:08:09,930 --> 00:08:14,310 So this is the breakdown of the rounds that we saw scores on. 90 00:08:14,890 --> 00:08:20,450 So you can see who scored when, and again, this is where you can see how that tie breaker worked out. 91 00:08:23,670 --> 00:08:27,250 I can tell people really want to look at this, especially the teams who have not seen this data. 92 00:08:27,250 --> 00:08:29,210 So I'll give them a second to catch up on this. 93 00:08:38,500 --> 00:08:40,300 This will be on the website later too. 94 00:08:40,300 --> 00:08:41,420 So you'll have all this later. 95 00:08:41,420 --> 00:08:43,020 You don't have to catch it all quite now. 96 00:08:47,060 --> 00:08:50,620 So you may see some that you're surprised you did or didn't see. 97 00:08:50,620 --> 00:08:52,680 So let's go ahead and talk about these challenges. 98 00:08:52,680 --> 00:09:05,080 If you've been here with us throughout some of our other broadcasts, you saw we've already covered a password manager and Flay software freebies, because all of the teams had solved that by the time we presented on the second day yesterday. 99 00:09:05,080 --> 00:09:06,860 Those are the two ground station challenges. 100 00:09:06,860 --> 00:09:08,980 We talked a little bit about those in detail. 101 00:09:09,680 --> 00:09:13,320 ScriptKitty was just the ability to execute scripts. 102 00:09:13,620 --> 00:09:15,940 And you can actually see that all the teams have their colors, right? 103 00:09:15,940 --> 00:09:17,540 So you can see what team scored wins. 104 00:09:17,540 --> 00:09:24,480 So if you see five blocks of color in one of the rows, that means every team has solved that particular challenge. 105 00:09:24,560 --> 00:09:33,680 The ones that started to differentiate, where we started to get the final placements, came in SilverMetal, IronBank, and Christmas in August. 106 00:09:33,680 --> 00:09:40,560 And SilverMetal, we had discussed previously, SilverMetal is the ability to take a photo . 107 00:09:40,620 --> 00:09:43,800 And taking a photo could have been sort of a couple of different flavors. 108 00:09:43,800 --> 00:09:48,280 One of the photos is just take any photo and download it essentially from the imager on the satellite. 109 00:09:48,280 --> 00:09:55,100 And so if the teams were able to take any photo, even while they weren't pointing or aiming, they were able to get points in that particular challenge. 110 00:09:55,840 --> 00:09:58,520 IronBank is a cryptography challenge. 111 00:09:58,520 --> 00:10:02,140 Essentially there is a secure element we'll talk a little bit more about later. 112 00:10:02,260 --> 00:10:08,380 And Christmas in August is the challenge where they had to actually spoof the GPS, right? 113 00:10:08,380 --> 00:10:11,460 They had to be able to get the satellite to be in a different location. 114 00:10:12,200 --> 00:10:14,580 So here's what those scores look like when you map them out. 115 00:10:14,580 --> 00:10:21,080 Again, you can see Macaroni's fantastic jump to the lead overnight, just this last night. 116 00:10:21,080 --> 00:10:27,340 And again, as the data came in, when the team was out there on the steps, they're downloading all the results that let these scores get kind of calculated, right? 117 00:10:27,340 --> 00:10:30,960 So this is what happens as we were to pull in all the data. 118 00:10:30,960 --> 00:10:33,160 You can see everything that they're doing. 119 00:10:33,680 --> 00:10:38,380 And you can see they had a really, really good surge there with several solves. 120 00:10:40,880 --> 00:10:42,880 So here's what the contact windows look like. 121 00:10:42,880 --> 00:10:59,620 Again, due to physics and the fact that we don't control things absolutely, and there's a lot of noise in the system, and there's a lot of things that you just kind of have to play the hand you're dealt, we didn't know exactly what these contact windows were going to look like for the ground stations that we had for this event until this past week. 122 00:10:59,620 --> 00:11:04,240 And so you can see the first day we had a lot of contact windows, but then the second day we had very, very few. 123 00:11:04,240 --> 00:11:15,900 In fact, two of these windows on the second day, right there in the middle and at the end, they were so busy uploading things, very little data could even be downloaded because the communication links were just so busy. 124 00:11:15,900 --> 00:11:22,240 We wanted to give teams as many attempts as possible and to get as many of their windows run, and so it was just all uploads, right? 125 00:11:22,240 --> 00:11:24,340 And so you have to kind of balance that data. 126 00:11:26,980 --> 00:11:28,360 I'll bring the mic in a little bit closer. 127 00:11:28,360 --> 00:11:29,080 Is that loud enough? 128 00:11:29,080 --> 00:11:31,040 It's so loud to me up here, I feel like when I do this. 129 00:11:31,040 --> 00:11:32,300 You guys can hear me okay in the back? 130 00:11:32,500 --> 00:11:34,180 All right, we'll do it closer then. 131 00:11:35,180 --> 00:11:36,860 Yell at me if I get quiet again. 132 00:11:37,860 --> 00:11:48,480 All right, so let's go ahead and we're going to bring up the Cromulence Challenge team because they're the ones that built all of these challenges, and we're going to deep dive into some of like how they work, how the solutions are. 133 00:11:48,680 --> 00:11:54,980 The teams I know are probably get excited to like ask them questions too, so come on up Cromulence if you guys want to join me on stage. 134 00:11:54,980 --> 00:11:59,980 I'm going to go ahead and play some of the videos while they're kind of coming up and get getting situated here. 135 00:12:00,920 --> 00:12:03,320 We'll get them on stage. 136 00:12:03,340 --> 00:12:09,300 The first thing we're going to watch is the official kind of like we've prerecorded some videos with explainers for some of these challenges. 137 00:12:09,420 --> 00:12:12,160 And so let's take a look at the Iron Bank Challenge. 138 00:12:13,400 --> 00:12:14,700 Here, if I can play it right. 139 00:12:14,700 --> 00:12:17,680 17,500 miles an hour. 140 00:12:17,920 --> 00:12:19,780 Five miles per second. 141 00:12:23,260 --> 00:12:24,020 Challenge. 142 00:12:24,020 --> 00:12:28,000 Players get access to a binary for a script security service called Iron Bank. 143 00:12:28,000 --> 00:12:33,460 This service also contains a flag and if players can hack the service then they can trigger a download of the flag. 144 00:12:40,130 --> 00:12:41,310 That was the short version. 145 00:12:41,310 --> 00:12:43,190 Yeah, there's a little more details in the other one. 146 00:12:43,190 --> 00:12:43,950 That's okay. 147 00:12:44,210 --> 00:12:51,130 Thankfully, though, we have the author and some of the those that like wrote solution scripts and play tested this challenge that we can ask them a little bit more about it. 148 00:12:52,250 --> 00:12:54,830 So I think Mike, this was this was your challenge, correct? 149 00:12:55,070 --> 00:12:55,230 Yeah. 150 00:12:55,230 --> 00:12:59,970 Why don't you describe kind of the the goal of this challenge and leave it on. 151 00:12:59,970 --> 00:13:00,410 It's fine. 152 00:13:00,410 --> 00:13:00,670 You're good. 153 00:13:00,670 --> 00:13:01,150 You're good. 154 00:13:01,150 --> 00:13:01,810 They'll all meet you. 155 00:13:01,810 --> 00:13:02,150 Yep. 156 00:13:02,150 --> 00:13:05,990 Just let us know like what the service was, what the teams kind of like we're told about it. 157 00:13:05,990 --> 00:13:06,330 All right. 158 00:13:06,330 --> 00:13:06,590 Yeah. 159 00:13:06,590 --> 00:13:09,810 So on the satellite, there was a service called Iron Bank. 160 00:13:09,810 --> 00:13:19,510 And we actually use this service to move the team scripts from a quote unquote safe area to an area where we ran it in isolation. 161 00:13:19,730 --> 00:13:30,930 And this script required you to do a challenge and MD5 authorization scheme so that it couldn't be, you know, used by unauthorized people like the player. 162 00:13:30,930 --> 00:13:34,930 However, we expose the UDP port through RE to the players. 163 00:13:34,930 --> 00:13:39,050 And the players would have also noticed there was a very obvious timing bug. 164 00:13:39,050 --> 00:13:41,370 We considered making the timing bug harder. 165 00:13:41,370 --> 00:13:43,550 But then we were like, this is in space. 166 00:13:43,550 --> 00:13:44,810 It's hard enough already. 167 00:13:45,390 --> 00:13:47,530 We'll just make it really easy to see. 168 00:13:47,910 --> 00:13:58,690 So if you could conduct a timing attack from your scripts against Iron Bank, you could actually crack the MD5 that you needed to authorize without actually knowing the secret key. 169 00:13:58,690 --> 00:14:00,910 And that would allow you to download the flag. 170 00:14:01,450 --> 00:14:07,070 And if the game had been a little bit longer, we actually would have also seen it gave you the ability to steal other people's scripts. 171 00:14:07,430 --> 00:14:10,830 But over two days, we just weren't able to get to the point where teams were doing that. 172 00:14:10,830 --> 00:14:15,630 But after you got the flag, you would have been able to grab somebody else's script and set it up for download. 173 00:14:15,630 --> 00:14:17,630 I didn't even know about the stealing a script one. 174 00:14:17,630 --> 00:14:18,650 That's one I actually hadn't heard. 175 00:14:18,750 --> 00:14:19,370 That's cool. 176 00:14:19,370 --> 00:14:21,810 So again, like you could do like this kind of a challenge. 177 00:14:21,810 --> 00:14:25,510 There was like a verification step that has like a secret key. 178 00:14:25,510 --> 00:14:26,990 You don't have the secret key. 179 00:14:27,250 --> 00:14:35,090 But if you could extract it somehow, and again, if you remember that scoreboard, this is the one that really propelled Macaroni into the lead, because they were the only team that successfully solved this. 180 00:14:35,090 --> 00:14:38,510 And I think we saw them kind of working on this even on the first day, right? 181 00:14:38,510 --> 00:14:40,490 This is something that they were attempting very early. 182 00:14:40,490 --> 00:14:43,250 So we weren't sort of surprised that they were the ones to do it. 183 00:14:43,250 --> 00:14:47,850 Jason, like when you kind of saw them, like what was that look like watching them, you know, attempt this? 184 00:14:48,130 --> 00:14:51,890 Yeah, so every team, eventually, I think most teams figured out the bug. 185 00:14:51,890 --> 00:15:00,410 It was a fairly obvious bug, basically, when you were essentially a naive check function, where it was not a constant time function. 186 00:15:00,410 --> 00:15:03,610 So every time you checked a single byte, it would exit early. 187 00:15:03,810 --> 00:15:09,850 And by doing that, you could guess one byte at a time, which allowed you to pass that authentication check. 188 00:15:09,970 --> 00:15:22,310 And initially, teams tried a first round, where they didn't do a trial, they didn't do any statistical collection of that data, which they wouldn't be able to successfully do it because the timing data isn't perfect, right? 189 00:15:22,310 --> 00:15:26,170 There's some statistical noise, there's noise with interrupts and things like that on the satellite. 190 00:15:26,170 --> 00:15:29,750 And then we noticed teams figure that out, and they started refining that. 191 00:15:29,750 --> 00:15:35,250 And, you know, macaroni was the one that was able to build the best solver for that. 192 00:15:35,250 --> 00:15:40,190 And they were able to get that pull that off right, right at the end, basically, I think that was within the last contact window. 193 00:15:40,490 --> 00:15:42,110 And you had actually tested this internally. 194 00:15:42,110 --> 00:15:51,690 So you were like, you know, when you as a CTF, like, you know, creator, you always have other people on your team who are solving your challenges to make sure you're solving, just the author can't be the only one that actually solves it. 195 00:15:51,690 --> 00:15:55,070 And so you we actually have a recording of your, your solution script. 196 00:15:55,070 --> 00:15:56,410 So we can see it kind of running. 197 00:15:56,990 --> 00:16:00,630 We did sort of slow it down just so you could see it on the video. 198 00:16:01,450 --> 00:16:03,850 You had like a sleep, a little bit of sleep just so we could see it. 199 00:16:03,850 --> 00:16:04,950 But again, it's very visual. 200 00:16:04,950 --> 00:16:06,370 I love these kinds of challenges. 201 00:16:06,830 --> 00:16:09,050 These are like real world challenges, right? 202 00:16:09,050 --> 00:16:17,390 Like the fact that you can actually have timing attacks on a verification that is if it's not a constant time, you know, comparison. 203 00:16:17,390 --> 00:16:21,550 In other words, if I have like a secret, and I can, you can ask me, is it this? 204 00:16:21,550 --> 00:16:21,950 Is it this? 205 00:16:21,950 --> 00:16:22,510 Is it this? 206 00:16:22,550 --> 00:16:25,850 And it takes you longer because you check each byte at a time. 207 00:16:25,850 --> 00:16:27,430 That's essentially what's happening here, right? 208 00:16:27,430 --> 00:16:28,790 And so you can actually see it. 209 00:16:28,790 --> 00:16:30,810 It's just trying every possible byte here. 210 00:16:30,810 --> 00:16:31,810 It's just like the movies. 211 00:16:31,810 --> 00:16:35,750 It's literally like in the movies when you watch password cracking in the movies, how that clicks through it. 212 00:16:35,810 --> 00:16:38,090 But that's really how this kind of a challenge works. 213 00:16:38,310 --> 00:16:45,550 So Jason, how long did your, like, if we, if we take out the sleep, so we took out the prints and the debug, like, how long was your solution on your laptop able to run? 214 00:16:46,010 --> 00:16:49,970 Yeah, I mean, on the laptop on NX86, it can run fairly quickly. 215 00:16:50,050 --> 00:16:52,930 But on the satellite, it takes about two to three minutes, possibly. 216 00:16:53,170 --> 00:16:58,290 This solver actually, it'll guess and then it'll detect if it made a bad guess, and it'll go back. 217 00:16:58,290 --> 00:17:02,830 So when you actually look at the video, you can see the solver go back a byte and re-guess. 218 00:17:02,830 --> 00:17:07,750 And it does that because once it made a bad guess, there's no timing variances for the future guesses. 219 00:17:07,750 --> 00:17:10,150 And I didn't see any of the teams implement that algorithm. 220 00:17:10,330 --> 00:17:11,170 You should have. 221 00:17:12,510 --> 00:17:15,910 But it allows you're basically more robust implementation. 222 00:17:15,910 --> 00:17:20,990 So tell me a little bit about the timing, because I know there was some some conversation where teams had very, very few attempts. 223 00:17:20,990 --> 00:17:23,850 Again, those windows were super limited right in the whole event. 224 00:17:23,850 --> 00:17:27,810 And this is just an incredible, it's hard, not only for the teams, but also even the organizers. 225 00:17:27,810 --> 00:17:33,650 But because they had such few attempts, like, you know, you only get a certain amount of like signal and noise. 226 00:17:33,650 --> 00:17:34,910 And so how did you kind of deal with that when you're... 227 00:17:34,910 --> 00:17:42,570 Yeah, so that's, that's the basically algorithm detecting that you can see it, it'll step back, I think, you know, makes a bad get right there. 228 00:17:42,570 --> 00:17:44,390 And then it then it retries. 229 00:17:44,550 --> 00:17:52,470 And so that's how you could deal with that in this environment, we had very limited number of contacts, you didn't know what was going on, you can add a little bit of resiliency in that. 230 00:17:52,470 --> 00:17:55,910 And the teams, you know, I think they did that by increasing their trial count. 231 00:17:55,910 --> 00:18:00,290 So making a statistically higher number of tries and just trying over and over and over. 232 00:18:00,670 --> 00:18:06,590 Even in the challenge design, the first version of it, I think had less of a signal in the timing, right? 233 00:18:06,590 --> 00:18:16,810 So you even had to, as you're playtesting, you tried it, and you're like, you know, there's not enough signal here, they would have to run 1000s or millions, it still would be doable if they had much more time to figure it out, right? 234 00:18:16,810 --> 00:18:20,610 Yeah, especially because they had very limited feedback from the satellite itself. 235 00:18:20,610 --> 00:18:20,990 Yeah. 236 00:18:21,250 --> 00:18:21,550 Yeah. 237 00:18:21,550 --> 00:18:27,330 So because every one of these attempts that they got, they were throwing up there, you know, it takes a while, you got a delay, and you get your results. 238 00:18:27,330 --> 00:18:31,330 And it's the time delay, as well as the like, you know, there's less windows left. 239 00:18:31,410 --> 00:18:33,230 We knew this would be one of the harder challenges. 240 00:18:33,230 --> 00:18:34,730 And it was very hard for us to tune. 241 00:18:34,730 --> 00:18:38,830 But, you know, everybody, I think, you know, did a really good job on this one. 242 00:18:39,070 --> 00:18:39,330 Yeah. 243 00:18:39,330 --> 00:18:43,030 So again, congrats to Macaroni for solving that one. 244 00:18:43,070 --> 00:18:48,710 The other challenge that we hadn't seen worked on yet was called Christmas in August. 245 00:18:48,970 --> 00:18:51,710 And who came up with the name for this one, by the way? 246 00:18:53,230 --> 00:18:56,250 So a lot of the naming for Christmas in August comes from me. 247 00:18:56,250 --> 00:18:57,970 But this was a team effort challenge. 248 00:18:57,970 --> 00:19:02,910 And this kind of fell out really quickly as a way to hint at some of the other challenges in play. 249 00:19:02,910 --> 00:19:05,310 So yeah, tell me about like, hold on, we do have the video. 250 00:19:05,310 --> 00:19:07,230 Let's see if we got the short video, the long video. 251 00:19:10,790 --> 00:19:11,510 Challenge. 252 00:19:16,590 --> 00:19:20,570 Moonlighter is in a known orbit with an inclination of 51.6 degrees. 253 00:19:20,570 --> 00:19:25,250 That means its latitude will always be between plus or minus 51.6 degrees. 254 00:19:25,250 --> 00:19:28,870 If they are able to get Moonlighter above 80 degrees, they will get a flag. 255 00:19:31,590 --> 00:19:34,830 And there was some mention of cookies at some point, I think, too. 256 00:19:34,830 --> 00:19:35,870 What was that about? 257 00:19:35,870 --> 00:19:39,910 So the cookies thing is mostly because that's what I, you know, pair with Santa Claus. 258 00:19:39,910 --> 00:19:48,590 So the goal of this challenge is to make the satellite think it is, you know, beyond its regular orbit, you know, at 80 degrees north latitude, very close to the North Pole. 259 00:19:48,610 --> 00:19:52,530 The problem is the satellite doesn't really have propulsion on board. 260 00:19:52,530 --> 00:19:57,550 Like you can't, you know, do a battery trick and like vent it and set it off in some weird direction. 261 00:19:57,670 --> 00:20:09,330 So what instead you have to do is like yell at me if I'm completely misstating this, but the solve is basically you lie to the GPS module about the calibration, something like that? 262 00:20:09,450 --> 00:20:10,630 Let's hear from the space guy. 263 00:20:10,630 --> 00:20:11,430 That's not it. 264 00:20:11,430 --> 00:20:27,510 So from the scripting engine, and everybody saw this, so the teams all know, we allowed them to send a partial bit of a message to the GPS receiver, and we appended the start and end of that message, and that allowed you to do a script injection to the GPS receiver. 265 00:20:27,750 --> 00:20:35,970 So, you know, instead of, and then we didn't really validate that that was only one command or even really a valid command, so we just kind of let you do almost whatever you wanted. 266 00:20:36,790 --> 00:20:46,010 Now, the GPS user manual has like, I don't know, 200 commands or something really painful in it, but if you look in there, there's a couple commands. 267 00:20:46,070 --> 00:20:51,830 One was called user datum, and that let you apply an arbitrary coordinate frame rotation. 268 00:20:52,070 --> 00:20:58,430 So basically you could just rotate your coordinate frame of your solution, which would let you go wherever you want, basically. 269 00:20:58,490 --> 00:21:04,130 But you all actually found one that I didn't see, because I just found the first one that could possibly solve it. 270 00:21:04,130 --> 00:21:08,310 There was one called fix that just let you put any arbitrary position in. 271 00:21:08,950 --> 00:21:20,830 So that's what, that's pretty much what you all came to and did, right, is you all said, okay, fix will work, and we'll just go to 89 degrees immediately, and as long as you waited for the GPS receiver to reboot, you could do that. 272 00:21:21,350 --> 00:21:28,610 And then similarly on the back side, we didn't, even if you did that, you might start seeing errors, like, oh, this solution is weird, we don't understand. 273 00:21:28,750 --> 00:21:34,370 But we didn't do any validity checking, because I mean, why would we misconfigure the GPS receiver? 274 00:21:34,370 --> 00:21:35,630 We would never do that, right? 275 00:21:35,630 --> 00:21:41,030 So the solution that the teams came up with was better. 276 00:21:41,030 --> 00:21:52,470 It's often the case, though, I feel like, that you don't, once you know it's solvable in a reasonable time, like you're done as a challenge author, and you're like, yeah, there could be other solutions, but in this case, yeah, so good on the teams for finding the better command. 277 00:21:52,610 --> 00:22:02,030 We were also pretty sure there might be some way to do it by messing with the receiver's time, but nobody successfully did that, but we liked the solution the teams came up with. 278 00:22:02,030 --> 00:22:03,990 Yeah, once you found the easiest, simplest thing. 279 00:22:03,990 --> 00:22:06,470 Now, did that make the math easier or harder than as well, too? 280 00:22:06,470 --> 00:22:09,950 Because a lot of this is like trying to figure out the math of like where it is, right? 281 00:22:10,050 --> 00:22:17,350 My solution required space math, and I was hoping that I would be mean to you guys, but you found a way to not do space math, so good on you for that. 282 00:22:17,350 --> 00:22:18,610 For that particular one. 283 00:22:18,610 --> 00:22:23,630 All right, so speaking of space math, then, on the challenges where they had pointing, right? 284 00:22:23,630 --> 00:22:29,050 One of the windows we saw overnight, we have this red bar there. 285 00:22:29,050 --> 00:22:45,210 That's during the ACS sort of section of the competition where teams were able to actually point and orient the moonlighter, and so during that phase, that's where teams could actually try for a couple of specific objectives, such as the Shutterbug Challenge, 286 00:22:45,210 --> 00:22:51,330 which we unfortunately didn't see any solves for, that required them to point and take a picture of a number of specific locations. 287 00:22:51,330 --> 00:22:53,550 So it was a bunch of spots all over the globe. 288 00:22:53,870 --> 00:23:02,950 Who wants to tell me more about that particular challenge, what the constraints were, and yeah, how it would have been solved, and what we think, you know, kind of happened? 289 00:23:03,250 --> 00:23:12,990 Yeah , so for that one, it actually does, you know, you had to go, it was sort of like last year we had a challenge where you had to point at planets and, you know, take pictures of them, or I think we just called it an exposure. 290 00:23:12,990 --> 00:23:21,870 This year we wanted you to do a real image of a location on the ground, and a lot of the quaternions actually that you issued looked pretty good. 291 00:23:23,090 --> 00:23:32,410 You know, one of the things with imaging is it takes a long time, you know, usually a couple months of operation to really understand how your satellite works with timing and everything, and calibrate things correctly. 292 00:23:32,630 --> 00:23:43,510 So the constraint we set up before the game was about 100 kilometers, and we did have some teams within like 150 and 170, I think 250 kilometers. 293 00:23:43,610 --> 00:23:45,990 A lot of teams got pretty close on this. 294 00:23:47,010 --> 00:23:57,530 We think it was just a little too hard with the constraints we set up, with the timing constraints between our processor and the camera that caused that issue. 295 00:23:57,530 --> 00:24:09,750 So, you know, unfortunately it was just a little bit too hard, you know, ideally we would have had more time to really nail that down, you know, with like a month of more commissioning we might be able to get it really, really, really tight on the time. 296 00:24:09,750 --> 00:24:23,710 I think that was something that surprised me is, yeah, I didn't realize how much it's sort of like this learning process is almost analog process where you're learning the constraints, even with things like the orientation, the access, there's a lot of that that kind of goes into satellites where you're just sort of used to your computer. 297 00:24:23,710 --> 00:24:25,190 It either works or it doesn't. 298 00:24:25,190 --> 00:24:27,750 It's not a question of like tuning and timing. 299 00:24:29,230 --> 00:24:37,050 Yeah, I think we at one point put a message in the channel that you weren't operating on a 3 gigahertz x86 processor. 300 00:24:37,050 --> 00:24:40,750 It was only a quad core 100 megahertz RISC-V processor. 301 00:24:40,750 --> 00:24:47,010 So, some of the teams thought they could run their scripts all the time and they would complete in like seconds and that wasn't the case. 302 00:24:47,010 --> 00:24:49,850 So, Logan, you've been doing a lot of the satellite operations. 303 00:24:49,850 --> 00:24:55,250 Do you have time to kind of answer some questions now about kind of how it was interacting with the satellite? 304 00:24:56,330 --> 00:24:57,230 Yeah, sure. 305 00:24:57,230 --> 00:25:07,610 So, I'm sure you guys realized from the Cosmos definitions that we posted that we were using OpenC3 Cosmos to do all of our satellite communications. 306 00:25:07,690 --> 00:25:16,310 So, that's an open source tool that lets you build up these command and telemetry definitions and all of the interactions that we had with the satellite during the game were scripted out. 307 00:25:16,450 --> 00:25:22,870 So, for each contact, we would have a command load, which was all those out-of-view commands, all the tasks you guys scheduled. 308 00:25:23,070 --> 00:25:31,950 We would start running them, we would upload that to the vehicle, stage all the scripts that you guys built into the correct locations and then at that point, we just wait. 309 00:25:32,090 --> 00:25:37,330 We sit there and wait until any of the out-of-view commands hit the time when they're supposed to execute. 310 00:25:37,330 --> 00:25:46,970 We execute all of them all the way until the next contact and then we save all the data that we would want and then in that next contact, we just keep repeating that. 311 00:25:46,970 --> 00:25:49,390 Speaking of contacts, when is our next contact? 312 00:25:50,150 --> 00:25:51,810 It's in about 30 seconds. 313 00:25:51,810 --> 00:25:53,790 Oh, hey, do you guys want to see us talk to a satellite? 314 00:25:53,790 --> 00:25:55,670 Yeah, we're gonna do it live. 315 00:25:55,670 --> 00:26:02,030 So, we actually, this morning, we're trying to stage all the images that you guys downloaded or that you guys took. 316 00:26:02,030 --> 00:26:07,630 So, we set up a plan this morning to hopefully download them from the camera to the actual flight processor. 317 00:26:07,750 --> 00:26:16,670 The camera itself has a gigabyte of actually flash memory, so we didn't move a lot of them to our flight processor because we only have a little bit of NOR flash. 318 00:26:16,790 --> 00:26:22,130 So, we stage them there and then we download them from there over the S-band downlink. 319 00:26:22,130 --> 00:26:23,830 So, we're gonna see what we get. 320 00:26:23,830 --> 00:26:29,050 We're not really sure what's gonna happen, but we expect to get at least a couple images here. 321 00:26:29,050 --> 00:26:30,050 You want to plug it in? 322 00:26:30,050 --> 00:26:30,530 Yeah. 323 00:26:30,530 --> 00:26:31,470 Let's do it. 324 00:26:50,820 --> 00:26:52,340 We didn't test this beforehand. 325 00:26:52,340 --> 00:26:56,180 This was very much a let's do it live moment, so we'll see if this works. 326 00:26:56,180 --> 00:26:57,420 And it literally is. 327 00:26:58,920 --> 00:27:04,080 Yeah, the suspense music for this because this is a live window. 328 00:27:04,080 --> 00:27:07,540 We're gonna see if we can get this going. 329 00:27:07,920 --> 00:27:17,760 So, we're gonna be taking a pass over Minjanu, Western Austria, and the transmit antenna doesn't turn on until about five degrees above the horizon, which we just hit. 330 00:27:18,620 --> 00:27:23,920 And so, right now, we're trying to establish a link with the vehicle. 331 00:27:25,200 --> 00:27:28,700 So, the links on these windows, right? 332 00:27:28,700 --> 00:27:32,200 I've been hearing you guys talk a lot about there are about 10 minutes, give or take. 333 00:27:32,200 --> 00:27:35,720 Can you describe kind of what a window looks like? 334 00:27:35,720 --> 00:27:40,220 You said there's upload, there's download, there's command, there's... how does the overall shape there? 335 00:27:40,220 --> 00:27:48,460 Yeah, so for most of the game, we were prioritizing sending data to the vehicle so you guys could execute your schedules. 336 00:27:49,080 --> 00:27:55,600 And then bonus time after that, we would try to download telemetry and then generate the scores. 337 00:27:56,060 --> 00:27:58,100 So, that was like overnight windows too, right? 338 00:27:58,100 --> 00:28:17,420 Where there's multiple, the teams don't have new commands, let you kind of catch up, I assume, and gather things off the... Right, so I think on the first night before we did ACS, we had a double pass over Chile and South Africa and we downloaded somewhere around 19 megabytes between those two. 339 00:28:17,420 --> 00:28:24,940 Yeah, it was basically all the telemetry through the first day was in that double pass. 340 00:28:24,940 --> 00:28:36,940 And then, as you guys know, quite frustratingly, we weren't able to get any at all until last night after the game, which, you know, very frustrating for us as well. 341 00:28:38,340 --> 00:28:46,720 Same with last night at 2.30, we got zero contact at all with Moonlighter when we were going to try and move some more images and have them ready for you beforehand. 342 00:28:50,520 --> 00:29:00,520 So, we're still trying to establish link and sometimes we've seen this with this radio where we don't quite link up until the top of the pass. 343 00:29:00,960 --> 00:29:05,000 So, this is looking like one of those situations. 344 00:29:05,000 --> 00:29:14,660 Yeah, and that's, I learned that you were just kind of describing earlier, it sounds like a lot of the ground stations have sort of better or worse like sort of profiles for the orbit and you would get better, you know, some ground stations worked a little better, 345 00:29:14,660 --> 00:29:19,420 some of them, you know, was it just because the path wasn't right over it or just because of the station itself? 346 00:29:19,420 --> 00:29:37,020 Right, so we've been having, some passes are really great, like you have, you know, directly overhead, some passes are pretty low elevation and your signal-to-noise ratio isn't necessarily as good in those situations. 347 00:29:38,620 --> 00:29:41,280 It's hard to talk when people are talking to my ear. 348 00:29:44,240 --> 00:29:50,380 They've got, more than the team is involved in this here, so we've got like remote communications are trying to coordinate with folks. 349 00:29:50,380 --> 00:29:57,420 Yeah, so right now we're probably 30 seconds away from hitting the top of the pass. 350 00:29:57,420 --> 00:29:59,600 Is it with the azimuth, as you call it, or what's the... 351 00:29:59,600 --> 00:29:59,860 A zenith. 352 00:29:59,860 --> 00:30:06,860 A zenith, the zenith, right, the zenith of the pass, but it's like the best, the best point where it's like slowest relative speed and like... 353 00:30:06,860 --> 00:30:17,980 Right, and we've been seeing that that's about where it crosses the the doppler zero, which is where we kind of link in pretty good usually, so. 354 00:30:17,980 --> 00:30:25,220 That makes sense, and so that, you know, if you don't get that connection until then, you just have a kind of narrower time to be able to download and upload as well. 355 00:30:25,220 --> 00:30:34,220 So this one, it sounds like the command to to queue up the images for download was sent during the last window around 10 30, and so we're hoping there's images ready to go. 356 00:30:34,240 --> 00:30:37,900 If we're lucky, yeah, they even said we have no idea if this will work, but we can try it. 357 00:30:37,900 --> 00:30:41,840 So this might be, you know, might be a success. 358 00:30:41,840 --> 00:30:42,560 Might not be. 359 00:30:42,560 --> 00:30:44,360 Depends on things that we can't control. 360 00:30:51,610 --> 00:30:53,070 I like the music. 361 00:30:54,870 --> 00:30:56,330 Not stressful at all. 362 00:30:57,370 --> 00:31:11,270 So did the evacuation last night actually, like, you guys were, it's because these windows, you had to hit the windows, and so when you're evacuating, you're like running with like, I think you said like the evacuation happened when you were like a minute or two away from one of these contact windows? 363 00:31:11,270 --> 00:31:25,750 We had about somewhere between like five and ten minutes to go, so we, and you know, they were they were pushing us out pretty fast, so we relocated just outside the building and got set up, and then right as the satellite was rising, they kind of pushed us further out, 364 00:31:25,750 --> 00:31:27,370 and we found that at that stairwell. 365 00:31:27,470 --> 00:31:29,330 We just got contact. 366 00:31:29,930 --> 00:31:35,570 So we just linked up, and now we can do setups. 367 00:31:43,860 --> 00:31:59,800 So unfortunately, like, this isn't like super interesting to watch, but what we usually watch during these during these passes is that we actually have watched a wire shark plot of the data as it comes down, so we can see these big spikes, sorry, we can see these big spikes where we're, 368 00:31:59,800 --> 00:32:06,220 you know, we're downloading, you know, each of these images are somewhere probably in the two to three hundred kilobytes range, so that's what we're expecting to see. 369 00:32:06,220 --> 00:32:15,380 Looks like we got something for the first one that didn't error out, so if we had hit an error , like the file didn't exist or something like that, we wouldn't have gotten past that the first line. 370 00:32:15,460 --> 00:32:17,600 So whatever that first one was, we got it. 371 00:32:17,600 --> 00:32:18,880 Now we got the second one. 372 00:32:18,880 --> 00:32:25,980 So as we watch through this, we're going to get through, and then at the bottom, we just have a loop to see what else is on that we're able to pull off the camera. 373 00:32:26,120 --> 00:32:31,400 So we decided to do, you know, one image for each team, and then just loop over whatever's left. 374 00:32:33,240 --> 00:32:47,100 And in particular, I know that there was, you had some idea for how sort of close, again, none of the teams were successfully scoring points for Shutterbug, because they weren't within that 100 mile radius that they had to be from the bore site target. 375 00:32:47,100 --> 00:32:48,800 It's 25 degrees falling. 376 00:32:48,800 --> 00:32:50,840 So it's 25 degrees is what it ends up. 377 00:32:50,840 --> 00:32:58,140 So, but these were, I think, at one point I heard you say, these were the, in order, at least the first two, were the closest two to the correct images. 378 00:32:58,140 --> 00:33:00,020 So hopefully the closest to what we wanted. 379 00:33:00,020 --> 00:33:04,100 We're pretty sure, unless Macaroni and Poland overwrote them later. 380 00:33:04,300 --> 00:33:06,100 So we'll find out. 381 00:33:06,320 --> 00:33:09,800 We could also, we might, we think we got the right ones. 382 00:33:09,880 --> 00:33:10,820 20 degrees. 383 00:33:11,780 --> 00:33:18,700 So the pass usually goes until, you know, as long as we have good signal-to-noise ratio, we'll go to... Can you bring the mic closer a little bit? 384 00:33:18,700 --> 00:33:19,220 Sorry. 385 00:33:19,380 --> 00:33:30,160 So the pass, a lot of times, and as long as we have good SNR and we're not dropping into a null on the antenna, we should go all the way down to five degrees on the pass, and we're at 17 right now. 386 00:33:31,120 --> 00:33:35,820 So we probably got another... We just aired out on the one, the script download, right? 387 00:33:37,800 --> 00:33:39,660 So we should have gotten those other images correct. 388 00:33:39,660 --> 00:33:44,340 Does that mean they're on your... Try to rerun it. 389 00:33:46,340 --> 00:33:48,400 If it doesn't work, it's just like your computer at home. 390 00:33:48,400 --> 00:33:49,840 Maybe reboot it to satellite. 391 00:33:49,840 --> 00:33:50,400 It's fine, right? 392 00:33:50,400 --> 00:33:51,200 It'll be okay. 393 00:33:54,840 --> 00:33:57,500 Can we pull up the other images that did download already? 394 00:33:57,720 --> 00:33:59,200 We're at 13 degrees. 395 00:34:02,800 --> 00:34:05,680 So we expect it to go kind of out of communication pretty soon here. 396 00:34:05,680 --> 00:34:06,880 We're on the tail end of it. 397 00:34:14,200 --> 00:34:16,920 It's 11 degrees right there. 398 00:34:19,360 --> 00:34:26,060 And of course, we'll make sure to share all these these images with the teams, and I'm sure they'll be out on the website as well later. 399 00:34:39,490 --> 00:34:41,170 Nothing like doing it live. 400 00:34:43,790 --> 00:34:44,950 Eight degrees. 401 00:34:45,850 --> 00:34:46,810 Oh, 402 00:35:10,740 --> 00:35:19,470 that's five degrees right there. 403 00:35:19,470 --> 00:35:20,790 That's in the past. 404 00:35:22,830 --> 00:35:24,810 Is that a lens cap? 405 00:35:30,570 --> 00:35:31,890 That's beautiful. 406 00:35:32,670 --> 00:35:34,150 That was awesome. 407 00:35:42,250 --> 00:35:44,210 I know the teams want that in Discord. 408 00:35:44,210 --> 00:35:44,970 We'll get that. 409 00:35:44,970 --> 00:35:46,150 We'll get that to the teams. 410 00:35:51,300 --> 00:35:56,060 So yeah, as you guys can see, we did it live and we got some really cool pictures down. 411 00:35:56,580 --> 00:35:59,040 At the end of this contact, we also probably pulled a couple more. 412 00:35:59,040 --> 00:36:00,320 So we'll see what else we got. 413 00:36:00,320 --> 00:36:02,700 But this was the first five that we pulled down. 414 00:36:02,780 --> 00:36:07,200 The one that said Cromulons, that was our picture that we took during game testing a couple days ago. 415 00:36:07,200 --> 00:36:11,140 So we wanted to grab that because we actually never got a chance to download it because we ran out of time. 416 00:36:11,600 --> 00:36:14,380 So yeah, just to give you guys the whole flow. 417 00:36:14,500 --> 00:36:23,200 Friday morning, this was about 5 a.m., we finished uploading the final flight sat4 builds of the vehicle that we guys ran for the game. 418 00:36:23,340 --> 00:36:29,860 So we were really pushing it to the last minute to get the software up to make sure we could play the game and everything would work as expected. 419 00:36:30,020 --> 00:36:33,900 And we were able to actually store all the telemetry in non-volatile memory. 420 00:36:33,900 --> 00:36:43,420 We actually made a pretty late-breaking change due to game testing where we were originally going to store a lot more stuff just in a temp file system because we have space there. 421 00:36:43,620 --> 00:36:50,400 On this thing we had maybe about four megabytes of non-volatile flash memory that we could put extra stuff in. 422 00:36:50,560 --> 00:36:54,980 But we decided might as well just try to put as much there as we can to save stuff. 423 00:36:54,980 --> 00:36:56,800 And I think it actually ended up saving us, right? 424 00:36:56,800 --> 00:37:08,380 We actually, I guess it would have been last night between the second-to-last and the last out-of-view window, we actually had another vehicle fault that caused a bunch of things to happen. 425 00:37:08,560 --> 00:37:18,540 At that point there's a processor that we connect to that kind of bridges between us and the other sensor devices like the GPS and it started to become non-responsive. 426 00:37:18,540 --> 00:37:22,100 So at that point anything that went to the GPS just didn't go. 427 00:37:22,800 --> 00:37:26,180 And to get out of that we actually had to do a full reset of that processor. 428 00:37:26,180 --> 00:37:31,620 And that also reset us because we're an FPGA that's basically a daughter card on that board. 429 00:37:32,720 --> 00:37:39,060 And because of this change we were able to save almost two days of telemetry and able to actually score you guys and make it work. 430 00:37:39,060 --> 00:37:43,260 So we've been putting in a lot of work over the last few weeks to get this all in. 431 00:37:43,260 --> 00:37:45,240 The whole team has done a really good job. 432 00:37:45,460 --> 00:37:48,880 Yeah, we would have lost a lot of telemetry without that change. 433 00:37:49,360 --> 00:37:50,980 Can we get a round of applause for CrimeLens? 434 00:37:50,980 --> 00:37:52,240 Just a great job they did running this game. 435 00:37:52,240 --> 00:37:53,120 It's fantastic. 436 00:38:04,860 --> 00:38:06,200 And the Aerospace Village. 437 00:38:06,240 --> 00:38:08,340 We've got a bunch of other people to thank as well too. 438 00:38:09,020 --> 00:38:17,880 Just the fact that we were able to be here with the Aerospace Village to be a part of this, to be back here at DEF CON in person, to have all of the teams, it's been fantastic. 439 00:38:18,880 --> 00:38:21,880 We've got time I think for some more discussion. 440 00:38:21,880 --> 00:38:23,720 So let's talk a little bit more. 441 00:38:24,620 --> 00:38:27,160 I had a lot of questions because again I'm like a capture the flag nerd. 442 00:38:27,160 --> 00:38:29,800 So I was asking the team like how much data do you actually get? 443 00:38:29,800 --> 00:38:33,480 You heard that 19 megabytes over two windows was like a lot of data. 444 00:38:33,480 --> 00:38:37,740 There's actually not much communication right on the satellite kind of each one of these passes. 445 00:38:38,160 --> 00:38:40,320 So how do you like prioritize? 446 00:38:40,320 --> 00:38:45,740 How do you choose what you upload, what you download, how much you're uploading, how much you're downloading, like what goes into that calculation? 447 00:38:46,000 --> 00:38:51,640 So we actually operated the game almost in reverse of how you would really operate a satellite . 448 00:38:51,640 --> 00:39:03,020 We, like Aaron was saying earlier, we prioritize getting your command loads up to the vehicle because you'd be pretty mad at us if we were like well we got some telemetry down but like you can't operate the satellite for four more hours. 449 00:39:03,040 --> 00:39:04,800 That would be pretty not cool. 450 00:39:04,860 --> 00:39:12,840 Normally you'd prioritize the health and safety data of the satellite and make you know always make sure that your satellite is okay before you ask it to do something else. 451 00:39:12,840 --> 00:39:26,580 We flipped that and we always prioritized your commands and then we prioritized challenge and sensor data and then we actually like very last we prioritized like our logging and stuff that would let us really deep dive. 452 00:39:26,600 --> 00:39:33,780 So we almost flipped the script, you know, a full 180 degrees and did things backwards for the purposes of the game. 453 00:39:34,660 --> 00:39:47,840 And that's why you saw some of the dropout, you know, the big blackouts of telemetry not coming down is because we actually were we were prioritizing your commands first and you know when some of these passes go, you know, only start at the top, we only get like five minutes of contact. 454 00:39:47,840 --> 00:39:48,900 So there's just not a lot of time. 455 00:39:48,900 --> 00:39:52,660 Aaron calls it 10 minutes of terror every time we contact the satellite. 456 00:39:53,580 --> 00:40:00,080 Yeah, to like to continue there, like we had a couple passes during the game where, you know, we have one chance to get your guys' command loads up. 457 00:40:00,080 --> 00:40:05,260 If we fail like we did on one of the passes early on, it just doesn't happen, right? 458 00:40:05,440 --> 00:40:06,960 And we don't want that to happen. 459 00:40:06,960 --> 00:40:11,000 So we tried to, you know, practice that whole set of things as much as we could. 460 00:40:11,120 --> 00:40:15,920 But at the end of the day, we only had maybe, what, two weeks of operations? 461 00:40:16,260 --> 00:40:21,820 And less than that where we had, you know, something that was really close to our final play software build that we could test all of this. 462 00:40:21,820 --> 00:40:33,160 So it was a real challenge to get everything actually integrated and working and make make sure we could actually, you know, pull off the execution side of the game that was transparent to what the teams worked on. 463 00:40:33,160 --> 00:40:36,480 But very important and, you know, the whole thing doesn't work without it. 464 00:40:36,900 --> 00:40:39,640 Yeah, so, I mean, just to give you guys an idea. 465 00:40:39,640 --> 00:40:47,960 So we deployed the vehicle from the space station a month and, you know, like not that long ago. 466 00:40:47,960 --> 00:41:01,620 And so usually when we do deployment and do checkout operations, it takes several months to do, to make sure your sensors are aligned, to make sure your vehicle is performing within family. 467 00:41:01,920 --> 00:41:05,280 And we didn't quite have that time to do that. 468 00:41:05,280 --> 00:41:11,020 But we spent a lot of late nights trying to make everything possible for this. 469 00:41:11,420 --> 00:41:16,360 Was there anything that surprised you in terms of the teams and how they solve things? 470 00:41:16,360 --> 00:41:20,380 Obviously, we know that the one GPS solution was not the quite expected. 471 00:41:20,380 --> 00:41:22,160 It was a little bit better and cleaner. 472 00:41:22,360 --> 00:41:26,820 Was it was the solution for, for example, Iron Bank similar to the one that we expected? 473 00:41:26,820 --> 00:41:28,980 Or they're still geeking out over the pictures over here. 474 00:41:28,980 --> 00:41:29,820 They can't get over it. 475 00:41:30,660 --> 00:41:34,580 It's really just impressed by the team's resiliency. 476 00:41:34,920 --> 00:41:38,560 And everybody I talked to, you know, on the team, they said they were having a lot of fun. 477 00:41:38,560 --> 00:41:43,660 And you know, it's, I said, somebody, somebody told me, it's like, it's like a CTF with a really shitty connection. 478 00:41:43,660 --> 00:41:46,260 And I'm like, oversimplification. 479 00:41:46,260 --> 00:41:46,760 Yeah. 480 00:41:47,300 --> 00:41:52,080 But you know, it's, it's definitely a challenging CTF for us, the organizers and for the teams. 481 00:41:52,240 --> 00:41:58,220 And I was just really impressed by all the teams and everything they did and how they were just, you know, rolling with the situation. 482 00:41:58,220 --> 00:41:59,940 And then and that's how it works with a satellite. 483 00:41:59,940 --> 00:42:01,060 You deal with what you got. 484 00:42:01,120 --> 00:42:03,320 And that's like true of real operations. 485 00:42:03,680 --> 00:42:07,900 And thanks to all the teams for playing the game and doing a job well done. 486 00:42:07,900 --> 00:42:11,460 And at least it was, it was equally painful for the organizers as it was for the players. 487 00:42:11,460 --> 00:42:14,500 So like, normally, you know, like the organizers, like may not give all the information out. 488 00:42:14,500 --> 00:42:17,100 Well, in this case, the organizers didn't have all the information either. 489 00:42:17,140 --> 00:42:21,500 They were at the mercies of like the windows and connections being dropped and all that stuff as well. 490 00:42:21,500 --> 00:42:25,120 And playing with so yeah, every everybody involved had to really kind of be flexible. 491 00:42:25,280 --> 00:42:28,660 So we've got one more image, coming in here may take a second. 492 00:42:29,160 --> 00:42:30,200 Let's see what's up. 493 00:42:31,680 --> 00:42:32,800 This is pretty nice. 494 00:42:33,440 --> 00:42:43,000 So another crowd set one of these ice caps that we're looking at, or is this clouds or it's probably clouds in the ground and a little bit of slew. 495 00:42:43,000 --> 00:42:44,160 So there's a little bit of blur. 496 00:42:45,740 --> 00:42:47,180 Some water there as well. 497 00:42:47,780 --> 00:42:54,600 Yeah, it's definitely pointing at the earth, which you know, as you can tell from some of those pictures, they are pointed at probably space. 498 00:42:56,720 --> 00:42:57,320 Nice. 499 00:42:57,320 --> 00:42:57,860 So one more there. 500 00:42:57,860 --> 00:42:58,520 Awesome. 501 00:42:58,520 --> 00:42:58,680 All right. 502 00:42:58,680 --> 00:42:59,400 Well, thanks, everybody. 503 00:42:59,400 --> 00:43:03,020 We're gonna go ahead and bring Rachel up to finish us out. 504 00:43:03,020 --> 00:43:05,840 And thanks, everybody, for coming in here. 505 00:43:07,160 --> 00:43:12,920 Okay, so for the last time for DEF CON 31, again, we cannot thank everybody enough. 506 00:43:12,920 --> 00:43:14,920 The teams, you guys are all amazing. 507 00:43:14,920 --> 00:43:16,380 Thank you for your hard work. 508 00:43:16,380 --> 00:43:24,380 Everybody who has followed along, who participated in years past and quals this year, it's literally not possible without that type of involvement. 509 00:43:24,380 --> 00:43:29,820 To the Aerospace Village, we've had four years of amazing relationship that we want to continue to grow. 510 00:43:29,820 --> 00:43:35,320 Of course, DEF CON graciously accommodating everything that we've brought to this year. 511 00:43:35,320 --> 00:43:38,360 I mean, it's pretty spectacular what we have out there. 512 00:43:38,360 --> 00:43:42,080 And lastly, I cannot thank all of our team enough. 513 00:43:42,080 --> 00:43:46,060 The Cromulence folks, Aerospace Corporation, the difference. 514 00:43:46,060 --> 00:43:53,220 When I tell you this is only possible with an amazing team of people, from the bottom of my heart, I thank them all. 515 00:43:53,220 --> 00:43:56,080 We are the best team, quite literally, in the world. 516 00:43:56,100 --> 00:44:01,080 We pulled off the world's first CTF, and that's a wrap on HackASAP 4. 517 00:44:01,080 --> 00:44:02,140 Thank you. 518 00:44:21,640 --> 00:44:22,940 Isn't it obvious, huh? 519 00:44:22,940 --> 00:44:23,860 I said, isn't it obvious?