Contents

Säkerhetspodcasten #296 - Ostrukturerat V.5

AWS regexp fail, Sjölogistik hade alla säkerhetshål, MongoBleed, Pre-boot attack mot UEFI, och Powershell XSS!

Lyssna

  • mp3, längd: 50:42

AWS hackat via regexp bug

AWS CodeBuild kasst regexp lämnade viktiga repon vidöppna för konton med snarlika ID!

Länkar:

UNIX v4 återfunnet och patchat

Richard Weinberger tar en titt på det 50 år gamla, men nyligen, återfunna UNIX v4.

Äntligen är bufferoverflow write fixad och PDP-11 simulatorer kan uppgradera till ett säkrare OS!

-       while((*q = getchar()) != '\n')
+       i = 0;
+       while((*q = getchar()) != '\n') {
+               if (++i >= sizeof(password))
+                       goto error;
                if(*q++ == '\0')
                        return;
+       }

Länkar:

Sjölogistik med fler hål i skrovet än en Schweizerost

Eaton Works “Jag är en Sjökapten Nu! Kapa globalt nätverk för Sjölogistik”:

BLUVOYIX (Bluspark Global) plattform för sjölogistik och supply chain används av hundratals av världens största bolag. Kritiska sårbarheter som gjorde det möjligt att ta över hela plattformen, och komma åt all kunddata och alla sändningar. Problemen är nu åtgärdade.

Eller som man också kan säga, de hade typ alla hål.

Länkar:

MongoBleed

HartBleed liknande sårbarhet men i MondoDB:

  • MongoDB initializerade inte minnet det malloc’ade.
  • Klient kan specificera hur stort ett BSON objekt är.
  • Klient kan skicka felaktig BSON, med en oterminerad sträng.
  • MongoDB felmeddelande om att BSON objektet är felaktigt, och BSON stängen expanderas…. till en sökning genom heapen…

Felet varit med sedan 2017, och publicerades med perfekt timing mitt i jul 2025 när alla var lediga.

Länkar:

Pre-boot attack mot UEFI, Vanguard

Riot Games Vanguard säkerhetsresearchers Nick Peterson and Mohamed Al-Sharifi hittade att massa moderkort dels:

  • inte konfigurerar IOMMU säkert under uppstart.
  • rapporterar till OS m.m. att IOMMU är säkert under uppstart.
  • att det potentiellt möjliggör installation av malware/cheat drivers under boot via PCIe/Thunderbolt/m.m.
  • sårbara moderkort möjliggör att kringgå Vanguard boot/rootkit level anti-cheat.

Sårbarheten berör ASUS, Gigabyte, MSI, Asrock, och berör massvis med modertkort. T.ex. ASUS skriver: This issue affects motherboards based on the Intel Z490, W480, B460, H410, Z590, B560, H510, Z690, B660, W680, Z790, B760, and W790 series chipsets.

Länkar:

Powershell XSS RCE

Off Topic: I’m the Captain Now and That’s Okay!

Bad en AI att summera en av våra nyheter, i stilen av ett klassiskt verk….

(Scene: An office filled with monitors. A developer stands up, sheds his headset, and reveals a captain’s hat underneath. A chorus of bewildered IT Security Auditors stands behind him.)

Developer: I didn’t want to be a SysAdmin! I wanted to be… A CAPTAIN! Leaping from port to port as the cargo floats down the digital rivers of the global supply chain! The Maersk, the MSC, the Evergreen, the Hapag-Lloyd! With my best API documentation by my side, we’d ping, ping, ping!

[Song starts – upbeat, jaunty march]

Developer: Oh, I’m the Captain now and that’s okay! I leak all night and I code all day!

Chorus: He’s the Captain now and he’s okay! He leaks all night and he codes all day!

Developer: I ship the freight, I check the logs, I bypass all the checks! I leave my APIs wide open, So anyone can wreck!

Chorus: He ships the freight, he checks the logs, He bypasses all the checks! He leaves his APIs wide open, So anyone can wreck! He’s the Captain now and he’s okay! He leaks all night and he codes all day!

Developer: I drop the tokens, I skip the auth, I like to share the keys! I put my email code in JS, To phish with total ease!

Chorus: He drops the tokens, he skips the auth… He likes to share the… wait… He puts his email code in JS? To phish with total ease?! (Wait, that’s not right!)

Developer: I’m the Captain now and that’s okay! I leak all night and I code all day!

Developer: I cancel shipments, I change the dates, Back to two-thousand-seven! I store your passwords in plaintext, It’s hacker-admin heaven!

Chorus: He cancels shipments— (Wait, 2007?!) He stores our passwords… in PLAINTEXT?! Hacker-admin… HEAVEN?! Oh, Bevis! And we thought you were SOC2 compliant!

Developer: I wish I’d been an admin, With a POST to /users! Just like my dear Papa!

Chorus: (Disgusted silence, followed by the sound of a server rack falling over)

AI transkribering

AI försöker förstå oss… Ha överseende med galna feltranskriberingar.

1 00:00:00,000 --> 00:00:02,680 Hallå och välkommen till Säkerhetspodcasten.

2 00:00:02,820 --> 00:00:05,460 Jag som pratar är inte Johan Ribamöller men jag har Mattias Idhage.

3 00:00:05,680 --> 00:00:06,960 Grönland Sakevård.

4 00:00:07,020 --> 00:00:07,680 Jesper Larsson.

5 00:00:07,780 --> 00:00:08,600 Ekan Buffet.

6 00:00:08,800 --> 00:00:10,440 Och Peter Magnusson.

7 00:00:11,160 --> 00:00:13,540 Operativstemmet som nu gömmer sig i brinn på anspelare.

8 00:00:13,920 --> 00:00:15,120 Precis, så är det.

9 00:00:16,140 --> 00:00:20,960 Rickard kunde tyvärr inte delta i den här inspelningen men vi skickar honom alla lyckönskningar.

10 00:00:21,680 --> 00:00:23,260 Ja, han är lite dassig.

11 00:00:23,260 --> 00:00:29,820 Precis, jag ska nämna innan vi går vidare att det är den 22 januari i Nordnedsvård 2026 som vi spelar in detta.

12 00:00:30,000 --> 00:00:37,800 Och vi är sponsrade av Short som finns på short.se och även av Botfors som finns på botfors.se och 0x4a.se.

13 00:00:38,620 --> 00:00:42,920 Snabb plugg här, vi har en open source konferens som heter FOS North.

14 00:00:43,440 --> 00:00:45,240 Det går att starta den 27-28 april.

15 00:00:45,520 --> 00:00:50,140 Det kommer att händas på Chalmers och det finns en CFB som är öppen när ni hör detta.

16 00:00:50,280 --> 00:00:51,580 Om ni hör det när vi lägger ut det.

17 00:00:52,060 --> 00:00:53,780 CFB, call for papers.

18 00:00:54,060 --> 00:00:56,400 Det vill säga om du vill snacka om något kul på konferensen.

19 00:00:56,640 --> 00:00:59,900 Om du vill gå på konferensen så kan man nog säkert finna ut.

20 00:01:00,000 --> 00:01:00,900 Om man gör det på samma sajt.

21 00:01:01,320 --> 00:01:01,780 Det tror jag.

22 00:01:02,260 --> 00:01:06,920 Sen vet inte jag riktigt men jag tror att det borde komma brev till CFB inom relativt kort.

23 00:01:07,120 --> 00:01:12,560 Ja, men det är faktiskt så att nu när vi spelar in det här så pågår det ett CFB-möte som jag och Johan inleder.

24 00:01:12,880 --> 00:01:14,040 Precis, för vi gör det här istället.

25 00:01:14,220 --> 00:01:18,160 Hade vi varit där istället så hade vi vetat mer men det hade inte vi för då hade vi varit här.

26 00:01:18,160 --> 00:01:19,440 Nej, det är ett problem.

27 00:01:19,440 --> 00:01:24,660 Och på tal om säkerhetsaktiviteter så tror jag att det dessutom är B-sides Göteborg på gång.

28 00:01:24,980 --> 00:01:26,900 Jag kan inte huvudet datum och sånt.

29 00:01:27,220 --> 00:01:29,440 Jag tror även att det finns någon Ovas Joint Ventures.

30 00:01:30,000 --> 00:01:36,460 Mellan Security Fest, Ovasp, Security Meetup och ytterligare någonting.

31 00:01:36,620 --> 00:01:38,900 Jag har sett det där.

32 00:01:39,000 --> 00:01:42,700 Och det är rätt snart, det är nog fan kanske till och med innan vi släpper det här avsnittet.

33 00:01:42,800 --> 00:01:43,520 Eller väldigt nära i alla fall.

34 00:01:43,540 --> 00:01:46,560 Jag förstod liksom att det bara skulle vara de grupperingen som snackar med varandra.

35 00:01:46,560 --> 00:01:52,060 Men sen nu när jag har förstått lite mer så är det så att det är ett event för alla som tycker om meet-säkerhet.

36 00:01:52,360 --> 00:01:53,500 Men det kan ju vara det alla, du vet inte.

37 00:01:53,580 --> 00:01:54,820 Nej, jag tror inte det.

38 00:01:55,300 --> 00:01:59,980 Framförallt tänker jag att när det här kommer ut så är det fullt om man ser på hur snabbt.

39 00:02:00,000 --> 00:02:04,340 Och den observanta lyssnaren har ju redan förstått att det här är ett ostrukturerat avsnitt.

40 00:02:04,440 --> 00:02:04,760 Precis.

41 00:02:05,320 --> 00:02:07,460 Så vi tänkte att vi skulle snacka något om något.

42 00:02:08,520 --> 00:02:08,960 Så är det.

43 00:02:10,100 --> 00:02:10,840 Japp, och det var det.

44 00:02:11,500 --> 00:02:12,760 Jag spelade varsin ensam.

45 00:02:13,980 --> 00:02:15,820 Är det jag som ska börja?

46 00:02:15,820 --> 00:02:17,020 Ja, det är du som ska börja.

47 00:02:17,040 --> 00:02:18,180 Kul, för jag sitter med ryggen emot.

48 00:02:18,260 --> 00:02:19,640 Men du har tagit ett kort, så det är ju kanon.

49 00:02:19,640 --> 00:02:21,160 Ja, det är du som är högst.

50 00:02:21,540 --> 00:02:29,120 Alltså, vad vore ett ostrukturerat avsnitt om vi inte får prata om AVS Codebuild?

51 00:02:30,000 --> 00:02:31,380 Ja, det gör vi ju nästan varje avsnitt.

52 00:02:31,380 --> 00:02:35,880 Supply Chain Vulnerability som discloses utav WIS.

53 00:02:36,180 --> 00:02:37,760 Vad är nu AVS Codebuild?

54 00:02:37,760 --> 00:02:39,760 Ja, precis. Det var min fråga också.

55 00:02:40,720 --> 00:02:43,200 Ja, välkommen till säkerhetspodcasten.

56 00:02:43,200 --> 00:02:44,200 Här pratar vi om…

57 00:02:44,200 --> 00:02:48,200 Nej, men AVS, alltså, vad är Codebuild?

58 00:02:48,200 --> 00:02:58,000 Codebuild är ju liksom en CD-pipeline som man kan ha inne i AVS för att, ja…

59 00:02:58,000 --> 00:02:58,680 Bygga kod?

60 00:02:58,680 --> 00:02:59,180 Ja.

61 00:02:59,180 --> 00:02:59,680 Nej, men…

62 00:02:59,680 --> 00:03:00,440 Så skulle man väl kunna säga.

63 00:03:01,620 --> 00:03:02,580 Jag använder inte…

64 00:03:02,580 --> 00:03:06,540 Jag kan inte säga att jag har använt Codebuild så jävla mycket, men det är ju liksom…

65 00:03:06,540 --> 00:03:07,560 Ja, det är…

66 00:03:07,560 --> 00:03:10,500 Jag har inte hört talas om det före den här incidenten.

67 00:03:11,100 --> 00:03:11,500 Alltså…

68 00:03:11,500 --> 00:03:12,420 Nej, okej.

69 00:03:12,960 --> 00:03:14,560 Så, nu ska vi se.

70 00:03:14,700 --> 00:03:16,120 Hur långt ska vi ta det här?

71 00:03:17,220 --> 00:03:24,780 Så, AVS har ju flera ganska överlappande erbjudanden här egentligen, skulle jag säga.

72 00:03:25,900 --> 00:03:27,780 Och Codebuild är väl…

73 00:03:28,440 --> 00:03:29,360 Det är väl…

74 00:03:29,360 --> 00:03:30,760 Hur skulle de…

75 00:03:30,760 --> 00:03:31,360 Det är väl…

76 00:03:31,360 --> 00:03:32,440 Ska jag läsa vad det står här?

77 00:03:32,440 --> 00:03:34,300 Serverless Continuous Integration.

78 00:03:34,420 --> 00:03:39,980 Fully managed continuous integration that compiles source code, runs tests and produces deployable software artifacts.

79 00:03:40,880 --> 00:03:41,740 Så, du har ju…

80 00:03:41,740 --> 00:03:42,220 Byggserver.

81 00:03:42,460 --> 00:03:44,820 En byggserver, så det är väl CI då i stället.

82 00:03:45,200 --> 00:03:47,080 Men det är liksom en del av en suite.

83 00:03:47,180 --> 00:03:52,280 Och sen har du ju CloudFormation och du har CloudFormation Stacks och du har en massa roliga grejer uppe på det här.

84 00:03:52,840 --> 00:03:56,840 Men det är inte alls lika roligt att prata om som den här breachen, givetvis.

85 00:03:57,000 --> 00:03:57,440 Såklart.

86 00:03:57,440 --> 00:03:59,220 Så, men det är en breach.

87 00:03:59,360 --> 00:04:01,820 I AVS Codebuild.

88 00:04:02,000 --> 00:04:02,440 Alltså inte…

89 00:04:03,080 --> 00:04:04,280 Alltså, AVS Codebuild.

90 00:04:04,640 --> 00:04:06,120 Inte det som kunderna…

91 00:04:06,120 --> 00:04:07,260 Nu, håll i er här nu.

92 00:04:07,800 --> 00:04:09,820 Så vad vi hittar, det är att de…

93 00:04:09,820 --> 00:04:11,440 Vi hittar alltså en…

94 00:04:12,000 --> 00:04:14,920 Ja, felkonfiguration kanske man inte ska säga.

95 00:04:15,040 --> 00:04:19,860 Men det är väl en felkonfiguration i hur Codebuilds pipelines fungerar helt enkelt.

96 00:04:22,040 --> 00:04:26,440 Och det är väl framförallt i hur de hanterar…

97 00:04:28,440 --> 00:04:28,920 Nycklarna.

98 00:04:29,360 --> 00:04:32,240 Alltså, AVS Github och deras repositories.

99 00:04:33,240 --> 00:04:37,240 Och det inkluderar då även AVS Javascripts STKR.

100 00:04:37,820 --> 00:04:43,380 Det vill säga en ganska så viktig komponent, skulle man kunna säga, i hela AVS-konsolen.

101 00:04:43,820 --> 00:04:44,080 Punkt.

102 00:04:44,660 --> 00:04:47,960 Alltså, nu pratar vi en kritisk sårbarhet i AVS.

103 00:04:48,160 --> 00:04:51,240 Ingenting som kunderna har implementerat, utan…

104 00:04:51,240 --> 00:04:54,100 Resursen Codebuild borked.

105 00:04:54,540 --> 00:04:54,700 Ja.

106 00:04:55,460 --> 00:04:57,120 Och nu blir det vackert.

107 00:04:57,120 --> 00:04:58,720 Jag ska dra den jättesnabbt.

108 00:04:58,720 --> 00:05:01,260 Sen går vi in på detaljerna, givetvis.

109 00:05:02,100 --> 00:05:04,380 Kan någon gissa vad felet var?

110 00:05:08,840 --> 00:05:12,060 Jag kan gissa eftersom att jag tror att det är den jag…

111 00:05:12,060 --> 00:05:15,820 Du kan säkert få loss något token som har rättigheter och det är plöjagrejer.

112 00:05:16,080 --> 00:05:23,720 Men det roliga är ju då att det är givetvis ett regex-filter som har orsakat det här problemet i en trigger i en webbhook då.

113 00:05:24,360 --> 00:05:25,720 Och det som är roligt då…

114 00:05:25,720 --> 00:05:27,720 Det här är ju alltså jätte…

115 00:05:27,720 --> 00:05:30,900 Det som händer då, det är att det här regexet är inte ankrat till nåt.

116 00:05:31,900 --> 00:05:34,140 Och skit i det nu när vi går in på detaljerna.

