Säkerhetspodcasten #215 - Log4Shell
Lyssna
- mp3, längd: 01:13:27
Innehåll
I dagens avsnitt diskuterar vi Log4Shell, vår tids kanske värsta och mest spridda sårbarhet.
AI transkribering
AI försöker förstå oss… Ha överseende med galna feltranskriberingar.
1 00:00:00,260 --> 00:00:25,380
Hej och välkommen till Säkerhetspodcasten, jag har pratat med Johan Ryberg Möller, med mig idag har jag Peter Magnusson, den magnifika, Richard Bodfors, med julmuranskuler i glasögonen, och Jesper Larsson, den medvetslöse, för Mattias idag är tyvärr sjuk, så han kunde inte medverka idag, men vi andra sitter här runt bordet och myser i advent, utan gubbsnua, för det mesta i alla fall.
2 00:00:25,380 --> 00:00:31,080
Ja, så är det faktiskt, och vi är faktiskt på samma ställe den här gången, det är kul, vi har ingen inringande.
3 00:00:31,920 --> 00:00:34,840
Vi har fortfarande inte lyckats få alla fem på samma plats ännu.
4 00:00:35,140 --> 00:00:38,360
Nej, det är svårt i dessa pandemitider.
5 00:00:38,700 --> 00:00:41,080
Men vi är åtminstone så nära man kan komma.
6 00:00:41,440 --> 00:00:45,560
Frågan är om vi kommer att lyckas med det innan man drar igång med restriktioner igen.
7 00:00:45,860 --> 00:00:47,280
Nej, det känns så nu faktiskt.
8 00:00:47,720 --> 00:00:52,740
Nu ska vi inte, uff, jag har tagit semester hela januari, så jag hoppas inte det blir några fler restriktioner.
9 00:00:52,740 --> 00:00:53,200
Nej, det hoppas inte jag heller.
10 00:00:53,200 --> 00:01:03,780
Ja, men innan vi går vidare så ska vi ju nämna att vi är sponsrade såklart som vanligt av Ashort, som ni kan hitta mer information om på ashort.se.
11 00:01:04,280 --> 00:01:10,000
Vi är sponsrade av Bordfors Consulting som ni hittar på bordfors.se och av 0x4a som ni hittar på 0x4a.se.
12 00:01:10,360 --> 00:01:10,760
Yes!
13 00:01:11,180 --> 00:01:13,180
Men det där kan ni ju sedan gammalt.
14 00:01:13,260 --> 00:01:13,720
Ja, visst!
15 00:01:13,820 --> 00:01:20,720
Vill ni nå ut till oss så kan ni göra det. Ni kan mejla oss på kontakt.sakarhetspodcasten.se eller på vår Twitterkonto at sakpodcasten.
16 00:01:21,940 --> 00:01:23,080
Och sen finns vi ju lite mer.
17 00:01:23,200 --> 00:01:24,980
På Facebook och på Sakarhetspodcasten.se och sådär.
18 00:01:24,980 --> 00:01:25,880
Ni hittar oss bara.
19 00:01:26,820 --> 00:01:28,540
Men ni vet det där, ni som har varit med.
20 00:01:29,020 --> 00:01:32,360
Jag har svårt att tro att det är så många som hoppar in nu runt avsnitt 200 eller någonting.
21 00:01:32,700 --> 00:01:36,880
Jag kan vara en och annan student, för jag föreläste i Ninköping här i veckan.
22 00:01:36,940 --> 00:01:43,480
Och gör ni det så, de första avsnitten, ja, det var lite mycket berusning vissa gånger, men det ska man inte vara rädd för ibland.
23 00:01:43,480 --> 00:01:50,640
Hej tomtegubbar, slå i glasen. Har ni tänkt på att det är slå i glasen? Alltså hälla i något i glasen, inte slå i glasen.
24 00:01:50,860 --> 00:01:52,300
Nej, slå i något i glasen.
25 00:01:53,200 --> 00:01:54,120
Visste jag inte, nu vet jag det.
26 00:01:54,200 --> 00:01:55,020
Och låt oss lustiga bara.
27 00:01:55,400 --> 00:02:00,860
I vilket fall så ska vi nämna att apropå att vara lustiga så är ju Security Fest tillbaka.
28 00:02:01,160 --> 00:02:04,380
Ja, CFP är uppe och fungerar ibland.
29 00:02:04,640 --> 00:02:10,220
Ja, vi har haft lite strul med CFP-systemet, men vi har fått in en hel del ändå.
30 00:02:11,020 --> 00:02:12,060
Och vi har fått in lite dubbletter.
31 00:02:12,160 --> 00:02:14,500
Ja, strula det så keep on trying.
32 00:02:15,860 --> 00:02:19,800
Vi köper ju numera det som tjänst, vilket är mycket bättre för alla inblandade.
33 00:02:19,840 --> 00:02:21,900
Förutom att det funkar sådär då.
34 00:02:22,080 --> 00:02:23,060
Ja, men det…
35 00:02:23,200 --> 00:02:25,040
Det är ju någon annans problem.
36 00:02:25,240 --> 00:02:30,220
Är det så att det inte av någon anledning skulle fungera när du försöker skicka in i CFP trots upprepade försök?
37 00:02:30,340 --> 00:02:33,720
Ja, ta bort dina XSX-sugaktorer från insändningen.
38 00:02:33,940 --> 00:02:36,860
Det kanske, men också skicka ett mejl.
39 00:02:37,020 --> 00:02:39,400
Så löser det info at securityfest.com.
40 00:02:39,440 --> 00:02:40,440
Ja, eller hello at securityfest.com.
41 00:02:40,440 --> 00:02:41,020
Hello är det till och med.
42 00:02:41,780 --> 00:02:45,480
Annars så är det så att vi planerar att köra den 2 och 3 juni.
43 00:02:45,600 --> 00:02:45,840
Yes.
44 00:02:46,040 --> 00:02:48,160
Billetter kommer att släppas någon gång framöver.
45 00:02:48,160 --> 00:02:50,040
Ja, i början på nästa år tänker jag.
46 00:02:50,160 --> 00:02:53,160
Vi håller fortfarande på att diskutera detaljer med vänsterländerna.
47 00:02:53,200 --> 00:02:58,240
I och med att det har varit pandemi så har vi stått inför en del förändringar.
48 00:02:58,340 --> 00:03:02,160
Men vi tror att vi ska kunna vara tillbaka i exakt samma form som tidigare.
49 00:03:02,240 --> 00:03:06,660
Och inte bättre i det här försenade femårsjubileet.
50 00:03:06,760 --> 00:03:07,700
Ja, två år sent.
51 00:03:08,240 --> 00:03:12,740
Men ja, störe och vackrare än någonsin.
52 00:03:12,960 --> 00:03:13,640
Ja, vi hoppas det.
53 00:03:15,020 --> 00:03:16,560
Så blir det, såklart.
54 00:03:16,980 --> 00:03:19,660
Det ser vi fram emot, men mer om det när det närmar sig.
55 00:03:19,980 --> 00:03:22,540
Och ni som inte har förstått det än så är det här ett ostrukturerat avsnitt.
56 00:03:23,200 --> 00:03:23,760
Som vanligt.
57 00:03:24,580 --> 00:03:28,720
Dessutom det sista avsnittet som vi spelar in nu innan vi går in i jul och nyår.
58 00:03:29,780 --> 00:03:31,860
Och förhoppningsvis mot ljusare tider.
59 00:03:32,500 --> 00:03:37,540
Och vi vill se om vi kör vårt spådomsavsnitt nu i afton.
60 00:03:37,580 --> 00:03:41,000
Ja, precis. Det beror på hur trötta vi är efter den här insatsen.
61 00:03:41,000 --> 00:03:44,160
Det kan bli som förra året, det vill säga att vi spelade in det runt 20 knut.
62 00:03:44,360 --> 00:03:44,840
Ja, precis.
63 00:03:45,340 --> 00:03:47,060
Och det är inget fel med det heller.
64 00:03:47,200 --> 00:03:48,580
Nej, det har man att ta sig fram emot.
65 00:03:48,880 --> 00:03:53,180
Dels har man fått lite förhandsinformation om vad 2022 har i sitt sköt.
66 00:03:53,200 --> 00:03:55,200
Man har ju flera dagars erfarenhet.
67 00:03:55,440 --> 00:03:57,480
Plus att hela 2021 kommer att ha varit över.
68 00:03:57,620 --> 00:04:01,660
Så vi har ju faktiskt några veckor kvar här nu innan våra tidigare predictions kan slå in.
69 00:04:02,440 --> 00:04:06,200
Ja, och på tal om det så känns det som att det här avsnittet måste ju…
70 00:04:06,880 --> 00:04:08,980
Vadå, tycker du? Har det inte hänt något speciellt?
71 00:04:09,000 --> 00:04:10,120
Det har hänt något fantastiskt.
72 00:04:10,800 --> 00:04:13,100
Vi har ju fått en ny t-shirt-bug.
73 00:04:13,620 --> 00:04:15,300
En riktigt bra rackare också.
74 00:04:15,640 --> 00:04:18,340
Det känns lite Heartbleed-style.
75 00:04:18,400 --> 00:04:20,260
I impact i alla fall.
76 00:04:20,260 --> 00:04:21,980
Men nu har vi ett paint.
77 00:04:22,320 --> 00:04:23,180
Alltså MS Paint.
78 00:04:23,200 --> 00:04:26,600
Man kan ju inte logga istället för att det är gjort i någon riktig grafikerprogram.
79 00:04:26,620 --> 00:04:27,760
Man är ju lite besviken på det.
80 00:04:28,280 --> 00:04:31,760
Och ni som har gissat så pratar vi såklart om Padding Oracle.
81 00:04:33,080 --> 00:04:33,900
Det gör vi inte.
82 00:04:34,180 --> 00:04:36,160
Vi pratar ju om Log4J-attacken.
83 00:04:36,400 --> 00:04:36,840
Log4Shell.
84 00:04:37,280 --> 00:04:37,940
Log4Shell också.
85 00:04:38,960 --> 00:04:41,520
Men ja, det är ju…
86 00:04:41,520 --> 00:04:45,980
Om ni har undgått det, den nyheten, så vet jag inte riktigt vilken sten ni har bott under.
87 00:04:46,420 --> 00:04:50,100
Nej, det är ju en sjukt rolig historia här.
88 00:04:50,480 --> 00:04:52,420
Eller det är en väldigt rolig…
89 00:04:52,420 --> 00:04:53,100
Det blir bra för att…
90 00:04:53,200 --> 00:04:55,200
Det drabbar ju så väldigt många.
91 00:04:55,800 --> 00:04:58,140
Så vi får ju väldigt många som tittar på det väldigt snabbt.
92 00:04:58,260 --> 00:05:01,140
Jag skulle vilja säga att de tre…
93 00:05:01,140 --> 00:05:06,620
Den här skulle jag säga är ju i klass med Shell-chock och…
94 00:05:06,620 --> 00:05:07,560
Men om vi…
95 00:05:07,560 --> 00:05:11,780
Jag satt ju och diskuterade om huruvida den här är större.
96 00:05:12,440 --> 00:05:13,820
Men om vi passar nu.
97 00:05:14,020 --> 00:05:18,300
Kan man ge mig en beskrivning av vad Log4Shell är för något?
98 00:05:18,300 --> 00:05:19,740
Kan inte du ge oss en beskrivning?
99 00:05:19,740 --> 00:05:22,460
Nej, men jag kan försöka så får du rätta mig.
100 00:05:22,680 --> 00:05:23,040
För idén…
101 00:05:23,040 --> 00:05:24,500
Jag började i 2016.
102 00:05:24,560 --> 00:05:29,180
Nej, men ska vi ta tidslinjerna eller ska vi liksom bara beskriva själva sårbarheten?
103 00:05:29,180 --> 00:05:30,960
Jag ska börja med att beskriva vad Log4J är.
104 00:05:31,020 --> 00:05:32,560
Men början beskriv sårbarheten.
105 00:05:32,760 --> 00:05:34,260
Ja, men sårbarheten är ju…
106 00:05:34,260 --> 00:05:36,160
Nu kan jag ju ha fel här då.
107 00:05:36,780 --> 00:05:37,620
Det brukar jag ha.
108 00:05:37,700 --> 00:05:39,780
Ska vi inte säga vad det är för produkter den är?
109 00:05:40,340 --> 00:05:44,900
Log4J är ett loggbibliotek utvecklat av Apache.
110 00:05:44,900 --> 00:05:49,320
För att egentligen greppa efter saker i loggfiler.
111 00:05:49,800 --> 00:05:52,900
Och det finns och används i hundratusentals…
112 00:05:53,040 --> 00:06:00,520
Ja, och det är egentligen så att man kan väl se det som en…
113 00:06:00,520 --> 00:06:04,080
Du kan definiera olika uttryck som du kan söka efter.
114 00:06:04,220 --> 00:06:04,900
Typ som en string.
115 00:06:04,980 --> 00:06:08,140
Jag vill lista allting som heter Kalle.
116 00:06:08,520 --> 00:06:14,260
Ja, och det här finns liksom inkluderat i bibliotek som Patches Struts och Solar och…
117 00:06:14,260 --> 00:06:16,100
Små grejer som oftast används.
118 00:06:16,300 --> 00:06:17,440
Ja, som finns överallt.
119 00:06:17,440 --> 00:06:19,160
Ja, men väldigt brett.
120 00:06:21,320 --> 00:06:22,680
Adoption rate är jättehög.
121 00:06:23,040 --> 00:06:24,400
Alltså, det är väldigt, väldigt vanligt.
122 00:06:24,900 --> 00:06:26,140
Ja, alltså…
123 00:06:26,140 --> 00:06:31,940
Om du kodar i Java och du loggar så är det ju supervanligt att det är det här du använder.
124 00:06:32,080 --> 00:06:32,180
Ja.
125 00:06:33,340 --> 00:06:35,740
Det är väl ingen som kör massa Java-grejer ute där.
126 00:06:36,020 --> 00:06:36,960
Det är jättemånga.
127 00:06:37,180 --> 00:06:37,940
Det är bara ett skäl.
128 00:06:38,140 --> 00:06:39,760
Framförallt stora…
129 00:06:39,760 --> 00:06:42,280
Alltså, dels har vi ju grejer på Embedded-sidan och sånt.
130 00:06:42,280 --> 00:06:44,740
Men vi har ju väldigt mycket på stora servrar.
131 00:06:44,960 --> 00:06:49,100
Där det snurrar tråkiga, viktiga system så är det ju sjukt ofta Java.
132 00:06:49,100 --> 00:06:51,780
Ja, men mycket bank och finans har ju massa Java-grejer.
133 00:06:51,880 --> 00:06:52,280
Alltså, det är liksom…
134 00:06:53,040 --> 00:06:54,100
Det är vanligt förekommande.
135 00:06:54,200 --> 00:06:59,520
Och det är ju inte nödvändigtvis de systemen som är webbfacing som är målen heller.
136 00:06:59,680 --> 00:07:05,080
Utan det kan ju vara något system någonstans som ligger och gör någonting i bakgrunden.
137 00:07:06,020 --> 00:07:08,200
Som inte alls är publikt exponerat.
138 00:07:08,440 --> 00:07:10,080
Så, det här har ju funnits väldigt länge.
139 00:07:10,280 --> 00:07:11,240
Så, vad är problemet här då?
140 00:07:11,760 --> 00:07:13,020
Ja, det är väl…
141 00:07:13,020 --> 00:07:16,780
Ska vi gå in på vad sårbarheten handlar om innan vi går in på vad rootcoursen…
142 00:07:16,780 --> 00:07:17,180
Ja, men precis.
143 00:07:17,800 --> 00:07:18,000
Ja.
144 00:07:18,000 --> 00:07:21,000
Alltså, rootcoursen är ju…
145 00:07:21,620 --> 00:07:22,920
Ja, vad sårbarheten handlar ju om.
146 00:07:23,040 --> 00:07:24,060
Att man har…
147 00:07:24,060 --> 00:07:26,940
Gör en i-väl på loggsträngen i princip.
148 00:07:27,340 --> 00:07:28,260
Ja, fast det…
149 00:07:28,260 --> 00:07:31,620
Det är ju en feature.
150 00:07:32,700 --> 00:07:33,220
Men…
151 00:07:33,220 --> 00:07:35,720
Så, problemet är här, det är ju det här JNI.
152 00:07:35,900 --> 00:07:36,800
Alltså, JNI…
153 00:07:36,800 --> 00:07:37,580
JNDI, va?
154 00:07:39,020 --> 00:07:40,000
JNDI, ja, precis.
155 00:07:40,300 --> 00:07:41,360
Och det blir ju…
156 00:07:41,360 --> 00:07:45,780
Det är ju en tjänst som är mycket större än att bara göra en e-väl.
157 00:07:45,780 --> 00:07:48,420
De introducerar ju någonting helt nytt här då.
158 00:07:48,580 --> 00:07:51,140
Du låter dig göra uppslag mot andra tjänster bland annat.
159 00:07:51,240 --> 00:07:52,840
Ja, LDAP då till exempel.
160 00:07:53,040 --> 00:07:54,740
Och det här finns ju…
161 00:07:54,740 --> 00:07:57,020
Nu är jag dålig på det här, men det finns ju dokumenterat.
162 00:07:57,080 --> 00:08:02,860
Jag vet att det här är inte första gången det här görs när man använder de här interfacen för att köra arbetarkår.
163 00:08:02,940 --> 00:08:07,060
Det vill säga att man skjuter in en sträng som gör ett LDAP-anrop till exempel.
164 00:08:07,080 --> 00:08:09,920
Men får jag försöka ge en lite strukturerad beskrivning?
165 00:08:10,480 --> 00:08:10,800
Verkligen, kör.
166 00:08:11,780 --> 00:08:14,860
Om vi antar att inte alla har full koll.
167 00:08:16,820 --> 00:08:18,000
Så, log4j.
168 00:08:18,840 --> 00:08:21,440
Och framförallt log4j2.
169 00:08:21,440 --> 00:08:22,440
För det här är…
170 00:08:23,040 --> 00:08:27,980
Det är två olika ramverk där log4j1 och log4j2 är…
171 00:08:27,980 --> 00:08:29,400
Två olika ramverk då.
172 00:08:29,480 --> 00:08:31,480
Log4j2 är den nyare, modernare då.
173 00:08:31,800 --> 00:08:34,080
Och det är väl i den den här buggen har introducerats va?
174 00:08:34,140 --> 00:08:35,220
Den finns inte i den andra.
175 00:08:35,400 --> 00:08:35,860
Nej, precis.
176 00:08:35,980 --> 00:08:46,080
Den utvecklingen av alla berörda features var innan release 2 eller release 1.
177 00:08:46,160 --> 00:08:48,060
Hur man nu väljer att se på det av log4j2.
178 00:08:49,200 --> 00:08:52,280
Så det är typ 2014 ungefär som det här lämnar.
179 00:08:52,280 --> 00:08:55,860
Att vara release-kandidater till att bli ett lib.
180 00:08:55,960 --> 00:08:57,680
Så vi har ändå levt med det…
181 00:08:57,680 --> 00:08:58,440
Väldigt länge.
182 00:08:58,780 --> 00:08:59,580
Ja, väldigt länge.
183 00:08:59,600 --> 00:09:03,280
Jag är ganska säker på att jag har sett något liknande någonstans.
184 00:09:03,940 --> 00:09:07,700
Där man har gjort typ exakt det som sårbarheten påpekar nu.
185 00:09:07,820 --> 00:09:10,100
Men jag kan inte komma ihåg vart.
186 00:09:10,440 --> 00:09:13,660
Vi kan väl komma till hur länge det här har varit känt senare.
187 00:09:14,100 --> 00:09:14,960
Om du fortsätter.
188 00:09:16,960 --> 00:09:18,960
Men bara då för…
189 00:09:19,760 --> 00:09:20,980
Ett loggramverk då.
190 00:09:21,080 --> 00:09:22,240
Det löser ett antal.
191 00:09:22,280 --> 00:09:22,640
Det löser ett antal saker.
192 00:09:23,660 --> 00:09:27,020
Bland annat att du kan skriva din kod.
193 00:09:27,280 --> 00:09:29,980
Och så skriver du typ logg.
194 00:09:31,000 --> 00:09:33,800
Logger.r och så kan du skriva i felmeddelande.
195 00:09:33,940 --> 00:09:36,440
Eller loggar.info när vi skriver ett informativt meddelande.
196 00:09:36,920 --> 00:09:36,980
Ja.
197 00:09:38,060 --> 00:09:40,740
Och sen var det…
198 00:09:40,740 --> 00:09:41,960
Istället för att…
199 00:09:41,960 --> 00:09:45,040
Du hade ju kunnat logga med att bara göra printf om du ville det.
200 00:09:45,160 --> 00:09:47,560
Eller skriva till debug-konsolen.
201 00:09:47,560 --> 00:09:51,700
Men vad de här loggramverken gör är att de lägger på massa lagar.
202 00:09:51,700 --> 00:09:52,300
Eller abstraktion.
203 00:09:52,480 --> 00:09:57,000
Så att den som kodar behöver inte veta hur det loggas.
204 00:09:57,360 --> 00:09:59,180
Allting runt…
205 00:09:59,180 --> 00:10:01,700
Om det ska komma ut faktiskt till Tyskland.
206 00:10:02,540 --> 00:10:04,040
Eller om liksom…
207 00:10:04,040 --> 00:10:05,160
Logiken bakom.
208 00:10:05,260 --> 00:10:07,320
Vad som ska läggas med på varje loggrad.
209 00:10:07,460 --> 00:10:09,780
Så koden blir ganska enkel.
210 00:10:10,060 --> 00:10:12,140
Du kan i stort sett skriva då att…
211 00:10:12,140 --> 00:10:15,660
Ja men jag loggar användarnamnet som loggade in till exempel.
212 00:10:15,900 --> 00:10:16,280
Och då…
213 00:10:16,280 --> 00:10:19,000
Det blir som template-ramverk kan man så att säga.
214 00:10:19,400 --> 00:10:19,640
Mm.
215 00:10:19,640 --> 00:10:20,040
Och…
216 00:10:20,040 --> 00:10:20,640
Och…
217 00:10:20,640 --> 00:10:21,240
Och…
218 00:10:21,240 --> 00:10:21,540
Och…
219 00:10:21,540 --> 00:10:21,580
Och…
220 00:10:21,580 --> 00:10:21,620
Och…
221 00:10:21,620 --> 00:10:21,680
Och…
222 00:10:21,700 --> 00:10:25,040
Och då kan man säga att i version två så tillkommer en…
223 00:10:25,040 --> 00:10:31,020
Ny version med den här gamla mustasch-syntaxen som finns i lite olika webbromverk och annat.
224 00:10:31,180 --> 00:10:37,040
Där du skriver ett dollartecken och så skriver du en fiskmåskarakter åt ena hållet.
225 00:10:37,180 --> 00:10:43,800
Och så skriver du lite kod och så skriver du en fiskmås i andra änden.
226 00:10:43,960 --> 00:10:46,020
Och så evalueras det.
227 00:10:46,020 --> 00:10:51,620
Och det här heter inte template eller någonting sånt i just det här omvärlden.
228 00:10:51,620 --> 00:10:55,260
Utan i det här omverket så heter det lookups av någon anledning.
229 00:10:55,720 --> 00:10:56,500
Fick man höra sig.
230 00:10:57,000 --> 00:10:57,100
Ja.
231 00:10:58,200 --> 00:11:01,620
Och jag då som har vissa…
232 00:11:01,620 --> 00:11:04,420
Vissa bakgrunder jag var blir ju lite såhär…
233 00:11:04,420 --> 00:11:04,840
Börjar fundera på.
234 00:11:04,980 --> 00:11:05,480
Men herregud.
235 00:11:06,180 --> 00:11:07,480
Har jag skrivit osäker kod?
236 00:11:07,580 --> 00:11:08,560
För jag har ju aldrig hört talas om det här.
237 00:11:08,700 --> 00:11:18,100
Men sen såg jag ju då att sårbarheten är ju så pass ny så att när jag kodade så fanns ju inte funktionen i fråga.
238 00:11:18,360 --> 00:11:19,820
Du säger ju en del hur gammal det heter.
239 00:11:20,100 --> 00:11:20,420
Ja.
240 00:11:20,420 --> 00:11:23,620
Nej men så…
241 00:11:23,620 --> 00:11:26,620
Vad som händer då?
242 00:11:27,160 --> 00:11:28,420
Och här har jag…
243 00:11:29,840 --> 00:11:32,760
Jag har inte analyserat det här i atomnivå.
244 00:11:32,940 --> 00:11:36,280
Men man inför alltså den här template-funktionen.
245 00:11:36,920 --> 00:11:41,520
Och den drabbar bland annat själva loggmeddelandet.
246 00:11:42,660 --> 00:11:44,780
Så det här är ju ett av problemen då.
247 00:11:44,780 --> 00:11:47,560
Att om du loggar någonting där använd…
248 00:11:47,560 --> 00:11:48,780
Eller alltså där…
249 00:11:48,780 --> 00:11:49,780
Utsidan får påverka…
250 00:11:50,420 --> 00:11:51,880
Vilken text som loggas.
251 00:11:51,900 --> 00:11:52,240
Ja, precis.
252 00:11:52,580 --> 00:11:54,060
Vad som finns med i loggsträngen.
253 00:11:54,080 --> 00:11:54,920
Då exekveras det.
254 00:11:55,660 --> 00:11:58,460
Och synnerligen farligt är ju då…
255 00:11:58,460 --> 00:12:00,100
Till exempel är det ju väldigt vanligt.
256 00:12:00,540 --> 00:12:03,420
Om vi nu bara antar inom säkerhet så…
257 00:12:04,040 --> 00:12:10,420
Så är det ju inte ovanligt till exempel att om man hamras med hundratusen lösenordförsök för ett visst användarkonto.
258 00:12:11,280 --> 00:12:15,460
Så vill man ju ofta logga vilket användarkonto som är utsatt för brute force-attacker.
259 00:12:15,460 --> 00:12:19,660
Det finns tusentals andra varianter där vi vill logga…
260 00:12:19,660 --> 00:12:20,220
Vanlig access.
261 00:12:20,420 --> 00:12:21,700
Vata som kommer från utsidan.
262 00:12:21,720 --> 00:12:23,860
Du loggar kanske User Agent är ju supervagat.
263 00:12:23,860 --> 00:12:24,760
Ja, ja, ja, ja.
264 00:12:25,240 --> 00:12:31,720
User Agent är ju det fältet som vi ser mest används för attackvektorn just nu i alla fall.
265 00:12:32,000 --> 00:12:34,980
Och det är ju såklart intressant för folk att veta vad deras…
266 00:12:34,980 --> 00:12:36,200
Nu vill vi inte hoppa vidare där.
267 00:12:36,300 --> 00:12:38,020
För Peter har väldigt strukturerat nu.
268 00:12:38,180 --> 00:12:39,900
Så det som händer är ju då att…
269 00:12:39,900 --> 00:12:45,860
När vi har använt våra måsvingar och har en idé om vad vi loggar.
270 00:12:45,860 --> 00:12:46,860
Då är ju problemet att…
271 00:12:47,540 --> 00:12:49,300
Hur ser vi till att det som är…
272 00:12:49,300 --> 00:12:50,260
Det som är själva…
273 00:12:50,260 --> 00:12:50,320
Mm.
274 00:12:50,320 --> 00:12:50,340
Mm.
275 00:12:50,340 --> 00:12:50,380
Mm.
276 00:12:50,380 --> 00:12:50,400
Mm.
277 00:12:50,420 --> 00:12:51,920
Att loggmeddelandet inte exekveras.
278 00:12:52,000 --> 00:12:53,580
För det är där magin börjar.
279 00:12:53,900 --> 00:12:56,420
Och nu är det som så här att…
280 00:12:56,420 --> 00:12:58,420
Beroende på vilka…
281 00:12:59,200 --> 00:13:00,420
Vilka…
282 00:13:01,540 --> 00:13:04,420
Ramverksfunktioner du har laddat in i…
283 00:13:05,240 --> 00:13:06,420
Från…
284 00:13:07,420 --> 00:13:07,960
Log4j.
285 00:13:08,100 --> 00:13:11,240
Från Log4j så får du alltså då stöd för olika lockups.
286 00:13:11,400 --> 00:13:11,560
Yes.
287 00:13:12,380 --> 00:13:14,100
Och lockups kan göra olika saker.
288 00:13:14,280 --> 00:13:15,420
Och det kan man säga som så här…
289 00:13:16,360 --> 00:13:19,420
En av grejerna som såvitt jag har sett så är det ju än så länge…
290 00:13:19,420 --> 00:13:23,420
Det har inte gjorts jättemycket research i…
291 00:13:24,200 --> 00:13:27,660
Finns det andra grejer som är riktigt spännande att skriva ut?
292 00:13:28,280 --> 00:13:29,920
Eller logga då?
293 00:13:30,980 --> 00:13:34,420
Och en av anledningen till att man bara har fokuserat på en…
294 00:13:35,420 --> 00:13:36,620
Riktigt spännande vektor.
295 00:13:36,960 --> 00:13:38,420
Det är ju helt enkelt att…
296 00:13:39,500 --> 00:13:42,920
Det har implementerats stöd för JNDI då.
297 00:13:43,080 --> 00:13:44,420
Java…
298 00:13:45,400 --> 00:13:46,420
Native Directory Interface.
299 00:13:47,040 --> 00:13:47,540
Ja, något sånt.
300 00:13:47,540 --> 00:13:48,280
Eller vad det står för.
301 00:13:48,280 --> 00:13:49,340
Men typ något sånt.
302 00:13:49,340 --> 00:13:51,720
Java RPC.
303 00:13:52,000 --> 00:13:52,940
Nej, allting går här.
304 00:13:52,940 --> 00:13:54,520
Ja, men det är typ det.
305 00:13:54,780 --> 00:13:55,700
Alltså grejen är ju som sagt…
306 00:13:55,700 --> 00:14:02,100
Java har ju en historik av att det fanns Java-server i olika lager och sånt.
307 00:14:02,180 --> 00:14:03,560
Där man hade ganska…
308 00:14:03,560 --> 00:14:06,020
Ja, så att funktioner finns så är det ju en ganska…
309 00:14:06,020 --> 00:14:07,500
Det är en rimlig…
310 00:14:07,500 --> 00:14:09,280
Det är en rimlig tjänst i stora bibliotek.
311 00:14:09,400 --> 00:14:10,400
Det är stora språk.
312 00:14:11,040 --> 00:14:12,120
Så det är rimligt att det finns.
313 00:14:12,560 --> 00:14:13,100
Men det är…
314 00:14:13,100 --> 00:14:13,540
Ja.
315 00:14:13,780 --> 00:14:19,140
Men en spännande fråga då för mig som inte har analyserat det här i nere i atomnivå.
316 00:14:19,140 --> 00:14:20,140
Det är ju att…
317 00:14:20,780 --> 00:14:26,140
Många verkar ju tro att den här funktionen är tänkt att funka så som den görs i exploitet.
318 00:14:27,740 --> 00:14:30,440
Alltså att man kan injicera ett kod och så.
319 00:14:30,560 --> 00:14:33,140
Men jag satt och läste på featuren där…
320 00:14:34,100 --> 00:14:38,940
Där man bad om funktionen och bad för implementerat stöd för att implementera JNDI.
321 00:14:39,960 --> 00:14:40,480
Stöd.
322 00:14:41,300 --> 00:14:47,900
Och i den featurebeskrivningen finns ju ett use case som vi kan möjligtvis debattera om det är…
323 00:14:47,900 --> 00:14:50,040
Helt säkerhetsmässigt sunt.
324 00:14:50,240 --> 00:14:54,680
Men det är ju absolut inte vad som händer i exploitet som är featuren som är efterfrågad.
325 00:14:55,500 --> 00:14:58,080
För den efterfrågade featuren är…
326 00:14:58,080 --> 00:14:58,900
Att du i…
327 00:14:59,680 --> 00:15:00,840
Log-filerna.
328 00:15:01,320 --> 00:15:02,920
Alltså log-konfigurationsfilerna.
329 00:15:02,960 --> 00:15:06,040
När du konfigurerar log för JNV ska kunna använda templates.
330 00:15:06,760 --> 00:15:10,620
Och där finns det ett use case som är ganska rimligt kan jag tycka.
331 00:15:10,620 --> 00:15:12,080
För då…
332 00:15:12,080 --> 00:15:13,100
Då är det liksom så här.
333 00:15:13,120 --> 00:15:15,620
Man ska kunna referera till en server som sitter…
334 00:15:16,720 --> 00:15:17,620
Och lämnar ut…
335 00:15:17,900 --> 00:15:19,880
Log-routers dynamiskt.
336 00:15:20,460 --> 00:15:23,040
Så då skulle du kunna få hjälp med…
337 00:15:23,040 --> 00:15:24,080
Hur du vill logga.
338 00:15:24,200 --> 00:15:28,840
Behöver inte applikationen veta utan den frågar en remote-server som skickar över…
339 00:15:28,840 --> 00:15:31,380
Liksom själva log-prytten till den.
340 00:15:32,240 --> 00:15:35,360
Och use caset de har är att de…
341 00:15:35,360 --> 00:15:40,900
Till exempel vill att alla olika webbappar ska få sin egen log-fil och att…
342 00:15:40,900 --> 00:15:46,340
Deras exempel-router skulle till exempel kunna logga information om vilken process som kör och sådär.
343 00:15:46,940 --> 00:15:47,580
Så att…
344 00:15:47,580 --> 00:15:48,600
Den efterfrågade featuren är sund.
345 00:15:48,600 --> 00:15:51,420
Det är en rimlig separationsidé.
346 00:15:51,720 --> 00:15:53,720
Det är lugnt.
347 00:15:53,840 --> 00:15:55,720
Det är inte det knasiga.
348 00:15:55,980 --> 00:15:59,840
Det som är sjukt spännande är ju då att…
349 00:15:59,840 --> 00:16:05,580
Istället för att de här look-appsen då håller på och opererar i…
350 00:16:05,580 --> 00:16:10,120
I konfigurationsfilerna som är beskrivningen av det man ber om Jindy-stödet.
351 00:16:10,680 --> 00:16:15,380
Så i exploiten så kommer ju det här med loggmeddelanden när de blir exekverade.
352 00:16:16,220 --> 00:16:17,120
Så det är ju liksom…
353 00:16:17,580 --> 00:16:20,660
Så den är ganska spännande om det var…
354 00:16:20,660 --> 00:16:27,440
Var det väldigt oklart och rörigt mellan core-utvecklingen och Log4J var…
355 00:16:27,440 --> 00:16:29,160
Liksom var templet ligger.
356 00:16:29,400 --> 00:16:32,340
Var det så att olika utvecklade, olika uppfattningar…
357 00:16:32,340 --> 00:16:33,840
Eller finns det någon liten…
358 00:16:33,840 --> 00:16:38,500
I origin-storin att det var någon liten bugg där man då kunde köra fel strängen omver någonstans.
359 00:16:38,620 --> 00:16:39,440
Liksom det är…
360 00:16:39,440 --> 00:16:41,340
Det finns ändå sån såhär…
361 00:16:41,340 --> 00:16:47,340
Jag känner att origin-storin för den här buggen har inte riktigt kommit till min fulla kännedom.
362 00:16:47,340 --> 00:16:49,660
Eftersom att önskvärd funktion är sund.
363 00:16:50,320 --> 00:16:53,740
Jo, men idén är ju att du har protokollstöd här just med LDAP då till exempel.
364 00:16:54,200 --> 00:16:54,340
Ja.
365 00:16:54,440 --> 00:16:58,820
Så att du kan ropa på en arbiträr LDAP-källa som då får lov att skicka tillbaka data.
366 00:16:58,940 --> 00:16:59,400
Och den datan…
367 00:16:59,400 --> 00:17:02,820
Från en hårdkoddad konfigurationsfil styrd av utvecklarna.
368 00:17:02,820 --> 00:17:03,880
Men inte jättegalet.
369 00:17:04,120 --> 00:17:06,000
Nej, fan okej. Jag kan köpa det.
370 00:17:06,580 --> 00:17:07,760
Men, men…
371 00:17:07,760 --> 00:17:07,920
Ja.
372 00:17:08,200 --> 00:17:11,580
Som inte har någon som helst koppling till vad vi ser i exploiten.
373 00:17:11,580 --> 00:17:13,280
Det som är roligt här nu när du säger det…
374 00:17:13,280 --> 00:17:14,780
För jag menar det här är ju…
375 00:17:14,780 --> 00:17:15,460
Det här är ganska kul.
376 00:17:15,460 --> 00:17:16,400
Det här blir en bra in.
377 00:17:17,340 --> 00:17:19,500
Men när den här rapporterades av…
378 00:17:19,500 --> 00:17:20,680
Det var väl Alibaba-gänget?
379 00:17:20,700 --> 00:17:21,380
Ja, Alibaba var det.
380 00:17:21,480 --> 00:17:23,760
Deras security-team submitar ju den här.
381 00:17:23,980 --> 00:17:25,280
Nu, jag får…
382 00:17:25,280 --> 00:17:26,520
Det jag säger nu för att ta mig nu för salt.
383 00:17:26,600 --> 00:17:27,200
För det här är ju så här.
384 00:17:27,640 --> 00:17:30,740
I chattrum där man får länkar skickade till sig.
385 00:17:30,840 --> 00:17:32,800
Jag har läst en del av sakerna som är där ute.
386 00:17:32,840 --> 00:17:34,400
Jag kan inte säga att jag har följt det här i detalj.
387 00:17:34,980 --> 00:17:38,920
Men då får jag i alla fall upplevelsen om att det inte riktigt är så här…
388 00:17:38,920 --> 00:17:42,220
Ja, vi ser att ni tycker det här är dåligt.
389 00:17:42,400 --> 00:17:42,820
Men, eh.
390 00:17:43,880 --> 00:17:46,000
Alltså man tar inte riktigt på allvar känner jag.
391 00:17:46,000 --> 00:17:46,580
Det som…
392 00:17:46,580 --> 00:17:46,740
För att…
393 00:17:46,740 --> 00:17:47,320
När det först…
394 00:17:47,320 --> 00:17:47,880
För att det först rapporterades.
395 00:17:48,000 --> 00:17:48,140
Ja.
396 00:17:48,580 --> 00:17:50,180
Och det gjordes ju typ i november.
397 00:17:51,000 --> 00:17:52,020
24 november.
398 00:17:53,020 --> 00:17:55,880
Är väl den publiken jävna disclosure-timelinen.
399 00:17:56,160 --> 00:17:57,380
Och då var väl egentligen mer så här.
400 00:17:57,740 --> 00:17:59,160
Det var inte…
401 00:17:59,160 --> 00:18:00,260
Det var inte en grej.
402 00:18:00,360 --> 00:18:02,040
Det var inte så mycket ringar på vattnet just då.
403 00:18:02,340 --> 00:18:03,640
Nej, de fattar inte riktigt.
404 00:18:03,780 --> 00:18:04,060
Ja, men lite.
405 00:18:04,560 --> 00:18:06,500
Det blev kul nu som kontext här.
406 00:18:06,560 --> 00:18:08,760
När Peter kör…
407 00:18:08,760 --> 00:18:10,180
Ja, men han förklarar sin take på det.
408 00:18:10,220 --> 00:18:10,920
Jag håller med där.
409 00:18:11,040 --> 00:18:12,300
Alltså det är ju…
410 00:18:12,300 --> 00:18:15,020
Basfunktionaliteten här är ju ganska sund egentligen.
411 00:18:15,320 --> 00:18:17,300
Men man förstår inte impacten av det.
412 00:18:17,320 --> 00:18:20,440
Ja, men framförallt så är det ju en jättestor fråga.
413 00:18:20,580 --> 00:18:22,320
Varför ligger template-funktionen…
414 00:18:23,880 --> 00:18:24,980
Och liksom…
415 00:18:24,980 --> 00:18:28,320
Varför är den inblandad i själva texten som blir loggad?
416 00:18:28,540 --> 00:18:30,220
Där har det ju ändå nåt jättekonstigt.
417 00:18:30,320 --> 00:18:31,780
Ja, men det är ju nog en separationskör där.
418 00:18:31,880 --> 00:18:33,100
Det vill säga den tolkas som…
419 00:18:33,100 --> 00:18:35,100
Ja, där ska ju ingen evaluering köra.
420 00:18:35,280 --> 00:18:36,100
Nej, helst inte.
421 00:18:36,560 --> 00:18:37,500
Det är ju det som är…
422 00:18:37,500 --> 00:18:38,320
Alltså återigen…
423 00:18:38,940 --> 00:18:41,000
Input validation for fuck’s sake.
424 00:18:41,240 --> 00:18:41,920
Ja, faktiskt.
425 00:18:42,060 --> 00:18:42,500
Men det är ju det.
426 00:18:42,580 --> 00:18:43,560
Men i många lager då.
427 00:18:43,560 --> 00:18:46,560
Det finns ju säkert i och med att det är…
428 00:18:47,320 --> 00:18:48,800
I flera steg då.
429 00:18:48,980 --> 00:18:50,580
Som det här medlemmet ska hanteras.
430 00:18:51,060 --> 00:18:52,540
Så är det ju…
431 00:18:52,540 --> 00:18:53,920
Jag skulle inte säga att det är helt orimligt.
432 00:18:54,040 --> 00:18:54,960
Alltså det har hänt förut.
433 00:18:55,500 --> 00:18:56,100
Jo, jo.
434 00:18:56,220 --> 00:18:58,380
Det är ju någon som inte tänker på att…
435 00:18:58,380 --> 00:18:59,400
Men det här är väl inte mitt ansvar?
436 00:18:59,640 --> 00:19:00,760
Nej, men alltså…
437 00:19:00,760 --> 00:19:02,280
Jo, så kan det absolut vara.
438 00:19:02,560 --> 00:19:03,960
Men det är liksom…
439 00:19:03,960 --> 00:19:06,900
Funktionalitetsmässigt så är det ju inte helt osvårt.
440 00:19:06,900 --> 00:19:07,840
Men samtidigt…
441 00:19:07,840 --> 00:19:09,480
Om man tar ett steg tillbaka då.
442 00:19:10,840 --> 00:19:13,720
Om jag som utvecklare sitter där.
443 00:19:13,720 --> 00:19:16,960
Och så känner jag att jag behöver logga user agent.
444 00:19:17,320 --> 00:19:24,040
Att då förstå att det är okontrollerbart input.
445 00:19:24,300 --> 00:19:25,260
Är inte helt intuitivt.
446 00:19:25,260 --> 00:19:28,860
Och att det sen kommer dessutom köras en valideringsgrej på det.
447 00:19:28,940 --> 00:19:31,960
Utan jag vet bara att jag vill logga punkt info.
448 00:19:33,180 --> 00:19:34,180
User agent.
449 00:19:34,400 --> 00:19:35,800
Men jag kan ju säga så här.
450 00:19:35,840 --> 00:19:39,100
Jag har ju suttit och lekt någon enstaka timma med det här idag.
451 00:19:39,620 --> 00:19:42,160
Och det finns såna här grejer som jag tycker är sjukt spännande.
452 00:19:42,160 --> 00:19:44,160
För en av mina frågor var…
453 00:19:45,000 --> 00:19:47,160
Hur kan den här buggen finnas?
454 00:19:47,320 --> 00:19:50,960
Utan att tusentals pen-testare redan har hittat den?
455 00:19:51,000 --> 00:19:55,260
Alltså grejen är att det dök ju upp så tidigt som 2016.
456 00:19:55,540 --> 00:19:59,800
Så var ju detta med det här problemet togs upp i ett black hat-tåg.
457 00:20:00,240 --> 00:20:01,420
Med en gin, det menar du?
458 00:20:01,520 --> 00:20:01,680
Ja.
459 00:20:02,280 --> 00:20:04,220
Ja, det är därifrån man har…
460 00:20:04,220 --> 00:20:06,720
Eller hur? Exakt samma eldapp-kör va?
461 00:20:06,980 --> 00:20:07,320
Ja, ja.
462 00:20:07,340 --> 00:20:08,440
Typ mer eller mindre ettighet.
463 00:20:08,460 --> 00:20:09,300
Mer eller mindre så här.
464 00:20:09,360 --> 00:20:10,620
Ja, här är såbärheten typ.
465 00:20:10,840 --> 00:20:12,140
Ja, men det här är ju en av grejerna.
466 00:20:12,140 --> 00:20:12,600
Ja, eller hur?
467 00:20:12,600 --> 00:20:12,920
Ja.
468 00:20:13,260 --> 00:20:14,820
Visst är det så att man har sett det här förut?
469 00:20:14,860 --> 00:20:17,220
Den här har funnits liksom ute…
470 00:20:17,220 --> 00:20:18,800
Och har varit känd.
471 00:20:19,280 --> 00:20:21,980
Ja, det fanns exploit-verktyg och sånt också.
472 00:20:22,260 --> 00:20:23,660
Men det är ju nytt att…
473 00:20:23,660 --> 00:20:25,360
Eller hur? Jag känner igen det så jäkla mycket.
474 00:20:25,360 --> 00:20:29,380
Ja, men det nya är ju att du kan skriva mustasch här.
475 00:20:29,460 --> 00:20:31,960
Du skriver en dollartecken, brädgård.
476 00:20:32,520 --> 00:20:36,000
Och så kapslerar du in det runt ett uttryck.
477 00:20:36,960 --> 00:20:38,680
Och så händer det in i Log4J.
478 00:20:38,840 --> 00:20:39,840
Det är ju det som är det nya.
479 00:20:39,840 --> 00:20:45,000
Och sen är det väl impacten som folk har fattat nu och är så…
480 00:20:45,000 --> 00:20:46,980
Att det är så lätt att utnyttja.
481 00:20:47,220 --> 00:20:49,140
Och dess totala impact.
482 00:20:49,240 --> 00:20:50,820
Men det är ju lite galenskap.
483 00:20:51,200 --> 00:20:55,060
Och det är därför jag är sjukt sugen på att någon gång förstå…
484 00:20:55,060 --> 00:20:56,740
Vad var det som hände egentligen?
485 00:20:56,820 --> 00:20:57,560
Hur gick det här för er?
486 00:20:57,560 --> 00:21:03,520
Det känns ju som att av alla företag jag känner till som har en incident…
487 00:21:03,520 --> 00:21:05,300
Liksom…
488 00:21:05,300 --> 00:21:08,000
Process eller har liksom ett incident-team.
489 00:21:08,000 --> 00:21:10,280
De har ju kört på det här nu hela helgen.
490 00:21:10,900 --> 00:21:12,320
Och det som är kul med det…
491 00:21:12,320 --> 00:21:14,120
Eller kul det kanske, det är väl aldrig kul.
492 00:21:14,340 --> 00:21:15,380
Men det som är…
493 00:21:15,380 --> 00:21:17,100
Det ska bli sjukt kul att få ha…
494 00:21:17,220 --> 00:21:21,220
Läsa folks root cause-analys här.
495 00:21:21,340 --> 00:21:23,200
Så att titta lite på vad exploaterades.
496 00:21:24,500 --> 00:21:26,820
Vad var den opportunistiska payloaden?
497 00:21:26,880 --> 00:21:27,860
Vad tittade man efter?
498 00:21:29,200 --> 00:21:34,080
Och vad var slutsatsen på systemen som blev ägda?
499 00:21:34,260 --> 00:21:35,900
Vad var vektorn liksom?
500 00:21:36,020 --> 00:21:36,840
Vad gjorde man?
501 00:21:36,860 --> 00:21:38,840
Ransomware bland annat hoppades spridas igenom detta.
502 00:21:38,840 --> 00:21:41,660
Nu, men det är ganska senaste dygnet-ish.
503 00:21:42,360 --> 00:21:43,840
I början alltså…
504 00:21:44,760 --> 00:21:46,840
Det kom försök redan från…
505 00:21:47,220 --> 00:21:48,900
Runt den första december.
506 00:21:49,220 --> 00:21:51,600
Och den första december är ett intressant datum.
507 00:21:52,420 --> 00:21:57,740
För den 30 december börjades det jobbas på Github med fixen.
508 00:21:57,760 --> 00:21:58,240
Ja, just det.
509 00:21:58,600 --> 00:22:00,320
Ja, så då fanns det PR att titta på.
510 00:22:00,500 --> 00:22:02,680
Då började folk se att det hände grejer på Github då.
511 00:22:02,720 --> 00:22:03,940
Så det är en spännande fråga.
512 00:22:04,360 --> 00:22:07,840
Jag har hört några podcaster påstå…
513 00:22:07,840 --> 00:22:09,820
Att det fanns en kommitt på en fix.
514 00:22:09,980 --> 00:22:11,740
Ja, de började jobba på fixen.
515 00:22:12,120 --> 00:22:13,800
Och det är frågan…
516 00:22:13,800 --> 00:22:15,440
Var den på något sätt restriktad?
517 00:22:15,540 --> 00:22:16,840
Eller var den helt publik då?
518 00:22:17,220 --> 00:22:18,700
Nu kan vi ju se att…
519 00:22:18,700 --> 00:22:22,220
Vi ser att de började jobba på fixen.
520 00:22:22,460 --> 00:22:23,580
Och typ samma dag eller senare…
521 00:22:23,580 --> 00:22:25,460
Shit, vad suger jag blivit på att kolla det nu.
522 00:22:26,080 --> 00:22:27,520
Ja, kul.
523 00:22:27,720 --> 00:22:29,020
Det där ska man ju titta på.
524 00:22:29,500 --> 00:22:30,160
Det där är kul.
525 00:22:30,160 --> 00:22:32,960
Det var det jag tyckte var väldigt spännande med timelinen.
526 00:22:33,220 --> 00:22:34,340
För att…
527 00:22:34,340 --> 00:22:37,740
Det har ju varit omdiskuterat om Alibabas säkerhetsgäng är dåliga.
528 00:22:37,740 --> 00:22:39,160
För att hålla i sina hemligheter.
529 00:22:39,320 --> 00:22:40,540
Och att explot släcker från dem.
530 00:22:41,100 --> 00:22:43,040
Men det är också väldigt lustigt att…
531 00:22:43,040 --> 00:22:44,460
Ja, det här är intressant.
532 00:22:45,040 --> 00:22:46,320
Det här vill man veta.
533 00:22:46,340 --> 00:22:47,160
Det är så exploiteringen sammanfattas.
534 00:22:47,220 --> 00:22:50,120
Det här faller ju inte med när de lämnade över informationen.
535 00:22:50,540 --> 00:22:54,080
Utan exploiteringen sammanfaller med när de började fixa.
536 00:22:54,080 --> 00:22:57,180
Men jag menar, det här är ju genialt ur ett…
537 00:22:57,180 --> 00:22:59,860
Nu får jag ju så här vibba på att det här går ju att automatisera.
538 00:23:00,280 --> 00:23:01,960
Det vill säga att man tittar på…
539 00:23:01,960 --> 00:23:03,000
GitHub repos.
540 00:23:03,480 --> 00:23:04,880
Ja, nej men att man…
541 00:23:04,880 --> 00:23:08,740
För att det på öppna bibliotek i det är ju inget konstigt.
542 00:23:08,840 --> 00:23:12,880
Jag menar, jag maintainar ju forkar av kända verktyg.
543 00:23:12,880 --> 00:23:14,240
Där det är liksom…
544 00:23:14,240 --> 00:23:16,880
Det är en dealbreaker om de uppdaterar något trivialt.
545 00:23:17,220 --> 00:23:18,380
Som jag inte har tänkt på.
546 00:23:18,700 --> 00:23:20,840
För då breakar jag min fork.
547 00:23:21,380 --> 00:23:23,760
Så det gör ju jag på vissa grejer.
548 00:23:23,860 --> 00:23:25,640
Och kommittar kanske inte vissa delar då.
549 00:23:25,760 --> 00:23:28,000
Bara för att då funkar inte det med min implementation.
550 00:23:28,320 --> 00:23:30,040
Och det här kan man ju sätta i system.
551 00:23:30,500 --> 00:23:33,160
Ja, precis. För frågan är till exempel…
552 00:23:33,160 --> 00:23:35,560
Men jag får ju så här grymma idéer nu.
553 00:23:35,840 --> 00:23:37,400
Tänk då att du har en teknikstack.
554 00:23:37,400 --> 00:23:45,040
Börja kartlägga vilka utvecklare på GitHub har någon koppling till Apaches security team.
555 00:23:45,260 --> 00:23:45,400
Ja.
556 00:23:45,660 --> 00:23:46,220
Som stödjer…
557 00:23:46,220 --> 00:23:46,340
För grejen…
558 00:23:46,340 --> 00:23:47,180
För grejen…
559 00:23:47,220 --> 00:23:55,840
Jag vet av erfarenhet att när du gnäller tillräckligt upprört på ett Apaches-projekts säkerhets-mailadress.
560 00:23:57,440 --> 00:24:01,860
Då börjar de större Apache-pojkarna börja svara dig.
561 00:24:03,100 --> 00:24:04,220
Så att du har…
562 00:24:05,000 --> 00:24:09,240
De får automatiskt se sig på alla Apaches security-mailadresser.
563 00:24:09,660 --> 00:24:10,140
Okej.
564 00:24:11,000 --> 00:24:15,860
Och är du arg eller upprörd eller tydlig så börjar de svara.
565 00:24:15,860 --> 00:24:18,060
Och det finns en rymlighet här.
566 00:24:18,420 --> 00:24:21,540
För det har de också tagit upp på den här ställen.
567 00:24:22,220 --> 00:24:27,120
Det måste vara en medvetenhet om att den stora massan av dem som jobbar med en Apache-projekt.
568 00:24:27,680 --> 00:24:29,700
Det är ju frivilliga, glada volontärer.
569 00:24:29,760 --> 00:24:30,740
De har inte betalt.
570 00:24:31,180 --> 00:24:35,800
De kanske indirekt har lite betalt för att de jobbar med ett arbete som man låg för er eller så.
571 00:24:36,540 --> 00:24:38,880
Och så var det väl specifikt i det här fallet.
572 00:24:39,020 --> 00:24:41,740
Det var väl huvudsakligen en snubbe som…
573 00:24:41,740 --> 00:24:43,860
För det blir ju påtalare…
574 00:24:43,860 --> 00:24:45,460
Det här blir ju ett annat problem.
575 00:24:45,860 --> 00:24:49,000
Ur ett incidenthanteringsperspektiv så är det ganska kul.
576 00:24:49,120 --> 00:24:50,000
För jag menar…
577 00:24:50,000 --> 00:24:51,240
Tänk då…
578 00:24:51,240 --> 00:24:53,820
Nu förstår jag att det jag kommer säga nu är en utopi.
579 00:24:54,300 --> 00:24:55,340
Men så här…
580 00:24:55,340 --> 00:24:59,520
Ja, men om vi har koll på de beroenden vi har till vår Java-applikation.
581 00:25:00,280 --> 00:25:04,040
Ja, det är ju inte orimligt att vi till exempel har med i vår omvärldsbevakning.
582 00:25:04,120 --> 00:25:06,960
Att vi tittar på förslag eller PR.
583 00:25:07,100 --> 00:25:09,240
Och ser vilka commit-förslag som finns.
584 00:25:09,580 --> 00:25:12,240
Eller vilka open issues vi har med taggen security till exempel.
585 00:25:12,520 --> 00:25:15,840
Det är inte orimligt att använda i sin threat intel på den stacken man har.
586 00:25:15,860 --> 00:25:17,760
Om man nu har egna utvecklingsteam.
587 00:25:17,860 --> 00:25:18,980
Det är ganska rimligt.
588 00:25:19,900 --> 00:25:21,600
Och då kan man ju få en early warning här.
589 00:25:21,700 --> 00:25:23,660
Säger ju Peter här i stort sett.
590 00:25:23,820 --> 00:25:28,920
Det vill säga att man har sett att folk har tucklat med en potentiell fix.
591 00:25:29,200 --> 00:25:30,000
Och då är det så här…
592 00:25:30,000 --> 00:25:31,360
Det är ju väldigt värdefullt.
593 00:25:32,100 --> 00:25:33,700
För då har man ju sparat flera dagar.
594 00:25:34,800 --> 00:25:36,120
Nio dagar i alla fall.
595 00:25:36,160 --> 00:25:40,420
Men beskrivningen av fixen är ju…
596 00:25:40,420 --> 00:25:41,360
Och det är en annan pet-piva…
597 00:25:41,360 --> 00:25:42,140
Alltså det är lätt att säga.
598 00:25:42,440 --> 00:25:43,720
Nej, men det är en annan pet-piva jag har.
599 00:25:43,720 --> 00:25:45,720
Det är att du ser väldigt olika…
600 00:25:45,860 --> 00:25:47,860
Ja, agerande från olika open source-gäng.
601 00:25:48,600 --> 00:25:54,080
Till exempel när det fixas saker i JDK-n så känns det ju som att…
602 00:25:54,080 --> 00:25:58,940
Det finns någon sorts uppfuskeringsprocess i hur man amger sina säkerhetspatchar.
603 00:25:59,680 --> 00:26:00,540
Du kan även…
604 00:26:00,540 --> 00:26:01,280
Så kan det säker…
605 00:26:01,280 --> 00:26:06,160
Men den här fixen av problemet.
606 00:26:06,320 --> 00:26:08,960
Den var ju en välskriven utvecklartarm.
607 00:26:09,600 --> 00:26:13,360
Den var ju restrict-gindig-access-lookups.
608 00:26:13,940 --> 00:26:14,700
Och…
609 00:26:14,700 --> 00:26:15,660
Och…
610 00:26:15,660 --> 00:26:22,040
Man skulle ju kunna tänka sig att en väldigt kreativ X-Blog-team
611 00:26:22,040 --> 00:26:25,480
helt enkelt monitorerade typ alla Apache-projekt eller någonting
612 00:26:25,480 --> 00:26:29,460
och hade bevakning av vissa roliga nyckelord och sådär.
613 00:26:30,000 --> 00:26:31,840
Men om man ska knyta an lite till det Johan var inne på.
614 00:26:31,960 --> 00:26:33,300
Det här är ju också…
615 00:26:33,300 --> 00:26:34,940
Det är ju en produkt av sin tid lite.
616 00:26:35,420 --> 00:26:37,080
Det vill säga att vi…
617 00:26:37,080 --> 00:26:37,420
Ja, precis.
618 00:26:37,680 --> 00:26:38,760
En liten meme.
619 00:26:38,760 --> 00:26:41,700
Jag vill se en bild här från XKCD.
620 00:26:42,120 --> 00:26:43,720
Som släpptes för…
621 00:26:43,720 --> 00:26:45,640
Den här turnén här kom för närmare tio år.
622 00:26:45,660 --> 00:26:46,360
Eller någonstans där.
623 00:26:46,960 --> 00:26:50,920
Där det är en stor hög med massa stora produkter.
624 00:26:51,040 --> 00:26:51,340
Kan man säga.
625 00:26:51,520 --> 00:26:52,180
I en pyramid.
626 00:26:52,760 --> 00:26:54,520
Där det står all modern infrastructure.
627 00:26:54,760 --> 00:26:58,280
Och så längst ner så är det en liten grej som allting står och faller på.
628 00:26:58,460 --> 00:26:59,100
Där är det…
629 00:26:59,100 --> 00:27:06,500
Och det kan inte vara så långt ifrån sanningen.
630 00:27:06,720 --> 00:27:07,760
Så det är.
631 00:27:07,820 --> 00:27:09,000
Väldigt tydligt i det här fallet.
632 00:27:09,380 --> 00:27:11,400
Det är också en grej nu då.
633 00:27:11,440 --> 00:27:13,660
När man jobbar efter…
634 00:27:13,660 --> 00:27:15,620
Ja, men Zero Trust.
635 00:27:15,660 --> 00:27:16,520
Eller Zoom Breach.
636 00:27:16,660 --> 00:27:17,440
Som jag gillar.
637 00:27:17,620 --> 00:27:18,680
Som hela det konceptet.
638 00:27:19,060 --> 00:27:20,100
Ja, det blir ett problem nu.
639 00:27:21,200 --> 00:27:23,760
Det förstör hela tänket kring det här.
640 00:27:23,920 --> 00:27:24,320
Men…
641 00:27:24,320 --> 00:27:26,660
Om man nu ska vara lite så här…
642 00:27:27,740 --> 00:27:29,260
Bässevisse så här i efterhand.
643 00:27:29,460 --> 00:27:30,660
Ja…
644 00:27:30,660 --> 00:27:31,860
I gräsdatafiltrering.
645 00:27:32,320 --> 00:27:32,920
Det har aldrig hänt.
646 00:27:34,000 --> 00:27:34,680
Ja, precis.
647 00:27:35,300 --> 00:27:38,780
Varför tillåter vi att vi ska kunna titta upp resurser på internet?
648 00:27:39,640 --> 00:27:42,040
Men för att gå tillbaka till rotkåsarna.
649 00:27:42,360 --> 00:27:43,960
Men Eldap är ju bara en…
650 00:27:43,960 --> 00:27:44,560
En rektor.
651 00:27:44,560 --> 00:27:45,560
Jo, men…
652 00:27:45,660 --> 00:27:47,100
I gräsdatafiltrering är inte orimligt.
653 00:27:47,340 --> 00:27:51,360
Och varför ska vi tillåta våra interna saker att prata internet?
654 00:27:51,720 --> 00:27:52,200
Skit i det nu.
655 00:27:52,300 --> 00:27:53,520
Vi börjar med det här.
656 00:27:53,680 --> 00:27:54,780
Med ramverket.
657 00:27:54,960 --> 00:27:57,640
Det här kommer hända om och om igen.
658 00:27:57,820 --> 00:27:58,720
För att det här inte…
659 00:27:58,720 --> 00:27:59,600
Det är så här det funkar nu.
660 00:28:00,160 --> 00:28:01,440
Vi är…
661 00:28:01,440 --> 00:28:05,300
Vi lånar ju såklart projekt som har en stor adoption rate.
662 00:28:05,400 --> 00:28:07,180
Och vi validerar inte vad det är vi gör.
663 00:28:07,540 --> 00:28:07,980
Uppenbarligen.
664 00:28:08,240 --> 00:28:12,520
Och det är så stort att XKCD ändå kan göra en meme över det.
665 00:28:12,520 --> 00:28:13,400
Och det är ju sant.
666 00:28:13,400 --> 00:28:14,260
Det är sant.
667 00:28:14,660 --> 00:28:14,860
För…
668 00:28:14,860 --> 00:28:14,960
Mm.
669 00:28:14,960 --> 00:28:17,480
Och det är ju något vi ska lära oss kring.
670 00:28:17,660 --> 00:28:19,820
Vi vet ju inte vad det är för kod vi kör.
671 00:28:19,940 --> 00:28:21,140
Och vi validerar den inte.
672 00:28:21,220 --> 00:28:22,460
Så länge det körs så kör det.
673 00:28:22,920 --> 00:28:24,320
Så det är rimligt att det här händer igen.
674 00:28:24,420 --> 00:28:25,420
Och vad lär vi oss av det?
675 00:28:26,100 --> 00:28:26,460
Ingenting.
676 00:28:26,860 --> 00:28:27,380
Uppenbarligen inte.
677 00:28:27,460 --> 00:28:28,980
Det här har vi ju sett supermycket nu.
678 00:28:29,100 --> 00:28:32,500
Jag läste ett exempel på bara för att spinna vidare på det spåret lite snabbt.
679 00:28:33,240 --> 00:28:40,000
Just med forskning som jag har gjort på att skjuta in rogue dependencies och sådana saker i MPM exempelvis.
680 00:28:40,140 --> 00:28:40,840
Det är ju…
681 00:28:40,840 --> 00:28:42,620
Dependency confusion och allt det där.
682 00:28:42,620 --> 00:28:44,620
Att du liksom hijackar…
683 00:28:44,960 --> 00:28:49,500
Privata repon och bara lägger upp samma modul på ett publikt repo.
684 00:28:49,640 --> 00:28:52,260
Och sen plötsligt dras det ner i tusentals produkter.
685 00:28:52,800 --> 00:28:57,600
Men jag vill ju ändå hävda att det är ju inte så att vi är helt hjälplösa.
686 00:28:59,040 --> 00:29:01,740
För du är ju inne på det Jesper.
687 00:29:01,920 --> 00:29:04,740
Med typ en containervärld eller liknande.
688 00:29:04,860 --> 00:29:08,220
Du kan ju sätta upp att det är en container som kör i Kubernetes.
689 00:29:08,460 --> 00:29:09,500
Eller ja, en podd får det väl bli då.
690 00:29:09,680 --> 00:29:10,580
Men liksom…
691 00:29:10,580 --> 00:29:11,640
En workload kan vi göra.
692 00:29:11,760 --> 00:29:12,520
Det är ett bra samlingsnamn.
693 00:29:12,520 --> 00:29:12,640
Ja.
694 00:29:12,900 --> 00:29:14,360
Men vad det nu är för något.
695 00:29:14,360 --> 00:29:17,940
Den kan ju vara begränsad så att den knappt får snacka med något.
696 00:29:18,500 --> 00:29:20,840
Och du tog det snabbt här.
697 00:29:21,500 --> 00:29:22,600
Och det är precis det jag är inne på.
698 00:29:22,920 --> 00:29:25,160
Det handlar ju om att vi har adopterat en…
699 00:29:25,160 --> 00:29:26,060
Vi har gjort en teknik.
700 00:29:26,160 --> 00:29:27,500
Vi bygger ingresskontrollers.
701 00:29:27,600 --> 00:29:29,540
Vi har ganska bra koll på våra flöden.
702 00:29:30,000 --> 00:29:31,820
Men vi tänker inte hela vägen här.
703 00:29:31,940 --> 00:29:32,400
Så det är ju så här.
704 00:29:32,880 --> 00:29:34,620
Vad är det tänkta beteendet här?
705 00:29:34,660 --> 00:29:39,080
Det är ganska lätt för oss att göra ett tydligt ramverk här.
706 00:29:39,200 --> 00:29:41,000
På en väldigt permanent nivå.
707 00:29:41,000 --> 00:29:43,040
Som gör att det är helt omöjligt att exploatera.
708 00:29:43,140 --> 00:29:44,000
För att det finns ingen…
709 00:29:44,360 --> 00:29:47,620
Nej men det är ju samma problematik som vi ser med SSRF också till exempel.
710 00:29:48,000 --> 00:29:48,160
Mm.
711 00:29:48,300 --> 00:29:49,240
SSRF har ju…
712 00:29:49,240 --> 00:29:54,100
Jag skulle vilja hävda att just Service-Headed Request Forgery har ju fått en ny…
713 00:29:54,100 --> 00:29:57,200
En ny tändning på allvarlighetsklass.
714 00:29:57,320 --> 00:30:03,700
Jag menar det är ju en SSRF-hållbarhet i vilken jävla cloud-implementation som helst.
715 00:30:03,760 --> 00:30:05,340
Är oftast en critical.
716 00:30:05,600 --> 00:30:11,380
Och blir oftast början på en attackkedja som har förödande effekter.
717 00:30:11,380 --> 00:30:14,340
Just för att vi inte tänker riktigt.
718 00:30:14,360 --> 00:30:16,400
På hur den här typen av inriktning…
719 00:30:16,400 --> 00:30:17,440
Det är ju på grund av att…
720 00:30:17,440 --> 00:30:22,920
Alltså som vi har pratat om tidigare såklart så är ju SSRF varit ett känt problem jättelänge.
721 00:30:23,180 --> 00:30:29,480
Men det är ju först framförallt med internet av clouds som det blev en riktigt jobbig vektor.
722 00:30:29,940 --> 00:30:33,360
För att nu kan du helt plötsligt prata med interna system som har en massa hemligheter.
723 00:30:34,180 --> 00:30:35,100
Ja och problemet…
724 00:30:35,100 --> 00:30:36,080
Så på ett sätt som du inte skulle göra förut.
725 00:30:36,100 --> 00:30:38,260
Så var det ju tidigare också egentligen om man tittar på det.
726 00:30:38,920 --> 00:30:43,200
Då kunde man ju också få ut miljövariablar och gängse instrumentering som var i den…
727 00:30:43,200 --> 00:30:44,200
Ja men där hade du inte de här standardmeta…
728 00:30:44,200 --> 00:30:44,340
Ja men där hade du inte de här standardmeta…
729 00:30:44,360 --> 00:30:47,260
Det är ju det jag menar.
730 00:30:47,340 --> 00:30:51,420
Det fanns inget kontrolllager som täckte hela domänen då.
731 00:30:51,560 --> 00:30:53,100
Det fanns ingenting som var samkopplat.
732 00:30:53,460 --> 00:30:54,440
Och det måste det ju vara.
733 00:30:54,940 --> 00:30:57,180
För annars så har vi inte cloud-konceptet så som vi känner det.
734 00:30:57,300 --> 00:31:00,060
Som är superagilt och scale everything.
735 00:31:00,380 --> 00:31:05,580
Precis och det är ju därför som det exploderade för några år sedan när det här blev stort.
736 00:31:06,160 --> 00:31:11,140
Ja och sen jobbar ju såklart de fyra stora på att fixa det här löpande.
737 00:31:11,140 --> 00:31:14,200
Men för att återkoppla till den här sårbarheten så är det ganska intressant då
738 00:31:14,200 --> 00:31:19,320
att vi har ett så välanvänt bibliotek
739 00:31:19,320 --> 00:31:21,940
som har så otroligt få maintainers
740 00:31:21,940 --> 00:31:27,900
som folk bara tar för givet att det här kommer vara nice and dandy.
741 00:31:28,840 --> 00:31:31,400
Dessutom har det ju funkat och varit stabilt över lång tid.
742 00:31:31,480 --> 00:31:31,600
Ja.
743 00:31:32,440 --> 00:31:36,780
Tills det inte är det längre och då kommer kritiken som är helt obefogad egentligen.
744 00:31:37,220 --> 00:31:40,120
Jag har väl inte sett så mycket kritik mot just maintainers.
745 00:31:40,120 --> 00:31:44,040
Jo, det är inte lika illa som…
746 00:31:44,040 --> 00:31:45,720
Det har varit några gånger tidigare men
747 00:31:45,720 --> 00:31:52,500
det är ju några artiklar och så som har länkat till till exempel
748 00:31:52,500 --> 00:31:54,760
de
749 00:31:54,760 --> 00:32:02,040
de liksom issue-erna där man diskuterade featuren och implementerade den.
750 00:32:02,220 --> 00:32:02,360
Ja.
751 00:32:03,980 --> 00:32:06,500
Och de blir ju stadigt gnälligare och gnälligare
752 00:32:06,500 --> 00:32:09,520
och mer och mer korkade människor som vill säga någonting.
753 00:32:09,520 --> 00:32:13,840
Den första idiotkommentaren var ändå lite rolig.
754 00:32:14,040 --> 00:32:17,520
Jag minns inte riktigt…
755 00:32:17,520 --> 00:32:20,420
Ja, men det var sådär…
756 00:32:20,420 --> 00:32:21,580
Jag tror det var såhär
757 00:32:21,580 --> 00:32:23,460
Is it too late to ask for a review?
758 00:32:23,980 --> 00:32:24,860
Frågetecken eller någonting.
759 00:32:25,540 --> 00:32:28,260
Det var ändå sådär, okej, du var en person
760 00:32:28,260 --> 00:32:31,280
och det var en knutta roligt och det var inte taskigt.
761 00:32:32,140 --> 00:32:36,420
Men sen har den här patchgängen inte fått en bunt idiotgrej.
762 00:32:36,420 --> 00:32:43,380
Men det har inte varit riktigt så vidrigt som när folk var upprörda på kineser på Minnesota.
763 00:32:44,040 --> 00:32:46,480
Men jag är sådär, jag är universitetsledare med det.
764 00:32:46,480 --> 00:32:49,160
Vad jag bara får knyta tillbaka till den här Zoom-breach-grejen
765 00:32:49,160 --> 00:32:50,260
för att sätta punkt för den.
766 00:32:50,540 --> 00:32:52,760
Det är ju ett klockrent exempel
767 00:32:52,760 --> 00:32:57,520
på var hela din threat-plan
768 00:32:57,520 --> 00:32:59,500
den kan liksom inte bara vara
769 00:32:59,500 --> 00:33:01,780
fokuserad på ditt applikationslager.
770 00:33:01,880 --> 00:33:03,660
Den måste täcka allt.
771 00:33:04,160 --> 00:33:06,420
Alltså från bare metal
772 00:33:06,420 --> 00:33:07,780
upp till
773 00:33:07,780 --> 00:33:09,560
hela teknikstacken
774 00:33:09,560 --> 00:33:10,800
och sen lite till.
775 00:33:11,020 --> 00:33:12,060
Det är väl det som är tydligt här.
776 00:33:12,060 --> 00:33:13,520
Vi behöver ha…
777 00:33:13,520 --> 00:33:15,140
Vi behöver ha kontroll på det vi kör.
778 00:33:15,920 --> 00:33:18,140
Vilket vi inte har här då i och med att det är mycket
779 00:33:18,140 --> 00:33:19,200
dependencies vi drar in.
780 00:33:19,400 --> 00:33:20,980
Det är ju en del i problemet.
781 00:33:21,340 --> 00:33:23,700
Men sen måste vi också ha kontroll på vilka beröringspunkter den har.
782 00:33:23,840 --> 00:33:26,100
Det vill säga, vad når det här i sin tur?
783 00:33:26,520 --> 00:33:28,120
Vilka system konsumerar detta?
784 00:33:28,320 --> 00:33:30,640
Och i vilken utsträckning gör det det?
785 00:33:31,240 --> 00:33:32,500
Och sen är det ju då, okej,
786 00:33:32,840 --> 00:33:34,540
hur separerar vi det
787 00:33:34,540 --> 00:33:35,920
från saker och ting som är dåligt?
788 00:33:36,080 --> 00:33:36,740
Inte med då.
789 00:33:37,180 --> 00:33:40,280
Och sen utöver det, vad gör vi när vi konstaterar att det har skett?
790 00:33:40,440 --> 00:33:42,220
Ja, då måste vi ju ha en process
791 00:33:42,220 --> 00:33:43,360
som hanterar detta.
792 00:33:43,520 --> 00:33:45,680
Ja, och vi måste ju dessutom märka
793 00:33:45,680 --> 00:33:46,220
att det har skett.
794 00:33:46,420 --> 00:33:49,680
Precis, och det är det jag tänker att många nu då
795 00:33:49,680 --> 00:33:51,480
som kanske har kritisk data i sina
796 00:33:51,480 --> 00:33:52,940
miljöer har ett
797 00:33:52,940 --> 00:33:55,340
jäkla problem fortfarande då
798 00:33:55,340 --> 00:33:57,360
att göra den här incidentprocessen
799 00:33:57,360 --> 00:33:58,920
och gå igenom och verkligen hitta.
800 00:33:59,080 --> 00:34:01,240
Jag satt och roade mig med
801 00:34:01,240 --> 00:34:03,960
att förstå
802 00:34:03,960 --> 00:34:05,460
vilka andra lookups som fanns
803 00:34:05,460 --> 00:34:07,360
i den gamla sårbara funktionen
804 00:34:07,360 --> 00:34:09,520
och jag hittade ju
805 00:34:09,520 --> 00:34:11,220
bland annat en liten kul grej att
806 00:34:11,220 --> 00:34:12,960
om du skrev…
807 00:34:12,960 --> 00:34:15,360
Det finns en lookup-klass
808 00:34:15,360 --> 00:34:16,320
som heter Java
809 00:34:16,320 --> 00:34:19,640
och checkar man in i Java-lookupsen så kan du till exempel
810 00:34:19,640 --> 00:34:21,440
den stöder
811 00:34:21,440 --> 00:34:22,840
till exempel HW
812 00:34:22,840 --> 00:34:25,180
så får du ut lite information om vilken hårdvara
813 00:34:25,180 --> 00:34:26,520
den kör på och den
814 00:34:26,520 --> 00:34:29,300
någon OS har skrivit ut lite om vilket
815 00:34:29,300 --> 00:34:30,720
operativsystem…
816 00:34:30,720 --> 00:34:31,240
JVM måste vara med.
817 00:34:32,620 --> 00:34:35,420
Ja, version och lite grejer.
818 00:34:35,760 --> 00:34:38,120
Men grejen är att
819 00:34:38,120 --> 00:34:40,280
om du vill
820 00:34:40,280 --> 00:34:41,660
angripa en lock
821 00:34:41,660 --> 00:34:42,920
om du vill angripa
822 00:34:42,920 --> 00:34:44,280
en loggrad
823 00:34:44,280 --> 00:34:47,280
och du inte vill att ditt försök
824 00:34:47,280 --> 00:34:48,980
att göra Jindy Explode ska synas
825 00:34:48,980 --> 00:34:50,880
då är det gött att
826 00:34:50,880 --> 00:34:53,320
angripa, lägga med
827 00:34:53,320 --> 00:34:55,320
en felaktig Java-template
828 00:34:55,840 --> 00:34:57,560
för då kommer det inte ut
829 00:34:57,560 --> 00:34:59,320
för om du gör en Jindy-försök
830 00:34:59,920 --> 00:35:01,340
så står det ofta
831 00:35:01,340 --> 00:35:02,460
en loggrad där det står
832 00:35:02,460 --> 00:35:05,520
i det fallet jag testade med Jindy Explode
833 00:35:05,520 --> 00:35:06,160
kit så
834 00:35:06,160 --> 00:35:09,280
så får du en rad där det står
835 00:35:09,280 --> 00:35:12,200
ditt Jindy Explode
836 00:35:12,200 --> 00:35:12,320
ersättskortet.
837 00:35:12,920 --> 00:35:13,520
Typ med
838 00:35:13,520 --> 00:35:17,860
referensklass fo
839 00:35:17,860 --> 00:35:19,040
eller någonting sånt där då
840 00:35:19,040 --> 00:35:20,700
för att Jindy-resolven
841 00:35:20,700 --> 00:35:23,080
den är inte tyst så att säga.
842 00:35:23,080 --> 00:35:24,980
Det tror jag nog att jag kollade också
843 00:35:24,980 --> 00:35:26,140
på att det finns ju annan logik
844 00:35:26,140 --> 00:35:28,340
så att folk gjorde väl så att
845 00:35:28,340 --> 00:35:31,500
de plockade isär Jindy-requestet
846 00:35:31,500 --> 00:35:33,420
och i flera olika
847 00:35:33,420 --> 00:35:35,240
delade upp det
848 00:35:35,240 --> 00:35:36,640
i flera olika delar.
849 00:35:36,660 --> 00:35:38,980
Fast det är ju web-applikation firewall evasion.
850 00:35:39,920 --> 00:35:41,880
Ja, precis för att göra
851 00:35:41,880 --> 00:35:42,880
och det är såhär
852 00:35:42,880 --> 00:35:45,120
det här är väl också ett jäkla tecken då
853 00:35:45,120 --> 00:35:47,420
okej, WAF served you for four hours
854 00:35:47,420 --> 00:35:48,280
until next.
855 00:35:48,680 --> 00:35:50,140
Det löser inte grann problematiken.
856 00:35:50,760 --> 00:35:53,300
Min grej var i varje fall att
857 00:35:53,300 --> 00:35:56,000
om du lägger på, om du också stoppar med
858 00:35:56,000 --> 00:35:56,500
en
859 00:35:56,500 --> 00:35:58,800
felaktig
860 00:35:58,800 --> 00:36:01,920
en felaktig
861 00:36:01,920 --> 00:36:03,740
javattemplering
862 00:36:03,740 --> 00:36:06,080
då sker det en runtime exception
863 00:36:06,080 --> 00:36:07,080
som Log4J
864 00:36:07,080 --> 00:36:09,860
fångar upp och sen blir det ingen
865 00:36:09,860 --> 00:36:12,080
loggutskrift alls så då kan du göra
866 00:36:12,080 --> 00:36:12,860
den här attacken.
867 00:36:12,880 --> 00:36:16,580
Och det kommer definitivt inte att synas
868 00:36:16,580 --> 00:36:18,440
heller om du letar efter
869 00:36:18,440 --> 00:36:20,380
första exceptionet då, du greppar ju inte
870 00:36:20,380 --> 00:36:21,640
efter det, så det är skitsmart.
871 00:36:21,960 --> 00:36:24,000
Du kommer inte se det ens för att det är ingen loggjatskrift.
872 00:36:24,020 --> 00:36:26,420
Det är helt tyst i loggen, det märks ingenting
873 00:36:26,420 --> 00:36:28,260
i hals i loggen om du är fibbla med det.
874 00:36:28,660 --> 00:36:30,640
Så då kan vi ju bara berätta för alla lyssnare.
875 00:36:30,660 --> 00:36:31,300
Bra tips alla där ute.
876 00:36:31,620 --> 00:36:33,060
WAF står ju för what the fuck.
877 00:36:36,000 --> 00:36:38,460
Det har ju varit
878 00:36:38,460 --> 00:36:40,240
jag kände väl bara såhär
879 00:36:40,240 --> 00:36:42,840
när det här briserade på riktigt för några dagar
880 00:36:42,840 --> 00:36:44,360
känner jag att fan vad glad jag är
881 00:36:44,360 --> 00:36:46,340
att jag inte jobbar i Response Team eller Blue Team
882 00:36:46,340 --> 00:36:48,640
på ett så storbolag.
883 00:36:48,660 --> 00:36:50,200
Där har man haft det svettigt nu.
884 00:36:50,500 --> 00:36:52,400
Just för att sitta då och kolla
885 00:36:52,400 --> 00:36:54,440
alla dina maskiner
886 00:36:54,440 --> 00:36:56,280
för alla bibliotek
887 00:36:56,280 --> 00:36:57,540
som kör Log4J.
888 00:36:57,960 --> 00:36:58,620
Men det är ju också
889 00:36:58,620 --> 00:37:01,560
det är inte bara det som är internet-exponerat.
890 00:37:01,780 --> 00:37:03,380
Och sen så ska det fixas också.
891 00:37:04,180 --> 00:37:05,840
Nu får vi en fredag.
892 00:37:05,980 --> 00:37:08,920
Där är ju den riktiga bajsmackan.
893 00:37:08,920 --> 00:37:09,720
För jag menar
894 00:37:09,720 --> 00:37:12,460
hur många är det som
895 00:37:12,460 --> 00:37:13,380
som har
896 00:37:13,380 --> 00:37:15,900
superstruktur
897 00:37:15,900 --> 00:37:18,820
på alla sina applikationer
898 00:37:18,820 --> 00:37:20,020
och sin kodbas och allting
899 00:37:20,020 --> 00:37:22,180
och bara, ja men nu har vi en sårbarhet i
900 00:37:22,180 --> 00:37:23,640
Log4J.
901 00:37:23,900 --> 00:37:26,380
Okej, men då behöver vi ta ner en nya version
902 00:37:26,380 --> 00:37:28,060
och den deployar den på
903 00:37:28,060 --> 00:37:29,820
de här och de här och de här systemen.
904 00:37:29,880 --> 00:37:31,820
Bra, färdigt, klart. Nu kan vi ta en fika.
905 00:37:32,480 --> 00:37:33,200
Det händer ju inte.
906 00:37:33,680 --> 00:37:35,800
Utan alla springer benen av sig
907 00:37:35,800 --> 00:37:37,780
och gör superinventering av
908 00:37:37,780 --> 00:37:39,940
allt de har och försöker
909 00:37:39,940 --> 00:37:41,280
på alla möjliga sätt att hitta
910 00:37:41,280 --> 00:37:43,560
okej, var kan vi vara sårbara
911 00:37:43,560 --> 00:37:43,920
över detta?
912 00:37:44,060 --> 00:37:46,280
Exakt, för det är ju inte bara så att
913 00:37:46,280 --> 00:37:49,080
du specifikt har installerat
914 00:37:49,080 --> 00:37:50,280
Log4J någonstans.
915 00:37:50,500 --> 00:37:53,340
Utan det är ju inkluderat i en massa andra paket.
916 00:37:53,400 --> 00:37:55,200
En sabla massa kommersiell program
917 00:37:55,200 --> 00:37:55,620
har du också.
918 00:37:58,300 --> 00:37:59,040
Utöver liksom
919 00:37:59,040 --> 00:37:59,840
bara patches.
920 00:38:00,060 --> 00:38:03,140
Sen får man ju inte glömma det att det är ju inte bara att installera en fix
921 00:38:03,140 --> 00:38:05,280
oftast, utan det här är ju också okej
922 00:38:06,100 --> 00:38:07,620
företag som använder produkten
923 00:38:07,620 --> 00:38:09,420
har ju ett business case med produkten.
924 00:38:09,800 --> 00:38:11,200
Så patchar vi sönder någonting
925 00:38:11,200 --> 00:38:13,220
som gör att vi inte kan driva vår applikationsdrift
926 00:38:13,220 --> 00:38:15,360
längre. Så det behöver ju testas
927 00:38:15,360 --> 00:38:17,140
och det behöver valideras att det faktiskt
928 00:38:17,140 --> 00:38:19,180
är fixat. Och sen behöver det
929 00:38:19,180 --> 00:38:21,120
deployas. Och just i det här läget när du har
930 00:38:21,120 --> 00:38:23,240
en CVS-scoring på
931 00:38:23,240 --> 00:38:25,020
10.0, vilket detta är
932 00:38:25,020 --> 00:38:26,880
det högsta du möjligtvis kan få.
933 00:38:26,900 --> 00:38:28,560
Det är ju 10.0
934 00:38:28,560 --> 00:38:33,400
för att du inte kan bedöma en sån här sårbarhet.
935 00:38:33,640 --> 00:38:35,380
Du vet ju inte vektorn
936 00:38:35,380 --> 00:38:35,800
in.
937 00:38:36,280 --> 00:38:38,860
Precis så är det ju.
938 00:38:38,860 --> 00:38:40,800
Det blir en unknown.
939 00:38:41,200 --> 00:38:43,240
Alla sådana här library-grejer är ju
940 00:38:43,240 --> 00:38:44,940
hittepå vad man sätter för.
941 00:38:45,020 --> 00:38:47,000
Men för att impact går inte åt statistiskt
942 00:38:47,000 --> 00:38:49,080
men om man skulle då egentligen, om man hårdrar
943 00:38:49,080 --> 00:38:51,140
det då så är det ju, anledningen till att det är 10.0
944 00:38:51,140 --> 00:38:53,240
är ju för att effort är egentligen ingenting
945 00:38:53,240 --> 00:38:55,060
och impact är critical.
946 00:38:57,220 --> 00:38:58,960
Och du är dessutom remote.
947 00:38:58,980 --> 00:39:01,140
Du antar ju i den CVS-scoringen
948 00:39:01,140 --> 00:39:03,420
att det här är nåbart för internet.
949 00:39:04,080 --> 00:39:05,060
För du vet ju inte
950 00:39:05,060 --> 00:39:06,340
vad du ska sätta i en
951 00:39:06,340 --> 00:39:07,800
library-sårbarhet.
952 00:39:07,800 --> 00:39:08,340
Men du måste,
953 00:39:08,560 --> 00:39:11,180
man får väl säga som så här,
954 00:39:11,200 --> 00:39:12,400
jo, sårbarheten
955 00:39:12,400 --> 00:39:15,440
originerar ju på internet. Den kommer ju därifrån
956 00:39:15,440 --> 00:39:16,400
från första början.
957 00:39:16,880 --> 00:39:19,140
Men den slår ju i något annat system
958 00:39:19,140 --> 00:39:20,160
internt förmodligen.
959 00:39:20,960 --> 00:39:22,600
Snarare än kanske på webbservern.
960 00:39:23,400 --> 00:39:25,460
Ja, men min gnälltpoäng
961 00:39:25,460 --> 00:39:26,400
eller vad man ska säga här.
962 00:39:26,920 --> 00:39:28,700
Det kanske är jag som OCD eller det är
963 00:39:28,700 --> 00:39:30,040
strukturfascist eller någonting.
964 00:39:30,600 --> 00:39:31,000
Det är ju det.
965 00:39:32,180 --> 00:39:34,500
Den som har skrivit library-funktionen
966 00:39:34,500 --> 00:39:36,800
den har ju
967 00:39:36,800 --> 00:39:38,780
fucking ingen aning
968 00:39:38,780 --> 00:39:41,180
om vad sår för data det är.
969 00:39:41,200 --> 00:39:43,480
Så att om du ska göra det här
970 00:39:43,480 --> 00:39:45,260
på riktigt så är det ju
971 00:39:45,260 --> 00:39:46,800
helt olika CVS-scoring
972 00:39:46,800 --> 00:39:49,300
för varenda applikation som har
973 00:39:49,300 --> 00:39:51,360
libraryt. Absolut, men å andra sidan
974 00:39:51,360 --> 00:39:53,340
om det är, om vi nu tittar på
975 00:39:53,340 --> 00:39:55,020
hur det här exploateras
976 00:39:55,020 --> 00:39:57,200
så måste man väl nästan…
977 00:39:58,060 --> 00:39:59,180
Om det är någonting som ska ha
978 00:39:59,180 --> 00:40:01,020
en 10.0-score så är det väl lättare.
979 00:40:01,160 --> 00:40:01,900
Ja, absolut.
980 00:40:02,100 --> 00:40:03,800
Jag är med på vad Peter säger där.
981 00:40:04,360 --> 00:40:06,060
Det är ju implementation-specifikt.
982 00:40:07,700 --> 00:40:08,560
Ramverksidén är ju så här,
983 00:40:08,560 --> 00:40:10,500
ja, det är tänkt att användas för
984 00:40:10,500 --> 00:40:12,580
ett typfall. Vad typfallet är?
985 00:40:12,940 --> 00:40:13,340
Allt.
986 00:40:13,500 --> 00:40:16,980
Om allt du loggar i din applikation
987 00:40:16,980 --> 00:40:18,080
är siffran 5
988 00:40:18,080 --> 00:40:20,280
då kommer det inte vara sårböjt
989 00:40:20,280 --> 00:40:22,320
trots att du har buggen. Absolut, men å andra sidan
990 00:40:22,320 --> 00:40:24,240
så är väl, man får väl också se då
991 00:40:24,240 --> 00:40:26,340
på CVS-scoring i det här fallet som
992 00:40:26,340 --> 00:40:26,700
ett
993 00:40:26,700 --> 00:40:30,240
sätt att få folk att fatta
994 00:40:30,240 --> 00:40:32,480
att det här är någonting ni behöver patcha.
995 00:40:33,560 --> 00:40:34,460
För att här, du
996 00:40:34,460 --> 00:40:36,820
kommer inte undan med att det är en 7.5
997 00:40:36,820 --> 00:40:38,600
Nej, men dessutom
998 00:40:38,600 --> 00:40:39,820
så exploaterar
999 00:40:40,500 --> 00:40:42,080
oss det in the wild as we speak.
1000 00:40:42,480 --> 00:40:44,700
Jo, men det var väl det som hände där under torsdagen
1001 00:40:44,700 --> 00:40:46,700
när jag fick något git-repo ifrån
1002 00:40:46,700 --> 00:40:48,840
Elastic, tror jag. Det var så det började
1003 00:40:48,840 --> 00:40:50,300
och så började jag titta på det där. Vad är det här?
1004 00:40:50,420 --> 00:40:51,500
Det här känns konstigt.
1005 00:40:52,500 --> 00:40:54,580
Och sen så tog det kanske fem minuter senare
1006 00:40:54,580 --> 00:40:56,800
och så bara, kolla här! Så kom det upp fyra
1007 00:40:56,800 --> 00:40:58,680
till repon med en
1008 00:40:58,680 --> 00:41:00,480
POC-implementation och jag bara så här, det här!
1009 00:41:00,780 --> 00:41:02,180
Nu kommer det bli dåligt, liksom.
1010 00:41:02,420 --> 00:41:04,660
Och sen började ju högljuren på Twitter skriva
1011 00:41:04,660 --> 00:41:04,980
om detta.
1012 00:41:04,980 --> 00:41:07,300
Så började det släppas verktyg.
1013 00:41:07,420 --> 00:41:08,940
Och fredagen då, det var väl
1014 00:41:08,940 --> 00:41:10,420
egentligen då man kunde konstatera att,
1015 00:41:10,500 --> 00:41:12,780
ja, nu har vi ett källkjort bara. Jäklar vad
1016 00:41:12,780 --> 00:41:14,880
gött att man inte jobbar i storbolagsmiljö.
1017 00:41:14,900 --> 00:41:16,920
Verkligen, så tänkte jag då. Det var bara, shits on fire.
1018 00:41:16,960 --> 00:41:18,840
Någon kommer att ha en jobbig helg. Ja, nu kommer folk
1019 00:41:18,840 --> 00:41:20,740
få sitta och kötta. Och det är magiskt att det
1020 00:41:20,740 --> 00:41:22,160
alltid kommer precis innan jul också.
1021 00:41:22,560 --> 00:41:24,960
Ja, känns alltid som att det är anslutning till helg
1022 00:41:24,960 --> 00:41:26,740
också. Bara för att göra
1023 00:41:26,740 --> 00:41:28,700
livet extra surt för folk som jobbar
1024 00:41:28,700 --> 00:41:30,000
med det här. Men, ja.
1025 00:41:30,520 --> 00:41:32,840
Och det Rickard säger tycker jag är viktigt här.
1026 00:41:32,840 --> 00:41:33,460
Det vill säga att man,
1027 00:41:34,520 --> 00:41:37,260
det är inte dumt att ta de här
1028 00:41:37,260 --> 00:41:39,100
incidenterna,
1029 00:41:39,200 --> 00:41:40,200
de här stora breake,
1030 00:41:40,500 --> 00:41:42,580
eller de här stora, impactfulla
1031 00:41:42,580 --> 00:41:44,240
sårbarheterna som vi har då.
1032 00:41:44,640 --> 00:41:46,860
Att ta lärdom av det och kanske göra det
1033 00:41:46,860 --> 00:41:49,160
till ett scenario. Nu i efterhand,
1034 00:41:49,240 --> 00:41:51,120
säg att man inte var drabbad av detta, men kanske göra det
1035 00:41:51,120 --> 00:41:53,000
i efterhand. Okej, hur kan vi lära oss av det här?
1036 00:41:53,240 --> 00:41:54,840
Och vad kan vi bygga en process kring
1037 00:41:54,840 --> 00:41:57,000
för att kanske etablera någon form
1038 00:41:57,000 --> 00:41:59,020
av hjälp i framtiden? Jag skulle säga att man kommer att kolla
1039 00:41:59,020 --> 00:42:01,040
på det här. Den här kvarade väl in
1040 00:42:01,040 --> 00:42:02,640
då, som i
1041 00:42:02,640 --> 00:42:04,800
topp tre, kanske på första plats då,
1042 00:42:05,120 --> 00:42:06,560
av riktigt elaka bugger
1043 00:42:06,560 --> 00:42:08,620
som vi har haft de senaste tio åren.
1044 00:42:08,780 --> 00:42:10,440
I alla fall som är
1045 00:42:10,440 --> 00:42:12,000
så publikt igång bara.
1046 00:42:12,100 --> 00:42:13,900
Jag skulle säga Heartbleed,
1047 00:42:14,480 --> 00:42:15,840
Shellshock och
1048 00:42:15,840 --> 00:42:17,740
denna då.
1049 00:42:19,280 --> 00:42:20,860
Välta och Spektra då.
1050 00:42:21,360 --> 00:42:22,520
Fast drabbade inte
1051 00:42:22,520 --> 00:42:23,800
alls på samma skala.
1052 00:42:24,460 --> 00:42:26,440
Jag skojar bara. Vi har ju många
1053 00:42:26,440 --> 00:42:28,140
serier som är sjukt allvarliga,
1054 00:42:28,540 --> 00:42:30,160
som inte blir publikt kända.
1055 00:42:30,340 --> 00:42:32,340
Det är ju massan som gör att det blir jobbigt.
1056 00:42:32,460 --> 00:42:34,420
Exakt, och att det är så, vad ska man säga,
1057 00:42:34,540 --> 00:42:35,180
plug and play.
1058 00:42:36,440 --> 00:42:38,280
Det är som med Shellshock exempelvis.
1059 00:42:38,280 --> 00:42:40,380
Och vad har alla de här gemensamma?
1060 00:42:40,440 --> 00:42:42,040
De har
1061 00:42:42,040 --> 00:42:43,700
delad kod.
1062 00:42:43,800 --> 00:42:46,300
Det är delad open source och det är ingen riktig
1063 00:42:46,300 --> 00:42:48,320
responsibility här. Det vill säga det är inte Microsoft,
1064 00:42:48,480 --> 00:42:48,900
det är inte Apple.
1065 00:42:49,020 --> 00:42:52,620
Och det kan inte krävas av en random dude
1066 00:42:52,620 --> 00:42:53,460
i Nebraska.
1067 00:42:53,660 --> 00:42:55,140
Och då skapar vi ju
1068 00:42:55,140 --> 00:42:58,360
en segert i det, vilket gör att det är rimligt
1069 00:42:58,360 --> 00:43:00,180
att de blir så extremt publikt
1070 00:43:00,180 --> 00:43:02,580
exploaterbara. Och det måste vi ju lära oss av.
1071 00:43:02,660 --> 00:43:03,340
Det är min hela anledning.
1072 00:43:03,720 --> 00:43:05,240
Det kommer alltid att vara så.
1073 00:43:05,720 --> 00:43:08,100
Vi ska köpa allting från Apple i fortsättningen.
1074 00:43:08,100 --> 00:43:09,180
Ja, det kan man.
1075 00:43:09,500 --> 00:43:10,400
Det är inte många sådana,
1076 00:43:10,440 --> 00:43:13,140
de var ju i och för sig också sårbara.
1077 00:43:13,720 --> 00:43:14,680
För att vara helt ärlig.
1078 00:43:15,160 --> 00:43:17,280
Jag tänkte som så här, det första,
1079 00:43:17,620 --> 00:43:19,800
nu kommer ju bara ett avsnitt,
1080 00:43:19,880 --> 00:43:21,940
det kommer ju liksom ett antal dagar efter det har hänt.
1081 00:43:22,420 --> 00:43:23,900
Men den första grejen
1082 00:43:23,900 --> 00:43:25,880
som folk ska göra, det är ju
1083 00:43:25,880 --> 00:43:26,580
naturligtvis,
1084 00:43:27,760 --> 00:43:30,320
du ska ju samla alla bevis
1085 00:43:30,320 --> 00:43:32,000
som du kan för
1086 00:43:32,000 --> 00:43:32,780
hurvida
1087 00:43:32,780 --> 00:43:36,120
var jag breachade, var jag inte breachade.
1088 00:43:36,120 --> 00:43:37,500
För det är ju en sak,
1089 00:43:38,460 --> 00:43:38,700
eh,
1090 00:43:40,440 --> 00:43:42,480
hade vi en allvarlig sårbarhet
1091 00:43:42,480 --> 00:43:45,020
men av någon anledning så blev vi inte angripna
1092 00:43:45,020 --> 00:43:46,440
då är ju det ett läge.
1093 00:43:47,260 --> 00:43:48,560
Men om vi faktiskt
1094 00:43:48,560 --> 00:43:50,480
har eller har haft
1095 00:43:50,480 --> 00:43:51,680
ett intrång,
1096 00:43:52,380 --> 00:43:54,100
hur långt kom det, vad hände?
1097 00:43:55,220 --> 00:43:56,880
Hade de etablerat någon sorts
1098 00:43:56,880 --> 00:43:58,220
kom tillbaka
1099 00:43:58,220 --> 00:44:00,280
funktion innan
1100 00:44:00,280 --> 00:44:02,220
innan de trillade ut
1101 00:44:02,220 --> 00:44:04,100
slumpmässigt av att vi patchade det hela?
1102 00:44:04,220 --> 00:44:05,600
För det är ju en spännande fråga.
1103 00:44:06,460 --> 00:44:08,420
Det är ju där, om vi jämför med gamla
1104 00:44:08,420 --> 00:44:10,320
Heartbleed så var det ju diskussioner kring
1105 00:44:10,320 --> 00:44:12,460
folk som bytte
1106 00:44:12,460 --> 00:44:14,560
cert, men inte revokerade sina gamla
1107 00:44:14,560 --> 00:44:16,360
cert-nycklar och sådär, liksom
1108 00:44:16,360 --> 00:44:18,340
att man gjorde väldigt halvdana
1109 00:44:18,340 --> 00:44:20,160
försök att kasta ut eventuella
1110 00:44:20,160 --> 00:44:20,840
angripare.
1111 00:44:22,220 --> 00:44:24,380
Så den löser
1112 00:44:24,380 --> 00:44:26,200
ditt fucking jävla mjukvaruproblem
1113 00:44:26,200 --> 00:44:27,240
och får dig patchat.
1114 00:44:27,560 --> 00:44:28,880
Men två år,
1115 00:44:30,300 --> 00:44:31,780
samla in bevis.
1116 00:44:32,060 --> 00:44:34,220
Ja, men här ska man verkligen assume breach.
1117 00:44:34,300 --> 00:44:36,140
Ja, men här skulle jag ju vilja då
1118 00:44:36,140 --> 00:44:38,140
ändå lyfta
1119 00:44:38,140 --> 00:44:40,240
en hand för att det här är
1120 00:44:40,320 --> 00:44:42,320
inte trivialt.
1121 00:44:44,180 --> 00:44:45,080
För jag menar…
1122 00:44:45,080 --> 00:44:46,840
I synnerhet har man ju inte funderat på det
1123 00:44:46,840 --> 00:44:47,540
i förväg.
1124 00:44:48,160 --> 00:44:49,480
Och sen om du har lite storlek.
1125 00:44:49,820 --> 00:44:51,140
Ja, men jag tänker, alltså,
1126 00:44:51,820 --> 00:44:54,500
okej, vi ska se
1127 00:44:54,500 --> 00:44:55,860
om vi har åkt på det.
1128 00:44:56,680 --> 00:44:58,520
Ja, right.
1129 00:44:58,560 --> 00:45:00,480
Vad gör vi då? Ska vi kolla på
1130 00:45:00,480 --> 00:45:02,360
inkommande trafik? Nej, alltså
1131 00:45:02,360 --> 00:45:04,140
attackvektorerna, jag har sett
1132 00:45:04,140 --> 00:45:04,800
i alla fall
1133 00:45:04,800 --> 00:45:08,500
20-30-tal
1134 00:45:08,500 --> 00:45:10,140
olika varianter. Ingenting som
1135 00:45:10,140 --> 00:45:12,520
går att skriva en schysst reggexp
1136 00:45:12,520 --> 00:45:12,800
för.
1137 00:45:13,700 --> 00:45:16,160
Och även om man skulle kunna göra det som
1138 00:45:16,160 --> 00:45:18,340
fångar 80 så är det ändå 20%
1139 00:45:18,340 --> 00:45:19,360
som slinker emellan.
1140 00:45:20,760 --> 00:45:22,360
Ja, men kan vi titta på
1141 00:45:22,360 --> 00:45:24,360
callbackarna då? Ja, jo,
1142 00:45:24,440 --> 00:45:26,320
absolut. Vi kan titta, har vi några eldapp
1143 00:45:26,320 --> 00:45:28,400
calls ut? För det är ju liksom standard
1144 00:45:28,400 --> 00:45:30,960
standard om någon bara har copy-pastat
1145 00:45:30,960 --> 00:45:32,460
pocken. Men det
1146 00:45:32,460 --> 00:45:34,040
finns många andra sätt.
1147 00:45:34,300 --> 00:45:36,480
Och jag tänker, de som är sneaky, de går ju inte ut.
1148 00:45:36,580 --> 00:45:37,320
Och det finns
1149 00:45:37,320 --> 00:45:39,960
forum där man delar listor.
1150 00:45:40,140 --> 00:45:42,000
Det är på kända callback-server och sånt där.
1151 00:45:42,020 --> 00:45:44,080
Och du kan titta på din utåtgående
1152 00:45:44,080 --> 00:45:46,100
trafik och se, har vi någon trafik till de här?
1153 00:45:46,200 --> 00:45:48,020
Ja, men då kan vi anta att vi har åkt på det
1154 00:45:48,020 --> 00:45:50,360
i tvåan. Men
1155 00:45:50,360 --> 00:45:51,980
det förutsätter ju också
1156 00:45:51,980 --> 00:45:54,300
att det här är storskaligt. Jag tänker på
1157 00:45:54,300 --> 00:45:56,080
de som flyger under radarn.
1158 00:45:56,200 --> 00:45:57,980
Om jag skulle
1159 00:45:57,980 --> 00:46:00,460
skriva en riktad grej
1160 00:46:00,460 --> 00:46:02,060
och göra en
1161 00:46:02,060 --> 00:46:03,960
callback till en server som
1162 00:46:03,960 --> 00:46:05,920
inte används till någonting annat
1163 00:46:05,920 --> 00:46:08,420
än snälla saker historiskt.
1164 00:46:09,020 --> 00:46:09,760
Så den flyger,
1165 00:46:10,140 --> 00:46:10,980
flyger under radarn.
1166 00:46:11,540 --> 00:46:13,580
Ja, men jag tänker såhär.
1167 00:46:13,860 --> 00:46:16,220
Om du är ett team som
1168 00:46:16,220 --> 00:46:18,180
där du har någon som
1169 00:46:18,180 --> 00:46:19,520
testar exploit och sånt.
1170 00:46:19,640 --> 00:46:20,140
Jag menar,
1171 00:46:21,360 --> 00:46:24,280
nu med reservation
1172 00:46:24,280 --> 00:46:25,300
för att jag har inte
1173 00:46:25,300 --> 00:46:28,140
exploitat den här något nämnvärt. Eller jag har bara kört den
1174 00:46:28,140 --> 00:46:30,080
och konstaterat att, till exempel
1175 00:46:30,080 --> 00:46:32,260
såhär att den Java-versionen jag har
1176 00:46:32,260 --> 00:46:34,380
den vill ju inte ladda de här indigrejerna
1177 00:46:34,380 --> 00:46:36,240
och sånt. Men jag får ju
1178 00:46:36,240 --> 00:46:37,620
ett loggmeddelande
1179 00:46:37,620 --> 00:46:39,980
om jag
1180 00:46:39,980 --> 00:46:42,200
inte kör det här tricket som jag kom på
1181 00:46:42,200 --> 00:46:43,600
för att döda loggen.
1182 00:46:43,860 --> 00:46:45,940
Det var ytterligare ett verktyg i min verktygslåda nu
1183 00:46:45,940 --> 00:46:46,840
så jag ska här och snickra.
1184 00:46:47,100 --> 00:46:49,480
Men till exempel att om
1185 00:46:49,480 --> 00:46:52,100
man kan kolla och se att
1186 00:46:52,940 --> 00:46:54,360
att attacken
1187 00:46:54,360 --> 00:46:55,980
i olika
1188 00:46:55,980 --> 00:46:58,280
attackverktyg lämnar ändå ifrån sig
1189 00:46:58,280 --> 00:46:59,880
något spår.
1190 00:47:00,740 --> 00:47:02,140
Jag menar, jag har ju sett
1191 00:47:02,140 --> 00:47:03,880
många loggrader i mitt liv.
1192 00:47:04,020 --> 00:47:06,240
Jag har aldrig någonsin sett den raden
1193 00:47:06,240 --> 00:47:07,000
som kom ut
1194 00:47:07,000 --> 00:47:09,940
när jag körde en jindig runt
1195 00:47:09,980 --> 00:47:11,300
och den laddade
1196 00:47:11,300 --> 00:47:13,720
och det kommer ut någon klas
1197 00:47:13,720 --> 00:47:16,560
bla bla bla, full liksom. Exakt den texten
1198 00:47:16,560 --> 00:47:17,920
kan jag ju inte ge dig med
1199 00:47:17,920 --> 00:47:19,860
att jag någonsin har sett i en logg tidigare.
1200 00:47:20,600 --> 00:47:21,480
Och skulle jag vara
1201 00:47:21,480 --> 00:47:24,160
breach-utredd eller någonting nu så hade ju
1202 00:47:24,160 --> 00:47:25,120
jag hade ju
1203 00:47:25,120 --> 00:47:28,240
hoppats på att mina loggar hade funkat lite grann
1204 00:47:28,240 --> 00:47:30,380
och jag hade börjat greppa efter den här
1205 00:47:30,380 --> 00:47:32,480
åtminstone den strängen
1206 00:47:32,480 --> 00:47:34,400
som jag vet är ett tecken
1207 00:47:34,400 --> 00:47:35,460
på compromise-attempt.
1208 00:47:35,580 --> 00:47:37,280
Där tänkte jag på en annan grej.
1209 00:47:38,460 --> 00:47:39,060
Ja, absolut.
1210 00:47:39,980 --> 00:47:41,600
Vad är det vi sitter och gräver i nu?
1211 00:47:41,740 --> 00:47:43,000
Vi sitter och gräver i loggar.
1212 00:47:44,100 --> 00:47:45,740
Logg-stash. Sårbart.
1213 00:47:47,280 --> 00:47:48,100
Hur var det med
1214 00:47:48,100 --> 00:47:49,560
second-order-injection?
1215 00:47:49,860 --> 00:47:50,300
Exakt.
1216 00:47:52,000 --> 00:47:54,200
Den detonerar nästa gång när vi hittar den
1217 00:47:54,200 --> 00:47:55,100
i loggraden liksom.
1218 00:47:55,520 --> 00:47:56,700
Och kan du då dessutom
1219 00:47:56,700 --> 00:48:00,160
kan du tro på veraciteten
1220 00:48:00,160 --> 00:48:01,160
i dina loggar då?
1221 00:48:01,160 --> 00:48:02,240
Ja, överhuvudtaget.
1222 00:48:02,420 --> 00:48:05,080
Jag berättade ju under lunchen
1223 00:48:05,080 --> 00:48:06,820
om hur en bekant till oss
1224 00:48:06,820 --> 00:48:07,940
av misstag hade råkat
1225 00:48:07,940 --> 00:48:09,960
göra crosset.
1226 00:48:09,980 --> 00:48:12,180
När han skulle beställa en personalgåva.
1227 00:48:12,260 --> 00:48:13,160
Ja, det var hejlöst kul.
1228 00:48:13,600 --> 00:48:15,160
Det måste du berätta för lyssnarna också.
1229 00:48:15,640 --> 00:48:18,240
Ja, han hade någon liten marquee
1230 00:48:18,240 --> 00:48:20,220
och lite råtträtt och en krypterad text
1231 00:48:20,220 --> 00:48:21,360
och annat som vi hade tänkt ut.
1232 00:48:22,060 --> 00:48:24,340
Det ser väl kul ut på en personalgåva.
1233 00:48:24,680 --> 00:48:25,940
Och så ska du tryckas på en grej.
1234 00:48:25,980 --> 00:48:27,680
Ja, och för att göra det här extra roligt
1235 00:48:27,680 --> 00:48:30,300
enligt uppgift då så hann han hävda det till mig
1236 00:48:30,300 --> 00:48:32,260
att först hade säljaren
1237 00:48:32,260 --> 00:48:33,820
ringt och frågat och sa att det var lite
1238 00:48:33,820 --> 00:48:35,440
konstiga tecken de skulle ha med.
1239 00:48:36,680 --> 00:48:38,040
Och redan där är det ju spännande
1240 00:48:38,040 --> 00:48:39,740
att det är ju uppenbarligen människor ibland.
1241 00:48:39,980 --> 00:48:40,640
I processen.
1242 00:48:41,240 --> 00:48:43,660
Men då hade vår bekant svarat att
1243 00:48:43,660 --> 00:48:45,800
det är lugnt.
1244 00:48:45,920 --> 00:48:46,260
Ta det.
1245 00:48:48,260 --> 00:48:50,120
Även om inte du fattar det så är det kul
1246 00:48:50,120 --> 00:48:50,940
och vi vill ha med det.
1247 00:48:52,400 --> 00:48:54,040
Sen en stund senare kom det ett samtal
1248 00:48:54,040 --> 00:48:56,560
till från samma säljare som då säger att
1249 00:48:56,560 --> 00:48:58,220
IT är väldigt
1250 00:48:58,220 --> 00:48:59,880
upprörda och springer runt.
1251 00:49:00,880 --> 00:49:02,460
Det är väldigt
1252 00:49:02,460 --> 00:49:03,500
upprörd just nu.
1253 00:49:04,400 --> 00:49:05,760
Second order injection.
1254 00:49:05,760 --> 00:49:07,300
Ja, det kommer att hända ju.
1255 00:49:07,440 --> 00:49:08,740
By sales. By proxy.
1256 00:49:08,740 --> 00:49:11,180
Men det här är ju, jag vet ju att
1257 00:49:11,180 --> 00:49:13,120
ett ställe jag har satt på där
1258 00:49:13,120 --> 00:49:15,380
nu ska vi inte säga för mycket
1259 00:49:15,380 --> 00:49:17,420
men för länge sedan så satt jag på ett ställe där
1260 00:49:17,420 --> 00:49:18,920
jag jobbade i
1261 00:49:18,920 --> 00:49:21,380
i businesslagret
1262 00:49:21,380 --> 00:49:23,780
det vill säga det är IBE som det heter då.
1263 00:49:24,700 --> 00:49:25,500
Och det fanns ju
1264 00:49:25,500 --> 00:49:27,300
vissa grejer som vi definitivt
1265 00:49:27,300 --> 00:49:27,720
loggade.
1266 00:49:29,780 --> 00:49:31,300
Och om de bara har
1267 00:49:31,300 --> 00:49:32,940
plankat den gamla
1268 00:49:32,940 --> 00:49:35,480
log4j1 baserade
1269 00:49:35,480 --> 00:49:36,420
koden och
1270 00:49:36,420 --> 00:49:38,880
svursat upp den till log4j2
1271 00:49:38,880 --> 00:49:39,480
då
1272 00:49:39,480 --> 00:49:42,780
då har ju de potentiellt
1273 00:49:42,780 --> 00:49:45,060
definitivt second order injection att hantera.
1274 00:49:45,280 --> 00:49:47,020
Så får vi hoppas att de har jobbat hårt
1275 00:49:47,020 --> 00:49:49,140
nu under den här bridge-dagarna.
1276 00:49:49,160 --> 00:49:51,000
Det är nog väldigt många övertimmar på väldigt
1277 00:49:51,000 --> 00:49:51,900
många bolag just nu.
1278 00:49:52,660 --> 00:49:55,020
Det ser kul ut i en del interna
1279 00:49:55,600 --> 00:49:57,020
gitsövrar
1280 00:49:57,600 --> 00:49:58,300
kan jag få med dem.
1281 00:49:58,600 --> 00:49:59,520
Jag kan tänka mig det.
1282 00:50:00,860 --> 00:50:03,160
Jag känner
1283 00:50:03,160 --> 00:50:04,360
liksom såhär, det är inte
1284 00:50:04,360 --> 00:50:06,260
det är inte
1285 00:50:06,260 --> 00:50:08,760
trivialt med incident response i det här läget
1286 00:50:08,760 --> 00:50:10,720
för att liksom att identifiera
1287 00:50:10,720 --> 00:50:12,020
ja man kan titta på
1288 00:50:12,020 --> 00:50:14,740
utgående trafik, ja man kan titta på
1289 00:50:14,740 --> 00:50:16,440
det som är
1290 00:50:16,440 --> 00:50:18,340
uppenbart liksom och
1291 00:50:18,340 --> 00:50:20,100
titta på
1292 00:50:20,100 --> 00:50:22,080
har vi några skumma
1293 00:50:22,080 --> 00:50:24,480
skumma
1294 00:50:24,480 --> 00:50:27,000
callbacks ut till kända
1295 00:50:27,000 --> 00:50:28,860
servrar liksom. Det finns en lista
1296 00:50:28,860 --> 00:50:30,500
på upp i ett fyrtiotal
1297 00:50:30,500 --> 00:50:32,760
Ja men bara all utgående data
1298 00:50:32,760 --> 00:50:34,620
all utgående trafik men är det en
1299 00:50:34,620 --> 00:50:36,240
webbfronten så blir det ju svårt. Men då är det ju en webbfronten.
1300 00:50:36,260 --> 00:50:37,880
Det är ju som du säger, då får man ju bara ett list
1301 00:50:37,880 --> 00:50:40,040
alltså gå på, eller blacklist i det här fallet
1302 00:50:40,040 --> 00:50:41,500
gå på kända rogue hosts
1303 00:50:41,500 --> 00:50:44,160
men det är ju egentligen bara en del
1304 00:50:44,160 --> 00:50:45,480
av det. Ja det är ju bara
1305 00:50:45,480 --> 00:50:48,060
toppen på is. Så då skulle man ju egentligen vilja ha
1306 00:50:48,060 --> 00:50:50,140
en brandvägg som kanske är lite
1307 00:50:50,140 --> 00:50:52,080
mer kapabilitet, alltså så kan man titta på
1308 00:50:52,080 --> 00:50:54,260
applikationsnivå också och titta på innehåll.
1309 00:50:54,820 --> 00:50:55,880
Då skulle man kunna göra lite mer
1310 00:50:55,880 --> 00:50:57,600
och du tittar på origin då
1311 00:50:57,600 --> 00:51:00,200
egress med applikationen
1312 00:51:00,200 --> 00:51:02,280
som innehåller. Och det är ju såhär, det är ju jättebra
1313 00:51:02,280 --> 00:51:04,360
men det hjälper ju om du har
1314 00:51:04,360 --> 00:51:05,480
gjort det redan innan.
1315 00:51:06,260 --> 00:51:07,940
Bill däremot gjorde det här med hjälp av
1316 00:51:07,940 --> 00:51:10,200
Log4J. Ja precis, då är det ju
1317 00:51:10,200 --> 00:51:11,240
dels fatt det där
1318 00:51:11,240 --> 00:51:14,320
och dessutom så är det ju såhär too little too late
1319 00:51:14,320 --> 00:51:15,440
lite grann. Intressant ändå
1320 00:51:15,440 --> 00:51:17,740
det är ju inte
1321 00:51:17,740 --> 00:51:19,960
ett orimligt antagande, jag kan i alla fall nämna
1322 00:51:19,960 --> 00:51:22,260
två stora brandväggsleverantörer
1323 00:51:22,820 --> 00:51:24,100
vars loggfunktion är i alla fall
1324 00:51:24,100 --> 00:51:24,560
Java.
1325 00:51:26,380 --> 00:51:28,060
Så att det kommer ju slå på även där.
1326 00:51:28,060 --> 00:51:30,200
Jag har inte ens tänkt på det, det måste ju också vara en grej.
1327 00:51:30,640 --> 00:51:32,240
Men jag tänkte, jag hade en idé
1328 00:51:32,240 --> 00:51:33,980
som jag tyckte var lite intressant
1329 00:51:33,980 --> 00:51:35,800
eller en vinkel på det här som
1330 00:51:35,800 --> 00:51:38,040
slog mig när jag satt och kollade på
1331 00:51:38,040 --> 00:51:40,080
vad folk skrev om detta på Twitter. Och det var ju lite
1332 00:51:40,080 --> 00:51:42,120
hur olika bug bounty
1333 00:51:42,120 --> 00:51:43,620
program har agerat
1334 00:51:43,620 --> 00:51:46,140
i samband med detta. För det har ju verkligen funnits
1335 00:51:46,140 --> 00:51:47,260
två olika läger där.
1336 00:51:47,920 --> 00:51:49,860
Vissa har gått ut och sagt att såhär, ja men
1337 00:51:49,860 --> 00:51:52,060
det här exploaterar så mycket
1338 00:51:52,060 --> 00:51:54,420
så vi kommer inte kunna, vi kommer inte betala ut
1339 00:51:54,420 --> 00:51:55,700
bounties för det.
1340 00:51:56,740 --> 00:51:57,580
Vilket ju är
1341 00:51:57,580 --> 00:51:59,780
konstigt. Ja, rätt märkligt.
1342 00:51:59,940 --> 00:52:00,600
Och sen den andra
1343 00:52:00,600 --> 00:52:03,220
teamet då som har varit
1344 00:52:03,220 --> 00:52:05,580
Fast det är HackerOne nu ganska specifikt.
1345 00:52:05,800 --> 00:52:07,400
Det var väl de som sa det, att vi kommer inte
1346 00:52:07,400 --> 00:52:09,960
Det är olika per, alltså HackerOne
1347 00:52:09,960 --> 00:52:11,280
är ju bara plattformen då.
1348 00:52:11,300 --> 00:52:12,900
Det var väl de som gjorde det uttalandet just.
1349 00:52:13,540 --> 00:52:15,280
Ja, fast samtidigt så var det ju
1350 00:52:15,280 --> 00:52:17,580
åtminstone ett eller flera preamp som
1351 00:52:17,580 --> 00:52:19,780
hostades av HackerOne som sa att vi ökar
1352 00:52:19,780 --> 00:52:21,660
våra uppbetalningar för just
1353 00:52:21,660 --> 00:52:23,500
den här typen av, för den här buggen.
1354 00:52:23,900 --> 00:52:24,800
Så det har varit lite olika.
1355 00:52:26,160 --> 00:52:27,600
Tänk att HackerOne har ett incitament
1356 00:52:27,600 --> 00:52:29,600
att… Och man kan ju se såhär, alltså
1357 00:52:29,600 --> 00:52:32,060
om du då har specifierat
1358 00:52:32,060 --> 00:52:33,500
vilket man ju ofta gör på
1359 00:52:33,500 --> 00:52:35,680
exempelvis HackerOne, såhär bara, men vi betalar
1360 00:52:35,800 --> 00:52:37,560
x mängd pengar
1361 00:52:37,560 --> 00:52:39,680
för skittiga sårbarheter. Så att du
1362 00:52:39,680 --> 00:52:41,880
kanske betalar 20 000 dollar
1363 00:52:41,880 --> 00:52:43,480
eller någonting för en skittig
1364 00:52:43,480 --> 00:52:45,700
sårbarhet. Om du då
1365 00:52:45,700 --> 00:52:47,660
börjar hagla in skittiga
1366 00:52:47,660 --> 00:52:49,780
sårbarheter helt plötsligt, då har du
1367 00:52:49,780 --> 00:52:51,520
förmodligen spräckt din
1368 00:52:51,520 --> 00:52:53,660
säkerhetsbudget ganska hårt samtidigt som du sitter
1369 00:52:53,660 --> 00:52:55,360
med ett blodteam som försöker fixa allting.
1370 00:52:55,780 --> 00:52:57,700
Men där blir det ju jättelätt för dem
1371 00:52:57,700 --> 00:52:59,480
att säga duplikett eller såhär.
1372 00:52:59,740 --> 00:53:01,660
Det är ju semantik. De väljer ju
1373 00:53:01,660 --> 00:53:03,420
i sin omsist vad de väljer att
1374 00:53:03,420 --> 00:53:04,600
betala ut till, så är det ju.
1375 00:53:04,600 --> 00:53:05,440
Så är det ju såklart.
1376 00:53:05,800 --> 00:53:08,460
Jag ska faktiskt säga det också på samma, för att
1377 00:53:08,460 --> 00:53:09,780
understryka din tes, att
1378 00:53:09,780 --> 00:53:12,340
hela mitt gäng där jag jobbar
1379 00:53:12,340 --> 00:53:14,360
vi har ju fått frågan här nu
1380 00:53:14,360 --> 00:53:16,320
dag för dag här om vi kan jobba extra
1381 00:53:16,320 --> 00:53:18,680
med att titta igenom
1382 00:53:18,680 --> 00:53:20,780
våra kunders exponerade
1383 00:53:20,780 --> 00:53:22,820
perimetrar för just sårbarheten
1384 00:53:22,820 --> 00:53:24,260
och det får vi ju betalt för såklart.
1385 00:53:24,700 --> 00:53:26,520
Så där har vi ju, nu har inte jag gjort det
1386 00:53:26,520 --> 00:53:28,400
jag orkar inte, jag måste vara ledig
1387 00:53:28,400 --> 00:53:30,300
men då får vi ju betalt
1388 00:53:30,300 --> 00:53:31,800
och då får vi vanlig
1389 00:53:31,800 --> 00:53:34,500
pentest rate för att validera
1390 00:53:34,500 --> 00:53:35,280
att de inte är sårbara.
1391 00:53:35,800 --> 00:53:38,520
Eller att de är sårbara. Så det är ju samma sak egentligen.
1392 00:53:38,780 --> 00:53:40,720
Det är ju visst och ensamt, men samtidigt
1393 00:53:40,720 --> 00:53:41,940
är det ju också så att om vi pratar
1394 00:53:41,940 --> 00:53:43,880
second, third order.
1395 00:53:44,580 --> 00:53:46,120
Det går ju aldrig att
1396 00:53:46,120 --> 00:53:48,840
Nej, det är inte säkert att du ser
1397 00:53:48,840 --> 00:53:50,060
om den detonerar. Precis.
1398 00:53:50,500 --> 00:53:52,640
Och det kan ju dessutom vara så att den här
1399 00:53:52,640 --> 00:53:54,580
kommer inte brisera nu, utan den kan ju
1400 00:53:54,580 --> 00:53:57,000
brisera, du vet, när det görs ett backup
1401 00:53:57,000 --> 00:53:57,840
om två veckor.
1402 00:53:58,160 --> 00:54:00,980
Det kommer du ju aldrig få igenom
1403 00:54:00,980 --> 00:54:02,740
som en bugbunt ändå, för du måste ju ha en pock
1404 00:54:02,740 --> 00:54:05,180
som valideras från det utbrunns.
1405 00:54:05,800 --> 00:54:07,980
Men just till din poäng där, att sitta och titta
1406 00:54:07,980 --> 00:54:09,820
på perimeterna är ju ganska
1407 00:54:09,820 --> 00:54:11,740
irrelevant egentligen, för att det här kan ju
1408 00:54:11,740 --> 00:54:13,600
brisera var som helst.
1409 00:54:13,720 --> 00:54:15,220
Det handlar ju bara om att
1410 00:54:15,220 --> 00:54:17,580
incidentprocessen i deras ögon är såhär
1411 00:54:17,580 --> 00:54:19,460
vi vill inte vara sårbara externt.
1412 00:54:19,520 --> 00:54:21,120
Men då har man ju inte fattat grundproblemet.
1413 00:54:21,160 --> 00:54:23,380
Men det är väl inte första gången.
1414 00:54:23,440 --> 00:54:25,900
Och det är det jag menar här.
1415 00:54:26,100 --> 00:54:27,820
Det är ju det
1416 00:54:27,820 --> 00:54:29,740
jag menar. Det viktiga är att man får
1417 00:54:29,740 --> 00:54:31,060
en konceptuell förståelse
1418 00:54:31,060 --> 00:54:33,460
vad den här typen av sårbarhetsklasser
1419 00:54:33,460 --> 00:54:34,900
kräver av dig som organisation.
1420 00:54:35,800 --> 00:54:38,000
Det tror jag att de här sårbarheterna möjliggör.
1421 00:54:38,800 --> 00:54:40,280
Vilket jag tror att vi kan lära oss bra på.
1422 00:54:40,280 --> 00:54:42,300
Och vi åker i den här fällan med ganska jämna
1423 00:54:42,300 --> 00:54:44,380
mellanrum. Och det vi ska fråga oss här är
1424 00:54:44,380 --> 00:54:46,300
varför då? Det är ju inget unikt
1425 00:54:46,300 --> 00:54:48,280
för open source. Det är ju bara att processen
1426 00:54:48,280 --> 00:54:50,320
ser annorlunda ut. Absolut, och det är väl som du
1427 00:54:50,320 --> 00:54:52,160
säger där. Eftersom att vi har ju
1428 00:54:52,160 --> 00:54:54,200
har inte haft, vi kommer
1429 00:54:54,200 --> 00:54:56,220
aldrig ha möjligheten att sitta och
1430 00:54:56,220 --> 00:54:58,160
granska varenda dependency i
1431 00:54:58,160 --> 00:54:59,520
varenda grej som vi har kört.
1432 00:55:00,320 --> 00:55:02,120
Det är fullständigt omöjligt. Och vi kommer att skriva
1433 00:55:02,120 --> 00:55:04,260
dålig kod. Och det här kommer att hända igen. Absolut.
1434 00:55:04,260 --> 00:55:06,380
Så det kan vi bara glömma det spåret.
1435 00:55:06,620 --> 00:55:08,320
Skillnaden här är ju att det inte är en stor
1436 00:55:08,320 --> 00:55:09,980
organisation. Hade det varit hos Microsoft
1437 00:55:09,980 --> 00:55:12,340
till exempel. Vilket på något sätt ändå
1438 00:55:12,340 --> 00:55:14,560
kanske hade varit en bättre del. För de har
1439 00:55:14,560 --> 00:55:16,680
SDLC-grejen.
1440 00:55:16,780 --> 00:55:18,020
De har ju byggt den.
1441 00:55:18,280 --> 00:55:19,960
Alltså de har ju en process som de
1442 00:55:19,960 --> 00:55:22,000
arbetar efter. Och där det
1443 00:55:22,000 --> 00:55:24,220
förekommer ganska många critical
1444 00:55:24,220 --> 00:55:26,260
RCE-er som aldrig blir publikt kända.
1445 00:55:27,040 --> 00:55:27,440
Absolut.
1446 00:55:28,360 --> 00:55:29,980
Och de har ju då, de
1447 00:55:29,980 --> 00:55:32,300
agerar ju dem. Men det gör ju dem bara för att
1448 00:55:32,880 --> 00:55:34,000
vektorn är inte lika
1449 00:55:34,000 --> 00:55:36,220
vitt spritt. Eller man har inte sett det på samma sätt.
1450 00:55:36,220 --> 00:55:38,340
Nej, precis. Det har inte kommit ut.
1451 00:55:38,620 --> 00:55:39,780
Helt enkelt. Men
1452 00:55:39,780 --> 00:55:42,240
å andra sidan så… Men problemet är universellt.
1453 00:55:42,320 --> 00:55:44,100
Det är dit jag vill komma. Ja. Och där
1454 00:55:44,100 --> 00:55:46,060
är väl som sagt, lösningen är ju inte
1455 00:55:46,060 --> 00:55:47,900
att vi går bort från
1456 00:55:47,900 --> 00:55:49,800
open source. Verkligen inte.
1457 00:55:49,920 --> 00:55:52,240
Eller något sånt. Utan det handlar ju om att
1458 00:55:52,240 --> 00:55:53,760
som du säger då, verkligen
1459 00:55:53,760 --> 00:55:56,200
SU-breach och se till att
1460 00:55:56,200 --> 00:55:58,360
du har koll på vad dina maskiner håller på med.
1461 00:55:58,540 --> 00:56:00,320
Vad de får och inte får prata med.
1462 00:56:00,920 --> 00:56:02,140
Och du behöver ha konceptförståelse.
1463 00:56:02,140 --> 00:56:03,980
Och sen hoppas då att de brandväggar
1464 00:56:04,000 --> 00:56:06,000
som du kör för att enforcera detta inte också
1465 00:56:06,000 --> 00:56:08,100
är såbara. Precis innan
1466 00:56:08,100 --> 00:56:10,080
jag kom hit så satt jag och lyssnade
1467 00:56:10,080 --> 00:56:11,520
på ett webbinar
1468 00:56:11,520 --> 00:56:14,040
som hölls av en
1469 00:56:14,040 --> 00:56:16,040
känd threat intelligence
1470 00:56:16,040 --> 00:56:17,180
bolag.
1471 00:56:18,940 --> 00:56:20,140
Och då
1472 00:56:20,140 --> 00:56:21,600
var en av frågorna just det här.
1473 00:56:22,360 --> 00:56:22,880
Kände
1474 00:56:22,880 --> 00:56:26,200
kinesiska staten till detta
1475 00:56:26,200 --> 00:56:27,860
innan Alibaba
1476 00:56:27,860 --> 00:56:29,020
rapporterade in det?
1477 00:56:29,620 --> 00:56:30,100
Kanske.
1478 00:56:32,100 --> 00:56:32,580
Mayhaps.
1479 00:56:32,880 --> 00:56:33,920
Jag kan ju tänka mig att
1480 00:56:34,000 --> 00:56:36,440
om du kollar på underrättelseverksamhet
1481 00:56:36,440 --> 00:56:38,240
alltså väl typ NSA eller liknande
1482 00:56:38,240 --> 00:56:39,920
jag menar som sagt vi har ju sett
1483 00:56:39,920 --> 00:56:42,380
basically om du läser mellan raderna
1484 00:56:42,380 --> 00:56:44,640
i det här black hat-pappret från 2016
1485 00:56:44,640 --> 00:56:46,640
så har du sårbarheten där
1486 00:56:46,640 --> 00:56:47,820
mer eller mindre.
1487 00:56:48,280 --> 00:56:50,560
Så det är ju inte alls otroligt
1488 00:56:50,560 --> 00:56:52,260
att det här har exploaterats
1489 00:56:52,260 --> 00:56:54,520
som den raden förut.
1490 00:56:55,360 --> 00:56:56,260
Men den enda
1491 00:56:56,260 --> 00:56:58,220
publikt kända CVN på mig
1492 00:56:58,220 --> 00:57:00,260
där det faktiskt finns en känd koppling
1493 00:57:00,260 --> 00:57:02,040
till mitt namn, det är ju den här
1494 00:57:02,040 --> 00:57:03,120
strutsårbarheten.
1495 00:57:03,120 --> 00:57:03,960
Och den
1496 00:57:04,000 --> 00:57:06,620
den är ju väsentligen
1497 00:57:06,620 --> 00:57:08,420
bara att jag
1498 00:57:08,420 --> 00:57:10,260
plankade en
1499 00:57:10,260 --> 00:57:11,780
springsårbarhet
1500 00:57:11,780 --> 00:57:14,300
och letade efter ungefär samma sak.
1501 00:57:14,420 --> 00:57:15,880
Och där fanns det ju dessutom en
1502 00:57:15,880 --> 00:57:18,420
infoläcka från min sida för jag hörde ju
1503 00:57:18,420 --> 00:57:20,420
av mig till författaren för att han hade ju skrivit
1504 00:57:20,420 --> 00:57:22,080
såhär bla bla bla såhär
1505 00:57:22,080 --> 00:57:24,420
exploaterade det här en allvarlig sårbarhetsklass
1506 00:57:24,420 --> 00:57:26,120
och så slutade den typ med
1507 00:57:26,120 --> 00:57:28,500
någon borde kolla att inte de andra
1508 00:57:28,500 --> 00:57:30,720
ramverken såsom struts
1509 00:57:30,720 --> 00:57:32,720
och stripe så att inte de också är sårbara.
1510 00:57:32,720 --> 00:57:33,740
Så det är liksom såhär
1511 00:57:33,740 --> 00:57:36,580
satt där lite såhär, håller på att titta på någonting
1512 00:57:36,580 --> 00:57:38,080
blir lite för ner som såhär
1513 00:57:38,080 --> 00:57:39,480
varje dag såhär
1514 00:57:39,480 --> 00:57:43,220
följer du någonsin upp
1515 00:57:43,220 --> 00:57:44,500
på din punkt om att någon borde
1516 00:57:44,500 --> 00:57:46,300
kolla på de andra ramverken?
1517 00:57:47,340 --> 00:57:48,860
Och så bara nej.
1518 00:57:51,440 --> 00:57:52,780
Och det var ju
1519 00:57:52,780 --> 00:57:53,880
liksom såhär.
1520 00:57:54,560 --> 00:57:56,240
Men exakt så tänker jag ju att
1521 00:57:56,240 --> 00:57:58,040
om du nu jobbar med att
1522 00:57:58,040 --> 00:57:59,540
hålla på med
1523 00:58:00,680 --> 00:58:01,640
covert intelligence
1524 00:58:01,640 --> 00:58:01,840
och
1525 00:58:01,840 --> 00:58:03,440
sådana
1526 00:58:03,440 --> 00:58:06,400
skumma saker så är det ju
1527 00:58:06,400 --> 00:58:08,700
precis sånt här du förmodligen sitter och läser
1528 00:58:08,700 --> 00:58:09,920
och exploaterar.
1529 00:58:10,800 --> 00:58:12,280
Och från det att
1530 00:58:12,280 --> 00:58:14,440
det är sagt att Jindy är
1531 00:58:14,440 --> 00:58:16,060
ett tydligt problem och det
1532 00:58:16,060 --> 00:58:17,940
det bör du ju
1533 00:58:17,940 --> 00:58:20,480
som riktigt bra organisation så bör du ju
1534 00:58:20,480 --> 00:58:21,320
ha veta att det här
1535 00:58:21,320 --> 00:58:23,260
alltså innan
1536 00:58:23,260 --> 00:58:26,200
lackad dragningen, för det här är ju ett gammalt problem.
1537 00:58:26,440 --> 00:58:27,100
Det var ju ändå sex år sedan liksom.
1538 00:58:27,100 --> 00:58:29,260
Jaja och du bör ju ha veta att det är sedan tidigare
1539 00:58:29,260 --> 00:58:30,260
det finns en
1540 00:58:31,840 --> 00:58:33,880
väldigt dålig känsla i det här.
1541 00:58:33,880 --> 00:58:46,580
Det är ju bara en liten
1542 00:58:46,580 --> 00:58:47,200
utsiktsskala.
1543 00:58:47,200 --> 00:58:51,120
Det finns ju på mig från
1544 00:58:51,120 --> 00:58:52,460
typ 2008
1545 00:58:52,460 --> 00:58:54,200
när jag började titta på det bara såhär
1546 00:58:54,200 --> 00:58:55,860
jag får lite dålig känsla här.
1547 00:58:56,160 --> 00:58:57,560
Ja det hade du väldigt rätt i.
1548 00:58:57,560 --> 00:58:59,040
För det hade ju historiskt
1549 00:58:59,040 --> 00:59:00,760
väldigt mycket dumma…
1550 00:59:00,760 --> 00:59:00,860
Ja.
1551 00:59:01,840 --> 00:59:04,160
Sen har ju inte jag skrivit cool export för det här
1552 00:59:04,160 --> 00:59:05,880
eftersom att jag är en late, dålig människa.
1553 00:59:05,880 --> 00:59:07,400
Nej, men okej, du hämtade att du var
1554 00:59:07,400 --> 00:59:08,480
före din tid.
1555 00:59:08,720 --> 00:59:10,580
Det har nog någon annan gjort.
1556 00:59:11,020 --> 00:59:14,180
Men grejen är att på den tiden
1557 00:59:14,180 --> 00:59:16,160
så var ju Java folk
1558 00:59:16,160 --> 00:59:17,260
var inte så intresserade, eller
1559 00:59:17,260 --> 00:59:20,260
säkert folk var inte så intresserade av Java.
1560 00:59:20,600 --> 00:59:21,980
Vi var en klar minoritet
1561 00:59:21,980 --> 00:59:23,280
och jag och några andra som
1562 00:59:23,280 --> 00:59:25,940
kunde säkerhet och tittade på Java.
1563 00:59:26,860 --> 00:59:27,760
Alla andra var ju
1564 00:59:27,760 --> 00:59:30,080
intresserade av C och sånt
1565 00:59:30,080 --> 00:59:30,580
på den tiden.
1566 00:59:31,840 --> 00:59:32,820
Nu håller jag på att
1567 00:59:32,820 --> 00:59:34,680
tappa bort mig. Om vi återkommer till
1568 00:59:34,680 --> 00:59:35,380
min poäng.
1569 00:59:37,800 --> 00:59:38,660
Så att
1570 00:59:38,660 --> 00:59:40,800
de här ramverken
1571 00:59:40,800 --> 00:59:43,040
där du har någon sorts halvtrust
1572 00:59:43,040 --> 00:59:45,120
mellan två stycken parter
1573 00:59:45,120 --> 00:59:46,840
och det känns
1574 00:59:46,840 --> 00:59:48,600
lite grann som att det vore shaky
1575 00:59:48,600 --> 00:59:50,780
om något annat, liksom om något
1576 00:59:50,780 --> 00:59:53,120
obetrott någonsin kommer in i den här kommunikationen
1577 00:59:53,120 --> 00:59:55,120
så känns det lite otrevligt.
1578 00:59:56,740 --> 00:59:57,340
Så att
1579 00:59:57,340 --> 00:59:58,880
jag menar den här
1580 01:00:00,480 --> 01:00:01,000
Jindy
1581 01:00:01,000 --> 01:00:01,280
då,
1582 01:00:01,840 --> 01:00:03,440
den är ju direkt inblandad
1583 01:00:03,440 --> 01:00:04,800
i RMI som
1584 01:00:04,800 --> 01:00:06,200
den
1585 01:00:06,200 --> 01:00:08,700
även om
1586 01:00:08,700 --> 01:00:10,520
vektorn ofta är överäldrat nu
1587 01:00:10,520 --> 01:00:12,480
med Jindy X-Block
1588 01:00:12,480 --> 01:00:12,900
men
1589 01:00:12,900 --> 01:00:16,600
att den här klassen av
1590 01:00:16,600 --> 01:00:17,940
interserver
1591 01:00:17,940 --> 01:00:20,800
där du liksom får lite
1592 01:00:20,800 --> 01:00:22,660
kod från andra sidan och sånt, att den
1593 01:00:22,660 --> 01:00:23,760
var konstig och shaky
1594 01:00:23,760 --> 01:00:26,300
det var ju uppenbart för mig
1595 01:00:26,300 --> 01:00:28,580
2008-ish
1596 01:00:28,580 --> 01:00:29,880
när jag sattade mig på Java.
1597 01:00:30,600 --> 01:00:31,800
Så varför har du gjort något åt det?
1598 01:00:31,840 --> 01:00:34,400
Precis, varför har inte jag rättat allting?
1599 01:00:34,400 --> 01:00:36,700
Men jag menar, grejen är ju
1600 01:00:36,700 --> 01:00:38,840
att om du antar att du har en underrättstjänst
1601 01:00:39,800 --> 01:00:42,140
så ska du ha identifierat
1602 01:00:42,140 --> 01:00:42,760
till exempel
1603 01:00:42,760 --> 01:00:44,280
RMI är guttigt.
1604 01:00:45,160 --> 01:00:47,300
Och från det att du
1605 01:00:47,300 --> 01:00:48,760
bör känna till att Jindy är
1606 01:00:48,760 --> 01:00:50,360
då är ju det också.
1607 01:00:51,020 --> 01:00:52,220
Så jag menar, har du anställt
1608 01:00:52,220 --> 01:00:55,080
två av världens bästa
1609 01:00:55,080 --> 01:00:56,220
X-Block-snubbar så
1610 01:00:56,220 --> 01:00:58,720
förväntar du dig att de kartlägger
1611 01:00:58,720 --> 01:00:59,520
de här teknikerna?
1612 01:00:59,520 --> 01:01:01,380
Där har det, ja visst,
1613 01:01:01,460 --> 01:01:01,760
absolut.
1614 01:01:01,840 --> 01:01:03,640
Men om man då ska vara hård här
1615 01:01:03,640 --> 01:01:05,800
då är det ju, om man nu ska bygga
1616 01:01:05,800 --> 01:01:07,440
och utveckla X-Block så är det ju bättre
1617 01:01:07,440 --> 01:01:09,860
att kanske titta på stängd källkod
1618 01:01:09,860 --> 01:01:11,840
istället. Det kommer ju vara, ta längre
1619 01:01:11,840 --> 01:01:13,880
tid innan den exponerar. Jag tänker att det blir taxonomi
1620 01:01:13,880 --> 01:01:14,540
i det här, vill säga.
1621 01:01:14,880 --> 01:01:17,220
Om du är sugen på att ha
1622 01:01:17,220 --> 01:01:19,720
utveckla X-Block som du kan använda
1623 01:01:19,720 --> 01:01:20,660
väldigt brett.
1624 01:01:20,880 --> 01:01:23,760
Jag tänker att det finns
1625 01:01:23,760 --> 01:01:25,720
ju, den här shady
1626 01:01:25,720 --> 01:01:27,360
varianten kommer ju
1627 01:01:27,360 --> 01:01:29,440
Men sen finns det ju dessutom
1628 01:01:29,440 --> 01:01:31,400
closed source-produkter som
1629 01:01:31,400 --> 01:01:32,440
använder sig av detta.
1630 01:01:32,440 --> 01:01:34,380
Absolut, och det är ju
1631 01:01:34,380 --> 01:01:36,660
det jag hävdar med de här brandvägsleverantörerna
1632 01:01:36,660 --> 01:01:38,540
som jag nämner, det är ju closed source
1633 01:01:38,540 --> 01:01:39,440
men det är ju
1634 01:01:39,440 --> 01:01:42,500
precis, så är det ju, det är bara rappat.
1635 01:01:42,740 --> 01:01:44,720
Men Apache-licensen är ju
1636 01:01:44,720 --> 01:01:46,480
supertillåtande.
1637 01:01:46,760 --> 01:01:46,820
Ja.
1638 01:01:47,440 --> 01:01:50,320
Det är ju, väldigt ofta
1639 01:01:50,320 --> 01:01:51,500
så är ju kommersiella
1640 01:01:51,500 --> 01:01:54,000
lösningar är ju
1641 01:01:54,000 --> 01:01:56,680
Apache plus lite anpassningar.
1642 01:01:56,960 --> 01:01:58,540
Ja, men alltså, vad jag bara skulle säga
1643 01:01:58,540 --> 01:01:59,960
för min tes här är ju så att
1644 01:01:59,960 --> 01:02:01,360
det förekommer ju
1645 01:02:01,400 --> 01:02:03,560
en exploit-hårdning av
1646 01:02:03,560 --> 01:02:05,880
länder och nationer som tycker att
1647 01:02:05,880 --> 01:02:08,140
det är en bra kapabilitet
1648 01:02:08,140 --> 01:02:10,100
att ha. Ta bara Deep Pulsar
1649 01:02:10,100 --> 01:02:11,220
och de här
1650 01:02:11,220 --> 01:02:13,700
SMB-exploitsen
1651 01:02:13,700 --> 01:02:16,140
som är otroligt
1652 01:02:16,140 --> 01:02:17,860
effektiva, som har funnits ganska länge
1653 01:02:17,860 --> 01:02:19,480
utan att någon faktiskt tittar på dem.
1654 01:02:19,640 --> 01:02:21,960
Men säg att du är
1655 01:02:21,960 --> 01:02:23,920
Ryssland, och du har
1656 01:02:23,920 --> 01:02:26,020
din, vi kan kalla dem
1657 01:02:26,020 --> 01:02:28,280
Cosy Bear.
1658 01:02:28,280 --> 01:02:30,160
Nej, men Fluffy Bear tänker jag att vi tar.
1659 01:02:30,280 --> 01:02:30,860
Fluffy Bear.
1660 01:02:31,400 --> 01:02:32,500
Fluffy Bear finns inte än.
1661 01:02:33,180 --> 01:02:35,900
Har du identifierat att
1662 01:02:35,900 --> 01:02:37,240
CIA är ditt mål?
1663 01:02:38,120 --> 01:02:40,040
Så Oracle med flera
1664 01:02:40,040 --> 01:02:41,380
har ju gjort alldeles för mycket
1665 01:02:41,380 --> 01:02:44,020
väsen av att
1666 01:02:44,020 --> 01:02:46,120
de är så coola för att de får lov att leverera
1667 01:02:46,120 --> 01:02:48,300
till CIA. Och då är det som så här
1668 01:02:48,300 --> 01:02:50,240
okej,
1669 01:02:50,260 --> 01:02:52,260
vad är stacken som brukar användas
1670 01:02:52,260 --> 01:02:53,240
i Oracle-produkter?
1671 01:02:53,260 --> 01:02:54,680
Det är ju inte Rocket Surgery att ta reda på.
1672 01:02:54,900 --> 01:02:57,800
Så det finns ju en logik att du skulle vilja hålla
1673 01:02:57,800 --> 01:02:59,660
alla de här grejerna.
1674 01:02:59,660 --> 01:03:02,040
Det här kan man ju lätt efterkonstruera.
1675 01:03:02,160 --> 01:03:04,200
Det kommer ju vara sant för allting
1676 01:03:04,200 --> 01:03:06,160
som kommer vara exponerat
1677 01:03:06,160 --> 01:03:08,200
mot en slutanvändare. Så det är ju sant för Windows
1678 01:03:08,200 --> 01:03:10,480
Ja, det är ju förvånande för mig att det inte har
1679 01:03:10,480 --> 01:03:12,220
utnyttjats. Men min tanke är, har du betalt
1680 01:03:12,220 --> 01:03:13,960
för jättemycket i Exploit Folk, då
1681 01:03:13,960 --> 01:03:15,940
då har du dina mål.
1682 01:03:16,200 --> 01:03:18,260
Ja, precis. Men jag tänker att då har man
1683 01:03:18,260 --> 01:03:18,980
en reportage.
1684 01:03:19,400 --> 01:03:21,480
Och sen är det väl dessutom så, men
1685 01:03:21,480 --> 01:03:24,300
med allra största sannolikhet så har väl
1686 01:03:24,300 --> 01:03:26,300
den här sårbarheten och andra liknande
1687 01:03:26,300 --> 01:03:28,460
utnyttjas helt under radarn.
1688 01:03:28,660 --> 01:03:29,240
Ja, säkert.
1689 01:03:29,660 --> 01:03:32,420
Men med en reservation för
1690 01:03:32,420 --> 01:03:34,400
att Cloudflare och de som har
1691 01:03:34,400 --> 01:03:35,840
loggar över
1692 01:03:35,840 --> 01:03:38,300
många system, de
1693 01:03:38,300 --> 01:03:40,400
säger sig veta
1694 01:03:40,400 --> 01:03:42,180
när första gången de har sett det.
1695 01:03:42,840 --> 01:03:44,420
Ja, men det tänker jag måste
1696 01:03:44,420 --> 01:03:46,480
det beror ju på hur
1697 01:03:46,480 --> 01:03:47,580
sneaky du är.
1698 01:03:48,380 --> 01:03:50,620
Har de hittat din bypass där
1699 01:03:50,620 --> 01:03:51,640
så är det inte sant.
1700 01:03:51,640 --> 01:03:53,540
Nej, och dessutom så är det ju så här, om du
1701 01:03:53,540 --> 01:03:55,540
nu är då en underrättstjänst som utvecklar
1702 01:03:55,540 --> 01:03:57,220
en exploit och sedan så tar du ett
1703 01:03:57,220 --> 01:03:59,520
specifikt system i ett annat land.
1704 01:03:59,660 --> 01:04:01,720
Och så kollar du att det inte är hostat
1705 01:04:01,720 --> 01:04:03,680
av någon av dem som du tror har väldigt mycket
1706 01:04:03,680 --> 01:04:05,500
koll. Då har jag väldigt svårt att tro att
1707 01:04:05,500 --> 01:04:07,460
Cloudflare eller något annat bolag skulle snappa upp
1708 01:04:07,460 --> 01:04:08,940
om du gjorde det för fem år sedan.
1709 01:04:09,360 --> 01:04:09,860
Ja, okej.
1710 01:04:10,600 --> 01:04:12,800
Men det är en poäng. Men sen tänker jag också så här,
1711 01:04:12,920 --> 01:04:15,000
man tar ju minsta motståndningslag.
1712 01:04:15,540 --> 01:04:16,680
Det finns ju
1713 01:04:16,680 --> 01:04:19,540
så mycket i den här världen som inte
1714 01:04:19,540 --> 01:04:21,780
det kommer vara opportunistiskt.
1715 01:04:22,140 --> 01:04:23,560
Men ja, man kommer ju
1716 01:04:23,560 --> 01:04:25,920
använda alla medel för att nå sitt mål.
1717 01:04:25,980 --> 01:04:27,500
Precis. Just nu så är det så klart
1718 01:04:27,500 --> 01:04:29,500
det blinkar ju rätt i alla konsoler över hela världen.
1719 01:04:29,660 --> 01:04:31,700
Men om någon skickade
1720 01:04:31,700 --> 01:04:33,540
iväg en sträng till ett system
1721 01:04:33,540 --> 01:04:35,440
för fem år sedan, inte en chans att någon
1722 01:04:35,440 --> 01:04:37,520
kommer upptäcka det. Men det är inte säkert att loggarna ens finns
1723 01:04:37,520 --> 01:04:39,560
kvar. Nej, och om de ens fanns
1724 01:04:39,560 --> 01:04:41,460
från första början då. Men jag tror
1725 01:04:41,460 --> 01:04:43,620
förresten att jag tappade
1726 01:04:43,620 --> 01:04:45,620
bort en av mina röda trådar för ett tag sedan.
1727 01:04:45,680 --> 01:04:47,800
Det brukar den nej i den här podcasten.
1728 01:04:48,140 --> 01:04:49,620
För en sak
1729 01:04:49,620 --> 01:04:51,800
som jag vill nämna var att min frågeställning
1730 01:04:51,800 --> 01:04:53,500
till mig själv tidigare idag var
1731 01:04:53,500 --> 01:04:55,420
varför har inte tusen
1732 01:04:55,420 --> 01:04:57,120
pentestare redan hittat det här?
1733 01:04:57,920 --> 01:04:58,560
Och jag
1734 01:04:58,560 --> 01:05:01,560
testade runt och försökte exploatera
1735 01:05:01,560 --> 01:05:03,660
ett litet testprogram och började ganska snabbt
1736 01:05:03,660 --> 01:05:05,320
hitta någonting
1737 01:05:05,320 --> 01:05:07,600
som får mig att
1738 01:05:07,600 --> 01:05:09,460
förstå varför den här inte har varit triviell
1739 01:05:09,460 --> 01:05:11,400
att hitta. För
1740 01:05:11,400 --> 01:05:13,920
de flesta lookups
1741 01:05:13,920 --> 01:05:15,760
om
1742 01:05:15,760 --> 01:05:17,160
de inte matchar någonting
1743 01:05:17,160 --> 01:05:19,500
så returneras liksom
1744 01:05:19,500 --> 01:05:21,760
det händer ingenting med den lookup-koden du har.
1745 01:05:22,420 --> 01:05:23,500
Så om du inte har skrivit in
1746 01:05:23,500 --> 01:05:25,540
ganska rätt, så till exempel
1747 01:05:25,540 --> 01:05:27,540
att du har
1748 01:05:27,540 --> 01:05:30,300
mustasch-syntax
1749 01:05:30,300 --> 01:05:31,120
och så tar du
1750 01:05:31,120 --> 01:05:33,840
x, y eller någonting
1751 01:05:33,840 --> 01:05:37,360
då kommer det liksom ingenting.
1752 01:05:37,520 --> 01:05:39,080
Då får du ut exakt samma text.
1753 01:05:39,620 --> 01:05:41,860
Men till ditt försvar på exakt samma tema
1754 01:05:41,860 --> 01:05:43,920
det är ju sant, jag pentastar ju hela tiden.
1755 01:05:44,380 --> 01:05:45,740
Jag ska ju villigt erkänna det att
1756 01:05:45,740 --> 01:05:47,460
när jag gör code-reviews
1757 01:05:47,460 --> 01:05:49,200
då kommer jag ju i
1758 01:05:49,200 --> 01:05:51,480
nio fall av tio bara fokusera på
1759 01:05:51,480 --> 01:05:53,860
custom-code, det vill säga det som kunden har skrivit.
1760 01:05:54,040 --> 01:05:55,700
Jag kommer ju inte kolla på dependencies
1761 01:05:55,700 --> 01:05:57,540
och libraries, utan det blir ju
1762 01:05:57,540 --> 01:05:58,060
i så fall…
1763 01:05:58,060 --> 01:05:59,720
Du kanske kollar då efter kända svårbarheter.
1764 01:05:59,860 --> 01:06:02,100
Jo, precis. Och då är med just det.
1765 01:06:02,320 --> 01:06:04,020
Kända. Så då är det ju typ
1766 01:06:04,020 --> 01:06:06,240
active scan i burp eller någon form av instick
1767 01:06:06,240 --> 01:06:08,120
i burp när jag väl jobbar som bara
1768 01:06:08,120 --> 01:06:10,180
du, kolla på det här armverket
1769 01:06:10,180 --> 01:06:11,720
och då kollar jag efter en pock-code.
1770 01:06:12,060 --> 01:06:13,740
Alltså, jag är så lat. Det kan jag fan
1771 01:06:13,740 --> 01:06:15,460
men jag kommer ju aldrig så här
1772 01:06:15,460 --> 01:06:18,140
jag har fem dagar på mig att breacha den här.
1773 01:06:18,280 --> 01:06:19,120
Jag fattar vad du menar, Peter.
1774 01:06:19,260 --> 01:06:22,140
Det här är någonting som kräver att du faktiskt har
1775 01:06:22,140 --> 01:06:23,180
insikt och idé.
1776 01:06:23,180 --> 01:06:24,720
Ja, du behöver ha en
1777 01:06:24,720 --> 01:06:27,240
pock-sträng som faktiskt kommer.
1778 01:06:27,540 --> 01:06:29,480
Ja, och
1779 01:06:29,480 --> 01:06:31,500
jag tycker att det är rimligt då att
1780 01:06:31,500 --> 01:06:33,480
inte pen-testare kollar på det för det
1781 01:06:33,480 --> 01:06:35,240
tillhör ju inte min memo att få
1782 01:06:35,240 --> 01:06:37,200
hundra procent förståelse för alla
1783 01:06:37,200 --> 01:06:37,820
plugins som man har.
1784 01:06:37,820 --> 01:06:41,240
Det är skillnad mot Angular Template Injection eller någonting
1785 01:06:41,240 --> 01:06:43,440
där du väldigt enkelt kan bara
1786 01:06:43,440 --> 01:06:44,840
göra ett plus ett.
1787 01:06:45,060 --> 01:06:46,840
Om du får det ut med två
1788 01:06:46,840 --> 01:06:48,480
ja, men du vet att du har en svårbarhet.
1789 01:06:48,740 --> 01:06:51,380
Men från och med nu blir det ju kanske lättare
1790 01:06:51,380 --> 01:06:52,560
då att validera. Sorry.
1791 01:06:53,620 --> 01:06:54,400
Men jag fattar.
1792 01:06:54,920 --> 01:06:57,420
Men min huvudtes är att det här har varit mycket bättre
1793 01:06:57,540 --> 01:06:58,800
om Log4J
1794 01:06:58,800 --> 01:07:01,320
fallerade på ett tydligt
1795 01:07:01,320 --> 01:07:02,620
sätt när någonting gick fel.
1796 01:07:03,420 --> 01:07:05,240
För om det här problemet
1797 01:07:05,240 --> 01:07:07,060
hade funnits och Log4J
1798 01:07:07,060 --> 01:07:09,780
hade signalerat
1799 01:07:09,780 --> 01:07:11,500
att någonting var dåligt
1800 01:07:11,500 --> 01:07:13,160
när det kom
1801 01:07:13,160 --> 01:07:14,780
konstiga template-koder
1802 01:07:14,780 --> 01:07:16,940
då hade vi haft
1803 01:07:16,940 --> 01:07:18,940
tusentals pen-test där
1804 01:07:18,940 --> 01:07:20,980
tusentals pen-testare suttit
1805 01:07:20,980 --> 01:07:22,740
och efter sitt pen-test
1806 01:07:22,740 --> 01:07:24,580
för det är en ganska vanlig grej till exempel
1807 01:07:24,580 --> 01:07:27,120
jag brukar dumpa alla Kubernetes-loggar
1808 01:07:27,120 --> 01:07:28,980
när vi är klara och börja kolla genom
1809 01:07:28,980 --> 01:07:30,580
göra vissa enkla skäl.
1810 01:07:30,580 --> 01:07:31,800
Slankt någonting igenom.
1811 01:07:31,820 --> 01:07:32,640
Ja, precis.
1812 01:07:33,100 --> 01:07:36,200
Och om vi har en process som
1813 01:07:36,200 --> 01:07:38,860
den har aldrig någonsin haft ett fel
1814 01:07:38,860 --> 01:07:40,220
innan pen-testet
1815 01:07:40,220 --> 01:07:42,780
och vi har väldigt konstiga
1816 01:07:42,780 --> 01:07:45,040
felmeddelanden efter pen-testet
1817 01:07:45,040 --> 01:07:47,240
då är det ju som så här
1818 01:07:47,240 --> 01:07:49,160
jag satt och
1819 01:07:49,160 --> 01:07:50,680
testade
1820 01:07:50,680 --> 01:07:51,480
XYZ
1821 01:07:51,480 --> 01:07:53,660
jag hittade ingenting
1822 01:07:53,660 --> 01:07:56,660
men det ser väldigt konstigt ut i XYZ-loggen
1823 01:07:57,120 --> 01:07:59,740
då hade jag ju
1824 01:07:59,740 --> 01:08:01,900
förmodligen noterat det
1825 01:08:01,900 --> 01:08:03,260
och börjat jaga
1826 01:08:03,260 --> 01:08:05,040
men här är problemet att
1827 01:08:05,040 --> 01:08:08,220
den är så snäll och hjälpsam
1828 01:08:08,220 --> 01:08:09,700
och skriker inte
1829 01:08:09,700 --> 01:08:10,880
när det går fel i den.
1830 01:08:11,260 --> 01:08:13,860
Ja, men okej, det köper jag för så kliar det ju mig också
1831 01:08:13,860 --> 01:08:15,820
man sitter och leker med någonting
1832 01:08:15,820 --> 01:08:17,400
och så har man kanske inte
1833 01:08:17,400 --> 01:08:18,780
det är ingen direkt impact
1834 01:08:18,780 --> 01:08:21,460
men man är lite fascinerad över att funktionaliteten
1835 01:08:21,460 --> 01:08:22,640
faktiskt funkar som den gör
1836 01:08:22,640 --> 01:08:25,020
det brukar ju oftast vara djungeltrummar
1837 01:08:25,020 --> 01:08:26,560
för att det är förmodligen någonting som är paj
1838 01:08:26,560 --> 01:08:29,380
men det är oftast inte så att det leder till någonting där och då
1839 01:08:29,380 --> 01:08:30,160
utan det blir så här
1840 01:08:30,160 --> 01:08:31,620
det här ska vi kolla på sen
1841 01:08:31,620 --> 01:08:33,500
hade du haft tusentals rader
1842 01:08:33,500 --> 01:08:37,560
du har kört en fasser, du har gjort någonting dumt
1843 01:08:37,560 --> 01:08:39,780
hade du därefter haft tusentals rader
1844 01:08:39,780 --> 01:08:41,000
där det stod template error
1845 01:08:41,000 --> 01:08:43,360
eller där det stått
1846 01:08:43,360 --> 01:08:45,100
log4j i en törnade error
1847 01:08:45,100 --> 01:08:46,120
efter ditt pen-test
1848 01:08:46,120 --> 01:08:49,540
då händer det väl så här, vad är det som händer egentligen
1849 01:08:49,540 --> 01:08:51,740
varför får jag fel in i mitt log-ram
1850 01:08:51,740 --> 01:08:53,980
det är fan
1851 01:08:53,980 --> 01:08:54,580
det var en bra
1852 01:08:54,580 --> 01:08:56,460
det är verkligen
1853 01:08:56,560 --> 01:08:58,920
en vanlig fassingssträng
1854 01:08:58,920 --> 01:09:00,340
som borde ha genererat
1855 01:09:00,340 --> 01:09:02,100
precis den typen av felmeddelande
1856 01:09:02,100 --> 01:09:03,900
det var min första fråga
1857 01:09:03,900 --> 01:09:06,200
mentala fråga när jag fick den här förklaringen för mig
1858 01:09:06,200 --> 01:09:09,100
folk har ju skjutit in
1859 01:09:09,100 --> 01:09:10,180
angler
1860 01:09:10,180 --> 01:09:12,240
template injection försök
1861 01:09:12,240 --> 01:09:15,200
varför har det inte hänt något konstigt
1862 01:09:15,200 --> 01:09:16,400
och svaret är
1863 01:09:16,400 --> 01:09:18,600
ja för när det händer något konstigt
1864 01:09:18,600 --> 01:09:20,740
så är log4j
1865 01:09:20,740 --> 01:09:22,040
snäll och gömmer
1866 01:09:22,040 --> 01:09:23,940
alla konstigheter för användaren
1867 01:09:23,940 --> 01:09:26,260
för utvecklaren eller vad man nu väljer den
1868 01:09:26,560 --> 01:09:27,860
men det är nu jag som läser loggan
1869 01:09:27,860 --> 01:09:29,880
jag köper det, det är rimligt
1870 01:09:29,880 --> 01:09:35,200
det är inte alltid att man är tillgång till
1871 01:09:35,200 --> 01:09:37,280
loggar på servrarna som man gör pen-test mot
1872 01:09:37,280 --> 01:09:38,940
men det är ju
1873 01:09:38,940 --> 01:09:39,960
väldigt bra förfarande
1874 01:09:39,960 --> 01:09:42,820
så det kan ju vara tips till alla som håller på med pen-test
1875 01:09:42,820 --> 01:09:45,240
att be gärna om det i era prerequisites
1876 01:09:45,240 --> 01:09:47,080
för då har man
1877 01:09:47,080 --> 01:09:48,540
större chans att hitta sådana här saker
1878 01:09:48,540 --> 01:09:51,740
jag ser ju ett stort skifte
1879 01:09:51,740 --> 01:09:53,260
jag jobbar ju bara med pen-test
1880 01:09:53,260 --> 01:09:54,620
jag ser ju ett stort skifte från
1881 01:09:54,620 --> 01:09:56,520
klassiska blackbox
1882 01:09:56,560 --> 01:09:58,500
som folk liksom i början valde
1883 01:09:58,500 --> 01:09:59,340
att lägga pengar på
1884 01:09:59,340 --> 01:10:02,020
till att det numera är whitebox
1885 01:10:02,020 --> 01:10:03,960
och väldigt sällan greybox i mitt fall
1886 01:10:03,960 --> 01:10:06,060
jag har nästan alltid kodassistering
1887 01:10:06,060 --> 01:10:08,140
och en miljö att gå emot
1888 01:10:08,140 --> 01:10:10,480
källkod är ju nästan
1889 01:10:10,480 --> 01:10:11,520
100% av fallet
1890 01:10:11,520 --> 01:10:12,980
så när man testar produkt i mitt fall
1891 01:10:12,980 --> 01:10:14,960
men det är inte alltid det att du har
1892 01:10:14,960 --> 01:10:17,540
SSO-access till servrarna
1893 01:10:17,540 --> 01:10:19,100
kanske inte SSO men jag har någon form
1894 01:10:19,100 --> 01:10:21,300
i och med att jag gör mycket orkestrering
1895 01:10:21,300 --> 01:10:23,100
som vi var inne på med Kubernetes och Mån
1896 01:10:23,100 --> 01:10:24,960
så har jag oftast någon form av rudimentär access
1897 01:10:24,960 --> 01:10:26,100
så jag kan se vad som händer
1898 01:10:26,560 --> 01:10:28,940
till exempel vi sitter med ett regellätt
1899 01:10:28,940 --> 01:10:30,080
web-pen-test
1900 01:10:30,080 --> 01:10:31,060
ja det är sant
1901 01:10:31,060 --> 01:10:33,480
då blir det ju ett proxyförfarande
1902 01:10:33,480 --> 01:10:34,440
så då har du ju inte
1903 01:10:34,440 --> 01:10:36,180
du har ju bara servern
1904 01:10:36,180 --> 01:10:39,580
om du har någonting så har du
1905 01:10:39,580 --> 01:10:41,360
kanske tillgång till just
1906 01:10:41,360 --> 01:10:42,680
applikationsservern
1907 01:10:42,680 --> 01:10:45,660
det är rätt i ditt rent web-pen-test
1908 01:10:45,660 --> 01:10:47,140
det hjälper ju inte dig om det här slår
1909 01:10:47,140 --> 01:10:49,420
i en lock-server
1910 01:10:49,420 --> 01:10:51,640
och då har man källkoden
1911 01:10:51,640 --> 01:10:53,300
så visst då kan du ju följa
1912 01:10:53,300 --> 01:10:54,940
men då är man ju också återigen lat
1913 01:10:54,940 --> 01:10:56,720
ja den här skickas hit
1914 01:10:56,720 --> 01:10:58,720
och så går den vidare till målsystem 1
1915 01:10:58,720 --> 01:11:00,500
och så går den ner till 2 och så går den till 3
1916 01:11:00,500 --> 01:11:01,320
och den är någonstans bara
1917 01:11:01,320 --> 01:11:03,660
next
1918 01:11:03,660 --> 01:11:06,720
det är intressant
1919 01:11:07,460 --> 01:11:08,040
det är också
1920 01:11:08,040 --> 01:11:09,980
det ni säger är ju sjukt rimligt
1921 01:11:09,980 --> 01:11:11,420
jag tycker det är kul
1922 01:11:11,420 --> 01:11:14,660
vi borde väl runda av
1923 01:11:14,660 --> 01:11:17,040
vi har pratat här i en bit över en timme
1924 01:11:17,040 --> 01:11:18,180
det var roligt
1925 01:11:18,180 --> 01:11:20,840
har vi några tips
1926 01:11:20,840 --> 01:11:22,900
att skicka med folk som sitter och gråter
1927 01:11:22,900 --> 01:11:23,940
i duschen
1928 01:11:23,940 --> 01:11:24,960
och gör det strukturerat
1929 01:11:24,960 --> 01:11:25,700
don’t panic
1930 01:11:25,700 --> 01:11:30,980
om du inte var berörd
1931 01:11:30,980 --> 01:11:32,180
om du kom fram till det
1932 01:11:32,180 --> 01:11:34,320
så börja göra övningen
1933 01:11:34,320 --> 01:11:35,360
och tänka igenom
1934 01:11:35,360 --> 01:11:37,440
om jag hade varit berörd
1935 01:11:37,440 --> 01:11:40,980
vad hade stoppat någon från att exploita där vidare
1936 01:11:40,980 --> 01:11:42,540
och det är väl
1937 01:11:42,540 --> 01:11:44,140
som sagt använd det här som ett
1938 01:11:44,140 --> 01:11:45,560
lärandeverktyg
1939 01:11:45,560 --> 01:11:47,460
i din toolbox
1940 01:11:47,460 --> 01:11:49,740
få för er som är berörda
1941 01:11:49,740 --> 01:11:50,680
skriv en vitbok
1942 01:11:50,680 --> 01:11:53,000
en vitbok
1943 01:11:53,000 --> 01:11:53,560
en lessonbook
1944 01:11:53,940 --> 01:11:56,900
jag tänkte att det var en sån här
1945 01:11:56,900 --> 01:11:59,080
när du skulle skriva hur mycket alkohol du köpte
1946 01:11:59,080 --> 01:12:00,620
en emotbok
1947 01:12:00,620 --> 01:12:03,680
det kan du ju också kanske behöva
1948 01:12:03,680 --> 01:12:04,920
efter den här helgen
1949 01:12:04,920 --> 01:12:09,060
vi får ta en runda av det här
1950 01:12:09,060 --> 01:12:10,180
det här blev ett ostrukturerat
1951 01:12:10,180 --> 01:12:11,680
log for shell
1952 01:12:11,680 --> 01:12:14,280
temaavsnitt
1953 01:12:14,280 --> 01:12:15,480
typish
1954 01:12:15,480 --> 01:12:18,820
och vi kommer ju inte höras igen
1955 01:12:18,820 --> 01:12:20,760
förrän efter helgerna
1956 01:12:20,760 --> 01:12:22,580
men vi har lite avsnitt till det ändå
1957 01:12:22,580 --> 01:12:23,780
men vi ligger grejer i papperet
1958 01:12:23,940 --> 01:12:26,480
misströsta ej
1959 01:12:26,480 --> 01:12:28,600
skicka gärna in också
1960 01:12:28,600 --> 01:12:31,080
om ni har förslag till lite teman
1961 01:12:31,080 --> 01:12:31,460
och grejer
1962 01:12:31,460 --> 01:12:34,900
det är alltid uppskattat
1963 01:12:34,900 --> 01:12:36,660
det är väldigt få som
1964 01:12:36,660 --> 01:12:37,880
skickar sån här
1965 01:12:37,880 --> 01:12:39,700
sexting till oss
1966 01:12:39,700 --> 01:12:43,340
Peter vill ha fler dick pics
1967 01:12:43,340 --> 01:12:44,480
helt enkelt
1968 01:12:44,480 --> 01:12:46,240
men det kan vi ta till hans
1969 01:12:46,240 --> 01:12:47,420
privata mejl
1970 01:12:47,420 --> 01:12:50,900
säkerhetspodcasten.se
1971 01:12:50,900 --> 01:12:53,280
så feedback är alltid kul
1972 01:12:53,280 --> 01:12:55,540
och tips på avsnitt
1973 01:12:55,540 --> 01:12:58,660
och olika ämnen är jättevälkommet
1974 01:12:58,660 --> 01:13:01,480
och en shoutout till studenterna
1975 01:13:01,480 --> 01:13:02,680
i Linköping
1976 01:13:02,680 --> 01:13:03,460
om ni har några nya
1977 01:13:03,460 --> 01:13:06,080
så kul att ni tog er tiden att lyssna
1978 01:13:06,080 --> 01:13:06,940
kul
1979 01:13:06,940 --> 01:13:09,920
och vi hörs igen så småningom
1980 01:13:09,920 --> 01:13:11,660
vi får önska er alla
1981 01:13:11,660 --> 01:13:14,280
en god ny år
1982 01:13:14,280 --> 01:13:16,940
och jag som pratade till Johan Ribermöller
1983 01:13:16,940 --> 01:13:18,280
med mig hade jag Jesper Larsson
1984 01:13:18,280 --> 01:13:18,960
Yes sir
1985 01:13:18,960 --> 01:13:22,480
med blingrande och bjällrande
1986 01:13:22,480 --> 01:13:22,620
julgranskulor
1987 01:13:23,280 --> 01:13:24,380
Peter Magnus
1988 01:13:24,380 --> 01:13:26,640
en röst ur ditt öra
1989 01:13:26,640 --> 01:13:27,700
ha det gött
1990 01:13:27,700 --> 01:13:28,920
hej