Säkerhetspodcasten #57 - Adde Lindh
Lyssna
Innehåll
Andreas “Adde” Lindh gästar podcasten och utsätts för en djuplodande intervju angående hans arbete och tankar kring säkerhet, defender/attacker economics, bug bounties och mycket annat. Adde hittar man med fördel på @addelindh .
Inspelat: 2016-04-14. Längd: 00:59:34.
AI transkribering
AI försöker förstå oss… Ha överseende med galna feltranskriberingar.
1 00:00:00,000 --> 00:00:29,980
Svensktextning.nu
2 00:00:30,000 --> 00:00:59,980
Tack så mycket!
3 00:01:00,000 --> 00:01:29,980
Tack så mycket!
4 00:01:30,000 --> 00:01:31,420
Och så har jag jobbat på en
5 00:01:31,420 --> 00:01:33,880
managed service provider.
6 00:01:34,700 --> 00:01:35,740
Typ en socktjänst?
7 00:01:35,820 --> 00:01:36,860
Ja, med
8 00:01:36,860 --> 00:01:39,640
säkerhetsövervakning,
9 00:01:39,920 --> 00:01:41,800
malwareanalys, analys
10 00:01:41,800 --> 00:01:43,260
av nya sårbarheter.
11 00:01:44,640 --> 00:01:45,940
Den typen av grejer.
12 00:01:46,400 --> 00:01:48,200
Du är ganska mycket om det och kring det.
13 00:01:48,260 --> 00:01:49,200
Du har snackat på
14 00:01:49,200 --> 00:01:50,460
Defcon, kan man säga.
15 00:01:51,340 --> 00:01:52,640
Nej, på Black Hat.
16 00:01:54,060 --> 00:01:55,960
Du är ju en Twitter-personlighet
17 00:01:55,960 --> 00:01:56,680
av rang.
18 00:01:57,300 --> 00:01:58,720
Ett sånt där internettroll
19 00:01:58,720 --> 00:01:59,480
skulle man kunna säga.
20 00:02:00,000 --> 00:02:01,480
En attention-whore.
21 00:02:03,480 --> 00:02:06,100
Jag är ju skyldig.
22 00:02:07,520 --> 00:02:08,340
Helt och hållet.
23 00:02:09,420 --> 00:02:09,960
Ja, precis.
24 00:02:10,080 --> 00:02:12,340
Men du har ju mycket åsikter om många olika saker.
25 00:02:12,960 --> 00:02:13,740
Kan man förstå.
26 00:02:13,900 --> 00:02:15,060
Om man läser ditt Twitter-flöde.
27 00:02:15,920 --> 00:02:16,820
Så det är väl nice.
28 00:02:17,060 --> 00:02:19,900
Det här med att vissa anser att du nu har lämnat
29 00:02:19,900 --> 00:02:21,820
den goda och defensiva sidan och är
30 00:02:21,820 --> 00:02:23,280
ondoffensiv, hur kommer det sig?
31 00:02:23,620 --> 00:02:24,460
Goda sidan?
32 00:02:24,460 --> 00:02:26,340
Jag har lite värdering där för att
33 00:02:26,340 --> 00:02:27,740
tvista dig lite. Sorry, sorry.
34 00:02:29,420 --> 00:02:29,980
Menar du
35 00:02:30,000 --> 00:02:31,960
varför folk anser det
36 00:02:31,960 --> 00:02:33,920
eller vad jag har gjort för att
37 00:02:33,920 --> 00:02:34,700
förtjäna detta?
38 00:02:35,360 --> 00:02:37,980
Jag tänkte nog tvåan där, men jag tänkte nog att det var samma sak.
39 00:02:38,220 --> 00:02:38,420
Okej.
40 00:02:39,560 --> 00:02:42,100
Jag har ju bytt arbete
41 00:02:42,100 --> 00:02:44,100
åtta månader sedan.
42 00:02:44,680 --> 00:02:46,060
Så nu jobbar jag
43 00:02:46,060 --> 00:02:47,560
med att hacka saker.
44 00:02:48,300 --> 00:02:48,980
Det är offensivt.
45 00:02:49,520 --> 00:02:50,980
Väldigt förenklat.
46 00:02:52,040 --> 00:02:54,140
Men han är väldigt defensiv kring det här.
47 00:02:54,140 --> 00:02:56,120
Jag tror ju inte riktigt på den
48 00:02:56,120 --> 00:02:57,860
uppdelningen mellan
49 00:02:57,860 --> 00:03:00,900
white hat och black hat.
50 00:03:01,140 --> 00:03:03,100
Nej, alltså
51 00:03:03,100 --> 00:03:05,580
Det senaste träningen är grey, annars har vi läst.
52 00:03:05,720 --> 00:03:07,600
Ja, precis. Det är ju dessutom en väldigt fin tagg.
53 00:03:07,700 --> 00:03:08,380
Christian Grey.
54 00:03:10,440 --> 00:03:12,080
What does it even mean?
55 00:03:13,020 --> 00:03:13,460
Nej, men
56 00:03:13,460 --> 00:03:15,560
Hashtag not my Christian.
57 00:03:15,740 --> 00:03:17,500
Jag tycker väl mer att
58 00:03:17,500 --> 00:03:19,960
uppdelningen kan inte
59 00:03:19,960 --> 00:03:22,000
riktigt göras mellan de som jobbar med
60 00:03:22,000 --> 00:03:24,160
att försvara nätverk
61 00:03:24,160 --> 00:03:25,620
och de som jobbar med att hacka
62 00:03:25,620 --> 00:03:27,700
saker, utan snarare att
63 00:03:27,860 --> 00:03:28,760
klara det i vad man har för
64 00:03:28,760 --> 00:03:30,340
mindset.
65 00:03:31,160 --> 00:03:31,600
Intentionen.
66 00:03:32,840 --> 00:03:33,880
Det har ju inte ändrats.
67 00:03:34,420 --> 00:03:37,300
Nej, men alltså, okej, du kan ju vara
68 00:03:37,300 --> 00:03:39,440
ondskefull och göra offensiva hack
69 00:03:39,440 --> 00:03:41,260
bara för att sälja dina exploits
70 00:03:41,260 --> 00:03:43,520
och inte hjälpa till
71 00:03:43,520 --> 00:03:45,100
om man säger så, utan bara sabba, sabba, sabba.
72 00:03:45,640 --> 00:03:47,680
Men du kan använda samma skillset
73 00:03:47,680 --> 00:03:49,180
och samma actions egentligen
74 00:03:49,180 --> 00:03:51,480
för att upptäcka saker som du sen
75 00:03:51,480 --> 00:03:53,260
berättar så att folk kan laga dem.
76 00:03:53,260 --> 00:03:53,760
Precis.
77 00:03:54,320 --> 00:03:57,200
Det är lite som den här diskussionen vi hade
78 00:03:57,200 --> 00:03:57,840
med Finex.
79 00:03:57,860 --> 00:03:59,960
Att vara, ja.
80 00:04:00,420 --> 00:04:01,380
Where do you stop?
81 00:04:01,540 --> 00:04:02,460
Where do you stop? Ja, precis.
82 00:04:02,620 --> 00:04:05,780
Och hur vet du när du går ut
83 00:04:05,780 --> 00:04:08,100
och vill informera världen för att upplysa dem
84 00:04:08,100 --> 00:04:09,220
om hur de ska skydda sig?
85 00:04:09,660 --> 00:04:11,800
Men hur stoppar du dem onda från att
86 00:04:11,800 --> 00:04:14,040
använda den kunskapen till att hacka saker?
87 00:04:14,500 --> 00:04:16,220
Vad är inte bara responsible disclosure
88 00:04:16,220 --> 00:04:17,480
utan smart disclosure?
89 00:04:17,720 --> 00:04:18,140
Ja, precis.
90 00:04:18,700 --> 00:04:20,960
Nej, men du, sa vi inte ultra responsible?
91 00:04:20,960 --> 00:04:21,900
Ultra responsible disclosure.
92 00:04:22,640 --> 00:04:24,260
Vi vintade, tror jag, med Phoenix.
93 00:04:24,560 --> 00:04:25,640
Okej, men då kör vi på det.
94 00:04:25,640 --> 00:04:27,220
Det var du som vintade.
95 00:04:27,220 --> 00:04:27,820
Nej, det var jag.
96 00:04:27,860 --> 00:04:29,800
Ja, jag tror jag var bakfylld.
97 00:04:30,000 --> 00:04:30,680
Ja, det var du.
98 00:04:30,820 --> 00:04:31,800
Det var inte jag.
99 00:04:32,040 --> 00:04:32,460
Eller hur?
100 00:04:32,780 --> 00:04:34,060
Jesper var knäppt tyst.
101 00:04:35,080 --> 00:04:37,660
Topp tre bakfylla i hela mitt liv.
102 00:04:37,780 --> 00:04:39,740
Det är det som gör att du har fått det epitetet då.
103 00:04:40,160 --> 00:04:41,480
Men ditt mindset är defense
104 00:04:41,480 --> 00:04:44,420
även om du enkelt sagt hackar saker?
105 00:04:45,300 --> 00:04:47,780
Ja, alltså hacka saker är ju en väldigt
106 00:04:47,780 --> 00:04:51,080
förenklat sätt att uttrycka det.
107 00:04:51,540 --> 00:04:54,060
Egentligen så gör jag mycket, eller vi.
108 00:04:55,360 --> 00:04:57,340
Man får plugga skamlöst.
109 00:04:57,340 --> 00:04:57,740
Ja.
110 00:04:57,860 --> 00:04:59,060
Man får säga vad man jobbar.
111 00:04:59,060 --> 00:05:00,020
Nej, nej, nej, nej.
112 00:05:00,020 --> 00:05:02,760
Det tänker jag inte göra.
113 00:05:02,940 --> 00:05:06,120
Men just själva grejen är att vi har.
114 00:05:06,620 --> 00:05:12,040
Det här är väldigt kul och det spelade in väldigt mycket när jag valde arbetsgivare.
115 00:05:12,260 --> 00:05:18,080
Att på vår hemsida står det under rubriken penetrationstest.
116 00:05:18,480 --> 00:05:20,120
Då står det en mening.
117 00:05:20,540 --> 00:05:23,060
Vi gör inte penetrationstest.
118 00:05:23,340 --> 00:05:24,500
Det är inte det vi gör.
119 00:05:24,500 --> 00:05:26,640
Vi gör en mycket bredare.
120 00:05:26,980 --> 00:05:27,660
Och.
121 00:05:27,860 --> 00:05:29,820
Mer djupgående insats.
122 00:05:30,540 --> 00:05:31,620
Men inte det är bara ord.
123 00:05:32,660 --> 00:05:33,060
Precis.
124 00:05:33,060 --> 00:05:33,980
Vi känner lite det också.
125 00:05:33,980 --> 00:05:35,300
Inte i det här fallet faktiskt.
126 00:05:35,480 --> 00:05:40,880
Men det jag menar är alltså penetrationstest är inte så tydligt definierat, menar jag.
127 00:05:40,880 --> 00:05:46,360
Så att man kan säga att vi gör inte penetrationstest för att det är inte tillräckligt bra.
128 00:05:46,360 --> 00:05:46,980
Det ger ingenting.
129 00:05:48,100 --> 00:05:50,000
Det beror helt och hållet på leveransen, tänker jag.
130 00:05:50,300 --> 00:05:54,020
Om man bara gör penetrationstest så är det som en hammare så är allting en spik.
131 00:05:54,140 --> 00:05:57,380
Men det är lite som de här som säljare.
132 00:05:57,380 --> 00:06:00,860
Ett penetrationstest och levererar en nässuskan.
133 00:06:01,760 --> 00:06:09,340
Jo, men alltså jag tror att ordet penetrationstest betyder olika saker här och utomlands också.
134 00:06:09,500 --> 00:06:10,000
Det tror jag.
135 00:06:10,340 --> 00:06:13,980
Utomlands så betyder penetrationstest nätverksintron.
136 00:06:14,560 --> 00:06:17,540
Jaha, men det betyder också olika saker även inom Sverige.
137 00:06:17,540 --> 00:06:20,380
Ska jag säga att det är det jag menar.
138 00:06:20,460 --> 00:06:25,280
Det är inte så det är inte så väldefinierat ord så att du kan säga att vi inte gör det och inte gillar det.
139 00:06:25,320 --> 00:06:26,940
Vi behöver en ISO standard.
140 00:06:26,940 --> 00:06:28,760
Nej, men alltså det är väl det kan man ju.
141 00:06:29,300 --> 00:06:39,420
Man har ju sett rapporter som andra har skrivit som man kanske har invändningar på som är lite det Rickard var inne på.
142 00:06:39,500 --> 00:06:40,120
Lite bristfälliga.
143 00:06:40,220 --> 00:06:42,380
Ja, men det är typ en automatgenererad rapport.
144 00:06:42,580 --> 00:06:44,500
Nu har vi gjort ett penetrationstest.
145 00:06:44,960 --> 00:06:49,540
Fast ni har ju testat en metodik som vi inte använder på den sajten som ni har försökt att göra intrång på.
146 00:06:50,360 --> 00:06:50,600
Jaha.
147 00:06:51,580 --> 00:06:56,000
Men det är väl kanske så att du ser penetrationstest.
148 00:06:56,100 --> 00:06:56,860
Okej, vi går in och gör.
149 00:06:57,000 --> 00:06:58,460
Det här är ett snabbt penetrationstest.
150 00:06:58,560 --> 00:07:00,560
Vi är så jävla coola red team dudes.
151 00:07:01,180 --> 00:07:03,660
Och sen så gör man det och så släpper man bollen och springer vidare liksom.
152 00:07:03,880 --> 00:07:05,260
Och det blir inte så jävla bra kanske.
153 00:07:05,400 --> 00:07:06,560
Eller det är eventuellt tillför så mycket.
154 00:07:06,840 --> 00:07:07,540
Det är lite så också.
155 00:07:07,720 --> 00:07:09,640
Det är inte pragmatiskt.
156 00:07:09,960 --> 00:07:13,320
Nej, men penetrationstest kan ju vara en viktig del i ett löpande säkerhetsarbete.
157 00:07:13,500 --> 00:07:13,980
Absolut.
158 00:07:14,300 --> 00:07:19,340
Och en del i det vi gör är ju en del av det jag kallar för penetrationstest.
159 00:07:19,680 --> 00:07:20,800
Men vi gör inte bara.
160 00:07:21,180 --> 00:07:23,680
Vi tar inte uppdrag som är så här.
161 00:07:24,280 --> 00:07:25,040
Kan ni hacka oss?
162 00:07:25,580 --> 00:07:26,360
För det är så här ja.
163 00:07:26,520 --> 00:07:26,920
Ja, det är klart.
164 00:07:26,940 --> 00:07:27,820
Vi kan på olika sätt.
165 00:07:28,180 --> 00:07:31,660
Och om vi gör det en gång så gör det ingen nytta för er liksom.
166 00:07:31,940 --> 00:07:32,000
Nej.
167 00:07:32,620 --> 00:07:34,020
Men det är väl en poäng.
168 00:07:34,180 --> 00:07:35,100
Det kan jag köpa.
169 00:07:35,180 --> 00:07:35,940
Men om vi vänder då.
170 00:07:36,100 --> 00:07:37,240
Men det är en semantikfråga jag tänker.
171 00:07:37,460 --> 00:07:39,620
Ni gör inte penetrationstest för att det är dåligt.
172 00:07:39,900 --> 00:07:41,640
Vad är det ni gör som är bra?
173 00:07:43,880 --> 00:07:44,280
Assessments.
174 00:07:46,080 --> 00:07:47,040
Vulnerability assessments.
175 00:07:48,040 --> 00:07:49,160
Security assessments.
176 00:07:50,000 --> 00:07:50,440
Lifestyles.
177 00:07:50,460 --> 00:07:54,140
Det är ju lite grann beroende på vad uppdraget är.
178 00:07:54,140 --> 00:07:56,460
Det kan ju vara en mobilapp.
179 00:07:56,940 --> 00:08:02,820
Eller så kan det vara en globalt utrullad telco-lösning.
180 00:08:03,540 --> 00:08:07,140
Alltså det är ju väldigt olika på vad uppdraget är.
181 00:08:07,940 --> 00:08:13,060
Men vi, alltså Blackbox och den sortens grejer.
182 00:08:13,900 --> 00:08:18,280
Om det inte handlar om någon embeddad komponent.
183 00:08:18,420 --> 00:08:19,940
Där man i stort sett aldrig får hörskål.
184 00:08:21,220 --> 00:08:22,960
Så har vi inte det.
185 00:08:23,460 --> 00:08:23,660
Nej.
186 00:08:23,660 --> 00:08:25,160
Det är ointressant.
187 00:08:26,140 --> 00:08:26,820
För att vi känner.
188 00:08:26,940 --> 00:08:29,500
Att vi kan inte göra den jobbgående analysen.
189 00:08:29,760 --> 00:08:32,640
Och kunden får inte valuta för pengarna när man kör Blackbox.
190 00:08:32,860 --> 00:08:33,040
Exakt.
191 00:08:33,660 --> 00:08:36,120
Men det är ju också en beställarmogenhetsfråga.
192 00:08:36,540 --> 00:08:40,400
Alltså de kunder som kommer till oss och säger att vi vill ha ett Blackbox-test.
193 00:08:40,480 --> 00:08:43,480
De är oftast inte mogna i sin säkerhetsprocess.
194 00:08:44,340 --> 00:08:45,820
I min erfarenhet.
195 00:08:45,880 --> 00:08:47,360
Eller väldigt mogna.
196 00:08:47,720 --> 00:08:48,700
För det är två olika.
197 00:08:48,960 --> 00:08:49,540
Men det gillar jag.
198 00:08:49,820 --> 00:08:50,360
Det där var kul.
199 00:08:50,420 --> 00:08:51,100
För det var ett statement.
200 00:08:51,100 --> 00:08:54,260
Att vi tar inte enkla sårbarhetstest.
201 00:08:54,340 --> 00:08:56,180
Alltså vi tar inte en webapp-pentest.
202 00:08:56,940 --> 00:08:59,020
Utan om vi inte får tillgång till källkoden.
203 00:08:59,140 --> 00:08:59,520
Det är det du säger.
204 00:09:00,240 --> 00:09:05,140
Källkod och access till burkarna.
205 00:09:05,380 --> 00:09:06,000
Ja, burkarna visst.
206 00:09:06,500 --> 00:09:07,000
Där det körs.
207 00:09:07,500 --> 00:09:09,400
Ja, för att kolla hardning och sånt.
208 00:09:09,460 --> 00:09:10,420
Alltså på OS-sidan.
209 00:09:10,920 --> 00:09:11,360
Loggar.
210 00:09:12,120 --> 00:09:14,360
Vart hamnar en uppladdad fil.
211 00:09:14,520 --> 00:09:15,160
Jag gillar det.
212 00:09:15,440 --> 00:09:16,200
Jag gillar det.
213 00:09:16,680 --> 00:09:18,340
Men det där gör ju att.
214 00:09:18,460 --> 00:09:19,520
Som Johan säger lite grann.
215 00:09:19,520 --> 00:09:24,020
Det där gör ju att du minskar mängden potentiella kunder.
216 00:09:24,300 --> 00:09:26,000
För det är ju få som har den mognaden.
217 00:09:26,940 --> 00:09:27,940
Men inte utomlands.
218 00:09:27,940 --> 00:09:29,940
Jag vet inte om vi håller med dig där, Mattias.
219 00:09:29,940 --> 00:09:30,440
Vad sa du?
220 00:09:30,440 --> 00:09:31,940
Jag vet inte om vi håller med dig där riktigt.
221 00:09:31,940 --> 00:09:39,940
I min erfarenhet så det där handlar snarare om att berätta varför den typen av arbete som du beskriver här är bättre och dessutom mer kostnadseffektivt.
222 00:09:39,940 --> 00:09:41,940
Jo, kostnadseffektivt är det ju mer.
223 00:09:41,940 --> 00:09:42,940
Men det är samtidigt dyrare.
224 00:09:42,940 --> 00:09:45,940
För det kostar ju väsentligt fler timmar att göra en sådan djupare analys.
225 00:09:45,940 --> 00:09:46,940
Ja, alltså inte nödvändigtvis.
226 00:09:46,940 --> 00:09:48,940
Du kan ju fortfarande sälja in ett.
227 00:09:48,940 --> 00:09:49,940
Om vi tar ett exempel då.
228 00:09:49,940 --> 00:09:50,940
Om vi tar en webapplikation.
229 00:09:50,940 --> 00:09:54,940
Och säger att vi vill ha tillgång till källkod och servrarna.
230 00:09:54,940 --> 00:09:56,940
Under pågående penetrationstest absolut.
231 00:09:56,940 --> 00:09:59,940
Det betyder inte nödvändigtvis att du har sålt in en fullskalig kodgranskning.
232 00:09:59,940 --> 00:10:01,940
Nej, men det tycker jag nästan är implicerat.
233 00:10:01,940 --> 00:10:02,940
Eller?
234 00:10:02,940 --> 00:10:04,940
Nej, alltså det är skillnad på.
235 00:10:04,940 --> 00:10:06,940
Eller var det bara för att verifiera?
236 00:10:06,940 --> 00:10:08,940
Det handlar ju lite om att accelerera tror jag.
237 00:10:08,940 --> 00:10:10,940
För att jag menar.
238 00:10:10,940 --> 00:10:11,940
Så.
239 00:10:11,940 --> 00:10:18,940
När vi jobbar ihop så var det ju ofta så att man bad att få en arkitekturgenomgång av dem som har skrivit applikationen.
240 00:10:18,940 --> 00:10:19,940
Och en kontakt.
241 00:10:19,940 --> 00:10:20,940
Ja, precis.
242 00:10:20,940 --> 00:10:22,940
Så att man vet precis hur den funkar och vad som får den att ticka.
243 00:10:22,940 --> 00:10:24,940
För då kan man.
244 00:10:24,940 --> 00:10:30,940
Mycket effektivare hitta de intressanta punkterna att klämma och känna på.
245 00:10:30,940 --> 00:10:35,940
Och det är ju för att kunden ska få valuta för de timmarna.
246 00:10:35,940 --> 00:10:36,940
I mångt och mycket.
247 00:10:36,940 --> 00:10:41,940
Men så arbetar ju vi också när vi gör både mobilapplikationstest och webapplikationstest.
248 00:10:41,940 --> 00:10:42,940
Bland annat.
249 00:10:42,940 --> 00:10:43,940
Men även infra.
250 00:10:43,940 --> 00:10:45,940
Jag menar vi har ju.
251 00:10:45,940 --> 00:10:51,940
Jag skulle säga att det är väldigt få engagement där jag på någon punkt inte tittar på konfiguration.
252 00:10:51,940 --> 00:10:52,940
Det gör jag nästan jämt.
253 00:10:52,940 --> 00:10:54,940
Vi vill ju ha det helt crystal box.
254 00:10:54,940 --> 00:10:55,940
Vi vill ha de översättningar vi kan behöva.
255 00:10:55,940 --> 00:10:57,940
Och sen handlar det om hur du definierar skåpet.
256 00:10:57,940 --> 00:11:01,940
Jag tror till och med att det står i våra offertmallar typ längst ner så här att.
257 00:11:01,940 --> 00:11:02,940
Ja men vi ska ha.
258 00:11:02,940 --> 00:11:04,940
Vi ska ha låg nivå läsa access.
259 00:11:04,940 --> 00:11:06,940
I alla fall de jag gör.
260 00:11:06,940 --> 00:11:08,940
Till den infrastrukturen som är aktuell.
261 00:11:08,940 --> 00:11:10,940
Men det jag var ute efter här var.
262 00:11:10,940 --> 00:11:11,940
För jag.
263 00:11:11,940 --> 00:11:14,940
När du sa det hade tillgång till källkod så tänkte jag.
264 00:11:14,940 --> 00:11:16,940
Då ingick automatiskt implicit en kodgranskning också.
265 00:11:16,940 --> 00:11:17,940
Men det kanske.
266 00:11:17,940 --> 00:11:18,940
Det gör det.
267 00:11:18,940 --> 00:11:20,940
Det gör vi.
268 00:11:20,940 --> 00:11:22,940
Men beroende på tid.
269 00:11:22,940 --> 00:11:23,940
Och så vidare.
270 00:11:23,940 --> 00:11:24,940
Så.
271 00:11:24,940 --> 00:11:25,940
Tänker vi.
272 00:11:25,940 --> 00:11:26,940
Kanske.
273 00:11:26,940 --> 00:11:27,940
Inte allting.
274 00:11:27,940 --> 00:11:28,940
Okej.
275 00:11:28,940 --> 00:11:29,940
Men.
276 00:11:29,940 --> 00:11:30,940
Statisk kodanalysverktyg eller något sånt här då.
277 00:11:30,940 --> 00:11:33,940
Ja det händer men inte så ofta.
278 00:11:33,940 --> 00:11:38,940
Det vi gör är att vi gör en modellering innan.
279 00:11:38,940 --> 00:11:39,940
Så att vi faktiskt.
280 00:11:39,940 --> 00:11:40,940
Tillsammans med kund.
281 00:11:40,940 --> 00:11:41,940
Precis.
282 00:11:41,940 --> 00:11:42,940
Så att vi faktiskt.
283 00:11:42,940 --> 00:11:43,940
Bara är de intressanta delarna.
284 00:11:43,940 --> 00:11:44,940
Det är det här vi kommer titta på.
285 00:11:44,940 --> 00:11:45,940
Det där gillar jag.
286 00:11:45,940 --> 00:11:52,940
Och i den rapporten vi nämnde sen så säger vi uttryckligen att de här områdena.
287 00:11:52,940 --> 00:11:53,940
Är nog intressanta.
288 00:11:53,940 --> 00:11:54,940
Men vi har inte.
289 00:11:54,940 --> 00:11:55,940
Tittat på dem.
290 00:11:55,940 --> 00:11:56,940
Eller vi har inte tittat på dem.
291 00:11:56,940 --> 00:11:57,940
Helt och hållet.
292 00:11:57,940 --> 00:11:58,940
Vi har inte liksom.
293 00:11:58,940 --> 00:11:59,940
Men ni kör.
294 00:11:59,940 --> 00:12:00,940
Ni kör det här då.
295 00:12:00,940 --> 00:12:01,940
Tillsammans med en.
296 00:12:01,940 --> 00:12:02,940
En klassisk.
297 00:12:02,940 --> 00:12:03,940
Typ webbentest.
298 00:12:03,940 --> 00:12:04,940
Om vi nu ska.
299 00:12:04,940 --> 00:12:05,940
I det här fallet.
300 00:12:05,940 --> 00:12:06,940
Beroende på.
301 00:12:06,940 --> 00:12:07,940
Det finns ju.
302 00:12:07,940 --> 00:12:08,940
Komplexitet.
303 00:12:08,940 --> 00:12:09,940
Och så finns det.
304 00:12:09,940 --> 00:12:10,940
Komplexitet.
305 00:12:10,940 --> 00:12:11,940
Jag menar.
306 00:12:11,940 --> 00:12:12,940
I.
307 00:12:12,940 --> 00:12:13,940
Vissa fall.
308 00:12:13,940 --> 00:12:14,940
Så måste man nästan.
309 00:12:14,940 --> 00:12:15,940
Göra en hotmodellering innan.
310 00:12:15,940 --> 00:12:16,940
För att annars så.
311 00:12:16,940 --> 00:12:17,940
Komplexitet.
312 00:12:17,940 --> 00:12:18,940
Och så finns det.
313 00:12:18,940 --> 00:12:19,940
Komplexitet.
314 00:12:19,940 --> 00:12:20,940
Jag menar.
315 00:12:20,940 --> 00:12:21,940
I.
316 00:12:21,940 --> 00:12:22,940
Vissa fall.
317 00:12:22,940 --> 00:12:23,940
Göra en hotmodellering innan.
318 00:12:23,940 --> 00:12:24,940
För att annars så.
319 00:12:24,940 --> 00:12:25,940
Går man lite vilse.
320 00:12:25,940 --> 00:12:26,940
I.
321 00:12:26,940 --> 00:12:27,940
Ja här är en grej.
322 00:12:27,940 --> 00:12:28,940
Skopet kan vara hur.
323 00:12:28,940 --> 00:12:29,940
Stort som helst.
324 00:12:29,940 --> 00:12:30,940
Precis.
325 00:12:30,940 --> 00:12:31,940
Men om det bara är.
326 00:12:31,940 --> 00:12:32,940
Liksom.
327 00:12:32,940 --> 00:12:33,940
En.
328 00:12:33,940 --> 00:12:34,940
Det är väldigt sällan det bara är en web.
329 00:12:34,940 --> 00:12:35,940
Ja det finns ju alltid integrationer och.
330 00:12:35,940 --> 00:12:36,940
Skit.
331 00:12:36,940 --> 00:12:37,940
Liksom.
332 00:12:37,940 --> 00:12:38,940
Precis.
333 00:12:38,940 --> 00:12:39,940
Så att.
334 00:12:39,940 --> 00:12:40,940
Men.
335 00:12:40,940 --> 00:12:41,940
Så ofta vi har.
336 00:12:41,940 --> 00:12:42,940
Möjlighet.
337 00:12:42,940 --> 00:12:43,940
Ja.
338 00:12:43,940 --> 00:12:44,940
Vi.
339 00:12:44,940 --> 00:12:45,940
Men annars så är ju liksom.
340 00:12:45,940 --> 00:12:46,940
En.
341 00:12:46,940 --> 00:12:47,940
Hotmodellering.
342 00:12:47,940 --> 00:12:48,940
För en.
343 00:12:48,940 --> 00:12:49,940
Liksom standard webapp.
344 00:12:49,940 --> 00:12:50,940
Skriven i java eller.
345 00:12:50,940 --> 00:12:51,940
Php.
346 00:12:51,940 --> 00:12:59,420
Och så om den gör någonting väldigt specifikt så lägger man till det.
347 00:13:00,380 --> 00:13:04,560
Ja, om det finns några funktioner som de vet med sig att det här är inte sånt.
348 00:13:04,640 --> 00:13:05,720
Eller här skriver vi till disk.
349 00:13:07,020 --> 00:13:15,300
Jag gillar att hotmodellering och den typen av analyser är med på kartan.
350 00:13:15,300 --> 00:13:21,360
För jag tycker det är ett otroligt effektivt sätt att identifiera möjliga sårbara punkter.
351 00:13:21,360 --> 00:13:28,740
Och det är ett verktyg som vi har använt väldigt många gånger på alla möjliga sätt.
352 00:13:28,940 --> 00:13:35,160
Så det är inte bara applikationssäkerhet utan det funkar ju att applicera i många, många fall.
353 00:13:37,640 --> 00:13:44,220
Men just det här med att man ritar en dataflödesmodell och kör sin strideanalys.
354 00:13:44,220 --> 00:13:47,620
Nu pluggar jag Microsoft SDL men den funkar.
355 00:13:47,940 --> 00:13:50,240
Den är väldigt effektiv för att hitta.
356 00:13:50,240 --> 00:13:50,600
Den är bra.
357 00:13:50,600 --> 00:13:55,740
Hitta var ska vi lägga energin i våra säkerhetstester.
358 00:13:56,900 --> 00:14:02,760
Och det är en gåta för mig varför inte utvecklare använder det verktyget.
359 00:14:03,020 --> 00:14:04,060
I större utsträckning ska jag säga.
360 00:14:04,340 --> 00:14:05,860
För det är klart att de gör på vissa ställen.
361 00:14:06,900 --> 00:14:16,460
Det är en annan häftig tak med det är att det går ju faktiskt att hitta designbogar.
362 00:14:16,460 --> 00:14:17,080
Här är de.
363 00:14:17,580 --> 00:14:19,960
Du kan se dem på whiteboarden.
364 00:14:20,600 --> 00:14:23,780
Men det finns bara en enda sak som är viktigt.
365 00:14:24,280 --> 00:14:26,060
Modellera inte ett för stort system.
366 00:14:26,420 --> 00:14:27,800
Nej, för då sitter du.
367 00:14:27,880 --> 00:14:35,900
Då kan du sitta och strida analysera dig till du blir 65 eller har vi ju delat upp det som är precis komponent för
368 00:14:35,900 --> 00:14:37,340
komponent integration.
369 00:14:37,340 --> 00:14:39,100
Exakt exakt så ska det bli.
370 00:14:39,200 --> 00:14:46,820
Yes, men om du bygger en för stor karta liksom har du typ 32 processer med in och ut på alla de liksom det blir helt sjuka
371 00:14:46,820 --> 00:14:48,800
mängder frågor och hjärnan går sönder.
372 00:14:48,800 --> 00:14:51,360
Ja, din kanske.
373 00:14:51,840 --> 00:14:55,700
Ja, han ska bli kastad.
374 00:14:56,120 --> 00:14:59,480
Jag känner villigt mina brister i det här.
375 00:15:00,640 --> 00:15:07,700
Men när vi gjorde en sån stor då hade man då hade Mattias en ny konsult, slav och sätta på på strider analysen.
376 00:15:08,540 --> 00:15:09,480
Det kommer jag inte ens ihåg.
377 00:15:09,500 --> 00:15:10,040
Det var ja.
378 00:15:13,360 --> 00:15:15,780
Men det här kommer bli kul.
379 00:15:17,220 --> 00:15:18,500
Yangmi var smart.
380 00:15:18,800 --> 00:15:24,140
Ja, okej, det var en bra intro kände jag till till Abde.
381 00:15:24,440 --> 00:15:26,040
Ja, men vad har vi ju dött för mig?
382 00:15:26,040 --> 00:15:31,500
Läcklig? Nej, men jag vet att du har hållit på lite.
383 00:15:31,500 --> 00:15:40,340
Vi har ju snackat en del om att nu ska vi inte gå in på bagbarn till delen här, men som ett sidospår på det så har du kollat lite mer på
384 00:15:40,340 --> 00:15:41,300
open source projekt.
385 00:15:41,720 --> 00:15:43,240
Precis. Kan du snacka lite om det?
386 00:15:43,440 --> 00:15:48,480
Ja, jag har ju en tanke eller teori eller idé eller.
387 00:15:48,800 --> 00:16:05,120
Åsikt eller all of the above övertygelser om att det tittas för lite på en open source, inte att det inte tittas på för om man är med på OSS
388 00:16:05,900 --> 00:16:16,200
security mailing listan så ser man att där dyker upp saker hela tiden, men det finns så sjukt mycket open source och det finns sjukt mycket open
389 00:16:16,200 --> 00:16:17,920
source med sjukt mycket.
390 00:16:17,920 --> 00:16:18,240
Ann.
391 00:16:18,800 --> 00:16:27,840
Tändare och det finns säkert mycket sådant som ingen har åditerat på jättelänge eller som någon kanske har åditerat, men inte talat om för någon,
392 00:16:27,840 --> 00:16:29,420
vilket nästan är ännu värre.
393 00:16:31,460 --> 00:16:42,360
Så jag tänkte att det började egentligen med att jag skrev en bloggpost där jag bara uttryckte att det här borde vi göra mera istället för att
394 00:16:42,360 --> 00:16:48,440
liksom jaga helt helt meningslösa XSS i General Motors.
395 00:16:48,800 --> 00:16:50,960
Sida så borde vi kanske.
396 00:16:53,360 --> 00:16:54,440
Göra det och så.
397 00:16:55,820 --> 00:17:01,880
Fundera och så insåg jag att det som jag gör och det som min arbetsgivare gör då
398 00:17:03,380 --> 00:17:05,720
du har ju perfekta förutsättningar för allt det.
399 00:17:05,960 --> 00:17:07,760
När du hackar open source.
400 00:17:08,180 --> 00:17:10,520
Du har tillgång till. Koden.
401 00:17:11,240 --> 00:17:15,040
Du har tillgång till dokumentation ofta liksom.
402 00:17:16,580 --> 00:17:18,780
Du har tillgång till systemen.
403 00:17:18,860 --> 00:17:19,360
Där de.
404 00:17:20,140 --> 00:17:20,640
Gullar.
405 00:17:21,260 --> 00:17:23,900
Och du kan du kan i stort sett göra precis.
406 00:17:24,740 --> 00:17:25,240
Vad som helst.
407 00:17:25,960 --> 00:17:29,900
Så jag började hacka lite open source grej då.
408 00:17:30,260 --> 00:17:32,480
Började med Apache.
409 00:17:33,820 --> 00:17:34,820
Inte Apache.
410 00:17:36,480 --> 00:17:37,060
Webserver.
411 00:17:38,120 --> 00:17:42,560
Den har folk hamrat på i femton år liksom den är den är den är rätt bra.
412 00:17:43,700 --> 00:17:47,060
Men lite andra Apache.
413 00:17:47,860 --> 00:17:48,360
Projekt.
414 00:17:48,800 --> 00:17:51,560
För de har typ 40 50.
415 00:17:52,560 --> 00:17:54,640
Pågående grejer liksom.
416 00:17:56,180 --> 00:17:59,520
Och de har bra dokumentation.
417 00:17:59,540 --> 00:18:04,300
De har dessutom en process om hur man hanterar förberedelser.
418 00:18:05,420 --> 00:18:07,580
Rapporter och de sköter det jättebra.
419 00:18:08,660 --> 00:18:15,580
De har dessutom ett säkerhetsteam som hanterar första granskningen av det
420 00:18:15,580 --> 00:18:18,740
liksom om ett projekt inte har uttalad.
421 00:18:18,740 --> 00:18:19,240
Säkerhets.
422 00:18:20,500 --> 00:18:20,860
Människor.
423 00:18:23,240 --> 00:18:27,580
Så jag har tagit mig igenom ett par stycken och eller.
424 00:18:28,980 --> 00:18:34,780
Och har bloggat om ett par och håller på med en icke Apache grej nu.
425 00:18:36,060 --> 00:18:39,320
Som ska bli kul att skriva om.
426 00:18:39,320 --> 00:18:40,740
Sedan är det fixat.
427 00:18:41,660 --> 00:18:48,440
Men de jag har bloggat om jag har täckt ett par andra också, men de som jag har bloggat om är.
428 00:18:48,740 --> 00:18:54,240
Jet Speed som är en portal lösning för Java applets.
429 00:18:55,300 --> 00:19:00,780
Och Apache Open Meetings som är en så här.
430 00:19:02,280 --> 00:19:10,500
Open Source Link variant liksom med liksom som har sitt och univisiv messaging styrka typ.
431 00:19:10,500 --> 00:19:12,680
Var hittar man din blogg förresten?
432 00:19:13,640 --> 00:19:16,800
Hacks med två x punkt ml.
433 00:19:17,400 --> 00:19:18,500
Hacks punkt ml.
434 00:19:18,500 --> 00:19:19,940
Men vad är det för toppdomar än?
435 00:19:20,400 --> 00:19:21,420
Det tror jag att det är.
436 00:19:21,420 --> 00:19:22,820
Maler Master.
437 00:19:22,840 --> 00:19:24,640
Maler, det låter rimligt att jag bor där.
438 00:19:25,040 --> 00:19:27,060
Ja, det är tydligt.
439 00:19:27,080 --> 00:19:27,860
Du är inte här nu.
440 00:19:27,860 --> 00:19:31,580
Göteborg, Mali och Göteborg.
441 00:19:32,020 --> 00:19:33,200
Hacks punkt ml helt enkelt.
442 00:19:33,220 --> 00:19:34,480
Ja, okej.
443 00:19:34,500 --> 00:19:36,660
Berätta om den här meeting.
444 00:19:37,180 --> 00:19:37,500
Ja.
445 00:19:39,980 --> 00:19:48,460
Grejen med Open Meetings är ju meningen att det ska vara någonting som du dels kör internt och dels har för att ha.
446 00:19:48,840 --> 00:19:51,520
Vi stölla möten med en ex externa.
447 00:19:52,160 --> 00:19:55,400
Så du du måste ju stort.
448 00:19:55,620 --> 00:19:58,460
I stort sett exponera tjänsten mot internet.
449 00:19:59,840 --> 00:20:06,820
Och. Jag la, så jag har inte jättemycket tid, men jag har jag har lagt kanske två tre
450 00:20:06,820 --> 00:20:10,940
dagar allt om allt på harje och.
451 00:20:12,240 --> 00:20:14,880
I den här så är jag tror jag rapporterade fem eller sex.
452 00:20:16,100 --> 00:20:17,740
Bugga. Jag, ja, jag.
453 00:20:17,760 --> 00:20:18,300
Vi rapporterar inte.
454 00:20:18,500 --> 00:20:20,160
allting. Jag rapporterar inte såhär
455 00:20:20,160 --> 00:20:22,600
HTTP-headers och sånt
456 00:20:22,600 --> 00:20:24,260
utan jag rapporterar saker som
457 00:20:24,260 --> 00:20:26,080
faktiskt
458 00:20:26,080 --> 00:20:28,680
gör riktigt
459 00:20:28,680 --> 00:20:29,860
nytta.
460 00:20:30,160 --> 00:20:32,200
Typ jävligt meningslösa
461 00:20:32,200 --> 00:20:33,660
cross-site scripting typ, eller? Exakt.
462 00:20:34,280 --> 00:20:36,220
Ja. CSRF.
463 00:20:36,760 --> 00:20:38,520
Det är i och för sig ganska bra. Men det var lite
464 00:20:38,520 --> 00:20:40,660
det var väl remote code execution du hade hittat
465 00:20:40,660 --> 00:20:42,300
det här, om jag inte missminner mig.
466 00:20:42,900 --> 00:20:44,260
Ja, det var två stycken
467 00:20:44,260 --> 00:20:45,700
buggar då.
468 00:20:46,440 --> 00:20:47,560
Dels så var det en
469 00:20:47,560 --> 00:20:48,960
bug i password
470 00:20:48,960 --> 00:20:50,920
reset-funktionen.
471 00:20:51,300 --> 00:20:53,460
Där jag upptäckte att
472 00:20:53,460 --> 00:20:55,700
den token som
473 00:20:55,700 --> 00:20:57,300
man får, som man
474 00:20:57,300 --> 00:20:59,480
använder då för att
475 00:20:59,480 --> 00:21:01,700
resetta
476 00:21:02,480 --> 00:21:03,660
lösnordet.
477 00:21:04,200 --> 00:21:05,440
Den är gjord,
478 00:21:05,560 --> 00:21:07,520
det är en MD5-a av
479 00:21:07,520 --> 00:21:09,440
användarnamn och
480 00:21:09,440 --> 00:21:11,600
systemtiden. Företagbar.
481 00:21:11,960 --> 00:21:13,300
Extremt förutsägbar.
482 00:21:13,300 --> 00:21:15,440
Speciellt som systemtid
483 00:21:15,440 --> 00:21:17,520
i Java per default har inte ens
484 00:21:17,520 --> 00:21:18,880
nillis
485 00:21:18,880 --> 00:21:20,720
för kunderna. Så att det är såhär fyra
486 00:21:20,720 --> 00:21:23,360
gissningar och så är det färdigt.
487 00:21:23,620 --> 00:21:24,280
Inte asbra.
488 00:21:25,000 --> 00:21:27,140
Nej. Och då
489 00:21:27,140 --> 00:21:28,700
tog man ju sig in och
490 00:21:28,700 --> 00:21:31,100
känner man då till vad en admin har för
491 00:21:31,100 --> 00:21:33,060
användarnamn.
492 00:21:33,200 --> 00:21:34,400
Väldigt ofta admin.
493 00:21:35,180 --> 00:21:36,660
Så kan du
494 00:21:36,660 --> 00:21:37,940
inte vara.
495 00:21:37,940 --> 00:21:39,040
Så kan du ju då
496 00:21:39,040 --> 00:21:41,580
göra en reset och då vet du dessutom tiden på ett ungefär.
497 00:21:41,700 --> 00:21:42,080
Exakt.
498 00:21:43,360 --> 00:21:44,200
Så då
499 00:21:44,200 --> 00:21:46,960
får man
500 00:21:46,960 --> 00:21:48,860
admin access då.
501 00:21:48,860 --> 00:21:50,320
Och i admin
502 00:21:50,320 --> 00:21:52,380
panelen så kan du
503 00:21:52,380 --> 00:21:55,280
ladda upp en import
504 00:21:55,280 --> 00:21:56,680
och en konfigurations
505 00:21:56,680 --> 00:21:58,200
import liksom.
506 00:21:59,380 --> 00:22:00,760
Och i den så finns den
507 00:22:00,760 --> 00:22:02,860
path traversal.
508 00:22:05,320 --> 00:22:07,060
Apache Open Meetings är
509 00:22:07,060 --> 00:22:09,000
Java men den
510 00:22:09,000 --> 00:22:10,480
använder inte JSP.
511 00:22:11,520 --> 00:22:12,960
Så i vanliga fall så är det
512 00:22:12,960 --> 00:22:14,700
ju liksom ladda upp en JSP till
513 00:22:14,700 --> 00:22:16,900
webroot och så är du färdig.
514 00:22:16,900 --> 00:22:18,320
Här så
515 00:22:18,320 --> 00:22:20,380
funkar ju inte det. Så då var det såhär
516 00:22:20,380 --> 00:22:22,420
ska jag kompilera en
517 00:22:22,420 --> 00:22:24,440
class-fil
518 00:22:24,440 --> 00:22:26,700
eller ska jag göra någonting annat.
519 00:22:27,900 --> 00:22:28,260
Och
520 00:22:28,260 --> 00:22:30,760
sen upptäckte jag att
521 00:22:30,760 --> 00:22:32,660
Apache Open Meetings
522 00:22:32,660 --> 00:22:34,480
kommer färdig med
523 00:22:34,480 --> 00:22:36,500
image magic.
524 00:22:37,000 --> 00:22:38,540
För att när du laddar upp en
525 00:22:38,540 --> 00:22:40,240
bild till ett
526 00:22:40,240 --> 00:22:42,700
virtuellt möte så vill den
527 00:22:42,700 --> 00:22:43,780
göra en hamning.
528 00:22:43,780 --> 00:22:46,100
Och då använder den det.
529 00:22:46,900 --> 00:22:48,900
Men vadå, image magic har väl aldrig haft någon
530 00:22:48,900 --> 00:22:49,300
sårbarhet?
531 00:22:49,920 --> 00:22:50,940
Nej, fast det här är ju ingen
532 00:22:50,940 --> 00:22:53,540
bug i image magic.
533 00:22:54,840 --> 00:22:56,900
Snarare än, inte en bug
534 00:22:56,900 --> 00:22:58,740
utan det är mer att
535 00:22:58,740 --> 00:23:00,920
om du är admin så kan
536 00:23:00,920 --> 00:23:02,700
du
537 00:23:02,700 --> 00:23:04,860
konfigurera
538 00:23:04,860 --> 00:23:06,580
sökvägen till image magic
539 00:23:06,580 --> 00:23:08,340
binären.
540 00:23:09,960 --> 00:23:10,720
Om du då
541 00:23:10,720 --> 00:23:12,620
konfigurerar den till temp
542 00:23:12,620 --> 00:23:14,540
där vem som helst har rättighet till att
543 00:23:14,540 --> 00:23:16,700
skriva en fil och sen laddar upp
544 00:23:16,700 --> 00:23:18,100
ett exekuerbart
545 00:23:18,100 --> 00:23:20,740
källskruv som skriver sig
546 00:23:20,740 --> 00:23:22,620
till temp med samma namn
547 00:23:22,620 --> 00:23:23,460
som image magic
548 00:23:23,460 --> 00:23:26,300
binära. Så kan du bara
549 00:23:26,300 --> 00:23:28,320
ladda upp en bild
550 00:23:28,320 --> 00:23:30,140
till ett virtuellt möte
551 00:23:30,140 --> 00:23:32,620
med dig själv och så har du
552 00:23:32,620 --> 00:23:33,200
två exekut.
553 00:23:34,360 --> 00:23:36,680
Det tar tre sekunder
554 00:23:36,680 --> 00:23:38,400
ungefär. Allt som allt.
555 00:23:39,340 --> 00:23:40,420
Ja, det är ju så fort.
556 00:23:40,940 --> 00:23:41,800
Tillfredsställande dock.
557 00:23:42,080 --> 00:23:43,800
Ja, helt klart.
558 00:23:43,800 --> 00:23:45,940
Hur var responsen från Apache
559 00:23:45,940 --> 00:23:46,540
när du rapporterade?
560 00:23:46,700 --> 00:23:49,820
Väldigt bra. Allt jag har rapporterat
561 00:23:49,820 --> 00:23:51,780
till Apache har varit
562 00:23:51,780 --> 00:23:53,400
väldigt bra.
563 00:23:53,780 --> 00:23:56,020
De patchar ju inte superfort
564 00:23:56,020 --> 00:23:57,880
på grund av att det är oftast
565 00:23:57,880 --> 00:23:58,320
såhär
566 00:23:58,320 --> 00:24:01,300
folk som
567 00:24:01,300 --> 00:24:03,520
gör det här
568 00:24:03,520 --> 00:24:05,160
efter jobbet när
569 00:24:05,160 --> 00:24:06,780
barnen har somnat.
570 00:24:07,660 --> 00:24:10,160
Men jag har såhär försökt
571 00:24:10,160 --> 00:24:12,080
välja mina mål utifrån
572 00:24:12,080 --> 00:24:13,600
de som har en roadmap
573 00:24:13,600 --> 00:24:15,740
där man ser att det kommer
574 00:24:15,740 --> 00:24:16,220
liksom
575 00:24:16,220 --> 00:24:18,180
nya versioner lite då och då
576 00:24:18,180 --> 00:24:20,540
så att man liksom vet att det här kommer
577 00:24:20,540 --> 00:24:22,080
varje gång att det patchas någonting.
578 00:24:22,860 --> 00:24:24,280
Lite Robin Hood-stuk här.
579 00:24:24,580 --> 00:24:26,440
Jag tror att ändå att
580 00:24:26,440 --> 00:24:28,120
mediantiden på patch har varit
581 00:24:28,120 --> 00:24:30,320
kanske två månader.
582 00:24:30,600 --> 00:24:31,540
Vilket är helt okej.
583 00:24:31,960 --> 00:24:33,860
Då hinner du ju sälja remote coding.
584 00:24:34,080 --> 00:24:35,840
Ja, det har jag naturligtvis gjort.
585 00:24:36,220 --> 00:24:38,240
Till Boopens nya, vad heter de?
586 00:24:39,240 --> 00:24:40,380
Wootang Clan.
587 00:24:40,460 --> 00:24:41,200
Wootang Clan.
588 00:24:42,140 --> 00:24:43,040
Okej, ja.
589 00:24:43,500 --> 00:24:45,260
Men hur är det med,
590 00:24:45,260 --> 00:24:46,180
alltså du får,
591 00:24:46,220 --> 00:24:47,820
du får ett, ja men här Adelind
592 00:24:47,820 --> 00:24:49,100
får du en fin CVE
593 00:24:49,100 --> 00:24:51,960
och här, by the way, här får du några stickers.
594 00:24:52,520 --> 00:24:53,820
För de är, det är ingen
595 00:24:53,820 --> 00:24:56,280
bug bounty kopplat till det här överhuvudtaget. Du får inte en spänn
596 00:24:56,280 --> 00:24:58,460
eller? Jag är inte, jag vill inte ha
597 00:24:58,460 --> 00:25:00,060
Ja, men det är det som är så fint.
598 00:25:00,340 --> 00:25:01,640
Adelind är ekonomiskt stor för honom.
599 00:25:02,060 --> 00:25:03,880
Precis. Han har ju sålt
600 00:25:03,880 --> 00:25:04,760
några exploits.
601 00:25:05,340 --> 00:25:07,820
Till Woopena. Exakt. Jag får mina
602 00:25:07,820 --> 00:25:08,800
bug bounties på annat håll.
603 00:25:09,620 --> 00:25:12,100
Men det jag tyckte var intressant här
604 00:25:12,100 --> 00:25:14,080
är att kinesiska igen. Det är ju fint
605 00:25:14,080 --> 00:25:16,060
tänker jag. Alltså det är ju såhär,
606 00:25:16,060 --> 00:25:17,980
men det är, ideologiskt sett är det ganska fint
607 00:25:17,980 --> 00:25:20,180
att hjälpa. Men alltså, jag visste
608 00:25:20,180 --> 00:25:22,040
ju innan att Apache inte har
609 00:25:22,040 --> 00:25:24,080
bug bounties. Just det. Vart skulle de
610 00:25:24,080 --> 00:25:25,320
få pengar till dig ifrån? Alltså,
611 00:25:25,680 --> 00:25:27,980
Apache har ju en viss
612 00:25:27,980 --> 00:25:30,220
budget.
613 00:25:30,580 --> 00:25:30,840
Alltså,
614 00:25:31,900 --> 00:25:34,400
Apache software foundation.
615 00:25:34,820 --> 00:25:36,060
Men det finns ju
616 00:25:36,060 --> 00:25:37,840
inte budgeterat för att ge pengar till
617 00:25:37,840 --> 00:25:39,080
idioter som mig, liksom.
618 00:25:40,180 --> 00:25:41,380
Men, det jag tyckte var intressant här,
619 00:25:41,680 --> 00:25:44,060
du sa att två till tre dagar la du på varje
620 00:25:44,260 --> 00:25:45,300
system som du tittar på.
621 00:25:46,060 --> 00:25:48,120
Du hittar då, som i det här fallet, fyra stycken
622 00:25:48,120 --> 00:25:49,740
sårbarheter på två till tre dagar.
623 00:25:50,600 --> 00:25:52,160
Ja, jag hittade mer egentligen, men jag hittade
624 00:25:52,160 --> 00:25:53,620
fyra som var värt att
625 00:25:53,620 --> 00:25:55,900
ta upp deras tid.
626 00:25:56,300 --> 00:25:58,140
Tror vi att, är det symptomatiskt?
627 00:25:58,280 --> 00:26:00,120
Alltså, välj valfritt system som inte är
628 00:26:00,120 --> 00:26:02,080
high profile och har blivit testad i en absurdum
629 00:26:02,080 --> 00:26:04,080
och lägger du två till tre dagar så kommer du ju kunna
630 00:26:04,080 --> 00:26:05,720
förbättra den koden av sig. Absolut.
631 00:26:06,060 --> 00:26:07,900
Låt oss prova. Jag tänkte ju säga det.
632 00:26:08,020 --> 00:26:10,300
Det är väl en challenge nästan till våra lyssnare här.
633 00:26:10,360 --> 00:26:12,040
Kan vi inte göra det? Vi kan köra en open source
634 00:26:12,040 --> 00:26:13,940
race. Den som har haft det mest roliga
635 00:26:13,940 --> 00:26:15,900
buggar i open source projekt under
636 00:26:15,900 --> 00:26:17,080
den närmaste månaden vinner.
637 00:26:17,860 --> 00:26:19,980
Och de kanske kan få vara med på
638 00:26:19,980 --> 00:26:21,600
ett podcastavsnitt och berätta om det.
639 00:26:21,740 --> 00:26:24,440
Men hur ska vi ju veta att de…
640 00:26:24,440 --> 00:26:26,340
Jag vet inte, men vi håller ju på att spåna nu.
641 00:26:26,560 --> 00:26:28,060
De behöver ju CVR då.
642 00:26:28,700 --> 00:26:29,920
Ja, men då kanske det blir ett lite längre
643 00:26:29,920 --> 00:26:32,060
projekt. Vi säger tre månaders sikt
644 00:26:32,060 --> 00:26:33,740
då. Den som kan
645 00:26:33,740 --> 00:26:36,240
visa på flest CVR
646 00:26:36,240 --> 00:26:37,340
under… I open source projekt.
647 00:26:37,520 --> 00:26:39,860
Det måste vara open source projekt. Utan betala
648 00:26:39,860 --> 00:26:42,080
bug bounty efter tre månader
649 00:26:42,080 --> 00:26:43,100
från att det här avsnittet är släppt.
650 00:26:44,100 --> 00:26:45,480
Kommer få vara med på en intervju.
651 00:26:45,900 --> 00:26:47,260
Ja, i podcasten.
652 00:26:47,720 --> 00:26:49,560
Det är jätteglamoröst.
653 00:26:49,840 --> 00:26:50,920
Ja, visst är det det.
654 00:26:51,180 --> 00:26:52,260
Du har fått gratis…
655 00:26:52,260 --> 00:26:54,980
Som någon annan har betalt i och för sig.
656 00:26:55,400 --> 00:26:56,940
Har du det dåligt nu menar du?
657 00:26:57,280 --> 00:27:00,300
Nej, nej. Ingen ironi alls.
658 00:27:01,060 --> 00:27:01,500
Bra där.
659 00:27:01,600 --> 00:27:03,880
Men du får ju framstå i ett medium
660 00:27:03,880 --> 00:27:05,880
där så glamorösa personer som
661 00:27:05,880 --> 00:27:06,780
Adelinde har deltagit.
662 00:27:07,980 --> 00:27:09,760
Vi kan till och med reservera just den
663 00:27:09,760 --> 00:27:11,420
stolen som Adel sitter i just nu.
664 00:27:11,740 --> 00:27:13,860
Där kan du få sitta. Jag vet inte om man vill det.
665 00:27:13,860 --> 00:27:15,120
Men man kan stå.
666 00:27:15,900 --> 00:27:18,520
Vi berättar inte vilken stol
667 00:27:18,520 --> 00:27:19,160
han har satt i.
668 00:27:19,880 --> 00:27:21,080
Placet Cher Roulette.
669 00:27:22,140 --> 00:27:23,560
Är inte det ett ganska kul koncept?
670 00:27:24,220 --> 00:27:25,960
Ska vi göra det? Ja, det tycker jag.
671 00:27:26,120 --> 00:27:28,060
Det tycker jag. Vi har säkert
672 00:27:28,060 --> 00:27:30,180
någon säkerhetspodcast, en
673 00:27:30,180 --> 00:27:32,240
merch som vi kan… Vi kan trycka upp
674 00:27:32,240 --> 00:27:34,080
nya tröjor. Vi sätter upp en dedikerad
675 00:27:34,080 --> 00:27:35,580
mailadress för det. Absolut.
676 00:27:35,700 --> 00:27:37,340
Och en PGP-nyckel så kan man få maila oss.
677 00:27:38,080 --> 00:27:40,180
Ska vi lägga dem i den fantastiska
678 00:27:40,180 --> 00:27:42,180
showbiz? Nej, men jag tror att vi twittrar om det istället.
679 00:27:42,180 --> 00:27:43,920
Där twittrar vi så lägger vi ut det på en undersida på sajten.
680 00:27:44,060 --> 00:27:45,480
Ja. Så slänger vi…
681 00:27:45,900 --> 00:27:48,500
Om vi inte kan hitta någon form av roligare reward
682 00:27:48,500 --> 00:27:50,200
också. Man kan få någon t-shirt eller någonting.
683 00:27:50,520 --> 00:27:52,140
Jag har ju ett one-time
684 00:27:52,140 --> 00:27:54,940
exclusive neopren-case
685 00:27:54,940 --> 00:27:55,900
till en dator.
686 00:27:56,380 --> 00:27:58,320
Med säkerhetspodcasten loggat på.
687 00:27:58,420 --> 00:28:00,400
Det finns bara ett i hela världen.
688 00:28:00,500 --> 00:28:02,180
Det kan man få. Det kan vi skicka med.
689 00:28:03,020 --> 00:28:04,080
Vad hade du för idé, Eriken?
690 00:28:05,160 --> 00:28:06,340
Nej, just det här med
691 00:28:06,340 --> 00:28:08,080
att man kan ju få
692 00:28:08,080 --> 00:28:10,820
nästan
693 00:28:10,820 --> 00:28:12,460
så vi skulle kunna lova ut någon form
694 00:28:12,460 --> 00:28:13,620
av merch till alla som
695 00:28:13,620 --> 00:28:15,780
submitar något. Det tycker jag definitivt.
696 00:28:15,900 --> 00:28:17,100
Jo, nu gillar jag det här.
697 00:28:17,640 --> 00:28:19,040
Men nu, nu, nu.
698 00:28:19,700 --> 00:28:20,640
Då är det ju Bug Bounty.
699 00:28:21,340 --> 00:28:23,000
Nej, nej, nej. Men stickers.
700 00:28:23,280 --> 00:28:25,160
Alltså det är glass och ballonger va?
701 00:28:25,360 --> 00:28:27,120
Alltså kan det verkligen vara
702 00:28:27,120 --> 00:28:29,700
det om det är ni som är
703 00:28:29,700 --> 00:28:31,660
helt… Ni har ju ingen koppling
704 00:28:31,660 --> 00:28:33,140
till det här som kommer att…
705 00:28:33,140 --> 00:28:35,200
Motivationen kommer ju från fel håll.
706 00:28:35,440 --> 00:28:37,040
Å andra sidan, Hacker One.
707 00:28:37,480 --> 00:28:39,720
Det finns ju någonting som heter Internet Bounty.
708 00:28:39,940 --> 00:28:41,700
Bug Bounty. Där om
709 00:28:41,700 --> 00:28:44,000
du hittar en bugg i
710 00:28:44,000 --> 00:28:45,000
PHP eller…
711 00:28:45,900 --> 00:28:47,360
Apache Web Server till exempel.
712 00:28:47,540 --> 00:28:49,940
Så kan du anmäla det till Internet
713 00:28:49,940 --> 00:28:51,660
Bug Bounty och få
714 00:28:51,660 --> 00:28:53,840
något. Men skit i den, för vi har våran egen.
715 00:28:54,200 --> 00:28:55,620
Ja, den är mycket bättre.
716 00:28:56,000 --> 00:28:57,880
Ja, vi ska fila lite på
717 00:28:57,880 --> 00:28:59,560
priser. Men…
718 00:28:59,560 --> 00:29:01,900
Vi löser något. Du säger såhär, du får någonting ifall du har en CV
719 00:29:01,900 --> 00:29:03,900
och den som har flest vinner något stort fil.
720 00:29:04,100 --> 00:29:05,180
Får vi vara med själva?
721 00:29:05,400 --> 00:29:07,740
Klart vi får. Ska vi inte till och med säga såhär
722 00:29:07,740 --> 00:29:09,180
The Open Source
723 00:29:09,180 --> 00:29:11,520
Bug Squashing Day eller någonting?
724 00:29:11,520 --> 00:29:14,060
Jag skulle faktiskt vilja lägga in
725 00:29:14,060 --> 00:29:15,360
en grej där.
726 00:29:15,900 --> 00:29:17,940
Det är att man får
727 00:29:17,940 --> 00:29:19,940
inte CVS för vad som helst.
728 00:29:21,520 --> 00:29:23,960
Apache är en av de grejerna man
729 00:29:23,960 --> 00:29:25,600
får det för. Men
730 00:29:25,600 --> 00:29:27,900
man får inte för allting. Så kanske
731 00:29:27,900 --> 00:29:29,940
att man ska kunna bevisa…
732 00:29:31,000 --> 00:29:32,220
Men du kan ju peka på
733 00:29:32,220 --> 00:29:33,040
en patchnote liksom.
734 00:29:34,000 --> 00:29:36,120
Ja, patchnote eller att du kan påvisa
735 00:29:36,120 --> 00:29:37,980
typ korrespondens
736 00:29:37,980 --> 00:29:39,660
där du får cred för vad det är du har gjort.
737 00:29:40,400 --> 00:29:41,860
Idén är det här, du ska rapportera
738 00:29:41,860 --> 00:29:43,560
en bugg i en Open Source
739 00:29:43,560 --> 00:29:45,840
produkt och den ska fixas.
740 00:29:45,900 --> 00:29:47,900
Ja. Inom tre månader för att
741 00:29:47,900 --> 00:29:49,840
det här avsnittet släpps. Måste den fixas
742 00:29:49,840 --> 00:29:51,840
inom tre månader? Det måste kunna styrka
743 00:29:51,840 --> 00:29:54,380
att den finns. Jag ser ju kanske att
744 00:29:54,380 --> 00:29:55,940
visst, en intervju är ju nice men
745 00:29:55,940 --> 00:29:58,280
det här är ju ändå lite i Robin Hood-momenten
746 00:29:58,280 --> 00:29:59,780
då. Så det känns som att man kanske ska få lite
747 00:29:59,780 --> 00:30:02,060
recognition på 200 000
748 00:30:02,060 --> 00:30:03,700
fästen eller 250 000 fästen.
749 00:30:04,180 --> 00:30:06,000
Så då kanske det ska vara en prisutdelning.
750 00:30:06,080 --> 00:30:07,760
Jag tycker dessutom att vi skulle kunna ha ett annat pris
751 00:30:07,760 --> 00:30:08,920
för snyggast bugg.
752 00:30:10,920 --> 00:30:11,860
Och det får vi ju
753 00:30:11,860 --> 00:30:13,840
då tillsätta en panel som bestämmer vilken bugg som är
754 00:30:13,840 --> 00:30:15,820
snyggast. Jag tycker att det är en bra idé.
755 00:30:15,900 --> 00:30:17,580
Jag tror vi filar på den
756 00:30:17,580 --> 00:30:19,960
off-mic för att putsa
757 00:30:19,960 --> 00:30:21,660
på kanterna. Och sen så går vi ut med detta.
758 00:30:21,720 --> 00:30:23,940
Vi har druckit öl. Jag försökte säga
759 00:30:23,940 --> 00:30:25,860
det fast på ett snyggare sätt. Min bomberpoint
760 00:30:25,860 --> 00:30:27,460
börjar komma. Min poäng är väl…
761 00:30:27,460 --> 00:30:29,700
Är det inte en bra idé då att vi
762 00:30:29,700 --> 00:30:31,860
ändå
763 00:30:31,860 --> 00:30:34,060
filar klart på detta och börjar snacka om det publikt
764 00:30:34,060 --> 00:30:35,720
innan det här avsnittet släpps. Sen så ser vi det som
765 00:30:35,720 --> 00:30:37,840
officiellt startdatum. Herregud ja!
766 00:30:37,900 --> 00:30:39,280
Nu blir det jävligt mycket meta. Vi
767 00:30:39,280 --> 00:30:41,660
bestämmer det här innan de hör det här.
768 00:30:41,800 --> 00:30:43,380
Så har vi redan släppt det. Farbror!
769 00:30:44,880 --> 00:30:45,680
Poängen med det då
770 00:30:45,680 --> 00:30:47,580
är att då har vi ungefär en månad på oss att bestämma oss.
771 00:30:47,640 --> 00:30:49,560
Jag vet, jag vet. Och det gäller
772 00:30:49,560 --> 00:30:51,680
fortfarande för er lyssnare då att från och med att det här
773 00:30:51,680 --> 00:30:52,820
släpps, börja titta.
774 00:30:53,660 --> 00:30:54,520
Låt oss gå vidare.
775 00:30:55,620 --> 00:30:57,640
Okej, vad har vi? Open meeting
776 00:30:57,640 --> 00:30:59,800
var vi på. Och jag är
777 00:30:59,800 --> 00:31:01,860
helt säker på att det finns något jetspeedigt
778 00:31:01,860 --> 00:31:02,680
här någonstans också.
779 00:31:02,680 --> 00:31:03,740
Ja, men
780 00:31:03,740 --> 00:31:05,260
nämnde det innan.
781 00:31:06,400 --> 00:31:06,900
Vad hittade du där?
782 00:31:08,580 --> 00:31:09,920
Det var också sådär
783 00:31:09,920 --> 00:31:11,760
jag tror jag rapporterade
784 00:31:11,760 --> 00:31:13,900
sex buggar.
785 00:31:14,100 --> 00:31:15,120
Vad är jetspeed?
786 00:31:15,680 --> 00:31:17,700
Jetspeed är en portal
787 00:31:17,700 --> 00:31:19,600
där man kan köra
788 00:31:19,600 --> 00:31:21,260
Java applets i.
789 00:31:21,500 --> 00:31:22,120
Så det är ju liksom
790 00:31:22,120 --> 00:31:25,560
om du har ett medelstort
791 00:31:25,560 --> 00:31:28,160
företag och vill ha ett intranät
792 00:31:28,160 --> 00:31:29,500
liksom så är det en väldigt bra
793 00:31:29,500 --> 00:31:31,480
startsida där du kan
794 00:31:31,480 --> 00:31:33,220
lägga upp allt möjligt.
795 00:31:34,380 --> 00:31:35,560
Tiden, rapporterings
796 00:31:35,560 --> 00:31:36,800
appen och
797 00:31:36,800 --> 00:31:39,320
nyhetsappen och bla bla bla.
798 00:31:39,640 --> 00:31:41,620
Det var poppigt för ett par år sedan med att bygga portaler.
799 00:31:41,680 --> 00:31:42,580
Jag vill inte ha det så poppigt längre.
800 00:31:42,580 --> 00:31:44,500
Ja, jag har
801 00:31:44,500 --> 00:31:45,020
kikat.
802 00:31:45,680 --> 00:31:47,280
Lite grann innan jag
803 00:31:47,280 --> 00:31:48,760
innan jag har valt
804 00:31:48,760 --> 00:31:49,780
liksom för att det
805 00:31:49,780 --> 00:31:51,260
det känns som att man
806 00:31:51,260 --> 00:31:52,520
man gör mer
807 00:31:52,520 --> 00:31:53,820
nytta om man
808 00:31:53,820 --> 00:31:55,760
om man jobbar på någonting som faktiskt har
809 00:31:55,760 --> 00:31:57,060
användare.
810 00:31:58,540 --> 00:32:00,400
Och där var det
811 00:32:00,400 --> 00:32:01,160
jag tror att på
812 00:32:01,160 --> 00:32:02,760
jag använde Shodan
813 00:32:02,760 --> 00:32:04,520
och där hittade jag
814 00:32:04,520 --> 00:32:06,640
15 000
815 00:32:06,640 --> 00:32:07,520
eller något sånt där.
816 00:32:07,660 --> 00:32:09,720
Och det är ändå rätt mycket för att vara en open source
817 00:32:09,720 --> 00:32:11,260
grej.
818 00:32:11,760 --> 00:32:13,940
Och då är det ändå inte någonting som
819 00:32:13,940 --> 00:32:14,900
är
820 00:32:15,680 --> 00:32:17,320
hundraprocentigt för att vara
821 00:32:17,320 --> 00:32:18,880
på internet heller.
822 00:32:19,200 --> 00:32:20,400
Det skulle lika gärna kunna vara
823 00:32:20,400 --> 00:32:23,340
offline liksom.
824 00:32:23,860 --> 00:32:24,860
Internt, ja, precis.
825 00:32:25,400 --> 00:32:27,260
Eller 15 000. Ja, jag ska nog inte
826 00:32:27,260 --> 00:32:29,520
ta ett gäng
827 00:32:29,520 --> 00:32:30,340
på den, men
828 00:32:30,340 --> 00:32:33,480
open meetings har i varje fall laddats
829 00:32:33,480 --> 00:32:34,880
ner 250 000
830 00:32:34,880 --> 00:32:36,860
gånger. Det är ändå
831 00:32:36,860 --> 00:32:39,120
det är ändå okej.
832 00:32:39,760 --> 00:32:41,280
Det är nästan lika många gånger som säkerhetsbordet
833 00:32:41,280 --> 00:32:42,680
har stått. Nästan.
834 00:32:42,680 --> 00:32:43,720
Ja, damn.
835 00:32:45,680 --> 00:32:48,860
Okej, och hur såg det ut i Jetspeed då?
836 00:32:48,860 --> 00:32:51,060
Det var
837 00:32:51,060 --> 00:32:54,440
det var lite annorlunda.
838 00:32:54,440 --> 00:32:56,700
Det är ju en, det är ju någonting som använder
839 00:32:56,700 --> 00:33:00,620
JSP. Och jag hittade faktiskt i stort sett samma
840 00:33:00,620 --> 00:33:02,020
bug där med
841 00:33:02,020 --> 00:33:07,000
en ZIP-fil som man laddar upp.
842 00:33:07,000 --> 00:33:11,280
Och om du laddar upp vanliga filer så
843 00:33:11,280 --> 00:33:13,840
kollar den så att det inte finns farliga liksom
844 00:33:13,840 --> 00:33:15,640
tecken i.
845 00:33:15,680 --> 00:33:16,900
Vid namnet.
846 00:33:17,440 --> 00:33:19,200
Men om man laddar upp en ZIP-fil
847 00:33:19,200 --> 00:33:21,140
då packar den upp det bara
848 00:33:21,140 --> 00:33:23,500
hur som helst. Och då kan du ladda upp
849 00:33:23,500 --> 00:33:24,480
en ZIP-fil med
850 00:33:24,480 --> 00:33:27,000
halva vägen.
851 00:33:28,000 --> 00:33:29,280
Ja, men det där är jättevanligt.
852 00:33:29,400 --> 00:33:31,100
Det ser jag på jobbet också.
853 00:33:31,500 --> 00:33:33,420
Det är supervanligt.
854 00:33:34,060 --> 00:33:35,400
Man har ju tänkt på att lägga den checken
855 00:33:35,400 --> 00:33:37,060
efter upppackningen. Ja, precis.
856 00:33:38,060 --> 00:33:39,480
Men det som
857 00:33:39,480 --> 00:33:41,500
var lite mer intressant var att
858 00:33:41,500 --> 00:33:43,620
jag upptäckte att
859 00:33:43,620 --> 00:33:45,060
Jetspeed
860 00:33:45,680 --> 00:33:47,060
har ett API också.
861 00:33:48,240 --> 00:33:49,940
Och API-et har en massa
862 00:33:49,940 --> 00:33:51,980
administrativa funktioner.
863 00:33:52,560 --> 00:33:53,240
Och jag upptäckte
864 00:33:53,240 --> 00:33:55,500
jag hittade en SQL
865 00:33:55,500 --> 00:33:57,760
injection först
866 00:33:57,760 --> 00:34:00,020
i API-et.
867 00:34:00,940 --> 00:34:02,120
I en
868 00:34:02,120 --> 00:34:03,560
funktion som heter user
869 00:34:03,560 --> 00:34:05,720
manager. Man kan
870 00:34:05,720 --> 00:34:07,820
kanske lista ut vad den gör.
871 00:34:08,980 --> 00:34:09,760
Kan det vara så att den använder?
872 00:34:12,400 --> 00:34:13,240
Eventuellt.
873 00:34:14,340 --> 00:34:15,060
Och
874 00:34:15,060 --> 00:34:17,520
då var jag lite fundersam såhär
875 00:34:17,520 --> 00:34:19,680
undrar om den här går att exploita
876 00:34:19,680 --> 00:34:20,920
utan att tagga in.
877 00:34:21,600 --> 00:34:23,780
Och det gick. Så då blev det såhär
878 00:34:23,780 --> 00:34:25,500
jag tror jag
879 00:34:25,500 --> 00:34:27,420
jag la den första halvtimmen på att såhär
880 00:34:27,420 --> 00:34:29,440
hur får jag till en
881 00:34:29,440 --> 00:34:31,540
SQL query som lägger till en
882 00:34:31,540 --> 00:34:33,660
användare? Och efter det så var jag såhär
883 00:34:33,660 --> 00:34:36,320
men vänta nu, hur ser API-anropet
884 00:34:36,320 --> 00:34:37,760
för att lägga till en användare ut?
885 00:34:37,920 --> 00:34:38,620
Fan, det var lättare.
886 00:34:39,500 --> 00:34:40,840
Så det var ju också liksom
887 00:34:40,840 --> 00:34:43,620
oautentiserad
888 00:34:43,620 --> 00:34:45,260
till
889 00:34:45,260 --> 00:34:47,580
remote code
890 00:34:47,580 --> 00:34:48,860
execution på
891 00:34:48,860 --> 00:34:50,460
några sekunder.
892 00:34:51,600 --> 00:34:53,600
Det är snyggt. På grund av att man kan lägga till
893 00:34:53,600 --> 00:34:55,400
en användare, ladda upp
894 00:34:55,400 --> 00:34:57,640
zip-filen, göra
895 00:34:57,640 --> 00:34:58,640
anrop till en
896 00:34:58,640 --> 00:35:01,540
ISP-fil som man har lagt på
897 00:35:01,540 --> 00:35:03,580
lämpligt
898 00:35:03,580 --> 00:35:05,340
ställe. Okej, så du kan ladda upp
899 00:35:05,340 --> 00:35:07,480
en användare kan du skapa oautentiserat.
900 00:35:07,660 --> 00:35:09,300
Ja. Och den användaren kan
901 00:35:09,300 --> 00:35:11,260
ladda upp en zip-fil som
902 00:35:11,260 --> 00:35:13,560
packas upp och i den ligger sig en ISP-bakdörr.
903 00:35:13,620 --> 00:35:15,520
Egentligen måste jag ge
904 00:35:15,520 --> 00:35:17,600
användaren admin-rättigheter
905 00:35:17,600 --> 00:35:19,480
också. Men det gör man ju också i
906 00:35:19,480 --> 00:35:21,960
user manager. Oautentiserad?
907 00:35:22,060 --> 00:35:22,280
Ja.
908 00:35:23,860 --> 00:35:25,200
Snyggt. I have no words.
909 00:35:25,460 --> 00:35:27,740
Fast det här är ju också liksom
910 00:35:27,740 --> 00:35:28,740
om man börjar
911 00:35:28,740 --> 00:35:31,080
titta på API-er.
912 00:35:31,500 --> 00:35:33,380
Om man kollar på alla
913 00:35:33,380 --> 00:35:34,780
anrop som går att
914 00:35:34,780 --> 00:35:37,420
göra. Det är alltid några stycken
915 00:35:37,420 --> 00:35:39,580
som går att göra utan att logga in.
916 00:35:39,900 --> 00:35:41,140
Av någon
917 00:35:41,700 --> 00:35:43,360
anledning så är det där väldigt svårt.
918 00:35:43,620 --> 00:35:45,520
Så det är
919 00:35:45,520 --> 00:35:47,520
effektivt.
920 00:35:48,200 --> 00:35:48,940
Inte jätte
921 00:35:48,940 --> 00:35:50,800
avancerat men
922 00:35:50,800 --> 00:35:52,460
vem bryr sig.
923 00:35:52,700 --> 00:35:54,900
Det är en bug, den ska fixas.
924 00:35:55,860 --> 00:35:57,520
Ja, och det är en ganska allvarlig bug dessutom.
925 00:35:57,620 --> 00:35:58,140
Herregud, ja.
926 00:35:58,860 --> 00:36:00,920
Det finns inte heller mycket allvarligare det kan bli.
927 00:36:01,600 --> 00:36:02,340
Det har varit helt remote.
928 00:36:03,040 --> 00:36:05,580
Men vad tänkte jag på, hur jobbar du
929 00:36:05,580 --> 00:36:07,460
typiskt? Bygger du en installation av de här
930 00:36:07,460 --> 00:36:09,160
för att kunna titta på dem lite bättre eller?
931 00:36:09,160 --> 00:36:09,460
Ja.
932 00:36:10,320 --> 00:36:12,980
Jag brukar börja med att bygga en
933 00:36:12,980 --> 00:36:13,580
installation.
934 00:36:13,620 --> 00:36:15,820
Se till så att
935 00:36:15,820 --> 00:36:17,660
den funkar. För att det blir
936 00:36:17,660 --> 00:36:19,260
lite anti-klimax.
937 00:36:19,700 --> 00:36:19,960
Annars.
938 00:36:21,260 --> 00:36:23,720
Sen brukar jag börja med
939 00:36:23,720 --> 00:36:24,640
att lägga åtminstone
940 00:36:24,640 --> 00:36:27,200
två, tre timmar på att bara
941 00:36:27,200 --> 00:36:29,280
läsa kod.
942 00:36:29,840 --> 00:36:31,400
Och då brukar jag börja i
943 00:36:31,400 --> 00:36:33,400
utils-folden.
944 00:36:33,480 --> 00:36:35,880
Börjar du med koden från en dokumentation?
945 00:36:38,440 --> 00:36:39,640
Ja, faktiskt.
946 00:36:40,180 --> 00:36:41,580
Men jag skulle
947 00:36:41,580 --> 00:36:43,580
inte ge mig in på att läsa
948 00:36:43,620 --> 00:36:45,620
alltså i utils-folden
949 00:36:45,620 --> 00:36:47,620
så ligger väldigt ofta
950 00:36:47,620 --> 00:36:49,620
sånt som till exempel
951 00:36:49,620 --> 00:36:51,620
password reset
952 00:36:51,620 --> 00:36:53,620
grejer och sånt.
953 00:36:53,620 --> 00:36:55,620
Och det gör att man kan hitta rätt såhär
954 00:36:55,620 --> 00:36:57,620
enkla
955 00:36:57,620 --> 00:36:59,620
pluggar fort. Och så får man
956 00:36:59,620 --> 00:37:01,620
dem ur vägen liksom.
957 00:37:01,620 --> 00:37:03,620
Efter det så brukar jag
958 00:37:03,620 --> 00:37:05,620
börja med att använda
959 00:37:05,620 --> 00:37:07,620
vad det nu är
960 00:37:07,620 --> 00:37:09,620
jag tittar på. Och liksom få lite
961 00:37:09,620 --> 00:37:11,620
känsla för att den där koden jag såg
962 00:37:11,620 --> 00:37:13,620
det är alltså den här funktionen antagligen.
963 00:37:13,620 --> 00:37:15,620
Hur ser flödet ut?
964 00:37:15,620 --> 00:37:17,620
Intressant liksom. Och så
965 00:37:17,620 --> 00:37:19,620
efter det så
966 00:37:19,620 --> 00:37:21,620
pendlar jag lite.
967 00:37:21,620 --> 00:37:23,620
Men när jag kommer till att
968 00:37:23,620 --> 00:37:25,620
såhär, nu har jag tittat
969 00:37:25,620 --> 00:37:27,620
igenom allting.
970 00:37:27,620 --> 00:37:29,620
Jag tror att jag vet
971 00:37:29,620 --> 00:37:31,620
vad allting gör.
972 00:37:31,620 --> 00:37:33,620
Då läser jag i stort sett
973 00:37:33,620 --> 00:37:35,620
kod bara. Och sen när jag
974 00:37:35,620 --> 00:37:37,620
hittar någonting eller tror att jag
975 00:37:37,620 --> 00:37:39,620
hittar någonting då
976 00:37:39,620 --> 00:37:41,620
testar jag det.
977 00:37:41,620 --> 00:37:43,620
Det verkar vara en ganska effektiv metod.
978 00:37:43,620 --> 00:37:45,620
Ja, det verkar funka.
979 00:37:45,620 --> 00:37:47,620
Ja, uppenbarligen. Så där har ni
980 00:37:47,620 --> 00:37:49,620
lite tips till stundande open source
981 00:37:49,620 --> 00:37:51,620
vad det nu kallade
982 00:37:51,620 --> 00:37:53,620
det. Det här är ju lite såhär
983 00:37:53,620 --> 00:37:55,620
Det här är ju
984 00:37:55,620 --> 00:37:57,620
lite beroende på hur mycket man gillar
985 00:37:57,620 --> 00:37:59,620
att läsa
986 00:37:59,620 --> 00:38:01,620
kod också. För det blir en jäkla massa
987 00:38:01,620 --> 00:38:03,620
kodläsare. Men
988 00:38:03,620 --> 00:38:05,620
det kan man göra när man åker buss.
989 00:38:05,620 --> 00:38:07,620
Man kan ju börja med att
990 00:38:07,620 --> 00:38:09,620
läsa dokumentationen eller läsa
991 00:38:09,620 --> 00:38:11,620
eller läsa
992 00:38:11,620 --> 00:38:13,620
vad man nu gillar att börja.
993 00:38:13,620 --> 00:38:15,620
Eller börja använda
994 00:38:15,620 --> 00:38:17,620
applikationen och lära sig hur flödet är.
995 00:38:17,620 --> 00:38:19,620
Jag älskar ju att läsa protokollspesar.
996 00:38:19,620 --> 00:38:21,620
Och leta
997 00:38:21,620 --> 00:38:23,620
logiska fel i protokollspesar.
998 00:38:23,620 --> 00:38:25,620
Det är underbart. Jag kommer stå på din
999 00:38:25,620 --> 00:38:27,620
grafskärm. Jag älskar att läsa
1000 00:38:27,620 --> 00:38:29,620
protokollspesar. Det där låter lite
1001 00:38:29,620 --> 00:38:31,620
perverst. Ja, det är perverst.
1002 00:38:31,620 --> 00:38:33,620
Det är värre än så. Och det gäller dessutom att läsa
1003 00:38:33,620 --> 00:38:35,620
EU-lass. Ja, det med.
1004 00:38:35,620 --> 00:38:37,620
Ja, mardröm.
1005 00:38:37,620 --> 00:38:39,620
Och lagförslag.
1006 00:38:39,620 --> 00:38:41,620
Åh herregud.
1007 00:38:41,620 --> 00:38:43,620
Alright.
1008 00:38:43,620 --> 00:38:45,620
Okej, men ska vi hoppa
1009 00:38:45,620 --> 00:38:47,620
vidare lite kanske. Du har ju tidigare
1010 00:38:47,620 --> 00:38:49,620
pratat lite om
1011 00:38:49,620 --> 00:38:51,620
Defender Economics.
1012 00:38:51,620 --> 00:38:53,620
Ja. Vad är det?
1013 00:38:53,620 --> 00:38:55,620
Är det någonting vi vill gå igenom idag?
1014 00:38:55,620 --> 00:38:57,620
Tycker jag.
1015 00:38:57,620 --> 00:38:59,620
Ja, om ni vill.
1016 00:38:59,620 --> 00:39:01,620
Förklara snabbt.
1017 00:39:01,620 --> 00:39:03,620
Okej, alltså. Säg något
1018 00:39:03,620 --> 00:39:05,620
kontroversiellt. Ja, säg något bra.
1019 00:39:05,620 --> 00:39:07,620
Hoppa, hoppa.
1020 00:39:07,620 --> 00:39:08,620
Konceptet.
1021 00:39:08,620 --> 00:39:10,620
Från Joakim Lamotte.
1022 00:39:10,620 --> 00:39:12,620
Vem fan är det?
1023 00:39:12,620 --> 00:39:14,620
Ja, men det var den där killen som gick ut. Han är någon form av tyckare
1024 00:39:14,620 --> 00:39:16,620
här i Göteborg. Han gick ut på
1025 00:39:16,620 --> 00:39:18,620
Twitter igår och sa, jag har gjort mer.
1026 00:39:18,620 --> 00:39:20,620
Vad är det nu? Jag har gjort mer för att förhindra
1027 00:39:20,620 --> 00:39:22,620
våld mot kvinnor på
1028 00:39:22,620 --> 00:39:24,620
två veckor än vad Fia har gjort på tolv år.
1029 00:39:24,620 --> 00:39:26,620
Ja.
1030 00:39:26,620 --> 00:39:28,620
Slutar han
1031 00:39:28,620 --> 00:39:30,620
slå sin fru eller vad var det?
1032 00:39:30,620 --> 00:39:32,620
Han var sjuk. Han var sjuk.
1033 00:39:32,620 --> 00:39:34,620
Ja.
1034 00:39:34,620 --> 00:39:36,620
Ja, det verkar väl.
1035 00:39:36,620 --> 00:39:38,620
Ja. Intressant. Det här var den.
1036 00:39:38,620 --> 00:39:40,620
Det här var något av ett sidospår men det var för att
1037 00:39:40,620 --> 00:39:42,620
en kvinna hade kontaktat honom och sagt
1038 00:39:42,620 --> 00:39:44,620
jag har vunnit en massa pengar på Triss. Jag vill göra
1039 00:39:44,620 --> 00:39:46,620
någonting bra för världen så jag vill anlita dig som
1040 00:39:46,620 --> 00:39:48,620
talare för den här grejen.
1041 00:39:48,620 --> 00:39:50,620
Och han bara, absolut. Kommentarerna
1042 00:39:50,620 --> 00:39:52,620
på det också då. Fast kunde jag gjort det gratis
1043 00:39:52,620 --> 00:39:54,620
och bara gett det där till välgörenhet?
1044 00:39:54,620 --> 00:39:56,620
Det var min första tanke också.
1045 00:39:56,620 --> 00:39:58,620
Ja, jag har gjort mer för blablabla.
1046 00:39:58,620 --> 00:40:00,620
Okej. Något av ett sidospår.
1047 00:40:00,620 --> 00:40:02,620
Ja, intressant. Move on.
1048 00:40:02,620 --> 00:40:04,620
Jo, det där
1049 00:40:04,620 --> 00:40:06,620
var väl ett
1050 00:40:06,620 --> 00:40:08,620
koncept som dök upp för
1051 00:40:08,620 --> 00:40:10,620
några år sedan. Kanske två, tre år sedan.
1052 00:40:10,620 --> 00:40:12,620
Defender Economics, alltså inte våld mot kvinnor.
1053 00:40:12,620 --> 00:40:14,620
Ja, precis.
1054 00:40:14,620 --> 00:40:16,620
Defender Economics. Tack för dina klarheter.
1055 00:40:16,620 --> 00:40:18,620
Fan.
1056 00:40:18,620 --> 00:40:20,620
Fast våld mot kvinnor? Nej jag ska inte.
1057 00:40:20,620 --> 00:40:22,620
Jag ska inte öppna den.
1058 00:40:22,620 --> 00:40:24,620
Men
1059 00:40:24,620 --> 00:40:26,620
det var väl lite
1060 00:40:26,620 --> 00:40:28,620
grann en såhär
1061 00:40:28,620 --> 00:40:30,620
motreaktion på
1062 00:40:30,620 --> 00:40:32,620
APT. Ja.
1063 00:40:32,620 --> 00:40:34,620
APT och att
1064 00:40:34,620 --> 00:40:36,620
både media och liksom
1065 00:40:36,620 --> 00:40:38,620
produktleverantörer
1066 00:40:38,620 --> 00:40:40,620
började hävda att
1067 00:40:40,620 --> 00:40:42,620
angripare är så sjukt
1068 00:40:42,620 --> 00:40:44,620
avancerade. Ni har inte en chans
1069 00:40:44,620 --> 00:40:46,620
med era gammalmodiga
1070 00:40:46,620 --> 00:40:48,620
grejer liksom. You need to go
1071 00:40:48,620 --> 00:40:50,620
full spectrum cyber. Precis.
1072 00:40:50,620 --> 00:40:52,620
Och det var lite såhär, ni måste köpa
1073 00:40:52,620 --> 00:40:54,620
alla lådorna. Fast alla
1074 00:40:54,620 --> 00:40:56,620
leverantörer sa ju såhär, ni måste köpa alla
1075 00:40:56,620 --> 00:40:58,620
våra lådor. Och så blev jag
1076 00:40:58,620 --> 00:41:00,620
lite såhär, we are the best boxes.
1077 00:41:00,620 --> 00:41:02,620
Och det var inte bara jag.
1078 00:41:02,620 --> 00:41:04,620
Jag var en väldigt liten del i
1079 00:41:04,620 --> 00:41:06,620
någon sorts… Stordel.
1080 00:41:06,620 --> 00:41:08,620
Motreaktion. Okej. I det här rummet
1081 00:41:08,620 --> 00:41:10,620
var jag en stor del men i den
1082 00:41:10,620 --> 00:41:12,620
stora världen var jag en liten del.
1083 00:41:12,620 --> 00:41:14,620
Men
1084 00:41:14,620 --> 00:41:16,620
då var det
1085 00:41:16,620 --> 00:41:18,620
det blev en massa
1086 00:41:18,620 --> 00:41:20,620
research.
1087 00:41:20,620 --> 00:41:22,620
Jag tror att
1088 00:41:22,620 --> 00:41:24,620
Dan Guido var först
1089 00:41:24,620 --> 00:41:26,620
och han gjorde en
1090 00:41:26,620 --> 00:41:28,620
han undersökte
1091 00:41:28,620 --> 00:41:30,620
ett gäng
1092 00:41:30,620 --> 00:41:32,620
exploits som
1093 00:41:32,620 --> 00:41:34,620
så kallade APT-grupper
1094 00:41:34,620 --> 00:41:36,620
hade använt under ett år.
1095 00:41:36,620 --> 00:41:38,620
Och liksom såhär, hur avancerade
1096 00:41:38,620 --> 00:41:40,620
är de? Vad kan de göra?
1097 00:41:40,620 --> 00:41:42,620
Vilka såhär enkla skydd skulle ha
1098 00:41:42,620 --> 00:41:44,620
funkat? Hur många
1099 00:41:44,620 --> 00:41:46,620
sårbarheter har de
1100 00:41:46,620 --> 00:41:48,620
utnyttjat överhuvudtaget?
1101 00:41:48,620 --> 00:41:50,620
För att hans poäng var
1102 00:41:50,620 --> 00:41:52,620
och han är
1103 00:41:52,620 --> 00:41:54,620
liksom…
1104 00:41:54,620 --> 00:41:56,620
Han har hållit på med vulnerability research
1105 00:41:56,620 --> 00:41:58,620
i 15 år. Det är ju inte…
1106 00:41:58,620 --> 00:42:00,620
Han vet faktiskt vad han säger.
1107 00:42:00,620 --> 00:42:02,620
Och hans poäng
1108 00:42:02,620 --> 00:42:04,620
var att man kan inte hålla på
1109 00:42:04,620 --> 00:42:06,620
och patcha allting så fort
1110 00:42:06,620 --> 00:42:08,620
en ny uppdatering
1111 00:42:08,620 --> 00:42:10,620
kommer. Det funkar inte i
1112 00:42:10,620 --> 00:42:12,620
realiteten. Inte på ett
1113 00:42:12,620 --> 00:42:14,620
företag.
1114 00:42:14,620 --> 00:42:16,620
Så han kollade
1115 00:42:16,620 --> 00:42:18,620
och han kom fram med en
1116 00:42:18,620 --> 00:42:20,620
modell som var att
1117 00:42:20,620 --> 00:42:22,620
om du
1118 00:42:22,620 --> 00:42:24,620
håller koll på vad
1119 00:42:24,620 --> 00:42:26,620
riktiga angripare är intresserade
1120 00:42:26,620 --> 00:42:28,620
av, då kan du
1121 00:42:28,620 --> 00:42:30,620
prioritera det. Och sen så kan
1122 00:42:30,620 --> 00:42:32,620
resten kan
1123 00:42:32,620 --> 00:42:34,620
vänta. Och du kan
1124 00:42:34,620 --> 00:42:36,620
dessutom vidta
1125 00:42:36,620 --> 00:42:38,620
åtgärder innan som
1126 00:42:38,620 --> 00:42:40,620
du vet har funkat mot 90%
1127 00:42:40,620 --> 00:42:42,620
av deras
1128 00:42:42,620 --> 00:42:44,620
grejer innan.
1129 00:42:44,620 --> 00:42:46,620
Och sen så…
1130 00:42:46,620 --> 00:42:48,620
Jag spann vidare på det och gjorde lite
1131 00:42:48,620 --> 00:42:50,620
egna modeller och
1132 00:42:50,620 --> 00:42:52,620
hans grejer var kanske
1133 00:42:52,620 --> 00:42:54,620
två år innan mig.
1134 00:42:54,620 --> 00:42:56,620
Så det hann ju hända en
1135 00:42:56,620 --> 00:42:58,620
hel del.
1136 00:42:58,620 --> 00:43:00,620
Saker ändrades.
1137 00:43:00,620 --> 00:43:02,620
Folk slutade angripa
1138 00:43:02,620 --> 00:43:04,620
Java till exempel.
1139 00:43:04,620 --> 00:43:06,620
Och…
1140 00:43:06,620 --> 00:43:08,620
Det här är lite en
1141 00:43:08,620 --> 00:43:10,620
sån grej att om man
1142 00:43:10,620 --> 00:43:12,620
kollar på Twitter
1143 00:43:12,620 --> 00:43:14,620
eller i säkerhetsmedia
1144 00:43:14,620 --> 00:43:16,620
så är det liksom
1145 00:43:16,620 --> 00:43:18,620
varje gång Oracle
1146 00:43:18,620 --> 00:43:20,620
patchar så är det så här
1147 00:43:20,620 --> 00:43:22,620
Åh herregud! 20 remote
1148 00:43:22,620 --> 00:43:24,620
code execution buggar i
1149 00:43:24,620 --> 00:43:26,620
Java. Patcha nu!
1150 00:43:26,620 --> 00:43:28,620
Eller dö! Och det är verkligen så här
1151 00:43:28,620 --> 00:43:30,620
inga Java exploits
1152 00:43:30,620 --> 00:43:32,620
in the wild på två år.
1153 00:43:32,620 --> 00:43:34,620
Lugna ner er!
1154 00:43:34,620 --> 00:43:36,620
Det är liksom så här, alltså
1155 00:43:36,620 --> 00:43:38,620
Ja, det är klart att ni ska patcha
1156 00:43:38,620 --> 00:43:40,620
men fan, ha det lugnt.
1157 00:43:40,620 --> 00:43:42,620
Patcha det som folk faktiskt kommer
1158 00:43:42,620 --> 00:43:44,620
att angripa sen.
1159 00:43:44,620 --> 00:43:46,620
Men det är ju sig lite svårt att veta i förväg
1160 00:43:46,620 --> 00:43:48,620
för jag menar trenden förändras ju.
1161 00:43:48,620 --> 00:43:50,620
Absolut, det gör den ju. Men…
1162 00:43:52,620 --> 00:43:54,620
Jag tänker om man…
1163 00:43:54,620 --> 00:43:56,620
Jag tänker så här
1164 00:43:56,620 --> 00:43:58,620
The flip side
1165 00:43:58,620 --> 00:44:00,620
of this coin då. Tänk attacker
1166 00:44:00,620 --> 00:44:02,620
economics.
1167 00:44:02,620 --> 00:44:04,620
Vad kan jag angripa
1168 00:44:04,620 --> 00:44:06,620
i stora
1169 00:44:06,620 --> 00:44:08,620
mängder som ger
1170 00:44:08,620 --> 00:44:10,620
lite return per
1171 00:44:10,620 --> 00:44:12,620
offer
1172 00:44:12,620 --> 00:44:14,620
men som är
1173 00:44:14,620 --> 00:44:16,620
tillräckligt litet och fjuttigt för att
1174 00:44:16,620 --> 00:44:18,620
de lokala poliserna inte ska
1175 00:44:18,620 --> 00:44:20,620
jaga mig för det.
1176 00:44:20,620 --> 00:44:22,620
Ransomware. Ja men precis.
1177 00:44:22,620 --> 00:44:24,620
Det är därför vi säger ransomware.
1178 00:44:24,620 --> 00:44:26,620
Det är ju där pengarna finns nu.
1179 00:44:26,620 --> 00:44:28,620
För folk betalar.
1180 00:44:28,620 --> 00:44:30,620
För de har inte backupper och har de backupper
1181 00:44:30,620 --> 00:44:32,620
så är de skrivbara från samma klient som blir
1182 00:44:32,620 --> 00:44:34,620
tagen i tvåan liksom.
1183 00:44:34,620 --> 00:44:36,620
Jaha.
1184 00:44:36,620 --> 00:44:38,620
Men och så
1185 00:44:38,620 --> 00:44:40,620
min
1186 00:44:40,620 --> 00:44:42,620
Defender Economics presentation
1187 00:44:42,620 --> 00:44:44,620
som jag höll på
1188 00:44:44,620 --> 00:44:46,620
troopers i Tyskland
1189 00:44:46,620 --> 00:44:48,620
Ovasp Göteborg och
1190 00:44:48,620 --> 00:44:50,620
Ovasp Norge
1191 00:44:50,620 --> 00:44:52,620
eller heter det Ovasp
1192 00:44:52,620 --> 00:44:54,620
Oslo. Jag vet.
1193 00:44:54,620 --> 00:44:56,620
Osan. Hur som helst.
1194 00:44:56,620 --> 00:44:58,620
Den går mer ut på att
1195 00:44:58,620 --> 00:45:00,620
jag pratar om lite modeller
1196 00:45:00,620 --> 00:45:02,620
för hur det här
1197 00:45:02,620 --> 00:45:04,620
har implementerats.
1198 00:45:04,620 --> 00:45:06,620
Och då använder jag Google Chrome
1199 00:45:06,620 --> 00:45:08,620
som ett exempel.
1200 00:45:08,620 --> 00:45:10,620
För att
1201 00:45:10,620 --> 00:45:12,620
Google Chrome är världens mest använda
1202 00:45:12,620 --> 00:45:14,620
webbläsare.
1203 00:45:14,620 --> 00:45:16,620
Med Roger.
1204 00:45:16,620 --> 00:45:18,620
Och
1205 00:45:18,620 --> 00:45:20,620
när man då kollar på hur till exempel
1206 00:45:20,620 --> 00:45:22,620
Malware funkar.
1207 00:45:22,620 --> 00:45:24,620
Om man kollar på vanlig Malware
1208 00:45:24,620 --> 00:45:26,620
som till exempel ransomware.
1209 00:45:26,620 --> 00:45:28,620
Så deras
1210 00:45:28,620 --> 00:45:30,620
businessmodell är ju såhär infektera
1211 00:45:30,620 --> 00:45:32,620
så många du kan.
1212 00:45:32,620 --> 00:45:34,620
Vi skiter i vem vi
1213 00:45:34,620 --> 00:45:36,620
liksom
1214 00:45:36,620 --> 00:45:38,620
ger oss på.
1215 00:45:38,620 --> 00:45:40,620
Vi vill infektera så många som
1216 00:45:40,620 --> 00:45:42,620
möjligt. Och då borde ju världens
1217 00:45:42,620 --> 00:45:44,620
mest använda webbläsare
1218 00:45:44,620 --> 00:45:46,620
vara ett ganska saftigt mål.
1219 00:45:46,620 --> 00:45:48,620
Men
1220 00:45:48,620 --> 00:45:50,620
det är inte det. Och det finns ett
1221 00:45:50,620 --> 00:45:52,620
antal faktorer som gör att
1222 00:45:52,620 --> 00:45:54,620
den inte är det.
1223 00:45:54,620 --> 00:45:56,620
Och det har ju mycket att göra med hur
1224 00:45:56,620 --> 00:45:58,620
de har byggt sin arkitektur.
1225 00:45:58,620 --> 00:46:00,620
Att
1226 00:46:00,620 --> 00:46:02,620
det
1227 00:46:02,620 --> 00:46:04,620
krävs rätt mycket för att
1228 00:46:04,620 --> 00:46:06,620
kunna exekvera
1229 00:46:06,620 --> 00:46:08,620
kod via en
1230 00:46:08,620 --> 00:46:10,620
serverhet i Chrome.
1231 00:46:10,620 --> 00:46:12,620
Du måste kedja kanske
1232 00:46:12,620 --> 00:46:14,620
åtminstone 5-6
1233 00:46:14,620 --> 00:46:16,620
olika buggar.
1234 00:46:16,620 --> 00:46:18,620
Och
1235 00:46:18,620 --> 00:46:20,620
så är det ju
1236 00:46:20,620 --> 00:46:22,620
det här med automatiska
1237 00:46:22,620 --> 00:46:24,620
uppdateringar.
1238 00:46:24,620 --> 00:46:26,620
Vilket gör att
1239 00:46:26,620 --> 00:46:28,620
även om du skulle lyckas
1240 00:46:28,620 --> 00:46:30,620
kedja 5-6 buggar
1241 00:46:30,620 --> 00:46:32,620
så skulle
1242 00:46:32,620 --> 00:46:34,620
den exploiten upptäckas
1243 00:46:34,620 --> 00:46:36,620
rätt fort.
1244 00:46:36,620 --> 00:46:38,620
Chrome har ju liksom
1245 00:46:38,620 --> 00:46:40,620
eller Google har ju
1246 00:46:40,620 --> 00:46:42,620
anställt folk så att deras säkerhetsteam
1247 00:46:42,620 --> 00:46:44,620
är, de jobbar inte
1248 00:46:44,620 --> 00:46:46,620
bara med att hacka saker
1249 00:46:46,620 --> 00:46:48,620
utan de skriver
1250 00:46:48,620 --> 00:46:50,620
patchar också.
1251 00:46:50,620 --> 00:46:52,620
Själva. Så de kan
1252 00:46:52,620 --> 00:46:54,620
patcha på 24 timmar.
1253 00:46:54,620 --> 00:46:56,620
Det innebär att i stort sett alla
1254 00:46:56,620 --> 00:46:58,620
i hela världen har patchat inom 48
1255 00:46:58,620 --> 00:47:00,620
timmar. För så fort du
1256 00:47:00,620 --> 00:47:02,620
startar om din browser så är du patchad. Exakt.
1257 00:47:02,620 --> 00:47:04,620
Och det innebär att
1258 00:47:04,620 --> 00:47:06,620
den buggen är värd, eller
1259 00:47:06,620 --> 00:47:08,620
den Remote Code Execution
1260 00:47:08,620 --> 00:47:10,620
kedjan är värd ganska lite.
1261 00:47:10,620 --> 00:47:12,620
Eftersom du kan bara använda
1262 00:47:12,620 --> 00:47:14,620
den ett visst antal gånger.
1263 00:47:14,620 --> 00:47:16,620
Men här argumenterar du egentligen emot
1264 00:47:16,620 --> 00:47:18,620
Dan Guido då. För att han hävdar ju att
1265 00:47:18,620 --> 00:47:20,620
du kan inte patcha allt i det, liksom det
1266 00:47:20,620 --> 00:47:22,620
löser sig inte. Men här säger du egentligen att en
1267 00:47:22,620 --> 00:47:24,620
mekanism som gör att Chrome har klarat sig är att de
1268 00:47:24,620 --> 00:47:26,620
patchar superfort. Ja fast jag tycker inte
1269 00:47:26,620 --> 00:47:28,620
att jag talar emot egentligen.
1270 00:47:28,620 --> 00:47:30,620
I dagsläget så
1271 00:47:30,620 --> 00:47:32,620
kan du inte patcha allt. Speciellt inte
1272 00:47:32,620 --> 00:47:34,620
på ett företag. För att saker
1273 00:47:34,620 --> 00:47:36,620
går sönder. Du måste testa.
1274 00:47:36,620 --> 00:47:38,620
Fast det är ju för att folk har skrivit
1275 00:47:38,620 --> 00:47:40,620
applikationer för Internet Explorer
1276 00:47:40,620 --> 00:47:42,620
version X.
1277 00:47:42,620 --> 00:47:44,620
Absolut, men det är ingenting
1278 00:47:44,620 --> 00:47:46,620
du löser i din användning.
1279 00:47:46,620 --> 00:47:48,620
Säkerhetsmänniskor
1280 00:47:48,620 --> 00:47:50,620
resulterar ju såhär, fixa det bara.
1281 00:47:50,620 --> 00:47:52,620
Ett knep vore ju
1282 00:47:52,620 --> 00:47:54,620
såhär, okej fine, ni vill köra
1283 00:47:54,620 --> 00:47:56,620
IE6 eller 8 eller 9 eller
1284 00:47:56,620 --> 00:47:58,620
whatever. Gör det
1285 00:47:58,620 --> 00:48:00,620
på ert intranät. Men
1286 00:48:00,620 --> 00:48:02,620
så fort ni ska ut på stora stycken internet
1287 00:48:02,620 --> 00:48:04,620
ja då är det den här webbläsaren som gäller
1288 00:48:04,620 --> 00:48:06,620
och den är up to date. Absolut
1289 00:48:06,620 --> 00:48:08,620
jag menar det är
1290 00:48:08,620 --> 00:48:10,620
det här går ju att lösa. Okej men om vi ska
1291 00:48:10,620 --> 00:48:12,620
nyansera det då, vår tolkning
1292 00:48:12,620 --> 00:48:14,620
av Dungweed då är det egentligen det att
1293 00:48:14,620 --> 00:48:16,620
jo du bör patcha supersnabbt
1294 00:48:16,620 --> 00:48:18,620
och allting, men
1295 00:48:18,620 --> 00:48:20,620
det finns situationer där det är väldigt svårt.
1296 00:48:20,620 --> 00:48:22,620
Och då kan du
1297 00:48:22,620 --> 00:48:24,620
jobba med andra metodiken. Det vill säga
1298 00:48:24,620 --> 00:48:26,620
använda andra sätt
1299 00:48:26,620 --> 00:48:28,620
att bygga miljön som gör att de standard
1300 00:48:28,620 --> 00:48:30,620
attackerna inte funkar.
1301 00:48:30,620 --> 00:48:32,620
Eller patcha det som är viktigt.
1302 00:48:32,620 --> 00:48:34,620
Men hemma och köpa en låda då?
1303 00:48:34,620 --> 00:48:36,620
Själva grejen är ju
1304 00:48:36,620 --> 00:48:38,620
håll käften.
1305 00:48:38,620 --> 00:48:40,620
Själva grejen är ju
1306 00:48:40,620 --> 00:48:42,620
mer att
1307 00:48:42,620 --> 00:48:44,620
om din
1308 00:48:44,620 --> 00:48:46,620
om din browser uppdaterar
1309 00:48:46,620 --> 00:48:48,620
sig själv, så är det inte du som
1310 00:48:48,620 --> 00:48:50,620
patchar. Det är ju den manuella
1311 00:48:50,620 --> 00:48:52,620
patchhanteringen som ofta tillkommer
1312 00:48:52,620 --> 00:48:54,620
på ett företag. Det är den som är med
1313 00:48:54,620 --> 00:48:56,620
på klient och backend.
1314 00:48:56,620 --> 00:48:58,620
Absolut.
1315 00:48:58,620 --> 00:49:00,620
Det är ju sällan utskjutandet
1316 00:49:00,620 --> 00:49:02,620
av patchar som är problemet, utan det är väl
1317 00:49:02,620 --> 00:49:04,620
de eventuella konsekvenser
1318 00:49:04,620 --> 00:49:06,620
av utskjutandet av patchar som är problemet.
1319 00:49:06,620 --> 00:49:08,620
Om den är manuell eller matematisk har ju mindre betydelse.
1320 00:49:08,620 --> 00:49:10,620
Folk som motsätter
1321 00:49:10,620 --> 00:49:12,620
sig en change för att de är rädda
1322 00:49:12,620 --> 00:49:14,620
att deras grejer ska…
1323 00:49:14,620 --> 00:49:16,620
Men det är också frågan om man kollar på det då.
1324 00:49:16,620 --> 00:49:18,620
Var kommer infekteringar
1325 00:49:18,620 --> 00:49:20,620
oftast, är det väl från en klient
1326 00:49:20,620 --> 00:49:22,620
som är inkopplad i det lokala
1327 00:49:22,620 --> 00:49:24,620
nätet?
1328 00:49:24,620 --> 00:49:26,620
Och som har varit ute och surfat
1329 00:49:26,620 --> 00:49:28,620
på någon sajt och blivit infekterad?
1330 00:49:28,620 --> 00:49:30,620
Det är väl värt
1331 00:49:30,620 --> 00:49:32,620
att patcha just det som klienten
1332 00:49:32,620 --> 00:49:34,620
använder ändå, exempelvis webbläsaren
1333 00:49:34,620 --> 00:49:36,620
eller vad det nu är.
1334 00:49:36,620 --> 00:49:38,620
Det är ju dessutom värt
1335 00:49:38,620 --> 00:49:40,620
att highlighta också att
1336 00:49:40,620 --> 00:49:42,620
rena exploits blir
1337 00:49:42,620 --> 00:49:44,620
färre och färre
1338 00:49:44,620 --> 00:49:46,620
när det gäller sånt. Det finns en anledning till
1339 00:49:46,620 --> 00:49:48,620
varför makrovirus har
1340 00:49:48,620 --> 00:49:50,620
kommit tillbaka. Det är ju för att
1341 00:49:50,620 --> 00:49:52,620
memory
1342 00:49:52,620 --> 00:49:54,620
corruption är
1343 00:49:54,620 --> 00:49:56,620
skitsvårt idag.
1344 00:49:56,620 --> 00:49:58,620
Ett modernt OS.
1345 00:49:58,620 --> 00:50:00,620
Modern browser.
1346 00:50:00,620 --> 00:50:02,620
Till och med
1347 00:50:02,620 --> 00:50:04,620
Flash är svårare
1348 00:50:04,620 --> 00:50:06,620
nu.
1349 00:50:06,620 --> 00:50:08,620
Ganska mycket än
1350 00:50:08,620 --> 00:50:10,620
för ett år sedan. På grund
1351 00:50:10,620 --> 00:50:12,620
av att de har också gjort en hel del grejer
1352 00:50:12,620 --> 00:50:14,620
med hjälp av
1353 00:50:14,620 --> 00:50:16,620
Chromes team.
1354 00:50:16,620 --> 00:50:18,620
Det känns som att ett modernt OS
1355 00:50:18,620 --> 00:50:20,620
med en uppdaterad browser idag
1356 00:50:20,620 --> 00:50:22,620
då börjar det bli besvärligt.
1357 00:50:22,620 --> 00:50:24,620
Mycket.
1358 00:50:24,620 --> 00:50:26,620
Det vi kommer att se då är
1359 00:50:26,620 --> 00:50:28,620
social engineering.
1360 00:50:28,620 --> 00:50:30,620
Det går att skydda sig mot.
1361 00:50:30,620 --> 00:50:32,620
Om vi säger om
1362 00:50:32,620 --> 00:50:34,620
du får…
1363 00:50:34,620 --> 00:50:36,620
Hur tänker du nu?
1364 00:50:36,620 --> 00:50:38,620
På riktigt.
1365 00:50:38,620 --> 00:50:40,620
Om vi hade fått prata färdigt.
1366 00:50:42,620 --> 00:50:44,620
Nu tänker jag inte säga.
1367 00:50:44,620 --> 00:50:46,620
Nu är jag sur.
1368 00:50:46,620 --> 00:50:48,620
Alltså
1369 00:50:48,620 --> 00:50:50,620
om vi säger
1370 00:50:50,620 --> 00:50:52,620
om vi säger
1371 00:50:52,620 --> 00:50:54,620
så här. En användare
1372 00:50:54,620 --> 00:50:56,620
får ett mail.
1373 00:50:56,620 --> 00:50:58,620
I det mailet står det någonting social engineering.
1374 00:50:58,620 --> 00:51:00,620
Och det är en länk.
1375 00:51:00,620 --> 00:51:02,620
Användaren går till
1376 00:51:02,620 --> 00:51:04,620
den länken. Någon utnyttjar
1377 00:51:04,620 --> 00:51:06,620
det i hans webbrowser.
1378 00:51:06,620 --> 00:51:08,620
Okej.
1379 00:51:10,620 --> 00:51:12,620
Det var det liksom.
1380 00:51:12,620 --> 00:51:14,620
Om vi säger då utan exploit.
1381 00:51:14,620 --> 00:51:16,620
Då har vi så här.
1382 00:51:16,620 --> 00:51:18,620
Sammanvändare får ett mail.
1383 00:51:18,620 --> 00:51:20,620
Social engineering. Hej jag är en
1384 00:51:20,620 --> 00:51:22,620
nigeriansk prins.
1385 00:51:24,620 --> 00:51:26,620
Har han mailat dig också?
1386 00:51:26,620 --> 00:51:28,620
Han klickar på länken.
1387 00:51:28,620 --> 00:51:30,620
Kommer till typ Outlook
1388 00:51:30,620 --> 00:51:32,620
webaccess.
1389 00:51:32,620 --> 00:51:34,620
Fast take.
1390 00:51:34,620 --> 00:51:36,620
Och
1391 00:51:36,620 --> 00:51:38,620
loggar in.
1392 00:51:38,620 --> 00:51:40,620
De får tag på hans
1393 00:51:40,620 --> 00:51:42,620
inloggningsuppgifter.
1394 00:51:42,620 --> 00:51:44,620
Men allt
1395 00:51:44,620 --> 00:51:46,620
hos hans företag
1396 00:51:46,620 --> 00:51:48,620
vars inloggningsuppgifter han just har
1397 00:51:48,620 --> 00:51:50,620
lämnat ut. Allt som är internet facing
1398 00:51:50,620 --> 00:51:52,620
använder två faktor.
1399 00:51:52,620 --> 00:51:54,620
Ja absolut.
1400 00:51:54,620 --> 00:51:56,620
Enklare.
1401 00:51:56,620 --> 00:51:58,620
Så är det ju. Alltså.
1402 00:51:58,620 --> 00:52:00,620
Men det är ju.
1403 00:52:00,620 --> 00:52:02,620
Det är väl ingen som säger att det inte finns
1404 00:52:02,620 --> 00:52:04,620
lösningar i problemet. Om alla använde två
1405 00:52:04,620 --> 00:52:06,620
faktor överallt så hade det varit en fantastisk plats.
1406 00:52:06,620 --> 00:52:08,620
Precis. Nu är det ju inte så enkelt.
1407 00:52:08,620 --> 00:52:10,620
Nej det ligger ju i linje med att det inte
1408 00:52:10,620 --> 00:52:12,620
går att patcha allt supersnabbt heller.
1409 00:52:12,620 --> 00:52:14,620
Jag tänker bara vad blir logiskt nästa steg
1410 00:52:14,620 --> 00:52:16,620
då när det blir för jobbigt att
1411 00:52:16,620 --> 00:52:18,620
exploita folk.
1412 00:52:18,620 --> 00:52:20,620
Jag köper inte för att alltså det finns
1413 00:52:20,620 --> 00:52:22,620
ju tusen sätt att lura användare och de är ju
1414 00:52:22,620 --> 00:52:24,620
så hjälpsamma. Man kan skicka en zip-fil
1415 00:52:24,620 --> 00:52:26,620
här. Du får låsa upp
1416 00:52:26,620 --> 00:52:28,620
den här krypterade zip-filen med det här hemliga
1417 00:52:28,620 --> 00:52:30,620
lösenordet som jag skickar med i samma mail.
1418 00:52:30,620 --> 00:52:32,620
Den seglar förbi antivirus
1419 00:52:32,620 --> 00:52:34,620
kontroller och allting
1420 00:52:34,620 --> 00:52:36,620
och sen så klickar de på den här
1421 00:52:36,620 --> 00:52:38,620
skriver in lösenordet, plockar upp den
1422 00:52:38,620 --> 00:52:40,620
filen med
1423 00:52:40,620 --> 00:52:42,620
den onda koden och eventuellt
1424 00:52:42,620 --> 00:52:44,620
dubbelklickar på den och installerar den åt den.
1425 00:52:44,620 --> 00:52:46,620
Ja, jo, jo visst.
1426 00:52:46,620 --> 00:52:48,620
På riktigt, det finns ingen.
1427 00:52:48,620 --> 00:52:50,620
You can’t patch stupid.
1428 00:52:52,620 --> 00:52:54,620
Man kan ju. Double barrel shotgun.
1429 00:52:54,620 --> 00:52:56,620
Man kan ju göra det svårare.
1430 00:52:56,620 --> 00:52:58,620
Man kan jobba mycket med awareness och kampanjer
1431 00:52:58,620 --> 00:53:00,620
och så vidare. Det finns ju saker man kan göra där också.
1432 00:53:00,620 --> 00:53:02,620
Men den gamla klassiska silver bulletin
1433 00:53:02,620 --> 00:53:04,620
den finns ju fortfarande inte.
1434 00:53:04,620 --> 00:53:06,620
Det är rätt intressant för jag hörde
1435 00:53:06,620 --> 00:53:08,620
någon, eller jag såg någon fråga
1436 00:53:08,620 --> 00:53:10,620
på Twitter
1437 00:53:10,620 --> 00:53:12,620
igår.
1438 00:53:12,620 --> 00:53:14,620
Har AI, alltså
1439 00:53:14,620 --> 00:53:16,620
Artificial Intelligence eller
1440 00:53:16,620 --> 00:53:18,620
Machine Learning,
1441 00:53:18,620 --> 00:53:20,620
har det löst någonting inom
1442 00:53:20,620 --> 00:53:22,620
säkerhet? Och den frågan är
1443 00:53:22,620 --> 00:53:24,620
visst den är intressant men den är helt
1444 00:53:24,620 --> 00:53:26,620
felställd.
1445 00:53:26,620 --> 00:53:28,620
För vi löser ingenting. Det är inte det vi
1446 00:53:28,620 --> 00:53:30,620
gör. Vi gör saker svårare.
1447 00:53:32,620 --> 00:53:34,620
Vi kommer aldrig lösa något.
1448 00:53:34,620 --> 00:53:36,620
Eller så är det så här, vi har ju löst
1449 00:53:36,620 --> 00:53:38,620
en del problem. Det är bara det
1450 00:53:38,620 --> 00:53:40,620
som inte funkar.
1451 00:53:40,620 --> 00:53:42,620
Vilka då?
1452 00:53:42,620 --> 00:53:44,620
Okej, för att ta ett exempel. Okej, det här är inte en
1453 00:53:44,620 --> 00:53:46,620
100% perfekt lösning i alla fall men
1454 00:53:46,620 --> 00:53:48,620
SQL injection borde inte vara ett lika stort
1455 00:53:48,620 --> 00:53:50,620
problem som det är. Nej, det är inte ett lika stort problem
1456 00:53:50,620 --> 00:53:52,620
men det är inte löst. Nej, men
1457 00:53:52,620 --> 00:53:54,620
vi har ju tillgänglighet för att mer eller mindre
1458 00:53:54,620 --> 00:53:56,620
lösa det.
1459 00:53:56,620 --> 00:53:58,620
Tekniska lösningar finns men…
1460 00:53:58,620 --> 00:54:00,620
Jo, men det är det som är min poäng då.
1461 00:54:02,620 --> 00:54:04,620
Vi kan bara göra
1462 00:54:04,620 --> 00:54:06,620
förutsättningarna liksom så.
1463 00:54:06,620 --> 00:54:08,620
Men det är
1464 00:54:08,620 --> 00:54:10,620
som ett
1465 00:54:10,620 --> 00:54:12,620
exempel.
1466 00:54:12,620 --> 00:54:14,620
Jag har mest tittat på Java
1467 00:54:14,620 --> 00:54:16,620
appar.
1468 00:54:16,620 --> 00:54:18,620
Open source för att
1469 00:54:18,620 --> 00:54:20,620
Apache älskar
1470 00:54:20,620 --> 00:54:22,620
Java.
1471 00:54:22,620 --> 00:54:24,620
Men nu håller jag på
1472 00:54:24,620 --> 00:54:26,620
och kollar på en app
1473 00:54:26,620 --> 00:54:28,620
som är skriven i
1474 00:54:28,620 --> 00:54:30,620
Golang eller
1475 00:54:30,620 --> 00:54:32,620
Go kanske man säger bara.
1476 00:54:32,620 --> 00:54:34,620
Och det är ju ett modernt språk
1477 00:54:34,620 --> 00:54:36,620
som där
1478 00:54:36,620 --> 00:54:38,620
du liksom mer eller mindre neutraliserar
1479 00:54:38,620 --> 00:54:40,620
hela bug
1480 00:54:40,620 --> 00:54:42,620
klasser.
1481 00:54:42,620 --> 00:54:44,620
Som till exempel
1482 00:54:44,620 --> 00:54:46,620
Reflected
1483 00:54:46,620 --> 00:54:48,620
Cross-site scripting
1484 00:54:48,620 --> 00:54:50,620
till exempel ska inte funka
1485 00:54:50,620 --> 00:54:52,620
så länge du har kompat Golang.
1486 00:54:52,620 --> 00:54:54,620
Alltså det ska
1487 00:54:54,620 --> 00:54:56,620
inte gå. Nu…
1488 00:54:56,620 --> 00:54:58,620
Nu kanske det
1489 00:54:58,620 --> 00:55:00,620
går ändå ibland.
1490 00:55:00,620 --> 00:55:02,620
Nu har jag sagt att Mario har
1491 00:55:02,620 --> 00:55:04,620
ett skysst workaround.
1492 00:55:04,620 --> 00:55:06,620
Eller fem.
1493 00:55:06,620 --> 00:55:08,620
Och samma sak med
1494 00:55:08,620 --> 00:55:10,620
Tickle Injection.
1495 00:55:10,620 --> 00:55:12,620
Om du inte hittar på någonting jävligt skumt.
1496 00:55:12,620 --> 00:55:14,620
Alltså om du inte skriver i din egen
1497 00:55:14,620 --> 00:55:16,620
helt galna lib för det.
1498 00:55:16,620 --> 00:55:18,620
Det är ju det som är problemet med Java.
1499 00:55:18,620 --> 00:55:20,620
Att folk använder libbar som
1500 00:55:20,620 --> 00:55:22,620
inte är bra att använda för det.
1501 00:55:22,620 --> 00:55:24,620
Det finns ju i Java också.
1502 00:55:24,620 --> 00:55:26,620
Men det är som i PHP också.
1503 00:55:26,620 --> 00:55:28,620
Fast PHP är ju bara såhär…
1504 00:55:28,620 --> 00:55:30,620
Jo men vadå. Det finns ju
1505 00:55:30,620 --> 00:55:32,620
jättebra funktioner i PHP för att skriva
1506 00:55:32,620 --> 00:55:34,620
superbra cykelfrågor.
1507 00:55:34,620 --> 00:55:36,620
Det är bara att folk inte använder dem.
1508 00:55:36,620 --> 00:55:38,620
Och grejen är också såhär att det finns så mycket
1509 00:55:38,620 --> 00:55:40,620
legacy som ingen vill röra.
1510 00:55:40,620 --> 00:55:42,620
För att man har inte…
1511 00:55:42,620 --> 00:55:44,620
Det är ju dels såhär
1512 00:55:44,620 --> 00:55:46,620
jag känner inte till den koden för jag
1513 00:55:46,620 --> 00:55:48,620
gjorde den inte.
1514 00:55:48,620 --> 00:55:50,620
Dels är det såhär
1515 00:55:50,620 --> 00:55:52,620
laga gammal skit
1516 00:55:52,620 --> 00:55:54,620
det är kul jag vill göra nya saker.
1517 00:55:56,620 --> 00:55:58,620
Det här är ju grejen med
1518 00:55:58,620 --> 00:56:00,620
språk som liksom
1519 00:56:00,620 --> 00:56:02,620
kommer in och är
1520 00:56:02,620 --> 00:56:04,620
bra på de sakerna.
1521 00:56:04,620 --> 00:56:06,620
Från början. Den legacyn kommer
1522 00:56:06,620 --> 00:56:08,620
aldrig finnas. Den kommer ju ha annan
1523 00:56:08,620 --> 00:56:10,620
egen legacy.
1524 00:56:10,620 --> 00:56:12,620
Men förhoppningsvis inte lika
1525 00:56:12,620 --> 00:56:14,620
saker som är
1526 00:56:14,620 --> 00:56:16,620
lika lätta att utnyttja.
1527 00:56:16,620 --> 00:56:18,620
Det finns säkerhetsklasser som inte ens
1528 00:56:18,620 --> 00:56:20,620
är upptäckta ännu. Men…
1529 00:56:20,620 --> 00:56:22,620
Men…
1530 00:56:22,620 --> 00:56:26,620
Okej, vi ser nya programvaruspråk
1531 00:56:26,620 --> 00:56:28,620
utvecklas som då eliminerar hela
1532 00:56:28,620 --> 00:56:30,620
sårbarhetsklasser som du säger.
1533 00:56:30,620 --> 00:56:32,620
Men adoption är ju lite småviktigt där också.
1534 00:56:32,620 --> 00:56:34,620
Ska vi titta på
1535 00:56:34,620 --> 00:56:36,620
utvecklingen den senaste
1536 00:56:36,620 --> 00:56:38,620
så har vi ju gått mot
1537 00:56:38,620 --> 00:56:40,620
javascript i allt större utsträckning.
1538 00:56:40,620 --> 00:56:42,620
Och det vet jag inte riktigt om det är en
1539 00:56:42,620 --> 00:56:44,620
klok utveckling ur säkerhetsperspektiv.
1540 00:56:44,620 --> 00:56:46,620
Det beror på vad man använder. Jag vet att
1541 00:56:46,620 --> 00:56:48,620
Mario till exempel
1542 00:56:48,620 --> 00:56:50,620
tycker att…
1543 00:56:50,620 --> 00:56:52,620
Vad är det han har…
1544 00:56:52,620 --> 00:56:54,620
angular?
1545 00:56:54,620 --> 00:56:56,620
Angular, hur mycket som helst.
1546 00:56:56,620 --> 00:56:58,620
Han tycker ju såhär att ja, det är helt tråkigt.
1547 00:56:58,620 --> 00:57:00,620
Men gemene man
1548 00:57:00,620 --> 00:57:02,620
som hittar en
1549 00:57:02,620 --> 00:57:04,620
XSS lite då och då tycker att det är såhär
1550 00:57:04,620 --> 00:57:06,620
fan det här är ju helt klart.
1551 00:57:06,620 --> 00:57:08,620
Det är ingen idé att jag lägger tid på att hitta den.
1552 00:57:08,620 --> 00:57:10,620
Men de som gräver ner sig i det
1553 00:57:10,620 --> 00:57:12,620
kommer ju naturligtvis…
1554 00:57:12,620 --> 00:57:14,620
Om typ tre år så kommer det där, vad kommer knowledge också?
1555 00:57:14,620 --> 00:57:16,620
Hur det gör liksom template injection och sådana saker.
1556 00:57:16,620 --> 00:57:18,620
Men det jag var ute efter
1557 00:57:18,620 --> 00:57:20,620
var egentligen, okej nu är jag ingen stor
1558 00:57:20,620 --> 00:57:22,620
systemutvecklare här, men det jag var ute efter
1559 00:57:22,620 --> 00:57:24,620
egentligen är JavaScript i grund och botten
1560 00:57:24,620 --> 00:57:26,620
är ju inte typesafe
1561 00:57:26,620 --> 00:57:28,620
överhuvudtaget. Alltså du
1562 00:57:28,620 --> 00:57:30,620
tappar ju väldigt mycket sådana kontroller
1563 00:57:30,620 --> 00:57:32,620
som finns i moderna språk.
1564 00:57:32,620 --> 00:57:34,620
Du menar att det kanske inte är en jättebra idé att köra
1565 00:57:34,620 --> 00:57:36,620
på server-sidan?
1566 00:57:36,620 --> 00:57:38,620
Du har tagit ett klientsättet språk och har kört service-side.
1567 00:57:38,620 --> 00:57:40,620
Det här är bara jättesmidigt.
1568 00:57:40,620 --> 00:57:42,620
Men det där känns som en såhär…
1569 00:57:42,620 --> 00:57:44,620
Det där känns som ett gäng såhär hipsters
1570 00:57:44,620 --> 00:57:46,620
i San Francisco som testade
1571 00:57:46,620 --> 00:57:48,620
LSD och bara såhär…
1572 00:57:48,620 --> 00:57:50,620
Och sen jobbar de oavbrutet i
1573 00:57:50,620 --> 00:57:52,620
en vecka och så bara såhär…
1574 00:57:52,620 --> 00:57:54,620
Wow, jag kör JavaScript på server-side.
1575 00:57:54,620 --> 00:57:56,620
Det har jävligt mycket högre
1576 00:57:56,620 --> 00:57:58,620
adoption rate än vad Golang har.
1577 00:57:58,620 --> 00:58:00,620
Det har funnits lite längre också va?
1578 00:58:00,620 --> 00:58:02,620
Ja, det vet jag inte.
1579 00:58:02,620 --> 00:58:04,620
Fan, när Angular och Golang kom…
1580 00:58:04,620 --> 00:58:06,620
Okej.
1581 00:58:06,620 --> 00:58:08,620
Nej, vi borde verkligen runda av här nu.
1582 00:58:08,620 --> 00:58:10,620
Då är frågan, vad har vi lärt oss idag?
1583 00:58:10,620 --> 00:58:12,620
Ingenting. Vi har lärt oss att vi ska titta
1584 00:58:12,620 --> 00:58:14,620
på open source-projekt.
1585 00:58:14,620 --> 00:58:16,620
Och att vi kommer komma ut med något coolt där.
1586 00:58:16,620 --> 00:58:18,620
Och lägga in som ett incitament litegrann.
1587 00:58:18,620 --> 00:58:20,620
Eller ett litet incitament, men ändå.
1588 00:58:20,620 --> 00:58:22,620
För att lägga mer tid på att patcha våra open source.
1589 00:58:22,620 --> 00:58:24,620
Vi har lärt oss att skillnaden på
1590 00:58:24,620 --> 00:58:26,620
attacker och defender inte är lika stor som man
1591 00:58:26,620 --> 00:58:28,620
kunde tro.
1592 00:58:28,620 --> 00:58:30,620
Ja, det har vi lärt oss.
1593 00:58:30,620 --> 00:58:32,620
Påsikter har vi lärt oss.
1594 00:58:32,620 --> 00:58:34,620
Och sen har vi lärt oss att säkerhet
1595 00:58:34,620 --> 00:58:36,620
är och kommer att vara svårt.
1596 00:58:36,620 --> 00:58:38,620
Ja, men förhoppningsvis
1597 00:58:38,620 --> 00:58:40,620
gör vi någonting någonstans för att världen
1598 00:58:40,620 --> 00:58:42,620
ska bli bättre. Ja, det är superintressant.
1599 00:58:42,620 --> 00:58:44,620
Men det behöver vi inte säga till er.
1600 00:58:44,620 --> 00:58:46,620
För ni som lyssnar på det här, ni vet ju det redan.
1601 00:58:46,620 --> 00:58:48,620
Ja, men då tycker jag att vi
1602 00:58:48,620 --> 00:58:50,620
avslutar där. Så fortsätter vi plocka upp den här
1603 00:58:50,620 --> 00:58:52,620
tråden någon annan gång.
1604 00:58:52,620 --> 00:58:54,620
All right.
1605 00:58:54,620 --> 00:58:56,620
Då ska jag be att få tacka så mycket
1606 00:58:56,620 --> 00:58:58,620
från oss då.
1607 00:58:58,620 --> 00:59:00,620
Och nu skiljer solen.
1608 00:59:00,620 --> 00:59:02,620
Ja, det gör den faktiskt. På min rygg.
1609 00:59:02,620 --> 00:59:04,620
Jag blir väldigt varm. Så får vi tacka Andreas
1610 00:59:04,620 --> 00:59:06,620
att du ville vara med oss.
1611 00:59:06,620 --> 00:59:08,620
Tack själva.
1612 00:59:08,620 --> 00:59:10,620
Jag ska plugga din blogg där en gång till.
1613 00:59:10,620 --> 00:59:12,620
hax.ml med två x.
1614 00:59:12,620 --> 00:59:14,620
Oss hittar ni som vanligt på sakhetspodcasten.se
1615 00:59:14,620 --> 00:59:16,620
och på Twitter och Facebook.
1616 00:59:16,620 --> 00:59:18,620
Där kan ni söka efter oss.
1617 00:59:18,620 --> 00:59:20,620
Jag som pratar heter Johan Rydberg Möller.
1618 00:59:20,620 --> 00:59:22,620
Jag heter Adelind.
1619 00:59:22,620 --> 00:59:24,620
Då ska du säga hejdå.
1620 00:59:24,620 --> 00:59:26,620
Hej då.
1621 00:59:26,620 --> 00:59:28,620
Jesper Larsson och Mattias Idage.
1622 00:59:28,620 --> 00:59:30,620
Ha det så gött.
1623 00:59:30,620 --> 00:59:32,620
Hej då.