117 00:05:34,200 --> 00:05:35,560 Sen ger jag bara en snabb summering här.

118 00:05:36,160 --> 00:05:40,200 Och det gör att attackerarna kan liksom skapa GitHub-usernames.

119 00:05:40,540 --> 00:05:44,360 Som innehåller samma Authorized Maintainer-ID.

120 00:05:45,840 --> 00:05:50,800 Som låter dem då trigga olika privilegierade byggjobbs under vissa conditions.

121 00:05:51,800 --> 00:05:57,040 Och det som händer då, det är att när de ID-erna, vi kommer till det, kan exekvera.

122 00:05:57,040 --> 00:06:00,260 Och då gör ju de det som administratörer i det kontextet de är.

123 00:06:00,380 --> 00:06:05,720 Och vad WIS har kommit fram till då, det är att de här ID-erna, de är inte så jävla långa.

124 00:06:07,500 --> 00:06:09,860 Så WIS har ju då alltså förberett.

125 00:06:10,380 --> 00:06:12,580 Det här är så jäkla vackert.

126 00:06:13,260 --> 00:06:16,480 Så WIS har kommit fram till att okej, hur fasken ska vi göra det här då?

127 00:06:16,980 --> 00:06:20,980 Så de sitter och tittar på de här Maintainer-IDs.

128 00:06:21,080 --> 00:06:22,840 Och då genereras det hur många som helst.

129 00:06:22,840 --> 00:06:24,200 Alltså det är ju…

130 00:06:24,200 --> 00:06:25,920 Jag har inte länken framför mig nu, men det är alltså…

131 00:06:25,920 --> 00:06:27,020 Det är hur många som helst.

132 00:06:27,040 --> 00:06:28,060 Det är hur många som helst per dag.

133 00:06:28,540 --> 00:06:30,800 Men jag tror att de bara är sex tecken.

134 00:06:31,080 --> 00:06:32,160 Någon som har artikeln uppe för…

135 00:06:32,160 --> 00:06:33,940 Det var några olika längder.

136 00:06:34,180 --> 00:06:39,740 Men jag tror överhuvudtaget att du inte har preppat med varför det är intressant att kolla på de här ID-erna.

137 00:06:40,540 --> 00:06:41,480 Jag kanske var lite för snabb.

138 00:06:42,140 --> 00:06:46,400 Jag tror du misshoppade över det mest centrala.

139 00:06:47,120 --> 00:06:47,660 Det kanske jag gjorde.

140 00:06:48,600 --> 00:06:50,620 Det är det att jag har notes som är längre.

141 00:06:50,620 --> 00:06:53,480 Det jag är intresserad av är hela preppen här.

142 00:06:53,760 --> 00:06:56,200 Men okej, vi cirklar tillbaka på det.

143 00:06:56,240 --> 00:06:56,960 Det är rätta mig nu.

144 00:06:57,040 --> 00:06:59,220 Jag ska hitta rätt där.

145 00:06:59,700 --> 00:07:01,420 Det finns någon konfiguration.

146 00:07:01,520 --> 00:07:05,680 Jag har inte riktigt fattat vilka delar som ligger på GitHub och vilka delar som ligger på AVS CodeBuild.

147 00:07:06,640 --> 00:07:07,920 Men så här.

148 00:07:08,200 --> 00:07:11,060 GitHub hostar ju SDK-erna för AVS.

149 00:07:11,560 --> 00:07:13,340 Och CodeBuild konsumerar ju dem.

150 00:07:14,540 --> 00:07:17,320 Och däremellan så går det tokens.

151 00:07:17,680 --> 00:07:18,120 Exakt.

152 00:07:18,200 --> 00:07:20,500 Och de tokena innehåller ett ID.

153 00:07:21,700 --> 00:07:26,500 Och det som händer här nu då är att man har lyckats skapa en…

154 00:07:27,040 --> 00:07:31,040 Egentligen så kan man ändå prekalkylera vad som kommer att hända.

155 00:07:31,220 --> 00:07:33,160 Vilka ID som kommer att bli aktiverade.

156 00:07:33,220 --> 00:07:44,260 Men det centrala här alltså är att det finns ett RegExp som styr vilka tokens får komma in.

157 00:07:45,400 --> 00:07:49,320 Och när du kör en RegExp-motor så kan du ju konfigurera den lite.

158 00:07:49,320 --> 00:07:54,320 Till exempel gör du en sökning eller gör du en fullständig match.

159 00:07:55,380 --> 00:07:56,980 Och det är API.

160 00:07:57,040 --> 00:08:00,540 Det är API som man går mot när man gör RegExp-matchningen.

161 00:08:00,720 --> 00:08:03,640 Det är sökning, alltså inte exakt matchning.

162 00:08:04,000 --> 00:08:05,220 Nej, exakt.

163 00:08:05,480 --> 00:08:09,300 Och det finns inget tecken här då i RegExp som säger

164 00:08:09,300 --> 00:08:13,080 det är exakt de här olika tokena som vi godkänner.

165 00:08:13,300 --> 00:08:17,400 Utan det finns ett antal token-ID som är okej.

166 00:08:17,620 --> 00:08:19,660 Och det är bara ett pipetecken mellan dem.

167 00:08:20,320 --> 00:08:23,040 Och ingenstans så finns det någonting som säger att

168 00:08:23,040 --> 00:08:25,380 det här måste vara hela texten.

169 00:08:26,120 --> 00:08:26,680 Så.

170 00:08:27,040 --> 00:08:28,320 De är inte ankrade.

171 00:08:28,560 --> 00:08:29,200 Det är väl det man säger.

172 00:08:29,340 --> 00:08:30,060 Det är inte anchored.

173 00:08:30,860 --> 00:08:31,800 Det kanske det är.

174 00:08:31,820 --> 00:08:33,920 Men jag tror inte folk på svenska riktigt förstår vad man menar.

175 00:08:33,920 --> 00:08:35,680 Nej, men det är precis som du säger.

176 00:08:35,780 --> 00:08:37,980 De är inte explicita då.

177 00:08:37,980 --> 00:08:41,380 Så jag tror en var väl typ 1.5, 1.1.1 eller någonting.

178 00:08:41,520 --> 00:08:43,780 Nej, det var något ganska kort i vart fall.

179 00:08:44,020 --> 00:08:45,860 Och då räknar det med någonstans i ditt token.

180 00:08:45,880 --> 00:08:47,380 Det är någonstans i ditt ID.

181 00:08:47,820 --> 00:08:50,200 Det blir ju ganska enkelt då att ta sig runt.

182 00:08:50,420 --> 00:08:50,620 Ja.

183 00:08:51,280 --> 00:08:52,060 Men vi, ja.

184 00:08:52,840 --> 00:08:54,360 Men ja, det jag håller med om.

185 00:08:55,220 --> 00:08:57,020 Enklare än nästan omöjligt.

186 00:08:57,040 --> 00:09:02,180 Men de här WIS-människorna hittar ju på något sätt att de kan se

187 00:09:02,180 --> 00:09:06,500 när man skapar ID vilken av systemen det nu är.

188 00:09:07,240 --> 00:09:11,440 Alltså när du skapar och använder det så kan man se vilka ID som skapas.

189 00:09:12,020 --> 00:09:15,000 Så då kan de ligga och lyssna på något ställe där de kan observera.

190 00:09:15,040 --> 00:09:18,540 Kan de se om det börjar närma sig att du kommer nära.

191 00:09:19,100 --> 00:09:21,660 Så det som händer är att de har ett regge som säger

192 00:09:21,660 --> 00:09:26,660 det finns ingen definierad början på det.

193 00:09:26,660 --> 00:09:27,720 På det vi ska titta på.

194 00:09:28,800 --> 00:09:31,220 Och det finns ett slut.

195 00:09:31,680 --> 00:09:36,780 Om det matchar någonstans emellan våran int till slut.

196 00:09:37,120 --> 00:09:38,220 Så är det okej.

197 00:09:38,220 --> 00:09:38,840 Det vill säga.

198 00:09:39,860 --> 00:09:43,080 Har man tur så kan det vara någonting som matchar.

199 00:09:43,560 --> 00:09:44,640 Men det är inte helt.

200 00:09:44,760 --> 00:09:47,040 Alltså det matchar absolut reggexpert.

201 00:09:47,220 --> 00:09:49,160 Men det är inte binärt.

202 00:09:49,740 --> 00:09:50,640 Det är inte korrekt liksom.

203 00:09:51,080 --> 00:09:52,240 Så det gör ju då att det.

204 00:09:52,580 --> 00:09:54,320 Den tittar ju på en string som.

205 00:09:54,980 --> 00:09:56,120 Ja men typ matchar.

206 00:09:56,660 --> 00:09:58,440 Ja men den uppföljer kravena för reggexpert.

207 00:09:58,520 --> 00:10:00,660 Men det är inte en 1-1 matchning mot det de egentligen borde ha.

208 00:10:00,760 --> 00:10:01,080 Exakt.

209 00:10:01,280 --> 00:10:04,060 Det här är väl nästan i relation med numpaddarna.

210 00:10:04,120 --> 00:10:05,240 När man skulle måta in pinnar.

211 00:10:05,660 --> 00:10:08,060 Så alla numpaddarna matchar ju inte alltid.

212 00:10:08,360 --> 00:10:09,840 Liksom att det ska vara fyra.

213 00:10:10,320 --> 00:10:12,120 Och är det fel så får du bara göra om fyra.

214 00:10:12,220 --> 00:10:14,480 Utan ibland kunde du göra en hela ström med pinnar.

215 00:10:14,720 --> 00:10:16,620 Och får du bara rätt pinn någonstans där.

216 00:10:16,700 --> 00:10:17,620 Så slåsar den upp.

217 00:10:17,980 --> 00:10:20,240 Så den evaluerar liksom varje steg och så skiftar den bara.

218 00:10:20,580 --> 00:10:21,720 Och när är det då.

219 00:10:21,840 --> 00:10:23,340 När matchar de här riderna.

220 00:10:23,340 --> 00:10:25,640 Så att det är ju lite olika då.

221 00:10:26,040 --> 00:10:26,440 Så.

222 00:10:26,660 --> 00:10:29,920 Varje unik github-identitet har ett eget id.

223 00:10:31,100 --> 00:10:33,400 Och det är sekventiella nummer i det liksom.

224 00:10:34,140 --> 00:10:36,680 Och tidiga konton från typ 2008 då.

225 00:10:36,760 --> 00:10:39,340 De hade fem digits i det.

226 00:10:39,560 --> 00:10:41,440 Men konton då som är senare.

227 00:10:41,980 --> 00:10:44,300 De har liksom gått upp till nio digits istället.

228 00:10:45,520 --> 00:10:47,280 Och nu börjar man snart komma in på vad som händer då.

229 00:10:47,800 --> 00:10:50,460 Och baserat på deras tester så har de dratt slutsats.

230 00:10:50,460 --> 00:10:54,600 Så att github skapar ungefär 200 000 nya id per dag.

231 00:10:55,580 --> 00:10:56,620 Och då har de tänkt att så.

232 00:10:56,660 --> 00:10:58,660 Eftersom det är så snabbt.

233 00:10:58,660 --> 00:11:03,600 Så kommer liksom för varje given sexdigit kombination i maintainer-id-it.

234 00:11:04,280 --> 00:11:06,400 Och längre i den än så.

235 00:11:07,100 --> 00:11:10,280 Kommer göra att typ ungefär var femte dag.

236 00:11:10,860 --> 00:11:12,320 Så kommer de få en match.

237 00:11:12,640 --> 00:11:13,160 Snyggt.

238 00:11:13,180 --> 00:11:14,060 Ja det blir bättre.

239 00:11:14,460 --> 00:11:15,460 Så vad gör de då.

240 00:11:15,620 --> 00:11:16,200 Och då har de ju.

241 00:11:16,340 --> 00:11:17,740 Alltså jag älskar Wizz.

242 00:11:17,860 --> 00:11:19,300 Då har de också dubbat det här.

243 00:11:19,740 --> 00:11:21,560 The recurring window of opportunity.

244 00:11:22,180 --> 00:11:23,520 Det kallar de för Eclipse.

245 00:11:23,520 --> 00:11:25,320 The moment new and longer id.

246 00:11:25,320 --> 00:11:28,320 Perfectly shadows the truster maintainer-id.

247 00:11:28,320 --> 00:11:31,820 Så de preppar alla de här executions.

248 00:11:31,820 --> 00:11:33,820 Tänkte att jag ser liksom ett curl.

249 00:11:33,820 --> 00:11:36,820 Jag ser liksom ett källskript med en massa curl-kommandon här.

250 00:11:36,820 --> 00:11:37,320 Och så bara.

251 00:11:37,320 --> 00:11:39,320 Klick och så händer det liksom.

252 00:11:39,320 --> 00:11:42,320 Och det som händer då är att de bygger klart de här.

253 00:11:42,320 --> 00:11:45,320 De bygger ett tool för att göra detta.

254 00:11:45,320 --> 00:11:47,320 Och sen så exekverar de det då.

255 00:11:47,320 --> 00:11:51,320 De väntar tills det live-id-et är hundra id-en ifrån.

256 00:11:51,320 --> 00:11:53,320 Ja för det kan de se när de kommer nu.

257 00:11:53,320 --> 00:11:54,320 Exakt.

258 00:11:54,320 --> 00:11:58,320 Och sen så går de in på alla de prepopulerade url-erna samtidigt.

259 00:11:58,320 --> 00:12:00,320 Tvåhundra stycken samtidigt.

260 00:12:00,320 --> 00:12:03,320 Och då tryggar de en jätteflodd då.

261 00:12:03,320 --> 00:12:05,320 Av nya registrerings-id-en.

262 00:12:05,320 --> 00:12:08,320 Då vet de liksom att där kommer vi få träff.

263 00:12:08,320 --> 00:12:08,820 Exakt.

264 00:12:08,820 --> 00:12:14,320 Och då fick de en truster maintainer-id för avs-avs-sdk-js version 3.

265 00:12:14,320 --> 00:12:15,320 Så då är de alltså.

266 00:12:15,320 --> 00:12:17,320 För det var ett tidigt konto då.

267 00:12:17,320 --> 00:12:17,820 Aaaah.

268 00:12:17,820 --> 00:12:19,320 Så det var targetat dessutom mot.

269 00:12:19,320 --> 00:12:21,320 Då får de den sektionen typ.

270 00:12:21,320 --> 00:12:22,320 Då blir de admin.

271 00:12:22,320 --> 00:12:22,820 Admin.

272 00:12:22,820 --> 00:12:23,320 Admin över det redan.

273 00:12:23,320 --> 00:12:23,820 Admin.

274 00:12:23,820 --> 00:12:24,820 Det repot.

275 00:12:24,820 --> 00:12:25,320 Aaaah vad snyggt.

276 00:12:25,320 --> 00:12:26,820 Och det är ju inget dåligt repo bara.

277 00:12:26,820 --> 00:12:27,320 Nej.

278 00:12:28,320 --> 00:12:29,820 Det är så jävla snyggt det där.

279 00:12:29,820 --> 00:12:32,820 Men det känns som att det finns ju säkert fler intressanta mål där.

280 00:12:32,820 --> 00:12:33,320 Herregud ja.

281 00:12:33,320 --> 00:12:34,320 Med samma metod.

282 00:12:34,320 --> 00:12:35,320 Alla tidiga konton.

283 00:12:35,320 --> 00:12:37,820 Man vet ju inte hur många andra repon som redan har.

284 00:12:37,820 --> 00:12:39,820 Och så har de kommit överens med avs.

285 00:12:39,820 --> 00:12:40,320 Ja.

286 00:12:40,320 --> 00:12:41,320 Vi får göra en grej av det här.

287 00:12:41,320 --> 00:12:42,320 En får vi göra.

288 00:12:42,320 --> 00:12:43,320 Ja och då tog vi den här.

289 00:12:43,320 --> 00:12:43,820 Ja.

290 00:12:43,820 --> 00:12:46,320 De kan ju ha alla avs-konton.

291 00:12:46,320 --> 00:12:48,320 Deras payload i det här fallet då.

292 00:12:48,320 --> 00:12:52,820 Fick ju github token och kunde dumpa allt minne i de processerna som kördes.

293 00:12:52,820 --> 00:12:54,820 Vilket man kan göra.

294 00:12:54,820 --> 00:12:57,820 Och då får man ju också att man kan ju få.

295 00:12:57,820 --> 00:13:03,820 Ja tidigare så har det ju funnits lite mitigations i memory på codebuild.

296 00:13:03,820 --> 00:13:06,820 Vilket gör att man kan gå hur långt bakast som helst men.

297 00:13:06,820 --> 00:13:10,820 Alltså för man får ju bara access till den runner som man är i.

298 00:13:10,820 --> 00:13:12,820 Och det är det som är kanske det tråkiga med codebuild.

299 00:13:12,820 --> 00:13:14,820 Att det är just en serverless.

300 00:13:14,820 --> 00:13:16,820 Det är liksom just in time builds.

301 00:13:16,820 --> 00:13:18,820 Eller just in time continuous integration.

302 00:13:18,820 --> 00:13:20,820 Så men tidigare har det inte varit så.

303 00:13:20,820 --> 00:13:22,820 Då har man kunnat nå historien på bygget också.

304 00:13:22,820 --> 00:13:24,820 Då kan man ju se subprocesser och sånt.

305 00:13:24,820 --> 00:13:26,820 Men i det här fallet så.

306 00:13:26,820 --> 00:13:28,820 Jag skiter lite i avs och hela det här.

307 00:13:28,820 --> 00:13:31,820 Det snygga är här att vi ser ett regexp.

308 00:13:31,820 --> 00:13:33,820 Vi har situational awareness nog.

309 00:13:33,820 --> 00:13:36,820 Och förstå att det här matchar bara från och till.

310 00:13:36,820 --> 00:13:38,820 Allting emellan är okej.

311 00:13:38,820 --> 00:13:41,820 Dra slutsatsen till att i början på github.

312 00:13:41,820 --> 00:13:43,820 Så var i dina sex tecken.

313 00:13:43,820 --> 00:13:48,820 Vi har en liten idé om att det är 200 000 som skapas per dag.

314 00:13:48,820 --> 00:13:50,820 Och sen lite enkel matte.

315 00:13:50,820 --> 00:13:53,820 Hur de har ökat över tid till fler tecken.

316 00:13:53,820 --> 00:13:54,820 Som bara så här.

317 00:13:54,820 --> 00:13:56,820 Ja det här kommer ju vara rimligt.

318 00:13:56,820 --> 00:13:58,820 Att vi får en kollision ganska snabbt.

319 00:13:58,820 --> 00:13:59,820 Och sen då räkna ut.

320 00:13:59,820 --> 00:14:00,820 Ja vad femte dag visar det sig.

321 00:14:00,820 --> 00:14:03,820 Alltså det är det här jag menar med min spaning.

322 00:14:03,820 --> 00:14:04,820 Som det kommer att vara senare.

323 00:14:04,820 --> 00:14:05,820 Det är så här.

324 00:14:05,820 --> 00:14:06,820 Det är så snyggt.

325 00:14:06,820 --> 00:14:07,820 Så att what the fuck.

326 00:14:07,820 --> 00:14:10,820 Och sen förbereder man 200 prepopulerade url.

327 00:14:10,820 --> 00:14:11,820 Och så bara.

328 00:14:11,820 --> 00:14:12,820 Så.

329 00:14:12,820 --> 00:14:13,820 Och så är man admin.

330 00:14:13,820 --> 00:14:15,820 Det låter superenkelt.

331 00:14:15,820 --> 00:14:17,820 Kanske för ni som lyssnar nu.

332 00:14:17,820 --> 00:14:19,820 Men det är så mycket rörliga grejer här.

333 00:14:19,820 --> 00:14:22,820 Som jag förstår på liksom grundstilsnivå.

334 00:14:22,820 --> 00:14:24,820 Jag har lite gåshud har jag faktiskt.

335 00:14:24,820 --> 00:14:26,820 Det jag sitter och funderar på här är.

336 00:14:26,820 --> 00:14:28,820 Alltså en logisk beslutdelning är ju som sagt.

337 00:14:28,820 --> 00:14:30,820 Det här var ett konto de gick på.

338 00:14:30,820 --> 00:14:31,820 Exakt.

339 00:14:31,820 --> 00:14:32,820 Ett utav de här femsiffriga kontorna.

340 00:14:32,820 --> 00:14:33,820 Eller var det sexsiffrigt?

341 00:14:33,820 --> 00:14:35,820 Jag vet inte.

342 00:14:35,820 --> 00:14:36,820 Det finns ju flera.

343 00:14:36,820 --> 00:14:38,820 De kan förmodligen med fem dagars mellanrum.

344 00:14:38,820 --> 00:14:40,820 Kan de välja vilket de vill utav dem.

345 00:14:40,820 --> 00:14:42,820 Och göra precis samma sak.

346 00:14:42,820 --> 00:14:43,820 Ja.

347 00:14:43,820 --> 00:14:44,820 Att de inte gör det.

348 00:14:44,820 --> 00:14:47,820 Måste ju betyda att de samarbetar med AVS.

349 00:14:47,820 --> 00:14:48,820 Är det den frågan?

350 00:14:48,820 --> 00:14:49,820 Ja.

351 00:14:49,820 --> 00:14:50,820 De är konkurrenter.

352 00:14:50,820 --> 00:14:51,820 Exakt.

353 00:14:51,820 --> 00:14:53,820 Men Google har ju en liten annan.

354 00:14:53,820 --> 00:14:54,820 De har ju.

355 00:14:54,820 --> 00:14:55,820 Absolut.

356 00:14:55,820 --> 00:14:56,820 Jag tror.

357 00:14:56,820 --> 00:14:58,820 Alltså Wizz gör ju en fet.

358 00:14:58,820 --> 00:14:59,820 Wizz cloud.

359 00:14:59,820 --> 00:15:01,820 Är ju världens dyraste jävla.

360 00:15:01,820 --> 00:15:03,820 Alltså det är supersnyggt.

361 00:15:03,820 --> 00:15:05,820 Men det kostar hur mycket pengar som helst.

362 00:15:05,820 --> 00:15:06,820 Och det är ju framförallt.

363 00:15:06,820 --> 00:15:07,820 Det är en cloud CSPM.

364 00:15:07,820 --> 00:15:08,820 En sen app.

365 00:15:08,820 --> 00:15:10,820 Cloud Native Application Protection Platform.

366 00:15:10,820 --> 00:15:11,820 Den typ.

367 00:15:11,820 --> 00:15:13,820 Köp den för alla dina pengar.

368 00:15:13,820 --> 00:15:15,820 Och så får du reda precis hur dina applikationer mår.

369 00:15:15,820 --> 00:15:16,820 I AVS.

370 00:15:16,820 --> 00:15:17,820 Och hur de kommer att må sen.

371 00:15:17,820 --> 00:15:18,820 Och AVS jobbar ju.

372 00:15:18,820 --> 00:15:21,820 Med liknande funktionalitet.

373 00:15:21,820 --> 00:15:23,820 Deras är inte lika bra och mogra.

374 00:15:23,820 --> 00:15:24,820 Men de försöker ju jobba i kapp.

375 00:15:24,820 --> 00:15:25,820 Ja.

376 00:15:25,820 --> 00:15:26,820 Och då sitter man och funderar på.

377 00:15:26,820 --> 00:15:28,820 Nu har vi alltså en leverantör.

378 00:15:28,820 --> 00:15:29,820 Och en konkurrent.

379 00:15:29,820 --> 00:15:30,820 Som har.

380 00:15:30,820 --> 00:15:31,820 Jävligt mycket.

381 00:15:31,820 --> 00:15:33,820 Information de kan släppa.

382 00:15:33,820 --> 00:15:34,820 Som inte.

383 00:15:34,820 --> 00:15:35,820 Som kommer göra ont för AVS.

384 00:15:35,820 --> 00:15:36,820 Så jag undrar hur mycket.

385 00:15:36,820 --> 00:15:37,820 Vad fick de?

386 00:15:37,820 --> 00:15:38,820 För att tala tyst om det här.

387 00:15:38,820 --> 00:15:39,820 Ja det kan man.

388 00:15:39,820 --> 00:15:40,820 Det är ju.

389 00:15:40,820 --> 00:15:41,820 Trusted supplier.

390 00:15:41,820 --> 00:15:42,820 Det är som också.

391 00:15:42,820 --> 00:15:43,820 Det är också.

392 00:15:43,820 --> 00:15:44,820 Om man så här.

393 00:15:44,820 --> 00:15:45,820 Man kan läsa mellan raderna då.

394 00:15:45,820 --> 00:15:46,820 Det är ju då att.

395 00:15:46,820 --> 00:15:47,820 AVS, STK, GIS, Automation.

396 00:15:47,820 --> 00:15:48,820 Hette servicekontot.

397 00:15:48,820 --> 00:15:49,820 Den var ju här i fulla.

398 00:15:49,820 --> 00:15:50,820 Administratörs rättigheter.

399 00:15:50,820 --> 00:15:51,820 Över hela repot.

400 00:15:51,820 --> 00:15:52,820 Och här kan man också så här.

401 00:15:52,820 --> 00:15:53,820 Börja fundera lite då.

402 00:15:53,820 --> 00:15:54,820 Ska man göra så här verkligen.

403 00:15:54,820 --> 00:15:55,820 Det lämnar vi där än.

404 00:15:55,820 --> 00:15:56,820 Men det kanske man inte ska.

405 00:15:56,820 --> 00:15:57,820 Men någonting som också.

406 00:15:57,820 --> 00:15:58,820 Är ganska roligt.

407 00:15:58,820 --> 00:15:59,820 Det är ju då att.

408 00:15:59,820 --> 00:16:00,820 Lite subtilt här.

409 00:16:00,820 --> 00:16:01,820 Så säger de ju också.

410 00:16:01,820 --> 00:16:02,820 Det är då att.

411 00:16:02,820 --> 00:16:03,820 Vi fick ju faktiskt.

412 00:16:03,820 --> 00:16:04,820 Geotokenen.

413 00:16:04,820 --> 00:16:05,820 Det.

414 00:16:05,820 --> 00:16:06,820 Det tänker.

415 00:16:06,820 --> 00:16:07,820 Man kanske så här.

416 00:16:07,820 --> 00:16:08,820 I first glance bara.

417 00:16:08,820 --> 00:16:09,820 Men det är fanfett ändå.

418 00:16:09,820 --> 00:16:10,820 Då är man dödsad.

419 00:16:10,820 --> 00:16:11,820 Men det är man.

420 00:16:11,820 --> 00:16:12,820 Men de är inte så långlivade.

421 00:16:12,820 --> 00:16:13,820 Så.

422 00:16:13,820 --> 00:16:14,820 Så.

423 00:16:14,820 --> 00:16:15,820 Så.

424 00:16:15,820 --> 00:16:16,820 Så.

425 00:16:17,820 --> 00:16:18,820 Men faktiskt.

426 00:16:18,820 --> 00:16:19,820 De håller inte så jävla länge.

427 00:16:19,820 --> 00:16:20,820 Det beror lite på.

428 00:16:20,820 --> 00:16:21,820 Men det de gör.

429 00:16:21,820 --> 00:16:22,820 Är ju att.

430 00:16:22,820 --> 00:16:23,820 De har ju också möjlighet.

431 00:16:23,820 --> 00:16:24,820 Att dumpa minnet.

432 00:16:24,820 --> 00:16:25,820 Där det händer.

433 00:16:25,820 --> 00:16:26,820 Så är det så att.

434 00:16:26,820 --> 00:16:27,820 Det triggar en automationsprocess.

435 00:16:27,820 --> 00:16:28,820 Som bygger andra grejer.

436 00:16:28,820 --> 00:16:29,820 Där CodeBuild.

437 00:16:29,820 --> 00:16:30,820 Är ansvarig för integrationen.

438 00:16:30,820 --> 00:16:31,820 Då kommer de.

439 00:16:31,820 --> 00:16:32,820 Att ligga i minnet.

440 00:16:32,820 --> 00:16:33,820 Så.

441 00:16:33,820 --> 00:16:34,820 Om du gör en bild.

442 00:16:34,820 --> 00:16:35,820 Så kommer ju.

443 00:16:35,820 --> 00:16:36,820 Din geotoken.

444 00:16:36,820 --> 00:16:37,820 Gör att du.

445 00:16:37,820 --> 00:16:38,820 Når den här.

446 00:16:38,820 --> 00:16:39,820 Serverlessinstansen.

447 00:16:39,820 --> 00:16:40,820 Med administratörs rättigheter.

448 00:16:40,820 --> 00:16:41,820 Så att du kan.

449 00:16:41,820 --> 00:16:42,820 Dumpa allt minne.

450 00:16:42,820 --> 00:16:43,820 Som den gör.

451 00:16:43,820 --> 00:16:44,820 Även efter de pipelines.

452 00:16:44,820 --> 00:16:45,820 Som du har exekvererat.

453 00:16:45,820 --> 00:16:46,820 Kör.

454 00:16:46,820 --> 00:16:47,820 Det vill säga.

455 00:16:47,820 --> 00:16:48,820 Du kommer kunna se.

456 00:16:48,820 --> 00:16:49,820 Subdependencies.

457 00:16:49,820 --> 00:16:50,820 Och allt möjligt där.

458 00:16:50,820 --> 00:16:51,820 Där kan man ju tänka sig.

459 00:16:51,820 --> 00:16:52,820 Att man bootstrappar.

460 00:16:52,820 --> 00:16:53,820 Kanske.

461 00:16:53,820 --> 00:16:54,820 Lite allt möjligt.

462 00:16:54,820 --> 00:16:55,820 Roligt.

463 00:16:55,820 --> 00:16:56,820 I backenden.

464 00:16:56,820 --> 00:16:57,820 På.

465 00:16:57,820 --> 00:16:58,820 AVS.

466 00:16:58,820 --> 00:16:59,820 När man börjar rulla ut.

467 00:16:59,820 --> 00:17:00,820 Nya resurser.

468 00:17:00,820 --> 00:17:01,820 Som ska distribueras.

469 00:17:01,820 --> 00:17:02,820 Överallt.

470 00:17:02,820 --> 00:17:03,820 Så att.

471 00:17:03,820 --> 00:17:04,820 Det där är nog.

472 00:17:04,820 --> 00:17:05,820 Det där skulle vara jättekul.

473 00:17:05,820 --> 00:17:06,820 Så det är ju.

474 00:17:06,820 --> 00:17:07,820 GitHub credentials.

475 00:17:07,820 --> 00:17:08,820 Är det ju.

476 00:17:08,820 --> 00:17:09,820 Det ligger i byggminnet.

477 00:17:09,820 --> 00:17:10,820 Men.

478 00:17:10,820 --> 00:17:11,820 Det är ju.

479 00:17:11,820 --> 00:17:12,820 Det finns säkert.

480 00:17:12,820 --> 00:17:13,820 Liksom en uppsjö.

481 00:17:13,820 --> 00:17:14,820 Med olika Linux.

482 00:17:14,820 --> 00:17:15,820 Exploits.

483 00:17:15,820 --> 00:17:16,820 Liksom.

484 00:17:16,820 --> 00:17:17,820 Bra hack.

485 00:17:17,820 --> 00:17:18,820 Alltså.

486 00:17:18,820 --> 00:17:19,820 Jag.

487 00:17:19,820 --> 00:17:20,820 Får gås ut.

488 00:17:20,820 --> 00:17:21,820 När jag tittar på det.

489 00:17:21,820 --> 00:17:22,820 Det här.

490 00:17:22,820 --> 00:17:23,820 Länkar vi i våra show notes.

491 00:17:23,820 --> 00:17:24,820 För det här är verkligen.

492 00:17:24,820 --> 00:17:25,820 Värt att läsa.

493 00:17:25,820 --> 00:17:26,820 Det är.

494 00:17:26,820 --> 00:17:27,820 Välskrivet.

495 00:17:27,820 --> 00:17:28,820 Och.

496 00:17:28,820 --> 00:17:29,820 Så jävla fett.

497 00:17:29,820 --> 00:17:30,820 Nice.

498 00:17:30,820 --> 00:17:31,820 2026 börjar starkt.

499 00:17:31,820 --> 00:17:32,820 Det gör det faktiskt.

500 00:17:32,820 --> 00:17:33,820 Peter.

501 00:17:33,820 --> 00:17:34,820 Ja.

502 00:17:34,820 --> 00:17:35,820 Det var.

503 00:17:35,820 --> 00:17:36,820 Några.

504 00:17:36,820 --> 00:17:37,820 Glada människor.

505 00:17:37,820 --> 00:17:38,820 Som.

506 00:17:38,820 --> 00:17:39,820 De hittade.

507 00:17:39,820 --> 00:17:40,820 Ett.

508 00:17:40,820 --> 00:17:41,820 Gammalt band.

509 00:17:41,820 --> 00:17:42,820 Där det.

510 00:17:42,820 --> 00:17:43,820 Jag vet inte exakt.

511 00:17:43,820 --> 00:17:44,820 Vad det stod på det.

512 00:17:44,820 --> 00:17:45,820 Men det gav dem.

513 00:17:45,820 --> 00:17:46,820 Sammanhanget.

514 00:17:46,820 --> 00:17:47,820 Att.

515 00:17:47,820 --> 00:17:48,820 Det här.

516 00:17:48,820 --> 00:17:49,820 Kanske.

517 00:17:49,820 --> 00:17:50,820 Bor.

518 00:17:50,820 --> 00:17:51,820 En gammal.

519 00:17:51,820 --> 00:17:52,820 Unix.

520 00:17:52,820 --> 00:17:53,820 V4.

521 00:17:53,820 --> 00:17:54,820 Eller något liknande.

522 00:17:54,820 --> 00:17:55,820 På den.

523 00:17:55,820 --> 00:17:56,820 Så de.

524 00:17:56,820 --> 00:17:57,820 Tog.

525 00:17:57,820 --> 00:17:58,820 Tydligen bandet.

526 00:17:58,820 --> 00:17:59,820 Och förvarade det.

527 00:17:59,820 --> 00:18:00,820 Jätteförsiktigt.

528 00:18:00,820 --> 00:18:01,820 Och så.

529 00:18:01,820 --> 00:18:02,820 Begav de sig.

530 00:18:02,820 --> 00:18:03,820 I väg.

531 00:18:03,820 --> 00:18:04,820 Till.

532 00:18:04,820 --> 00:18:05,820 Rätt.

533 00:18:05,820 --> 00:18:06,820 Typ av.

534 00:18:06,820 --> 00:18:07,820 Universitet.

535 00:18:07,820 --> 00:18:08,820 Eller.

536 00:18:08,820 --> 00:18:09,820 Arkvarie.

537 00:18:09,820 --> 00:18:10,820 Lokaler.

538 00:18:10,820 --> 00:18:11,820 Gammal.

539 00:18:11,820 --> 00:18:12,820 64.

540 00:18:12,820 --> 00:18:13,820 Nörd.

541 00:18:13,820 --> 00:18:14,820 Från.

542 00:18:14,820 --> 00:18:15,820 80-talet.

543 00:18:15,820 --> 00:18:16,820 Det var.

544 00:18:16,820 --> 00:18:17,820 Det enda sättet.

545 00:18:17,820 --> 00:18:18,820 Att hitta någonting.

546 00:18:18,820 --> 00:18:19,820 Som kan läsa band.

547 00:18:19,820 --> 00:18:20,820 Nu för tiden.

548 00:18:20,820 --> 00:18:21,820 Nej nej nej.

549 00:18:21,820 --> 00:18:22,820 Alltså.

550 00:18:22,820 --> 00:18:23,820 Såna här.

551 00:18:23,820 --> 00:18:24,820 Stora.

552 00:18:24,820 --> 00:18:25,820 Seriösa.

553 00:18:25,820 --> 00:18:26,820 Dyra band.

554 00:18:26,820 --> 00:18:27,820 Var det.

555 00:18:27,820 --> 00:18:28,820 Sånt riktigt.

556 00:18:28,820 --> 00:18:29,820 Ja.

557 00:18:29,820 --> 00:18:30,820 Det här är.

558 00:18:30,820 --> 00:18:31,820 Som tape backup.

559 00:18:31,820 --> 00:18:32,820 Ja.

560 00:18:32,820 --> 00:18:33,820 Nu kommer jag inte ihåg.

561 00:18:33,820 --> 00:18:34,820 När.

562 00:18:34,820 --> 00:18:35,820 Unix.

563 00:18:35,820 --> 00:18:36,820 V4.

564 00:18:36,820 --> 00:18:37,820 Var en grej.

565 00:18:37,820 --> 00:18:38,820 Men.

566 00:18:38,820 --> 00:18:39,820 Men.

567 00:18:39,820 --> 00:18:40,820 Jag vet att det stod.

568 00:18:40,820 --> 00:18:41,820 Bland annat.

569 00:18:41,820 --> 00:18:42,820 Att.

570 00:18:42,820 --> 00:18:43,820 Det är långt.

571 00:18:43,820 --> 00:18:44,820 Över.

572 00:18:44,820 --> 00:18:45,820 Var en.

573 00:18:45,820 --> 00:18:46,820 Tarfil.

574 00:18:46,820 --> 00:18:47,820 Som innehöll.

575 00:18:47,820 --> 00:18:48,820 Nästan hela.

576 00:18:48,820 --> 00:18:49,820 Unix.

577 00:18:49,820 --> 00:18:50,820 V4.

578 00:18:50,820 --> 00:18:51,820 Och man.

579 00:18:51,820 --> 00:18:52,820 Lyckades.

580 00:18:52,820 --> 00:18:53,820 Man.

581 00:18:53,820 --> 00:18:54,820 Man har nu lyckats.

582 00:18:54,820 --> 00:18:55,820 Kompilera det.

583 00:18:55,820 --> 00:18:56,820 Och.

584 00:18:56,820 --> 00:18:57,820 Kunnat köra det.

585 00:18:57,820 --> 00:18:58,820 På.

586 00:18:58,820 --> 00:18:59,820 En.

587 00:18:59,820 --> 00:19:00,820 Pdp.

588 00:19:00,820 --> 00:19:01,820 11.

589 00:19:01,820 --> 00:19:02,820 Det.

590 00:19:02,820 --> 00:19:03,820 Är tydligen.

591 00:19:03,820 --> 00:19:04,820 Vissa.

592 00:19:04,820 --> 00:19:05,820 Coola.

593 00:19:05,820 --> 00:19:06,820 Version.

594 00:19:06,820 --> 00:19:07,820 Av.

595 00:19:07,820 --> 00:19:08,820 Pdp.

596 00:19:08,820 --> 00:19:09,820 11.

597 00:19:09,820 --> 00:19:10,820 Som klarar av.

598 00:19:10,820 --> 00:19:11,820 Att köra.

599 00:19:11,820 --> 00:19:12,820 Det här.

600 00:19:12,820 --> 00:19:13,820 Unix.

601 00:19:13,820 --> 00:19:14,820 V4.

602 00:19:14,820 --> 00:19:15,820 Koden.

603 00:19:15,820 --> 00:19:16,820 Och.

604 00:19:16,820 --> 00:19:17,820 Su.

605 00:19:17,820 --> 00:19:18,820 Koden.

606 00:19:18,820 --> 00:19:19,820 Och.

607 00:19:19,820 --> 00:19:20,820 Se.

608 00:19:20,820 --> 00:19:21,820 Den.

609 00:19:21,820 --> 00:19:22,820 Där.

610 00:19:22,820 --> 00:19:23,820 Ser.

611 00:19:23,820 --> 00:19:24,820 Lite.

612 00:19:24,820 --> 00:19:25,820 Skummigt.

613 00:19:25,820 --> 00:19:26,820 Om.

614 00:19:26,820 --> 00:19:27,820 Man.

615 00:19:27,820 --> 00:19:28,820 Tittar.

616 00:19:28,820 --> 00:19:29,820 På.

617 00:19:29,820 --> 00:19:30,820 Den.

618 00:19:30,820 --> 00:19:31,820 Med.

619 00:19:31,820 --> 00:19:32,820 Moderna.

620 00:19:32,820 --> 00:19:33,820 Ögon.

621 00:19:33,820 --> 00:19:34,820 Men.

622 00:19:34,820 --> 00:19:35,820 Jag.

623 00:19:35,820 --> 00:19:36,820 Diskuterar.

624 00:19:36,820 --> 00:19:37,820 Med.

625 00:19:37,820 --> 00:19:38,820 Vänner.

626 00:19:38,820 --> 00:19:39,820 Konstaterar.

627 00:19:39,820 --> 00:19:40,820 De.

628 00:19:40,820 --> 00:19:41,820 Människorna.

629 00:19:41,820 --> 00:19:42,820 Som.

630 00:19:42,820 --> 00:19:43,820 Ställs.

631 00:19:43,820 --> 00:19:44,820 Där.

632 00:19:44,820 --> 00:19:45,820 På.

633 00:19:45,820 --> 00:19:46,820 Massa.

634 00:19:46,820 --> 00:19:47,820 Ställen.

635 00:19:47,820 --> 00:19:48,820 Och.

636 00:19:48,820 --> 00:19:49,820 Det.

637 00:19:49,820 --> 00:19:50,820 Tycker.

638 00:19:50,820 --> 00:19:51,820 Jag.

639 00:19:51,820 --> 00:19:52,820 Med.

640 00:19:52,820 --> 00:19:53,820 Mina.

641 00:19:53,820 --> 00:19:54,820 2026.

642 00:19:54,820 --> 00:19:55,820 Ögon.

643 00:19:55,820 --> 00:19:56,820 Att.

644 00:19:56,820 --> 00:19:57,820 Det.

645 00:19:57,820 --> 00:19:58,820 Här.

646 00:19:58,820 --> 00:19:59,820 Verkar.

647 00:19:59,820 --> 00:20:00,820 Konstigt.

648 00:20:00,820 --> 00:20:01,820 Men.

649 00:20:01,820 --> 00:20:02,820 Men.

650 00:20:02,820 --> 00:20:03,820 Jag.

651 00:20:03,820 --> 00:20:04,820 Lägger.

652 00:20:04,820 --> 00:20:05,820 En.

653 00:20:05,820 --> 00:20:06,820 Stor.

654 00:20:06,820 --> 00:20:07,820 Reservation.

655 00:20:07,820 --> 00:20:08,820 För.

656 00:20:08,820 --> 00:20:09,820 Att.

657 00:20:09,820 --> 00:20:10,820 De.

658 00:20:10,820 --> 00:20:13,820 Får enkelt.

659 00:20:13,820 --> 00:20:14,820 Enkelt.

660 00:20:14,820 --> 00:20:15,820 Komando.

661 00:20:15,820 --> 00:20:16,820 Kota.

662 00:20:16,820 --> 00:20:17,820 Jag.

663 00:20:17,820 --> 00:20:18,820 Alla.

664 00:20:18,820 --> 00:20:19,820 Alla.

665 00:20:19,820 --> 00:20:20,820 Dom.

666 00:20:20,820 --> 00:20:21,820 Mellan.

667 00:20:21,820 --> 00:20:22,820 Noll och en.

668 00:20:22,820 --> 00:20:23,820 V4.

669 00:20:23,820 --> 00:20:24,820 Installer.

670 00:20:24,820 --> 00:20:25,820 Snurrar.

671 00:20:25,820 --> 00:20:26,820 Som.

672 00:20:26,820 --> 00:20:27,820 Vi.

673 00:20:27,820 --> 00:20:28,820 Måste.

674 00:20:28,820 --> 00:20:29,820 Säkra.

675 00:20:29,820 --> 00:20:30,820 Våra.

676 00:20:30,820 --> 00:20:31,820 Simulatorer.

677 00:20:31,820 --> 00:20:33,820 Att.

678 00:20:33,820 --> 00:20:34,820 En.

679 00:20:34,820 --> 00:20:35,820 Enkel.

680 00:20:35,820 --> 00:20:36,820 Rättning.

681 00:20:36,820 --> 00:20:37,820 I.

682 00:20:37,820 --> 00:20:38,820 Komandot.

683 00:20:38,820 --> 00:20:39,820 Som.

684 00:20:39,820 --> 00:20:41,900 som är liksom såhär

685 00:20:41,900 --> 00:20:43,360 om du tänker alla SU

686 00:20:43,360 --> 00:20:45,720 och alla SU-kommando och annat som du har idag

687 00:20:45,720 --> 00:20:47,540 kan du tänka dig att de är liksom

688 00:20:47,540 --> 00:20:49,700 barnbarnens barnbarns barnbarns

689 00:20:49,700 --> 00:20:50,900 barnbarn till det som

690 00:20:50,900 --> 00:20:53,440 och nu har någon tatt den här deras gamla

691 00:20:53,440 --> 00:20:54,740 uråldriga förälder och

692 00:20:54,740 --> 00:20:58,120 reddat den mot det säkerhetshållet

693 00:20:58,120 --> 00:20:58,800 som den har haft.

694 00:20:59,620 --> 00:21:00,980 Men typ

695 00:21:00,980 --> 00:21:03,920 Unix V4 har fått en säkerhetsrättning

696 00:21:03,920 --> 00:21:05,120 PDP

697 00:21:05,120 --> 00:21:07,640 PDP 11

698 00:21:07,640 --> 00:21:09,220 och simulatorerna behöver inte känna sig

699 00:21:09,220 --> 00:21:10,100 hotade längre.

700 00:21:10,420 --> 00:21:13,620 Det är bara att säga att Unix V4 släpptes 1973.

701 00:21:14,520 --> 00:21:15,540 Ja men då var det ändå på tiden

702 00:21:15,540 --> 00:21:16,300 att de fixade det här.

703 00:21:16,300 --> 00:21:18,100 Men det är efter epok eller?

704 00:21:18,440 --> 00:21:19,680 Jo men det är efter epok.

705 00:21:20,660 --> 00:21:21,180 Ja det är det.

706 00:21:21,860 --> 00:21:23,620 Ja det är väl 70-01-01 eller något här.

707 00:21:25,020 --> 00:21:25,700 Ska vi

708 00:21:25,700 --> 00:21:27,260 prata lite båtar eller?

709 00:21:27,460 --> 00:21:29,980 Alldeles för lite båtprat i den här

710 00:21:29,980 --> 00:21:31,180 showen faktiskt.

711 00:21:31,280 --> 00:21:33,160 Och vi är ändå i Göteborg som man kan tycka att det bor bra med.

712 00:21:34,040 --> 00:21:36,460 Känner ni till företaget Blue Spark Global?

713 00:21:36,840 --> 00:21:38,340 Det är ju ett household name ändå.

714 00:21:38,840 --> 00:21:39,200 Ja det är

715 00:21:39,200 --> 00:21:41,680 väldigt, alla har ju koll på dem.

716 00:21:41,780 --> 00:21:44,100 Eller hur? Jag känner inte heller till dem

717 00:21:44,100 --> 00:21:45,240 innan jag läser den här artikeln.

718 00:21:45,300 --> 00:21:47,360 Men det vill säga att Blue Spark Global är

719 00:21:47,360 --> 00:21:48,700 en av de ledande

720 00:21:48,700 --> 00:21:51,440 firmorna inom logistikmjukvara.

721 00:21:51,860 --> 00:21:53,660 Så de hanterar

722 00:21:53,660 --> 00:21:55,280 en försvarlig del av

723 00:21:55,280 --> 00:21:57,420 logistiksoftware

724 00:21:57,420 --> 00:21:59,180 för allt som skeppas

725 00:21:59,180 --> 00:22:00,600 runt på de

726 00:22:00,600 --> 00:22:02,960 sju haven. Ja hålla koll på

727 00:22:02,960 --> 00:22:05,020 container och sånt. Jag tycker känslan om att de har

728 00:22:05,020 --> 00:22:05,900 software as a service.

729 00:22:06,180 --> 00:22:08,780 De hostar känslan själva.

730 00:22:09,200 --> 00:22:11,080 Ja precis. Så är du

731 00:22:11,080 --> 00:22:13,060 kund där och planerar dina shipments

732 00:22:13,060 --> 00:22:13,480 och sånt.

733 00:22:14,700 --> 00:22:16,860 Det var en snubbe här som heter

734 00:22:16,860 --> 00:22:18,920 Ethon Sweer. Vilket är

735 00:22:18,920 --> 00:22:21,260 ett bra namn tycker jag. Ethon Sweer

736 00:22:21,260 --> 00:22:22,820 med Z. Såklart.

737 00:22:23,360 --> 00:22:25,040 Han hade varit inne och kollat

738 00:22:25,040 --> 00:22:26,620 på någon av kundernas

739 00:22:26,620 --> 00:22:28,480 en kund till Blue Spark sa

740 00:22:28,480 --> 00:22:31,080 oklart varför. Men där

741 00:22:31,080 --> 00:22:32,620 fanns i alla fall en kontaktformulär.

742 00:22:33,780 --> 00:22:34,260 Och han

743 00:22:34,260 --> 00:22:36,980 som det finns på många sidotajter. Han gick in och

744 00:22:36,980 --> 00:22:38,260 kollade på det här i alla fall och

745 00:22:38,260 --> 00:22:40,940 noterade att det här ser lite

746 00:22:40,940 --> 00:22:42,840 flummigt ut. API-anropen som

747 00:22:42,840 --> 00:22:44,780 görs när man skickar mail. Så han började

748 00:22:44,780 --> 00:22:46,480 kika lite på den funktionen och såg att

749 00:22:46,480 --> 00:22:47,880 här kan man ju styra

750 00:22:47,880 --> 00:22:50,740 varifrån mailen skickas och till vem

751 00:22:50,740 --> 00:22:52,720 den skickas. Det är ju bra från

752 00:22:52,720 --> 00:22:54,960 ett phishing-synpunkt.

753 00:22:56,080 --> 00:22:56,900 Eller dåligt

754 00:22:56,900 --> 00:22:58,660 beroende på vilken sida man sitter på.

755 00:22:58,840 --> 00:23:00,840 Men han fortsatte i alla fall kolla på det här och gick

756 00:23:00,840 --> 00:23:02,600 helt i soniket till själva

757 00:23:02,600 --> 00:23:04,580 API-domänen. Där fick han upp typ

758 00:23:04,580 --> 00:23:06,740 motsvarande swagger-dokumentation för API-et.

759 00:23:07,040 --> 00:23:08,220 Det är inte helt ovanligt.

760 00:23:08,260 --> 00:23:10,280 Att folk har det exponerat, även om de inte borde ha det.

761 00:23:10,980 --> 00:23:12,380 Det som däremot är lite

762 00:23:12,380 --> 00:23:14,220 ovanligt är att det

763 00:23:14,220 --> 00:23:15,760 visade sig att alla

764 00:23:15,760 --> 00:23:18,380 hela det här API-et var oautentiserat.

765 00:23:18,820 --> 00:23:20,360 Även om det stod det promptar

766 00:23:20,360 --> 00:23:22,020 för användarna av lösenord, men det krävdes inte.

767 00:23:22,900 --> 00:23:24,260 Så det kräver ingen token

768 00:23:24,260 --> 00:23:26,240 för att interagera med API-et. Och i API-et

769 00:23:26,240 --> 00:23:28,220 fanns det en hel del roliga funktioner som bland annat

770 00:23:28,220 --> 00:23:30,720 skapa ny användare med administratörsrättigheter.

771 00:23:31,280 --> 00:23:31,580 Bra.

772 00:23:32,080 --> 00:23:33,980 Vilket han helt soniket då sen gjorde.

773 00:23:34,440 --> 00:23:36,340 Var det här ett blue spark

774 00:23:36,340 --> 00:23:37,560 API då? Ja, det här alltså.

775 00:23:38,260 --> 00:23:40,520 Bluesparks själva egna API då.

776 00:23:40,520 --> 00:23:42,560 Och det var inte en egen

777 00:23:42,560 --> 00:23:44,680 domän för kunden, utan det var ett generiskt

778 00:23:44,680 --> 00:23:46,380 Ja, precis. Så kundens

779 00:23:46,380 --> 00:23:47,840 sajt konsumerade det API-et.

780 00:23:48,160 --> 00:23:50,320 Jag för mig att de hade typ alla säkerhetshåll

781 00:23:50,320 --> 00:23:52,280 om man kan göra en lista. Ja, pretty much.

782 00:23:52,360 --> 00:23:54,000 Jag tror att han rapporterade fem stycken.

783 00:23:54,240 --> 00:23:55,840 De läste ofast de tio

784 00:23:55,840 --> 00:23:58,380 och såg det som att det, så här ska vi göra.

785 00:23:58,640 --> 00:24:00,580 En annan sårbarhet som han hittade då

786 00:24:00,580 --> 00:24:02,260 eller ja, by design får man ju säga, men

787 00:24:02,260 --> 00:24:04,440 ett API-anrop du kunde göra så kunde du

788 00:24:04,440 --> 00:24:06,500 få ut alla användarnamn lösenord i

789 00:24:06,500 --> 00:24:08,000 klartext. Alla? Ja.

790 00:24:08,260 --> 00:24:10,420 Vad sa du, sketmånga då? Kundernas, administratörernas

791 00:24:10,420 --> 00:24:11,940 Ja, men alla kunder också.

792 00:24:12,060 --> 00:24:12,120 Ja.

793 00:24:14,940 --> 00:24:15,940 Så det är ju toppen.

794 00:24:17,260 --> 00:24:18,500 Och sen kunde han ju då

795 00:24:18,500 --> 00:24:20,420 logga in som en administratör och därifrån

796 00:24:20,420 --> 00:24:22,360 så ja, det är ju full owner.

797 00:24:22,540 --> 00:24:24,580 Bob’s your uncle. Ja, där är du hemma.

798 00:24:24,720 --> 00:24:26,440 Det trodde man inte att man skulle se på dagens

799 00:24:26,440 --> 00:24:27,500 hittade. Ett öppet API.

800 00:24:28,220 --> 00:24:29,380 Så är det. Och sen så

801 00:24:29,380 --> 00:24:32,440 är han ju en snäll researcher, så han försöker

802 00:24:32,440 --> 00:24:34,500 ju kontakta de här människorna.

803 00:24:35,180 --> 00:24:36,140 Och först så

804 00:24:36,140 --> 00:24:37,900 snackade han med, vad hette de då?

805 00:24:38,260 --> 00:24:39,920 Maritime Hacking Village.

806 00:24:40,420 --> 00:24:42,040 Som är en non-profit. Bra start ändå.

807 00:24:42,180 --> 00:24:44,360 Ja, non-profit som jobbar med att hjälpa

808 00:24:44,360 --> 00:24:46,180 maritime security typ.

809 00:24:46,220 --> 00:24:47,700 Och de är också en

810 00:24:47,700 --> 00:24:49,920 registrerad, vad heter de?

811 00:24:50,360 --> 00:24:51,680 CNA det heter eller vad det heter.

812 00:24:51,940 --> 00:24:53,840 De får äga CVR och CNA.

813 00:24:54,080 --> 00:24:56,460 Så han snackade med dem och de hörde

814 00:24:56,460 --> 00:24:58,320 av sig till det här bolaget och han hörde av sig

815 00:24:58,320 --> 00:24:59,760 till bolaget och de hörde ingenting.

816 00:25:00,380 --> 00:25:02,460 Han går in på LinkedIn och börjar leta upp

817 00:25:02,460 --> 00:25:04,300 folk som jobbar på det här bolaget och skriver till dem.

818 00:25:04,300 --> 00:25:06,180 Han skriver till vdn, han ringer dem

819 00:25:06,180 --> 00:25:08,220 och lämnar röstmeddelande. Det är bara

820 00:25:08,220 --> 00:25:09,020 radio silence.

821 00:25:10,580 --> 00:25:12,020 Han hör av sig då, efter

822 00:25:12,020 --> 00:25:14,440 mycket om och med så hör han av sig till TechCrunch.

823 00:25:15,340 --> 00:25:16,180 Och så, alltså

824 00:25:16,180 --> 00:25:18,320 de svarar ju inte, ni kanske, kan ni göra

825 00:25:18,320 --> 00:25:19,640 av er? Ni gör ju kanske mer klout.

826 00:25:20,360 --> 00:25:22,400 De hör av sig. De skriver

827 00:25:22,400 --> 00:25:24,120 det upprepade tillfällen

828 00:25:24,120 --> 00:25:25,440 till vdn, får inget svar.

829 00:25:27,560 --> 00:25:28,440 Till slut

830 00:25:28,440 --> 00:25:30,720 så vänder de sig till

831 00:25:30,720 --> 00:25:32,380 Bluesparks

832 00:25:32,380 --> 00:25:33,120 största kund.

833 00:25:34,320 --> 00:25:36,580 Smart! Och hör av sig till dem direkt.

834 00:25:36,840 --> 00:25:38,180 För det är ju lätt att ta reda på vilken av deras största

835 00:25:38,220 --> 00:25:39,980 kunder. Det är ju bara att emnumerera alla användarna

836 00:25:39,980 --> 00:25:41,520 och se hur många det är till varje domän.

837 00:25:41,760 --> 00:25:42,520 Får fortfarande inget svar.

838 00:25:43,740 --> 00:25:46,420 Sen mejlar de ytterligare en gång

839 00:25:46,420 --> 00:25:47,360 till vdn.

840 00:25:48,100 --> 00:25:49,660 Får svar från The Legal Department.

841 00:25:49,960 --> 00:25:50,720 Ja, såklart.

842 00:25:51,320 --> 00:25:53,800 The best way of doing business is…

843 00:25:53,800 --> 00:25:55,340 Oh my god.

844 00:25:56,020 --> 00:25:58,180 Så han lyckas

845 00:25:58,180 --> 00:25:59,720 rapportera det här då i alla fall.

846 00:25:59,920 --> 00:26:02,560 Och de har nu gått ut och sagt att det här är fixat.

847 00:26:03,000 --> 00:26:03,680 Men jag menar,

848 00:26:04,040 --> 00:26:05,360 oautentiserad API.

849 00:26:05,360 --> 00:26:07,360 Ja, okej.

850 00:26:08,220 --> 00:26:10,120 Klartext-lösnån 2026.

851 00:26:10,620 --> 00:26:13,580 Det borde man ju ha löst för

852 00:26:13,580 --> 00:26:14,480 till 10 år.

853 00:26:14,480 --> 00:26:15,640 Ja, alla användarna av lösnån.

854 00:26:15,640 --> 00:26:17,340 Kunde du ta ut i klartext från API.

855 00:26:17,540 --> 00:26:19,580 Det var ingen MD5 eller någonting.

856 00:26:20,600 --> 00:26:23,200 Jag gillar också att det var ingen MD5

857 00:26:23,200 --> 00:26:24,520 eller någonting.

858 00:26:24,940 --> 00:26:25,880 Nej, men det vet man ju, Peter.

859 00:26:26,320 --> 00:26:28,580 Eller kanske slå till med en RC4.

860 00:26:28,680 --> 00:26:30,240 Nej, men det var inte S-Pace 64

861 00:26:30,240 --> 00:26:30,680 i koden.

862 00:26:31,360 --> 00:26:34,400 Det är inte så att de inte

863 00:26:34,400 --> 00:26:36,040 har uppdaterat sin härsning de senaste

864 00:26:36,040 --> 00:26:37,820 20 åren. De har aldrig implementerat.

865 00:26:38,220 --> 00:26:40,160 Nej, det tar ju så mycket datacykler.

866 00:26:40,480 --> 00:26:42,300 Nej, det hade ju verkligen hjälpt om det var MD5.

867 00:26:42,760 --> 00:26:43,580 Ja, nej, men…

868 00:26:43,580 --> 00:26:45,720 Det hade ju hjälpt mer än om det var klartext.

869 00:26:46,280 --> 00:26:47,500 Då hade de i alla fall gjort något.

870 00:26:48,300 --> 00:26:50,180 Nej, men, ja, så att man kan väl säga

871 00:26:50,180 --> 00:26:51,300 att de gjorde alla fel här, va?

872 00:26:52,060 --> 00:26:53,700 Och jag skulle också kunna tänka mig att

873 00:26:53,700 --> 00:26:56,220 han kanske inte var först som var inne i det här systemet.

874 00:26:56,860 --> 00:26:57,680 Nej, förmodligen inte.

875 00:26:57,900 --> 00:27:00,160 Det är ju ett rätt saftigt mål om du

876 00:27:00,160 --> 00:27:01,960 nu, ja, men säg att du

877 00:27:01,960 --> 00:27:04,100 ja, Nature State är ju en grej, men om du

878 00:27:04,100 --> 00:27:05,720 bara är en kriminell aktör,

879 00:27:05,840 --> 00:27:07,820 redirekta de här…

880 00:27:08,220 --> 00:27:10,280 Man kan se manifest och sånt, och se

881 00:27:10,280 --> 00:27:12,120 vad som är i, så är det ju superspirrigt.

882 00:27:12,120 --> 00:27:14,680 Typ för somaliska

883 00:27:14,680 --> 00:27:16,180 pirater och sånt är det ju jättebra

884 00:27:16,180 --> 00:27:18,260 att veta vilka båtar som har det bästa lasten.

885 00:27:18,280 --> 00:27:20,700 Och även snubbarna i

886 00:27:20,700 --> 00:27:22,500 Bolivia, tänkte jag säga.

887 00:27:22,680 --> 00:27:24,480 Men i knarkregionerna.

888 00:27:25,680 --> 00:27:26,040 Kokaingänget.

889 00:27:26,280 --> 00:27:28,040 Men är det Trump eller vad vill du ha sagt?

890 00:27:29,100 --> 00:27:30,400 Det är han i kokaintorsk, det kanske.

891 00:27:30,720 --> 00:27:32,420 Fan, de har slutat prata

892 00:27:32,420 --> 00:27:34,360 om det här med drogbåtar sedan de fick

893 00:27:34,360 --> 00:27:34,880 all olja, va?

894 00:27:34,880 --> 00:27:35,680 Ja, herregud.

895 00:27:37,300 --> 00:27:38,060 Bra, bra.

896 00:27:38,220 --> 00:27:40,160 Bra poäng, bra poäng. Vi har spelat in ett avsnitt

897 00:27:40,160 --> 00:27:42,440 innan det här, så IQ-nivån har

898 00:27:42,440 --> 00:27:44,500 Gått över

899 00:27:44,500 --> 00:27:45,000 bälgkurvan.

900 00:27:45,460 --> 00:27:48,340 Det var det om Blue Spark Global.

901 00:27:48,560 --> 00:27:49,220 Handla inte med dem.

902 00:27:49,920 --> 00:27:52,160 Det kom på ett säkerhetshåll

903 00:27:52,160 --> 00:27:54,440 som heter Mongo Bleed.

904 00:27:54,640 --> 00:27:56,040 Just det, nu går vi in på

905 00:27:56,040 --> 00:27:57,780 de riktigt icke-PK-namnet.

906 00:27:57,800 --> 00:27:59,440 Det är det bästa namnet i hela värdet.

907 00:28:00,120 --> 00:28:00,760 Mongo Bleed.

908 00:28:01,580 --> 00:28:04,400 Jag vet inte om, alltså det är bara på svenska

909 00:28:04,400 --> 00:28:05,520 det här problematiskt, eller?

910 00:28:06,520 --> 00:28:07,520 Alltså, jag vet inte.

911 00:28:07,520 --> 00:28:08,180 Jag vet inte.

912 00:28:08,220 --> 00:28:10,440 Ja, hur som helst.

913 00:28:10,640 --> 00:28:11,540 Det är alltså Mongo

914 00:28:11,540 --> 00:28:14,200 som är MongoDB. Jag vet inte

915 00:28:14,200 --> 00:28:16,340 bakgrunden till varför MongoDB är att det är MongoDB.

916 00:28:16,960 --> 00:28:17,180 Men,

917 00:28:17,900 --> 00:28:20,080 den är så här namngiven.

918 00:28:20,440 --> 00:28:21,960 Den är namngiven

919 00:28:21,960 --> 00:28:24,140 enligt

920 00:28:24,140 --> 00:28:26,600 den nomenklaturen som

921 00:28:26,600 --> 00:28:27,660 Heartbleed

922 00:28:27,660 --> 00:28:30,040 instiftade. Det vill säga

923 00:28:30,040 --> 00:28:30,800 att

924 00:28:30,800 --> 00:28:32,380 om du,

925 00:28:33,020 --> 00:28:34,540 när du

926 00:28:34,540 --> 00:28:36,460 du jobbar

927 00:28:36,460 --> 00:28:38,100 med ett API som gör en

928 00:28:38,220 --> 00:28:41,380 en heap-allokering

929 00:28:41,380 --> 00:28:42,440 i typ en mallock

930 00:28:42,440 --> 00:28:44,040 och så får du ut

931 00:28:44,040 --> 00:28:46,240 smutsig data.

932 00:28:47,080 --> 00:28:49,220 Vad som fanns på heapen

933 00:28:49,220 --> 00:28:50,140 är det väsentligen

934 00:28:50,140 --> 00:28:51,680 som du får ut då.

935 00:28:51,940 --> 00:28:54,640 Och så beror det på vad som finns på heapen.

936 00:28:54,720 --> 00:28:56,620 Det blir alltså aldrig nollat

937 00:28:56,620 --> 00:28:57,920 eller initialiserat då.

938 00:28:58,400 --> 00:28:59,460 Så det är ju första

939 00:28:59,460 --> 00:29:02,660 säkerhetshållet, problemet

940 00:29:02,660 --> 00:29:05,240 är ju att oinitialiserat

941 00:29:05,240 --> 00:29:07,340 minne används.

942 00:29:07,680 --> 00:29:08,200 Men,

943 00:29:08,220 --> 00:29:10,220 det blir ju bättre än så för att du

944 00:29:10,220 --> 00:29:12,520 du kan alltså då

945 00:29:12,520 --> 00:29:14,360 i ett request så kan du då

946 00:29:14,360 --> 00:29:15,720 skicka upp

947 00:29:15,720 --> 00:29:18,620 de har, du skickar

948 00:29:18,620 --> 00:29:19,140 alltså

949 00:29:19,140 --> 00:29:22,000 Bison, binär Jison

950 00:29:22,000 --> 00:29:24,580 som är komprimerad

951 00:29:24,580 --> 00:29:26,380 med, jag tror det var Z-lib

952 00:29:26,380 --> 00:29:27,100 komprimation och så.

953 00:29:29,340 --> 00:29:29,900 Och

954 00:29:29,900 --> 00:29:32,400 istället för

955 00:29:32,400 --> 00:29:33,100 att

956 00:29:33,100 --> 00:29:36,440 istället för att du skickar

957 00:29:36,440 --> 00:29:37,980 så mycket data som av,

958 00:29:38,220 --> 00:29:40,220 det komprimeringen blev,

959 00:29:40,220 --> 00:29:44,220 så blir den alltså att

960 00:29:44,220 --> 00:29:46,220 den tar ett variabelvärde

961 00:29:47,260 --> 00:29:48,220 och

962 00:29:48,220 --> 00:29:50,220 som kommer

963 00:29:50,800 --> 00:29:52,300 i paketet från fienden.

964 00:29:53,060 --> 00:29:54,180 Så det

965 00:29:54,180 --> 00:29:56,600 definierar hur stort paketet är.

966 00:29:56,720 --> 00:29:57,480 Ge mig en megabyte.

967 00:29:58,780 --> 00:30:00,520 Och sen så var det ytterligare

968 00:30:00,520 --> 00:30:02,040 någon bug där du kunde då alltså

969 00:30:02,040 --> 00:30:04,720 Du vet man ju ser in, man ska alltid lita på det klienten säger.

970 00:30:06,020 --> 00:30:07,960 Det är ju en binär Jison

971 00:30:08,220 --> 00:30:10,540 men du kan ju skicka in

972 00:30:10,540 --> 00:30:12,440 felaktig Jison och

973 00:30:12,440 --> 00:30:14,180 du kan, och

974 00:30:14,180 --> 00:30:16,240 i den här Bison

975 00:30:16,240 --> 00:30:17,360 binär Jison

976 00:30:17,360 --> 00:30:19,880 strukturen så har du alltså

977 00:30:19,880 --> 00:30:21,380 C-strängar

978 00:30:21,380 --> 00:30:24,020 som alltså är en sträng

979 00:30:24,020 --> 00:30:25,800 med en nullterminering.

980 00:30:26,800 --> 00:30:28,240 Så om du skickar in

981 00:30:28,240 --> 00:30:29,100 en Jison

982 00:30:29,100 --> 00:30:31,180 och du

983 00:30:31,180 --> 00:30:34,740 och du

984 00:30:34,740 --> 00:30:37,960 helt enkelt väljer att inte

985 00:30:37,960 --> 00:30:38,880 nullterminera

986 00:30:38,880 --> 00:30:42,300 så kommer den då

987 00:30:42,300 --> 00:30:44,920 Z-alib

988 00:30:44,920 --> 00:30:46,220 av komprimera

989 00:30:46,220 --> 00:30:48,680 requestet från klienten

990 00:30:48,680 --> 00:30:50,760 den kommer skapa ett objekt

991 00:30:50,760 --> 00:30:51,420 som då är

992 00:30:51,420 --> 00:30:54,820 X storlek i minnet

993 00:30:54,820 --> 00:30:57,040 varav det mesta då är

994 00:30:57,040 --> 00:30:58,860 vad som nu låg på

995 00:30:58,860 --> 00:31:00,940 heapen från vilken del

996 00:31:00,940 --> 00:31:02,100 av heapen du nu fick ifrån.

997 00:31:04,100 --> 00:31:04,760 Så att det är

998 00:31:04,760 --> 00:31:06,680 minne som fanns

999 00:31:06,680 --> 00:31:07,320 i din

1000 00:31:07,320 --> 00:31:09,460 i din programbild

1001 00:31:09,460 --> 00:31:11,400 men inte minne som är

1002 00:31:11,400 --> 00:31:13,560 initialiserat eller avsett

1003 00:31:13,560 --> 00:31:14,720 för att komma ut till användaren.

1004 00:31:15,720 --> 00:31:17,840 Och så skickar du en sträng

1005 00:31:17,840 --> 00:31:19,780 som inte har något slut.

1006 00:31:20,640 --> 00:31:21,400 Och då kommer

1007 00:31:21,400 --> 00:31:23,420 du få ett felmeddelande

1008 00:31:23,420 --> 00:31:24,800 och det felmeddelandet

1009 00:31:24,800 --> 00:31:27,260 fylls upp med

1010 00:31:27,260 --> 00:31:29,860 strängen då är nolltecken

1011 00:31:29,860 --> 00:31:30,960 lång eller så.

1012 00:31:31,540 --> 00:31:33,180 Så kommer den säga då

1013 00:31:33,180 --> 00:31:33,800 det är fel

1014 00:31:33,800 --> 00:31:37,180 i din Bison vid det här objektet.

1015 00:31:37,320 --> 00:31:39,820 Och så säger felmeddelandet

1016 00:31:39,820 --> 00:31:41,840 då det lilla du skickade i din sträng

1017 00:31:41,840 --> 00:31:43,220 fyllt med

1018 00:31:43,220 --> 00:31:45,880 resten av minnet

1019 00:31:45,880 --> 00:31:48,000 som du har bett om.

1020 00:31:48,000 --> 00:31:48,640 Har du tur

1021 00:31:48,640 --> 00:31:50,880 att du ber om att det skulle vara

1022 00:31:50,880 --> 00:31:53,340 hundra mängd eller någonting så kommer

1023 00:31:53,340 --> 00:31:55,380 du få det minnet fram tills första

1024 00:31:55,380 --> 00:31:56,780 binära nollan kommer

1025 00:31:56,780 --> 00:31:58,860 slumpmässigt på heapen.

1026 00:31:59,640 --> 00:32:01,340 Så i vissa request får du tillbaks

1027 00:32:01,340 --> 00:32:03,360 lite grann och i andra

1028 00:32:03,360 --> 00:32:04,760 request så får du tillbaks

1029 00:32:04,760 --> 00:32:06,700 liksom superduper mycket.

1030 00:32:07,320 --> 00:32:09,060 Jag har också gjort

1031 00:32:09,060 --> 00:32:10,020 research

1032 00:32:10,020 --> 00:32:12,580 MongoDB heter det

1033 00:32:12,580 --> 00:32:14,800 för att det är en väldigt konstig

1034 00:32:14,800 --> 00:32:16,600 förkortning av humongous.

1035 00:32:17,580 --> 00:32:18,980 Det är jättekonstigt

1036 00:32:18,980 --> 00:32:19,820 men det säger internet.

1037 00:32:21,340 --> 00:32:21,700 Ja kan jag.

1038 00:32:23,320 --> 00:32:24,400 HumongousDB bleed.

1039 00:32:24,620 --> 00:32:26,080 Får det inte vara MongoDB då?

1040 00:32:26,860 --> 00:32:27,580 Ja pass.

1041 00:32:28,000 --> 00:32:30,540 Men det här låter ju jättedåligt.

1042 00:32:31,740 --> 00:32:31,820 Jo.

1043 00:32:32,940 --> 00:32:34,800 En sak som jag reflekterade över när jag

1044 00:32:34,800 --> 00:32:36,700 hörde om den här var hur ofta

1045 00:32:37,320 --> 00:32:38,980 att man verkligen publicerar

1046 00:32:38,980 --> 00:32:41,700 sin databas ut på internetet.

1047 00:32:43,700 --> 00:32:44,140 Ja.

1048 00:32:45,260 --> 00:32:47,420 Eller är det i frågor som

1049 00:32:47,420 --> 00:32:48,600 hamnar i databasen?

1050 00:32:48,600 --> 00:32:49,780 Ja det är frågan om.

1051 00:32:50,140 --> 00:32:51,260 Känner man ha ett mellanlager där?

1052 00:32:51,540 --> 00:32:52,660 Vart är vi exakt?

1053 00:32:52,840 --> 00:32:54,980 Ja alltså du behöver ju

1054 00:32:54,980 --> 00:32:58,400 du behöver kunna skicka

1055 00:32:58,400 --> 00:32:59,700 du behöver kunna skicka

1056 00:32:59,700 --> 00:33:01,240 ett väldigt konstigt objekt

1057 00:33:01,240 --> 00:33:03,660 så att om det finns

1058 00:33:03,660 --> 00:33:05,480 något obskurt attackscenario

1059 00:33:05,480 --> 00:33:07,120 och det ska väl vara

1060 00:33:07,120 --> 00:33:08,800 osagt men det uppenbara

1061 00:33:08,800 --> 00:33:10,100 attackscenariet är ju att

1062 00:33:10,100 --> 00:33:13,180 MongoDB databasen

1063 00:33:13,180 --> 00:33:14,940 är åtminstone möjligt att kommunicera

1064 00:33:14,940 --> 00:33:16,600 men det krävs ju ingen autentisering

1065 00:33:16,600 --> 00:33:18,000 eller något om jag har fattat det rätt utan.

1066 00:33:18,320 --> 00:33:19,780 Vilket också är konstigt tycker jag.

1067 00:33:20,520 --> 00:33:22,760 Allt det här sker alltså innan Ås då?

1068 00:33:23,420 --> 00:33:23,580 Mm.

1069 00:33:24,680 --> 00:33:26,620 Inte orimligt i sig det skulle kunna vara så.

1070 00:33:27,560 --> 00:33:28,900 Ås kan ju vara en av grejerna

1071 00:33:28,900 --> 00:33:29,940 som man ska skicka i den här

1072 00:33:29,940 --> 00:33:32,020 B-son-bobban.

1073 00:33:32,320 --> 00:33:34,320 Men så tänker jag såhär

1074 00:33:34,320 --> 00:33:35,480 okej det borde inte vara

1075 00:33:35,480 --> 00:33:37,100 det var, jag hoppas,

1076 00:33:37,120 --> 00:33:38,260 jag hoppas inte att det är det vanligaste

1077 00:33:38,260 --> 00:33:40,160 patent att man exponerar sin databas

1078 00:33:40,160 --> 00:33:42,360 externt men det finns ju ett garanterat fall

1079 00:33:42,360 --> 00:33:42,880 där det händer.

1080 00:33:43,500 --> 00:33:46,120 Och sen låt oss säga att du är en

1081 00:33:46,120 --> 00:33:48,040 MongoDB hosting

1082 00:33:48,040 --> 00:33:48,740 partner.

1083 00:33:49,520 --> 00:33:52,020 Då är det ju det som du gör som business

1084 00:33:52,020 --> 00:33:53,340 men om jag har fattat det rätt så just

1085 00:33:53,340 --> 00:33:55,600 det heter något speciellt typ MongoAtlas

1086 00:33:55,600 --> 00:33:57,900 och det var inte sårbart i den här.

1087 00:33:58,380 --> 00:33:59,400 De hade fixat det eller

1088 00:33:59,400 --> 00:34:02,060 inte jobbat på ett annat sätt eller något sånt här.

1089 00:34:02,440 --> 00:34:04,060 Men man kan väl också säga

1090 00:34:04,060 --> 00:34:04,900 att

1091 00:34:07,120 --> 00:34:10,620 förhoppningsvis är det ju en minoritet

1092 00:34:10,620 --> 00:34:12,480 som är sårbara

1093 00:34:12,480 --> 00:34:14,680 från internet men vi har ju också

1094 00:34:14,680 --> 00:34:16,620 den problembilden runt

1095 00:34:16,620 --> 00:34:18,200 letter of moment och sånt

1096 00:34:18,200 --> 00:34:20,360 att om någon redan har den hållfasen i ett punkt

1097 00:34:20,360 --> 00:34:22,420 så är det ju inte så bra

1098 00:34:22,420 --> 00:34:22,960 om den här ligger där.

1099 00:34:23,900 --> 00:34:24,280 Och sen

1100 00:34:24,280 --> 00:34:27,860 sen så kan man ju också säga att

1101 00:34:27,860 --> 00:34:30,540 ju mindre känsligt du har i din databas

1102 00:34:30,540 --> 00:34:31,580 desto bättre.

1103 00:34:31,860 --> 00:34:34,640 Men det som kan vara

1104 00:34:34,640 --> 00:34:36,500 otroligt det är ju om du om någon anledning

1105 00:34:37,120 --> 00:34:39,040 i MongoDBs

1106 00:34:39,040 --> 00:34:41,160 världsbild så har du någon gång

1107 00:34:41,160 --> 00:34:43,220 typ läst upp

1108 00:34:43,220 --> 00:34:44,800 miljövariabler

1109 00:34:44,800 --> 00:34:46,640 eller du har några nycklar

1110 00:34:46,640 --> 00:34:48,740 eller någonting som ligger i ditt minne

1111 00:34:48,740 --> 00:34:51,520 och har någon då

1112 00:34:51,520 --> 00:34:53,120 tur att den kan få

1113 00:34:53,120 --> 00:34:54,960 att den

1114 00:34:54,960 --> 00:34:57,140 strängreferens kommer i ett

1115 00:34:57,140 --> 00:34:58,800 heapobjekt som ligger då

1116 00:34:58,800 --> 00:35:01,040 jag vet inte om man säger till vänster

1117 00:35:01,040 --> 00:35:03,280 eller före där så kan du

1118 00:35:03,280 --> 00:35:04,620 ha tur då att komma

1119 00:35:04,620 --> 00:35:06,640 och springa över och

1120 00:35:06,640 --> 00:35:06,900 liksom

1121 00:35:06,900 --> 00:35:08,600 koppla i det och komma åt dem

1122 00:35:08,600 --> 00:35:09,260 grejerna då.

1123 00:35:10,760 --> 00:35:11,700 Det är ju inte möjligt.

1124 00:35:12,160 --> 00:35:14,040 Men det här kan man ju också säga att

1125 00:35:14,040 --> 00:35:16,720 det är ju

1126 00:35:16,720 --> 00:35:18,260 dels en bunt logikproblem här

1127 00:35:18,260 --> 00:35:20,860 så att delar av det här är ju

1128 00:35:20,860 --> 00:35:23,280 klassiska

1129 00:35:23,280 --> 00:35:24,120 programmeringsproblem

1130 00:35:24,120 --> 00:35:26,580 men det andra är ju också att

1131 00:35:26,580 --> 00:35:28,540 uppenbarligen används det

1132 00:35:28,540 --> 00:35:30,300 typ en mallock liknande

1133 00:35:30,300 --> 00:35:32,260 allokerare som inte

1134 00:35:32,260 --> 00:35:34,180 nuller in i tillgängligheten.

1135 00:35:34,180 --> 00:35:35,900 När jag på skola är så

1136 00:35:35,900 --> 00:35:38,000 du behöver inte alls sitta direkt på databasen

1137 00:35:38,000 --> 00:35:39,520 utan det räcker via den här

1138 00:35:39,520 --> 00:35:42,220 via såhär MongoDVs

1139 00:35:42,220 --> 00:35:44,060 driver så länge du har ett API

1140 00:35:44,060 --> 00:35:45,760 som kommer att skicka

1141 00:35:45,760 --> 00:35:47,940 ISONen vidare så kan du extenda

1142 00:35:47,940 --> 00:35:49,620 ditt ISONpaket

1143 00:35:49,620 --> 00:35:51,520 med de här

1144 00:35:51,520 --> 00:35:55,700 du behöver både kunna spesa

1145 00:35:55,700 --> 00:35:58,020 storleken och du behöver kunna skicka

1146 00:35:58,020 --> 00:35:59,260 en defekt

1147 00:35:59,260 --> 00:36:01,340 BESONsträng.

1148 00:36:01,340 --> 00:36:03,160 Ja exakt men det kan ju vara i

1149 00:36:03,160 --> 00:36:03,680 ett API.

1150 00:36:04,780 --> 00:36:05,700 Det kan de göra.

1151 00:36:05,900 --> 00:36:08,840 De kommer prata exakt i alla fall

1152 00:36:08,840 --> 00:36:10,500 om man ska titta på pocken så ser det ut

1153 00:36:10,500 --> 00:36:11,840 som att de men det är frågan hur vanligt

1154 00:36:11,840 --> 00:36:13,620 det är men i pocken då gissar jag på

1155 00:36:13,620 --> 00:36:15,260 då använder de den driver så att säga

1156 00:36:15,260 --> 00:36:16,880 exakt men då använder de en vanlig

1157 00:36:16,880 --> 00:36:18,220 det ser ut som ett vanligt API här

1158 00:36:18,220 --> 00:36:20,920 liksom och då finns det någon

1159 00:36:20,920 --> 00:36:22,860 MongoDV driver här som en MongoDB

1160 00:36:22,860 --> 00:36:25,060 driver som drar vidare detta

1161 00:36:25,060 --> 00:36:26,520 då så ser man hela men jag menar

1162 00:36:26,520 --> 00:36:28,560 i en applikationssättning när du

1163 00:36:28,560 --> 00:36:30,340 om du till exempel har MongoDB som

1164 00:36:30,340 --> 00:36:33,140 baksnöre till en web

1165 00:36:33,140 --> 00:36:35,120 grej eller något där då har du

1166 00:36:35,120 --> 00:36:35,800 ju inte alls den här

1167 00:36:35,900 --> 00:36:37,300 möjligheten du jobbar ju på ett web

1168 00:36:37,300 --> 00:36:39,220 gui då menar jag så jag menar bara

1169 00:36:39,220 --> 00:36:40,800 för det finns ju ingen injection

1170 00:36:40,800 --> 00:36:42,440 möjlighet här vid en jävla parameter

1171 00:36:42,440 --> 00:36:42,900 eller någonting.

1172 00:36:42,900 --> 00:36:44,140 Det borde ju inte ha sådana

1173 00:36:44,140 --> 00:36:44,960 crud bara rakt upp.

1174 00:36:44,960 --> 00:36:47,600 Nej jag menar det exakt utan det

1175 00:36:47,600 --> 00:36:49,340 krävs ju relativt rå access i alla

1176 00:36:49,340 --> 00:36:51,520 fall förmodligen.

1177 00:36:51,520 --> 00:36:54,260 Ja men kul sågbörjare dock.

1178 00:36:54,260 --> 00:36:55,600 Yes.

1179 00:36:55,600 --> 00:36:58,100 Reboot UEFI.

1180 00:36:58,100 --> 00:36:59,360 Ja det låter som.

1181 00:36:59,360 --> 00:37:00,020 Robot.

1182 00:37:00,020 --> 00:37:00,520 Nej nej nej.

1183 00:37:00,520 --> 00:37:01,420 Trollbot.

1184 00:37:01,420 --> 00:37:02,220 Preboot.

1185 00:37:02,220 --> 00:37:04,580 Preboot UEFI.

1186 00:37:04,580 --> 00:37:05,020 Trollhat.

1187 00:37:05,020 --> 00:37:05,520 Det är det.

1188 00:37:05,900 --> 00:37:07,460 Det händer ett antal gånger att

1189 00:37:07,460 --> 00:37:12,620 Johan misshandlar min fina handstilar.

1190 00:37:12,620 --> 00:37:15,400 Vanguard det är ju något sådana här

1191 00:37:15,400 --> 00:37:18,840 gamer och företag som gör den.

1192 00:37:18,840 --> 00:37:19,660 Har du koll på det?

1193 00:37:19,660 --> 00:37:22,380 Vanguard är inte det index?

1194 00:37:22,380 --> 00:37:23,260 Ja ja just det.

1195 00:37:23,260 --> 00:37:23,860 Jo det vet jag.

1196 00:37:23,860 --> 00:37:25,580 Det är någon av spelutvecklarna.

1197 00:37:25,580 --> 00:37:27,360 Jag kan inte för mitt liv komma på

1198 00:37:27,360 --> 00:37:29,780 är det Rockstar eller något

1199 00:37:29,780 --> 00:37:31,380 något utvecklar gängen som kör

1200 00:37:31,380 --> 00:37:32,380 Vanguard i vart fall.

1201 00:37:32,380 --> 00:37:33,460 Är det någon sån här

1202 00:37:33,460 --> 00:37:34,780 cheat protection grej eller?

1203 00:37:34,780 --> 00:37:35,020 Ja.

1204 00:37:35,020 --> 00:37:36,280 Ja vilket fan det är.

1205 00:37:36,280 --> 00:37:38,520 Så dom bryr sig om.

1206 00:37:38,520 --> 00:37:39,320 Är det Epic?

1207 00:37:39,320 --> 00:37:40,560 Nej.

1208 00:37:40,560 --> 00:37:43,020 Dom bryr sig om säkerhet.

1209 00:37:43,020 --> 00:37:47,420 Och dom har ju.

1210 00:37:47,420 --> 00:37:48,760 Det är Riot Games.

1211 00:37:48,760 --> 00:37:49,420 Riot Games.

1212 00:37:49,420 --> 00:37:50,120 Okej.

1213 00:37:50,120 --> 00:37:55,940 Men dom har ju modellen att dom kickar igång innan operativsystemet.

1214 00:37:55,940 --> 00:38:00,980 Så att dom är det första och det coolaste som kör.

1215 00:38:00,980 --> 00:38:05,020 Och så kollar dom att alla säkerhetsgrejer är bra och så sen.

1216 00:38:05,020 --> 00:38:17,820 När OS-et går igång och sånt så ligger dom där som en liten glad backdoor eller rothit eller vad vi kallar det och kan berätta hur cheatsäkert operativsystemet är.

1217 00:38:17,820 --> 00:38:33,140 Det som är intressant då är ju att oberoende om vi bryr oss om fuskar eller inte så har ju dom fokuserat på att hitta sätt att umgå, alltså kringgå sin egen säkerhetsmodell.

1218 00:38:33,140 --> 00:38:34,380 Så dom letar efter.

1219 00:38:34,380 --> 00:38:34,840 Ja.

1220 00:38:34,840 --> 00:38:37,400 Efter alltså pre-boot.

1221 00:38:37,400 --> 00:38:41,240 Du menar ju rent R&D-perspektiv, hur skulle någon kunna gå runt våran säkerhet?

1222 00:38:41,240 --> 00:38:41,740 Ja.

1223 00:38:41,740 --> 00:38:47,900 Jag vet inte, jag har inte sett någon tydlighet, jag tror ju att dom har hittat det här innan cheaters har hittat det.

1224 00:38:47,900 --> 00:38:48,400 Mm.

1225 00:38:48,400 --> 00:39:00,440 Men det är alltså så att ett antal modekort botar igång och säger att jag startade IOMMU är säkert konfigurerat.

1226 00:39:00,440 --> 00:39:04,540 Jag startade IOMMU är säkert konfigurerat.

1227 00:39:04,540 --> 00:39:04,800 Jag startade IOMMU är säkert konfigurerat.

1228 00:39:04,800 --> 00:39:05,560 Jag startade IOMMU är säkert konfigurerat.

1229 00:39:05,560 --> 00:39:08,120 Du är i bra läge.

1230 00:39:08,120 --> 00:39:14,020 Och ett antal, alltså ganska många då, modekort säger det här men det är inte sant.

1231 00:39:14,020 --> 00:39:14,520 Mm.

1232 00:39:14,520 --> 00:39:26,820 Så dom säger att det här IOMMU är igång och att det finns säkerhet och det går inte att angripa minnet från vilken DMA-grunka som helst på PCI-bussen.

1233 00:39:26,820 --> 00:39:28,860 Men modekorten ljuger.

1234 00:39:28,860 --> 00:39:29,640 Mm.

1235 00:39:29,640 --> 00:39:34,500 Så dom har inte satt upp det här och det diskuteras liksom.

1236 00:39:34,500 --> 00:39:40,640 Det diskuteras lite där vem ansvarar för vad och liksom någonting har gått fel här.

1237 00:39:40,640 --> 00:39:41,160 Mm.

1238 00:39:41,160 --> 00:39:42,440 Men…

1239 00:39:42,440 --> 00:39:45,260 Kanske är det dyrt att göra rätt så då fejkar vi det istället.

1240 00:39:45,260 --> 00:40:04,460 Så dom publicerar den här sårbarheten och det är ju intressant för oss säkerhetsfolk att det har funnits ett sätt att injusera skadelikvård väldigt tidigt i boten innan OS-et riktigt har gått igång eller under OS-ets bot via en DMA-attack som…

1241 00:40:04,460 --> 00:40:08,040 Den har legat där. Vi har inte känt till den just för att…

1242 00:40:08,040 --> 00:40:12,400 Uppenbarligen har vi inte haft tillräckligt mycket incitament för att jobba på att säkra…

1243 00:40:12,400 --> 00:40:17,520 Och så kom ett game-anti-sheet-teknologi och hittade det här. Coolt!

1244 00:40:17,520 --> 00:40:21,620 Så dom har publicerat säkerhetshålen och dom har också då…

1245 00:40:21,620 --> 00:40:29,040 Svartlistat en bunt modekort och relaterade firmware-versioner så att om du ligger…

1246 00:40:29,040 --> 00:40:33,640 Om du ligger på blacklisten där så kan du inte starta dina spel längre för att…

1247 00:40:33,640 --> 00:40:39,320 Så du måste fixa ditt BIOS innan du kan starta dina spel längre.

1248 00:40:39,340 --> 00:40:43,520 Jag tror jag hade grymt svårt att komma igång med… Vad är det Riot har gjort mer än…

1249 00:40:43,520 --> 00:40:45,620 League har dom gjort och Valorant.

1250 00:40:45,860 --> 00:40:48,900 Valorant. Jag hade supersvårt att få igång Valorant för ett år sedan vet jag.

1251 00:40:49,000 --> 00:40:50,080 Hade du försökt fuska så mycket?

1252 00:40:50,180 --> 00:40:50,980 Jag hade ju inte det.

1253 00:40:51,540 --> 00:40:53,600 Men en sidostory här.

1254 00:40:54,540 --> 00:40:57,220 Jag har noterat det senaste att det…

1255 00:40:57,220 --> 00:41:00,240 Gamer på Linux har blivit mer och mer populärt.

1256 00:41:00,240 --> 00:41:03,180 Och det i sin tur går tillbaka till Windows.

1257 00:41:03,640 --> 00:41:04,200 Och…

1258 00:41:04,200 --> 00:41:06,480 Deras övervakningsmodell faktiskt.

1259 00:41:06,620 --> 00:41:09,040 Att dom har så jävla privacy-problem med Windows 11.

1260 00:41:09,560 --> 00:41:11,400 Folk gillar inte det så då letar dom alternativ.

1261 00:41:11,500 --> 00:41:14,600 För många använder ju Windows inte så mycket annat än just gaming.

1262 00:41:14,720 --> 00:41:18,540 Och en av grejerna som håller tillbaka dom är att det är svårt att gama på Linux.

1263 00:41:18,820 --> 00:41:20,280 Nästan allt annat kan du göra på Linux.

1264 00:41:20,420 --> 00:41:21,800 Men gama på Linux är svårt.

1265 00:41:22,500 --> 00:41:25,660 Så det har blivit mer och mer eftersökt nu.

1266 00:41:25,860 --> 00:41:28,560 Och med Steam så finns det relativt bra support nu.

1267 00:41:28,660 --> 00:41:31,560 Jag hörde precis en podcast om just Steam support.

1268 00:41:31,700 --> 00:41:32,560 Att deras nya…

1269 00:41:33,640 --> 00:41:36,340 De har ju presenterat en ny hardware-line-up som kommer komma nu med…

1270 00:41:36,340 --> 00:41:37,900 VR-googles och handsets och massa mer.

1271 00:41:38,460 --> 00:41:41,200 Allt det är ju en Linux i botten.

1272 00:41:41,240 --> 00:41:43,760 Som ska vara optimerad för spel.

1273 00:41:44,640 --> 00:41:46,180 Så det är ju helt rätt på bollen nu.

1274 00:41:46,240 --> 00:41:46,900 Det är ju ascoolt.

1275 00:41:46,960 --> 00:41:48,140 De har till och med gjort så att…

1276 00:41:48,140 --> 00:41:51,860 Det finns ju sådana här YouTube-kanaler som inte gör något annat än typ…

1277 00:41:51,860 --> 00:41:53,280 Prestandatesta grafikkort och sånt.

1278 00:41:53,860 --> 00:41:56,020 De har till och med börjat med ett officiellt program.

1279 00:41:56,180 --> 00:41:59,440 Hur ska vi räkna grafikkortsprestanda på Linux-burkar?

1280 00:42:00,000 --> 00:42:01,440 Men ett problem…

1281 00:42:01,440 --> 00:42:02,060 För det här är ju bra.

1282 00:42:02,180 --> 00:42:02,920 Vi är på väg åt rätt håll.

1283 00:42:02,920 --> 00:42:03,560 Ett problem…

1284 00:42:03,560 --> 00:42:06,760 Ett problem här är att just anti-sheet i Linux är obefintligt.

1285 00:42:06,900 --> 00:42:07,480 Det finns inget.

1286 00:42:07,880 --> 00:42:08,000 Nej.

1287 00:42:08,800 --> 00:42:10,240 Så där är det…

1288 00:42:10,240 --> 00:42:13,000 Det betyder att nästan alla som vill fuska på riktigt.

1289 00:42:13,000 --> 00:42:14,060 De kör på Linux.

1290 00:42:14,440 --> 00:42:15,740 Så det är lite ett problem idag.

1291 00:42:16,800 --> 00:42:18,600 Det är ett problem som behöver lösas fortfarande.

1292 00:42:18,820 --> 00:42:19,420 Det var en side-story.

1293 00:42:20,020 --> 00:42:22,280 Men det är skitroligt att säga det.

1294 00:42:22,360 --> 00:42:26,040 För jag har ju använt Linux som native OS i 10 000 år.

1295 00:42:26,440 --> 00:42:27,960 Och jag ser också…

1296 00:42:27,960 --> 00:42:28,960 Och jag har ju ett Steam-konto.

1297 00:42:28,960 --> 00:42:33,380 Här på mitt kontor har vi en dator man kan köra.

1298 00:42:33,560 --> 00:42:34,160 Här på till exempel.

1299 00:42:34,700 --> 00:42:38,560 Och där är det ju…

1300 00:42:38,560 --> 00:42:41,760 Där ser jag ju att när jag loggar in från min Linux-maskin så har jag ju…

1301 00:42:41,760 --> 00:42:45,320 Det finns ju faktiskt spel som har native Linux-stöd som installers.

1302 00:42:45,500 --> 00:42:46,560 Det är ju skitcoolt.

1303 00:42:47,660 --> 00:42:49,480 Ingenting jag använder kanske, men…

1304 00:42:49,480 --> 00:42:50,980 It’s the era of Linux under this.

1305 00:42:51,900 --> 00:42:53,260 Det hade varit en trendspelning.

1306 00:42:53,420 --> 00:42:54,800 Något år blir det ju sant.

1307 00:42:55,460 --> 00:42:57,120 Det kanske är gamingen som tar oss dit.

1308 00:42:57,320 --> 00:42:57,440 Ja.

1309 00:42:58,080 --> 00:42:58,660 Sorry Peter.

1310 00:42:58,840 --> 00:42:59,640 Det tror jag fan.

1311 00:43:00,080 --> 00:43:00,520 Det skulle kunna vara.

1312 00:43:00,520 --> 00:43:01,900 Ska vi hoppa framåt till nästa?

1313 00:43:02,040 --> 00:43:02,400 Det tycker jag.

1314 00:43:02,400 --> 00:43:02,440 Ja.

1315 00:43:03,560 --> 00:43:04,040 Curl.

1316 00:43:04,100 --> 00:43:04,860 Vad tänker ni då?

1317 00:43:05,580 --> 00:43:07,000 Jag tänker…

1318 00:43:07,000 --> 00:43:08,340 Failed bug bounty.

1319 00:43:08,600 --> 00:43:09,540 Mm, det tänker jag också.

1320 00:43:10,040 --> 00:43:11,000 Är jag i slop?

1321 00:43:11,220 --> 00:43:11,400 Ja.

1322 00:43:12,880 --> 00:43:13,360 Yes.

1323 00:43:13,560 --> 00:43:16,400 Om jag säger PowerShell och sen säger jag curl, vad tänker ni då?

1324 00:43:16,500 --> 00:43:17,160 I’m confused.

1325 00:43:17,480 --> 00:43:18,860 Gjort någonting bra dåligt.

1326 00:43:20,340 --> 00:43:25,580 Det ena med det så är att i PowerShell så kan du skriva curl och då kan du typ curla någonting.

1327 00:43:27,600 --> 00:43:28,120 Men…

1328 00:43:28,120 --> 00:43:29,060 Curl i PowerShell.

1329 00:43:29,320 --> 00:43:29,500 Ja.

1330 00:43:30,500 --> 00:43:33,500 Det är bara en namesquatting.

1331 00:43:33,560 --> 00:43:34,560 De har bara snott…

1332 00:43:34,560 --> 00:43:35,340 Ett alias till.

1333 00:43:35,520 --> 00:43:37,540 De har snott curls namn liksom.

1334 00:43:37,720 --> 00:43:48,620 Jag antar att curl-utvecklarna inte har känt att de har big money till att stämma Microsoft ner till dödagarna.

1335 00:43:49,080 --> 00:43:55,620 Det finns förmodligen någon förklaring till varför de inte har mörkat Microsoften.

1336 00:43:55,620 --> 00:43:57,160 De kanske inte har trademarkat curl.

1337 00:43:57,800 --> 00:43:58,700 Det kan vara någonting sånt.

1338 00:43:58,700 --> 00:44:02,220 Men i PowerShell så finns det alltså en curl.

1339 00:44:03,140 --> 00:44:03,500 Och…

1340 00:44:03,560 --> 00:44:08,020 Det ska väl vara rättat eller säkrat lite nu.

1341 00:44:08,100 --> 00:44:11,180 Men den här har ju varit väldigt, väldigt osäker.

1342 00:44:11,500 --> 00:44:19,720 Och curl är alltså mer eller mindre bara en namnvrappning till något…

1343 00:44:19,720 --> 00:44:22,580 Alltså namnalias för någonting som jag har för mig.

1344 00:44:22,960 --> 00:44:26,680 Om det hette InvokeWeb eller InvokeWebRequest eller någonting.

1345 00:44:27,220 --> 00:44:27,720 Ah.

1346 00:44:28,360 --> 00:44:32,720 Och det som var roligt var ju alltså att om du typ skrev curl…

1347 00:44:33,560 --> 00:44:34,700 Skrev du en ondsida.

1348 00:44:35,520 --> 00:44:40,280 Så kunde du liksom helt plötsligt att i Windows poppade du upp en alertruta.

1349 00:44:40,400 --> 00:44:42,020 Där det stod AlertXXS.

1350 00:44:43,460 --> 00:44:45,000 Och det är alltså sån här…

1351 00:44:45,000 --> 00:44:45,460 Vänta lite nu.

1352 00:44:45,720 --> 00:44:46,760 I PowerShell-kontextet.

1353 00:44:47,440 --> 00:44:48,480 Det är alltså bara i Windows.

1354 00:44:48,580 --> 00:44:50,540 Det kommer upp en Windows-dialog som säger det här.

1355 00:44:50,940 --> 00:44:51,600 Och man bara så här…

1356 00:44:51,600 --> 00:44:52,380 Vänta, vänta, vänta.

1357 00:44:52,380 --> 00:44:52,840 Jag ser.

1358 00:44:53,020 --> 00:44:53,500 Vänta lite nu.

1359 00:44:53,660 --> 00:44:54,560 Vad händer här?

1360 00:44:54,760 --> 00:44:57,360 Och sen om du då går till en annan ondsida.

1361 00:44:57,640 --> 00:45:00,740 Och du väljer då PowerShell curl.

1362 00:45:00,880 --> 00:45:02,660 Eller PowerInvokeWebRequest.

1363 00:45:02,820 --> 00:45:03,520 Eller vad fan det nu heter.

1364 00:45:03,560 --> 00:45:06,640 Om du kör den mot en annan URL.

1365 00:45:07,120 --> 00:45:08,560 Så plötsligt får du upp kalkylatorn.

1366 00:45:10,140 --> 00:45:11,700 Och då vet man ju att man är hackad.

1367 00:45:11,900 --> 00:45:12,080 Exakt.

1368 00:45:13,380 --> 00:45:15,560 Och det är alltså så att kalkylatorn.

1369 00:45:16,980 --> 00:45:17,560 Det är alltså…

1370 00:45:18,600 --> 00:45:21,560 Det kan du göra med att säga att…

1371 00:45:22,300 --> 00:45:27,920 Kalkylator-URL-en ska besökas av en iframe eller liknande.

1372 00:45:28,100 --> 00:45:29,440 Alltså Windows, vad i helvete.

1373 00:45:29,840 --> 00:45:31,040 Vad fan du får ut så.

1374 00:45:31,040 --> 00:45:32,860 Och sen så finns det…

1375 00:45:32,860 --> 00:45:33,860 Nu kommer jag inte ihåg vad det hette.

1376 00:45:34,180 --> 00:45:36,980 Det som var riktigt powerful att använda i ett exploit.

1377 00:45:37,120 --> 00:45:41,040 Men det finns även en direkt fullständig RC-vektor.

1378 00:45:42,160 --> 00:45:47,860 Och sen kan man ju fundera på hur ofta tar du i PowerShell.

1379 00:45:47,900 --> 00:45:49,680 Och skriver curl mot en ond URL.

1380 00:45:49,980 --> 00:45:50,780 Eller kör…

1381 00:45:50,780 --> 00:45:52,500 Jag kan ändå komma på några scenarion.

1382 00:45:52,600 --> 00:45:54,840 Det kan ändå vara PowerShell-skript som folk kör.

1383 00:45:55,120 --> 00:45:55,320 Ja.

1384 00:45:56,000 --> 00:45:56,800 Hämta den här grejen.

1385 00:45:57,160 --> 00:45:57,760 Ja men precis.

1386 00:45:57,960 --> 00:45:59,360 Det är lite långsiktigt.

1387 00:45:59,540 --> 00:46:01,420 Det är vissa specifika fall och sådär.

1388 00:46:01,420 --> 00:46:02,700 Men framförallt så ligger…

1389 00:46:02,700 --> 00:46:08,680 Ligger du inte med i min bild av vad som skulle kunna hända.

1390 00:46:09,040 --> 00:46:12,620 Om jag sitter i en prompt och skriver curl till en URL.

1391 00:46:13,980 --> 00:46:18,440 Att någonting håller på att RCE-a det som står på serven.

1392 00:46:18,520 --> 00:46:20,260 Det känns ju superlångsökt.

1393 00:46:20,540 --> 00:46:24,520 Och curl-utvecklarna är väl sådär glada i att de…

1394 00:46:24,520 --> 00:46:25,520 Jag tänkte ju säga det.

1395 00:46:25,520 --> 00:46:27,440 Det här känns som en bloggpost waiting to happen.

1396 00:46:27,440 --> 00:46:32,440 Att någon bug bounty-grej säger att PowerShell-curl…

1397 00:46:32,700 --> 00:46:34,000 Har en sårbarhet.

1398 00:46:34,100 --> 00:46:36,220 Daniel Stenberg hade ju gått i taket.

1399 00:46:37,780 --> 00:46:39,220 Vi får bara vänta på hans…

1400 00:46:39,220 --> 00:46:42,900 Om jag förstår rätt så de som publicerade den här grunken.

1401 00:46:42,960 --> 00:46:46,600 De hade hört av sig till curl och fått svaret.

1402 00:46:46,820 --> 00:46:47,460 Är det inte hans?

1403 00:46:47,460 --> 00:46:48,840 Ni är så fel.

1404 00:46:50,540 --> 00:46:54,080 Jag antar att om man skulle prata med curl-utvecklarna.

1405 00:46:55,080 --> 00:46:58,380 När de inte har kameror och annat på sig.

1406 00:46:58,380 --> 00:47:01,040 Så antar jag att de är lite sura över att…

1407 00:47:01,040 --> 00:47:03,740 Daniel, om du vill komma hit och prata skit om Microsoft så är du välkommen.

1408 00:47:04,600 --> 00:47:08,920 Det verkar ju jättekonstigt att du skriver curl i ett operativsystem.

1409 00:47:09,040 --> 00:47:10,580 Och nät vid det operativsystemet.

1410 00:47:10,760 --> 00:47:12,920 Finns det något som inte är curl?

1411 00:47:13,280 --> 00:47:15,060 Om inte Microsoft var med i kontextet så ja.

1412 00:47:15,980 --> 00:47:18,880 Men nu är Microsoft med så att säga hej.

1413 00:47:18,880 --> 00:47:19,520 Det är inte så konstigt.

1414 00:47:20,040 --> 00:47:21,740 Jag tycker det är jättekonstigt.

1415 00:47:22,080 --> 00:47:25,240 Alltså ta ett annat populärt välkänt utility.

1416 00:47:25,240 --> 00:47:27,420 Jag kan inte lära sig något nytt.

1417 00:47:27,560 --> 00:47:29,480 Vi går tillbaka till vår…

1418 00:47:29,480 --> 00:47:30,240 Otroliga…

1419 00:47:31,040 --> 00:47:35,560 Supporter till podcasten som genererar väldigt bra content.

1420 00:47:36,080 --> 00:47:36,540 Och det är ju Love.

1421 00:47:37,200 --> 00:47:38,940 Som har producerat klistermärket.

1422 00:47:39,140 --> 00:47:39,740 Thrasher.

1423 00:47:40,100 --> 00:47:40,640 Men vänta lite.

1424 00:47:42,040 --> 00:47:44,900 Om vi ska ta en annan supporter.

1425 00:47:46,060 --> 00:47:48,300 Johan la ju upp…

1426 00:47:48,300 --> 00:47:49,980 Var det förr…

1427 00:47:49,980 --> 00:47:53,080 Det avsnittet vi publicerade typ sist.

1428 00:47:54,020 --> 00:47:55,320 Om det här.

1429 00:47:56,120 --> 00:47:57,320 Johan la upp det.

1430 00:47:57,720 --> 00:47:59,680 Jag var inte redo…

1431 00:47:59,680 --> 00:48:00,920 Nu måste vi ha kontext Peter.

1432 00:48:01,040 --> 00:48:01,540 Nu är det bara…

1433 00:48:01,540 --> 00:48:03,940 Det är som en stor väg utav en våld.

1434 00:48:03,940 --> 00:48:05,960 Vi har ju ett förvirrat publiceringsflöde.

1435 00:48:07,120 --> 00:48:07,940 Johan är…

1436 00:48:07,940 --> 00:48:09,540 Andra saker som är rätt förvirrande också.

1437 00:48:09,540 --> 00:48:10,760 Johan är…

1438 00:48:10,760 --> 00:48:13,700 Johan är Libsyn.

1439 00:48:13,800 --> 00:48:16,040 Och Johan är Vsårs och Truff.

1440 00:48:16,180 --> 00:48:16,340 Ja.

1441 00:48:16,700 --> 00:48:18,880 Det är ett problem. Men fortsätt.

1442 00:48:19,400 --> 00:48:23,120 Sen är jag Markdown och GitHub.

1443 00:48:23,540 --> 00:48:25,540 Och jag representerar…

1444 00:48:26,220 --> 00:48:27,120 Liksom…

1445 00:48:27,120 --> 00:48:28,100 Vsårs och Truffiness.

1446 00:48:28,380 --> 00:48:30,800 Den nästan sanna bilden av verkligheten.

1447 00:48:31,040 --> 00:48:32,220 Och det finns mer…

1448 00:48:32,220 --> 00:48:34,460 Och jag är den naiva slaven som publicerar allt man säger.

1449 00:48:34,620 --> 00:48:38,180 Det finns mer information i Vsårs och Truffiness.

1450 00:48:38,440 --> 00:48:38,900 Än vad det finns.

1451 00:48:39,100 --> 00:48:40,300 Vi har tre points of failure.

1452 00:48:43,400 --> 00:48:45,420 Och det är ju när vi gör någonting.

1453 00:48:45,820 --> 00:48:48,260 Så är det bra om vi synkar med varandra.

1454 00:48:48,700 --> 00:48:50,300 Men Johan…

1455 00:48:50,300 --> 00:48:51,060 Okej, nu börjar vi om.

1456 00:48:52,020 --> 00:48:53,220 Johan menar mig ursäkt.

1457 00:48:53,640 --> 00:48:55,700 Du, jag glömde nog av att publicera.

1458 00:48:55,780 --> 00:48:56,860 Men jag publicerar det nu.

1459 00:48:57,040 --> 00:48:58,040 Och jag bara…

1460 00:48:58,040 --> 00:48:59,720 Ja, det är bra. Jag är mitt ute i en skog.

1461 00:48:59,720 --> 00:49:00,920 Men jag tar det här sen.

1462 00:49:01,040 --> 00:49:03,120 Och sen blir det ju så här.

1463 00:49:03,160 --> 00:49:05,500 Jag kommer ju väl hem och så är jag trött och så där.

1464 00:49:05,580 --> 00:49:07,160 Och så tänker jag…

1465 00:49:07,160 --> 00:49:10,160 Ja, just det. Jag skulle fixat hemsidan.

1466 00:49:10,560 --> 00:49:10,920 Men…

1467 00:49:10,920 --> 00:49:14,600 Jag sover och så löser jag det här imorgon.

1468 00:49:15,320 --> 00:49:17,960 Och ett av våra största fan

1469 00:49:17,960 --> 00:49:19,240 konstaterar ju…

1470 00:49:19,240 --> 00:49:20,560 Vad fan håller de på med?

1471 00:49:20,620 --> 00:49:22,120 De har ju inte lagt upp på hemsidan.

1472 00:49:22,700 --> 00:49:25,100 Så någonstans där nere ligger jag och sover.

1473 00:49:25,240 --> 00:49:25,920 Så får jag ett mail.

1474 00:49:26,600 --> 00:49:28,260 Och när jag får ett mail från GitHub

1475 00:49:28,260 --> 00:49:29,320 så känns det ju inte bra.

1476 00:49:29,720 --> 00:49:30,920 För det är liksom så här…

1477 00:49:31,040 --> 00:49:33,180 Jag får inte mail. Det brukar vara dåligt.

1478 00:49:33,840 --> 00:49:34,640 Så så här…

1479 00:49:34,640 --> 00:49:35,700 Vad har hänt nu?

1480 00:49:37,320 --> 00:49:39,160 Någon har faktiskt noterat

1481 00:49:39,160 --> 00:49:41,080 att vi inte skött vår publicering rätt.

1482 00:49:41,360 --> 00:49:42,820 Och lagt en bugrapport på det.

1483 00:49:43,260 --> 00:49:45,880 Så det är vår första bugrapport

1484 00:49:45,880 --> 00:49:46,360 vi har fått.

1485 00:49:46,520 --> 00:49:47,940 Och den är helt korrekt och så.

1486 00:49:48,280 --> 00:49:49,840 Men det är ju…

1487 00:49:49,840 --> 00:49:52,900 Det är inte infrastrukturfel dock.

1488 00:49:53,020 --> 00:49:54,640 För det var inte publicerat, vill jag bara säga.

1489 00:49:55,640 --> 00:49:57,600 Nej, men det finns många

1490 00:49:57,600 --> 00:49:58,820 roliga poäng som failar.

1491 00:49:58,860 --> 00:49:59,960 Ibland är det lyxigt problemet.

1492 00:49:59,960 --> 00:50:00,960 Ibland tycker man…

1493 00:50:01,040 --> 00:50:03,220 Och då dyker det upp utan kostnader.

1494 00:50:04,180 --> 00:50:05,700 Ja, så hade vi ju den

1495 00:50:05,700 --> 00:50:08,280 när vi sätter upp fler olika

1496 00:50:08,280 --> 00:50:09,140 resursbläddor.

1497 00:50:09,500 --> 00:50:10,920 Eller på helt plötsligt inte igår.

1498 00:50:11,040 --> 00:50:12,300 Så får man använda FTP istället.

1499 00:50:13,480 --> 00:50:14,220 Det är ju spännande.

1500 00:50:14,580 --> 00:50:17,500 Men ändå lite coolt att vi har

1501 00:50:17,500 --> 00:50:19,180 fans som håller ordning på oss

1502 00:50:19,180 --> 00:50:21,040 och bugrapporterar när vi inte sköter oss.

1503 00:50:21,580 --> 00:50:22,000 Så är det.

1504 00:50:23,080 --> 00:50:25,820 Då ska vi ta och säga att det får vara slutorden för idag.

1505 00:50:26,160 --> 00:50:26,520 Så är det.

1506 00:50:26,880 --> 00:50:28,560 Jag som pratade heter Johan Rybämöller.

1507 00:50:28,560 --> 00:50:29,800 Med mig hade jag Peter Magnusson.

1508 00:50:30,240 --> 00:50:30,640 Invo.

1509 00:50:31,040 --> 00:50:32,560 Requestet i din skrift.

1510 00:50:32,780 --> 00:50:33,420 Jesper Larsson.

1511 00:50:34,060 --> 00:50:34,740 Jag har inget.

1512 00:50:34,860 --> 00:50:36,200 Jag är färdig.

1513 00:50:36,440 --> 00:50:37,020 Ha det gött, hej!

1514 00:50:37,260 --> 00:50:37,660 Ha det gött, hej!

1515 00:50:37,760 --> 00:50:37,940 Tja!

1516 00:50:37,940 --> 00:50:38,380 Ha det gött!