Säkerhetspodcasten #109 - Ulf Frisk
Lyssna
Innehåll
Dagens avsnitt spelades in under Sec-T 2017. Ulf Frisk intervjuas av Peter och Rikard om hans talk om DMA-attacker och annan black magic.
Inspelat: 2017-09-29. Längd: 00:22:03.
AI transkribering
AI försöker förstå oss… Ha överseende med galna feltranskriberingar.
1 00:00:00,000 --> 00:00:08,260
Välkomna till den här korta intervjus-säsongen med en av språkarna på Säkti-konferensen, Ulf Frisk.
2 00:00:08,760 --> 00:00:13,500
Välkomna, Ulf. Det var en fantastisk talning som du tillverkade just nyligen här.
3 00:00:14,740 --> 00:00:16,000
Och demonstrationerna.
4 00:00:16,000 --> 00:00:17,780
Demonstrationerna, ja det är det.
5 00:00:17,800 --> 00:00:22,240
Du kan tala om dessa saker, men du måste se dem för att tro på dem.
6 00:00:25,240 --> 00:00:28,720
Jag är inte jämställd, det ser ut som mörk magi.
7 00:00:28,720 --> 00:00:34,120
Så vi pratar om direkt mörk mörk mörk mörk mörk mörk.
8 00:00:34,120 --> 00:00:36,220
Och vad är det här horroren?
9 00:00:36,860 --> 00:00:43,660
Ja, det är att plugga in ett evigt lättning till PCI Express på en computer och PCI Express kan vara många saker.
10 00:00:44,320 --> 00:00:52,180
Och du får ganska mycket fullt tillgång till computern, oavsett om systemet har skyddat sig med VTD.
11 00:00:52,600 --> 00:00:55,600
Ja, så och senaste året talade jag här på Säkti också.
12 00:00:55,600 --> 00:00:56,980
Jag gjorde tre demoer.
13 00:00:57,240 --> 00:00:58,540
Och den här åren.
14 00:00:58,720 --> 00:01:05,220
Och jag trodde att det skulle vara fint att göra en extra demo, så jag gjorde fyra live-demoer på staden och de fungerade alla.
15 00:01:05,220 --> 00:01:06,380
De fungerade alla, ja.
16 00:01:06,380 --> 00:01:09,940
De fungerade alla, ja, de fungerade väldigt, väldigt bra.
17 00:01:09,940 --> 00:01:21,320
Och så, så låt oss, en av, jag menar, en av områdena var att du pånade alla operativsystemen, rätt?
18 00:01:21,320 --> 00:01:27,480
Ja, jag började med en attack som faktiskt Apple patchade i den senaste december, men det var ganska kul.
19 00:01:27,480 --> 00:01:28,660
För jag kunde.
20 00:01:28,720 --> 00:01:42,720
Jag kunde bara gå upp till ungefär alla Mac som var i sop eller var lockade och om de kunde använda filvål 2-diskonskriptionen så kunde jag bara plugga in min eviga PCIe-diskonskription i Thunderbolt-porten,
21 00:01:42,720 --> 00:01:57,840
reboota Macen och få fulldiskonskriptionen i mindre än 30 sekunder och det är ganska evigt, men Apple patchade den i december tyvärr, så den är lite gammal, men den är fortfarande lite kul att titta på.
22 00:01:57,840 --> 00:01:58,340
Ja.
23 00:01:58,720 --> 00:02:16,660
Så, och jag, jag, jag, jag, jag och du gick igenom den ganska snabbt, men så låt oss se här, så en nivå, jag menar det finns så många saker som är automatiserade i dina demonstreringar där toolet gör så mycket.
24 00:02:16,660 --> 00:02:21,520
Men jag menar, det första nivået är att du gör en DMA-attack, rätt?
25 00:02:21,520 --> 00:02:22,020
Ja.
26 00:02:22,020 --> 00:02:27,960
Och det andra är att min hemma inte lär glömma sig så snabbt.
27 00:02:27,960 --> 00:02:28,580
Ja.
28 00:02:28,580 --> 00:02:30,780
Kедjar till några tillgängligheter.
29 00:02:30,780 --> 00:02:37,780
Faktum är att Mac bestrycker filen till passordet i lägenheten-
30 00:02:37,780 --> 00:02:46,780
men MacDoS har aldrig kunnat لاffa preço i lägenhet.
31 00:02:46,780 --> 00:02:54,180
Då måste jag finna f overall component, resultat kzuar över 50 sekunder,
32 00:02:54,180 --> 00:02:57,780
- men acompañende kontakter steckas fast redan i fixes énormat.
33 00:02:57,780 --> 00:03:08,180
Så jag har några sekunder för att läsa och när jag har läst kan jag analysera det live på staden och få passordet i 30 sekunder.
34 00:03:08,180 --> 00:03:11,180
Så du har ditt memori, men ditt memori går bort?
35 00:03:11,180 --> 00:03:16,580
Det var så, men det var så de patchade det sen december.
36 00:03:16,580 --> 00:03:20,580
Det skulle vara säkert om jag var en Mac-vän.
37 00:03:20,580 --> 00:03:23,580
Vad gör fixen då?
38 00:03:23,580 --> 00:03:29,580
Det fixen är att de faktiskt använder VTD-DMA-försäkringar väldigt tidigt i booten.
39 00:03:29,580 --> 00:03:33,580
Så även innan de använder Thunderbolt så kan jag inte gå in i memori.
40 00:03:33,580 --> 00:03:36,580
Så de fixar alltså rörelsen?
41 00:03:36,580 --> 00:03:40,580
Ja, det är nästan helt över för min telefon.
42 00:03:40,580 --> 00:03:43,580
Det är bra nyheter för Mac-vänarna.
43 00:03:43,580 --> 00:03:47,580
Ja, trots att du inte har ditt passord.
44 00:03:47,580 --> 00:03:50,580
Ja, det är ett annat problem.
45 00:03:50,580 --> 00:03:53,580
Du demonstrerade också…
46 00:03:53,580 --> 00:04:07,580
...ett sätt att förbättra det i firmwaren genom att använda den säkra booten.
47 00:04:07,580 --> 00:04:11,580
Ja, så i princip var jag able att…
48 00:04:11,580 --> 00:04:17,580
Om jag har tillgång till Mac i två tider kan jag på första gången förbättra Mac-vänarna
49 00:04:17,580 --> 00:04:23,580
genom att gå in i något som kallas för recovery-mode och förbättra VTD-DMA-försäkringar för MacOS.
50 00:04:23,580 --> 00:04:26,580
Inom att användaren har en främre passord.
51 00:04:26,580 --> 00:04:29,580
För då måste jag gå in i recovery-mode.
52 00:04:29,580 --> 00:04:32,580
Och om jag inte vet så är det som om det är game over för min telefon.
53 00:04:32,580 --> 00:04:37,580
Men i alla fall, om jag förbättrar Mac-vänarna och går in i recovery-mode och förbättrar VTD-DMA-försäkringar…
54 00:04:37,580 --> 00:04:41,580
...om användaren kör 5V 2D-diskryption…
55 00:04:41,580 --> 00:04:43,580
...så kan jag inte gå in i det efter det.
56 00:04:43,580 --> 00:04:50,580
Så det är därför jag behöver återvisna till Mac i framtiden när VTD-diskryptionen är av.
57 00:04:50,580 --> 00:04:51,580
Ja.
58 00:04:51,580 --> 00:04:54,580
Och det är som att jag går efter kerneln ganska mycket.
59 00:04:54,580 --> 00:04:58,580
Och när jag är i kerneln så kan jag göra många olika eviga saker där.
60 00:04:58,580 --> 00:05:00,580
Som att ta…
61 00:05:00,580 --> 00:05:06,580
Så läraren här är att inte lägga din laptop utanför i sleep-mode?
62 00:05:06,580 --> 00:05:07,580
Jag skulle säga…
63 00:05:07,580 --> 00:05:11,580
Nej, jag skulle säga i Mac i dag att hålla den uppdaterad och sätta en främre passord.
64 00:05:11,580 --> 00:05:13,580
Den borde vara helt säker mot mina attacker.
65 00:05:13,580 --> 00:05:14,580
Mm.
66 00:05:14,580 --> 00:05:21,580
Men när det gäller andra operativsystem, vad är statusen där?
67 00:05:21,580 --> 00:05:24,580
Ja, jag kan fortfarande gå in i Windows också.
68 00:05:24,580 --> 00:05:29,580
Oavsett om det handlar om att använda virtualisering-baserade säkerhetsfaktorer…
69 00:05:29,580 --> 00:05:32,580
...med deviceguard och kodintegrering.
70 00:05:32,580 --> 00:05:35,580
Jag kan fortfarande läsa en del av memorydumpen.
71 00:05:35,580 --> 00:05:38,580
Och jag kan göra en liten del av eviga saker, men inte så mycket.
72 00:05:38,580 --> 00:05:43,580
Jag skulle säga att om du använder det setupet tillsammans med BitLocker plus PIN…
73 00:05:43,580 --> 00:05:45,580
...då borde du vara ganska säker.
74 00:05:45,580 --> 00:05:47,580
Hur vanligt är det?
75 00:05:47,580 --> 00:05:49,580
Jag skulle säga att det är väldigt rart, verkligen.
76 00:05:49,580 --> 00:05:50,580
Så det är…
77 00:05:50,580 --> 00:05:51,580
Jag menar, det är…
78 00:05:51,580 --> 00:05:52,580
Så det är…
79 00:05:52,580 --> 00:05:55,580
Det är nog de största företagen som bara börjar titta på det.
80 00:05:55,580 --> 00:05:56,580
Ja.
81 00:05:56,580 --> 00:05:59,580
Jag menar, det är saker som Microsoft använder för sina kunder.
82 00:05:59,580 --> 00:06:01,580
De kunderna kan göra det.
83 00:06:01,580 --> 00:06:04,580
Men jag skulle säga att det är väldigt rart fortfarande.
84 00:06:04,580 --> 00:06:09,580
Ja, och om du tittar på Microsofts pager så rekommenderar de fortfarande att för vanliga användare…
85 00:06:09,580 --> 00:06:12,580
...att du inte sätter en främre passord.
86 00:06:12,580 --> 00:06:13,580
Det är liksom…
87 00:06:13,580 --> 00:06:16,580
...höga säkerhetsoptioner att ändå tänka på.
88 00:06:16,580 --> 00:06:17,580
Nej, det är det inte.
89 00:06:17,580 --> 00:06:18,580
Ja, men det är hög säkerhet.
90 00:06:18,580 --> 00:06:21,580
Jag menar, vanliga användare, de skulle inte röra en disk-säkerhet…
91 00:06:21,580 --> 00:06:23,580
...en disk-säkerhet med Betlocker eller något annat.
92 00:06:23,580 --> 00:06:27,580
Så då är det lättare att komma in i systemet än att använda mitt stöd.
93 00:06:27,580 --> 00:06:28,580
Så det är…
94 00:06:28,580 --> 00:06:33,580
Jag menar, det är lite för lite höga användare som är oroliga för sin säkerhet.
95 00:06:33,580 --> 00:06:35,580
Och jag tror att vi…
96 00:06:35,580 --> 00:06:41,580
När vi pratade med dig förra året och du förklarade lite av…
97 00:06:41,580 --> 00:06:46,580
Och jag tror också att du gick mer in i presentationen där.
98 00:06:46,580 --> 00:06:47,580
Hur mycket…
99 00:06:47,580 --> 00:06:52,580
Hur mycket förändringar och saker är nödvändiga där du…
100 00:06:52,580 --> 00:06:57,580
Du patchar här och du patchar här och du gör lite av det här…
101 00:06:57,580 --> 00:06:59,580
...för att göra exploaten fungera?
102 00:06:59,580 --> 00:07:00,580
Ja, jag menar…
103 00:07:00,580 --> 00:07:05,580
Jag går ofta efter en krona och jag måste få kodexekution i en krona på något sätt.
104 00:07:05,580 --> 00:07:10,580
Och en krona är inte alltid direkt tillgänglig i den låga delen av min minne.
105 00:07:10,580 --> 00:07:14,580
Så jag kanske behöver använda några andra delar där jag kan få kodexekution.
106 00:07:14,580 --> 00:07:16,580
Till exempel en funktionspoäng…
107 00:07:16,580 --> 00:07:17,580
Eller…
108 00:07:17,580 --> 00:07:20,580
Till exempel, som jag visade i min presentation…
109 00:07:20,580 --> 00:07:25,580
Jag använder UAFI runtime-servicen för att få kodexekution i…
110 00:07:25,580 --> 00:07:27,580
...en EFI-bootad Linux-system till exempel.
111 00:07:27,580 --> 00:07:30,580
Så det finns många chaning-attacker och…
112 00:07:30,580 --> 00:07:32,580
Det är verkligen…
113 00:07:32,580 --> 00:07:34,580
Det är ett flytande mål, verkligen.
114 00:07:34,580 --> 00:07:37,580
De opererande systemförsäljare förändrar saker hela tiden.
115 00:07:37,580 --> 00:07:39,580
Och jag försöker hålla på med det och saker sådant.
116 00:07:39,580 --> 00:07:42,580
Jag vet att det är en krig som jag kommer att förlora i lång tid.
117 00:07:42,580 --> 00:07:45,580
Ja, för du kommer att bli trött i slutändan.
118 00:07:45,580 --> 00:07:48,580
Nej, för de fixar sina saker.
119 00:07:48,580 --> 00:07:50,580
Bara som Apple gjorde.
120 00:07:50,580 --> 00:07:54,580
De kommer att bli helt säkra i några år, så jag tror det.
121 00:07:54,580 --> 00:07:56,580
Men vi är inte helt där än.
122 00:07:56,580 --> 00:07:58,580
Och det finns fortfarande legacy-system.
123 00:07:58,580 --> 00:08:02,580
Och legacy-hardware förlora utsläppen, tror jag.
124 00:08:02,580 --> 00:08:04,580
Jag skulle säga sådana saker.
125 00:08:04,580 --> 00:08:05,580
Jag menar, hardware…
126 00:08:05,580 --> 00:08:08,580
De opererande systemen och firmwaren…
127 00:08:08,580 --> 00:08:11,580
...som de använder för att skydda mot EMA-attacker…
128 00:08:11,580 --> 00:08:14,580
...som har varit med i hardware för så lång tid nu.
129 00:08:14,580 --> 00:08:17,580
Jag skulle inte säga att det är problemet med hardwaren.
130 00:08:17,580 --> 00:08:19,580
Om du använder en riktigt, riktigt gammal komputer…
131 00:08:19,580 --> 00:08:22,580
...som är före 2010 eller något sådant…
132 00:08:22,580 --> 00:08:24,580
...så är du troligen trött.
133 00:08:24,580 --> 00:08:26,580
Men i mer moderna hardwaren…
134 00:08:26,580 --> 00:08:28,580
...så är det inte problemet.
135 00:08:28,580 --> 00:08:33,580
Vendorn inte använder det som finns i hardwaren…
136 00:08:33,580 --> 00:08:35,580
...för att skydda mot sådana här attacker.
137 00:08:35,580 --> 00:08:37,580
Och jag menar, för att vara ärlig…
138 00:08:37,580 --> 00:08:41,580
...så är det många driver och saker som behöver förändras…
139 00:08:41,580 --> 00:08:43,580
...för att kunna…
140 00:08:44,580 --> 00:08:46,580
...få en säker system och sådana saker.
141 00:08:46,580 --> 00:08:48,580
Så det är inte så lätt för alla vendorn…
142 00:08:48,580 --> 00:08:50,580
...att faktiskt bara göra förändringen…
143 00:08:50,580 --> 00:08:52,580
...för att bli helt säker.
144 00:08:52,580 --> 00:08:55,580
Jag tänkte på…
145 00:08:55,580 --> 00:08:57,580
...det finns förstås många…
146 00:08:57,580 --> 00:09:00,580
...evilscenarier där det kan användas…
147 00:09:00,580 --> 00:09:02,580
...som du nämnde, den eviga attacken…
148 00:09:02,580 --> 00:09:04,580
...när någon vill skjuta din information…
149 00:09:04,580 --> 00:09:06,580
...eller implantera något i din komputer.
150 00:09:06,580 --> 00:09:08,580
Men…
151 00:09:08,580 --> 00:09:11,580
...en sak som jag tänkte på…
152 00:09:11,580 --> 00:09:13,580
...förra året när du gav…
153 00:09:13,580 --> 00:09:15,580
...en liknande tal…
154 00:09:15,580 --> 00:09:17,580
...var…
155 00:09:17,580 --> 00:09:20,580
...de möjliga…
156 00:09:20,580 --> 00:09:22,580
...scenarier där du kan använda…
157 00:09:22,580 --> 00:09:24,580
...dina teknologier…
158 00:09:24,580 --> 00:09:26,580
...som till exempel forensiken…
159 00:09:26,580 --> 00:09:28,580
...när du har…
160 00:09:28,580 --> 00:09:30,580
...en komputer…
161 00:09:30,580 --> 00:09:32,580
...som är skjutsad…
162 00:09:32,580 --> 00:09:34,580
...men som är skyddad…
163 00:09:34,580 --> 00:09:36,580
...och som kan ha enkrypterade driver…
164 00:09:36,580 --> 00:09:38,580
...och du vill hitta…
165 00:09:38,580 --> 00:09:40,580
...den enkrypterade koden…
166 00:09:40,580 --> 00:09:42,580
...eller passordet.
167 00:09:42,580 --> 00:09:44,580
Men jag vet att…
168 00:09:44,580 --> 00:09:46,580
...i förra året…
169 00:09:46,580 --> 00:09:48,580
...har du använt dig av…
170 00:09:48,580 --> 00:09:49,580
...lucka…
171 00:09:49,580 --> 00:09:51,580
...om minskningen var större än…
172 00:09:51,580 --> 00:09:52,580
...4 GB.
173 00:09:52,580 --> 00:09:54,580
Du trodde att…
174 00:09:54,580 --> 00:09:56,580
...den enkrypterade koden…
175 00:09:56,580 --> 00:09:58,580
...var i de mindre 4 GB RAM…
176 00:09:58,580 --> 00:10:00,580
...men när du demoade det…
177 00:10:00,580 --> 00:10:01,580
...i förra året…
178 00:10:01,580 --> 00:10:02,580
...så tyckte jag att…
179 00:10:02,580 --> 00:10:03,580
...wow.
180 00:10:03,580 --> 00:10:05,580
Det finns andra verktyg…
181 00:10:05,580 --> 00:10:06,580
...i deras verktygbox…
182 00:10:06,580 --> 00:10:07,580
...och om det är evigt…
183 00:10:07,580 --> 00:10:08,580
...eller bra…
184 00:10:08,580 --> 00:10:09,580
...det finns i övriga hållet…
185 00:10:09,580 --> 00:10:10,580
...jag tror inte.
186 00:10:10,580 --> 00:10:11,580
Det finns andra verktyg…
187 00:10:11,580 --> 00:10:12,580
...som fungerar…
188 00:10:12,580 --> 00:10:13,580
...för scenarierna du beskriver…
189 00:10:13,580 --> 00:10:14,580
...men det kan fungera…
190 00:10:14,580 --> 00:10:15,580
...så det är…
191 00:10:15,580 --> 00:10:16,580
...jag skulle tänka mig…
192 00:10:16,580 --> 00:10:17,580
...att det kan användas så.
193 00:10:17,580 --> 00:10:18,580
Ja.
194 00:10:18,580 --> 00:10:19,580
Och förstås…
195 00:10:19,580 --> 00:10:20,580
...så kom…
196 00:10:20,580 --> 00:10:21,580
...NSA Playbook…
197 00:10:21,580 --> 00:10:22,580
...och…
198 00:10:22,580 --> 00:10:23,580
...det är…
199 00:10:23,580 --> 00:10:24,580
...både…
200 00:10:24,580 --> 00:10:25,580
Ja, men…
201 00:10:25,580 --> 00:10:26,580
...jag gick…
202 00:10:26,580 --> 00:10:27,580
...om…
203 00:10:27,580 --> 00:10:28,580
...om…
204 00:10:28,580 --> 00:10:29,580
...om…
205 00:10:29,580 --> 00:10:30,580
...ja…
206 00:10:30,580 --> 00:10:31,580
...de…
207 00:10:31,580 --> 00:10:32,580
...de…
208 00:10:32,580 --> 00:10:33,580
...de…
209 00:10:33,580 --> 00:10:34,580
...de…
210 00:10:34,580 --> 00:10:35,580
...de…
211 00:10:35,580 --> 00:10:36,580
...de…
212 00:10:36,580 --> 00:10:37,580
...de…
213 00:10:37,580 --> 00:10:38,580
...de…
214 00:10:38,580 --> 00:10:39,580
...de…
215 00:10:39,580 --> 00:10:40,580
...de…
216 00:10:40,580 --> 00:10:41,580
...de…
217 00:10:41,580 --> 00:10:42,580
...de…
218 00:10:42,580 --> 00:10:43,580
...det…
219 00:10:43,580 --> 00:10:44,580
...det…
220 00:10:44,580 --> 00:10:45,580
...det…
221 00:10:45,580 --> 00:10:46,580
...det…
222 00:10:46,580 --> 00:10:47,580
...det…
223 00:10:47,580 --> 00:10:48,580
...det…
224 00:10:48,580 --> 00:10:49,580
...det…
225 00:10:49,580 --> 00:10:50,580
...det…
226 00:10:50,580 --> 00:10:51,580
...det…
227 00:10:51,580 --> 00:10:52,580
...det…
228 00:10:52,580 --> 00:10:53,580
...det…
229 00:10:53,580 --> 00:10:54,580
...det…
230 00:10:54,580 --> 00:10:55,580
...det…
231 00:10:55,580 --> 00:10:56,580
...det…
232 00:10:56,580 --> 00:10:57,580
...det…
233 00:10:57,580 --> 00:10:58,580
...det…
234 00:10:58,580 --> 00:10:59,580
...det…
235 00:10:59,580 --> 00:11:00,580
...det…
236 00:11:00,580 --> 00:11:01,580
...det…
237 00:11:01,580 --> 00:11:02,580
...det…
238 00:11:02,580 --> 00:11:03,580
...det…
239 00:11:03,580 --> 00:11:04,580
...det…
240 00:11:04,580 --> 00:11:05,580
...det…
241 00:11:05,580 --> 00:11:06,580
...det…
242 00:11:06,580 --> 00:11:07,580
...det…
243 00:11:07,580 --> 00:11:08,340
...det…
244 00:11:08,340 --> 00:11:09,340
Ja, men…
245 00:11:09,340 --> 00:11:10,340
Det hela menar wonko…
246 00:11:10,340 --> 00:11:18,420
Kanske är inte alla medvetna om det, men när jag kopierar från en SSD får jag 300 MB per sekund.
247 00:11:18,500 --> 00:11:23,160
Så du kommer nästan till performansen av en snabb media.
248 00:11:24,080 --> 00:11:31,080
Vad är den limiterande faktorn? Är det en bil eller är det något med USB?
249 00:11:31,080 --> 00:11:42,080
Den är nästan på högst nivå. Jag vet inte riktigt var limiten är, om det är PCIe, USB3 eller driver.
250 00:11:42,080 --> 00:11:49,080
Men den är nästan på högst nivå. Jag tror att den är tillräckligt god.
251 00:11:49,080 --> 00:11:52,080
Ja, definitivt tillräckligt god.
252 00:11:54,080 --> 00:11:58,080
Det är en fantastisk verktyg.
253 00:11:58,080 --> 00:12:00,080
Ja, det är en normal komputer.
254 00:12:01,080 --> 00:12:10,080
En komputer med 8 eller 16 GB RAM på 200 MB per sekund kan ta så mycket tid att döpa allt.
255 00:12:10,080 --> 00:12:17,080
Det är ganska snabbt. När du kommer in i en krona är det omkring 1,5 minuter om du kör på en 8 GB-system.
256 00:12:17,080 --> 00:12:19,080
Eller om du kör på en 16 GB-system.
257 00:12:19,080 --> 00:12:21,080
Jag kan vänta 1,5 minuter, det är okej.
258 00:12:21,080 --> 00:12:27,080
Ja, det är ungefär 3 minuter om du lyckas komma in i en krona.
259 00:12:27,080 --> 00:12:31,080
Det kan vara ett problem ibland, beroende på hardwaren.
260 00:12:31,080 --> 00:12:33,080
Det kan vara en problem i en setup och sådant.
261 00:12:33,080 --> 00:12:36,080
I mina demoer visar jag till exempel hardwaren.
262 00:12:36,080 --> 00:12:40,080
Jag vet att det är möjligt att det fungerar.
263 00:12:40,080 --> 00:12:43,080
Så i verkligheten kan det vara lite annorlunda.
264 00:12:43,080 --> 00:12:48,080
Jag vet några röda team som faktiskt använder det här.
265 00:12:48,080 --> 00:12:50,080
De tycker att det är fantastiskt.
266 00:12:50,080 --> 00:12:53,080
Det gör deras arbete mycket lättare.
267 00:12:53,080 --> 00:12:58,080
Jag skulle definitivt säga att det är något som man behöver vara oberoende av.
268 00:12:58,080 --> 00:13:00,080
Om man jobbar i en stor företag.
269 00:13:00,080 --> 00:13:02,080
Om man jobbar i en stor företag.
270 00:13:02,080 --> 00:13:05,080
Man behöver vara oberoende av att sådana här attacker faktiskt finns.
271 00:13:05,080 --> 00:13:08,080
Man måste försöka göra något om det.
272 00:13:08,080 --> 00:13:10,080
Ja.
273 00:13:10,080 --> 00:13:13,080
Ja, skräckande saker.
274 00:13:13,080 --> 00:13:18,080
Och som vanligt, en utmärkt tillverkning på er presentation.
275 00:13:18,080 --> 00:13:22,080
Ja, jag tror att alla fyra demoer fungerade.
276 00:13:22,080 --> 00:13:25,080
De fungerar vanligtvis, men du vet aldrig.
277 00:13:25,080 --> 00:13:27,080
Demo-ghostar, ja.
278 00:13:27,080 --> 00:13:29,080
Ja.
279 00:13:30,080 --> 00:13:35,080
Och du kan se från utmaningen i publiken efter din presentation
280 00:13:35,080 --> 00:13:39,080
att du tillverkade en väldigt populär tal.
281 00:13:39,080 --> 00:13:40,080
Ja.
282 00:13:40,080 --> 00:13:46,080
Och jag tror att när vi väntade så diskuterade vi…
283 00:13:46,080 --> 00:13:50,080
Jag menar, verktyget är där ute och hardwaren är där ute.
284 00:13:50,080 --> 00:13:55,080
Ja, men hardwaren kom ut ungefär en månad sen, tyvärr.
285 00:13:55,080 --> 00:13:58,080
Men jag menar, det finns många dispositiv som redan har kommit.
286 00:13:58,080 --> 00:13:59,080
Ja.
287 00:13:59,080 --> 00:14:05,080
Men tyvärr är det hårdare att komma hit nu.
288 00:14:05,080 --> 00:14:11,080
Men jag menar, teoretiskt kan dina djur gå ut med det här och de kan använda verktyget.
289 00:14:11,080 --> 00:14:16,080
Men det är så att du inte har tid att göra det.
290 00:14:16,080 --> 00:14:20,080
Och sen ser du det och det är som om du ser ett system.
291 00:14:20,080 --> 00:14:22,080
Och sen ser du det nästa system.
292 00:14:22,080 --> 00:14:25,080
Och när du ser det nästa system så blir det lite magiskt.
293 00:14:25,080 --> 00:14:26,080
Ja.
294 00:14:26,080 --> 00:14:29,080
Och det här är det som fortfarande är kul med säkerhet.
295 00:14:29,080 --> 00:14:35,080
Att du kan se att de gör något och saker händer.
296 00:14:35,080 --> 00:14:36,080
Ja.
297 00:14:36,080 --> 00:14:38,080
Jag menar, det är fina demoer som det är.
298 00:14:38,080 --> 00:14:40,080
Och jag var lite överraskad faktiskt.
299 00:14:40,080 --> 00:14:43,080
Förra året gjorde jag samma presentation eller en annan presentation
300 00:14:43,080 --> 00:14:46,080
men jag äger samma operativsystem ganska mycket.
301 00:14:46,080 --> 00:14:50,080
Och jag menar, det fungerar fortfarande en år senare.
302 00:14:50,080 --> 00:14:53,080
Det är en av de senaste fullt patchade systemen.
303 00:14:53,080 --> 00:14:54,080
Det är intressant.
304 00:14:54,080 --> 00:14:59,080
Så jag måste veta, hur många timmar av forskning har du tagit in i det här?
305 00:14:59,080 --> 00:15:02,080
Jag vet inte själv, jag har inte riktigt antat det.
306 00:15:02,080 --> 00:15:05,080
Jag tror att det är mycket.
307 00:15:05,080 --> 00:15:08,080
Så det är ingenting som du kodar i en vecka.
308 00:15:08,080 --> 00:15:11,080
Jag har tagit in många timmar i det här.
309 00:15:11,080 --> 00:15:14,080
Och jag menar, det är många verktyg som är sådana här.
310 00:15:14,080 --> 00:15:18,080
Det är som om folk bara gör en liten pock eller sådant
311 00:15:18,080 --> 00:15:20,080
och de lämnar det och de lämnar det.
312 00:15:20,080 --> 00:15:23,080
Men jag försöker göra det väldigt användbart för användarna.
313 00:15:23,080 --> 00:15:26,080
Det är en riktigt användarfrånlig verktyg som alla kan använda.
314 00:15:26,080 --> 00:15:29,080
Och det ska vara superlätt för alla att använda.
315 00:15:29,080 --> 00:15:30,080
Det är jättesvårt lätt.
316 00:15:30,080 --> 00:15:33,080
Jag menar, nästan klick-på-på.
317 00:15:33,080 --> 00:15:35,080
Ja, det är verkligen klick-på-på.
318 00:15:35,080 --> 00:15:37,080
Eller du måste röra en command-line-kommand
319 00:15:37,080 --> 00:15:41,080
och sen monterar du live-memory som en virtual fil i Windows
320 00:15:41,080 --> 00:15:44,080
så att du kan öppna den i din favorit-editor.
321 00:15:44,080 --> 00:15:46,080
Och sen kan du klicka runt i filsystemet
322 00:15:46,080 --> 00:15:50,080
och bara klicka på kopier eller vilka filer du vill kopiera
323 00:15:50,080 --> 00:15:52,080
från din vikten- eller target-computer.
324 00:15:53,080 --> 00:15:56,080
Så det är verkligen användarfrånligt.
325 00:15:56,080 --> 00:15:59,080
Jag gillar att arbeta riktigt hårt på det här.
326 00:15:59,080 --> 00:16:03,080
Jag menar, vi kommer alltid att vara dina fanbarn.
327 00:16:03,080 --> 00:16:04,080
Ja.
328 00:16:04,080 --> 00:16:11,080
Jag menar, teknikvis är det ganska otroligt.
329 00:16:11,080 --> 00:16:14,080
Och tillgången är fantastisk.
330 00:16:14,080 --> 00:16:16,080
Och paketet är fantastiskt.
331 00:16:16,080 --> 00:16:21,080
Ja, och du är nästan så fin när det gäller att förklara saker.
332 00:16:21,080 --> 00:16:22,080
Ja.
333 00:16:23,080 --> 00:16:24,080
Ja.
334 00:16:24,080 --> 00:16:25,080
Ja.
335 00:16:25,080 --> 00:16:26,080
Ja, tack.
336 00:16:26,080 --> 00:16:28,080
Top marks on all points.
337 00:16:28,080 --> 00:16:29,080
Ja, tack.
338 00:16:29,080 --> 00:16:31,080
Jag tror att…
339 00:16:31,080 --> 00:16:36,080
En sak som du visade var att du faktiskt kunde…
340 00:16:36,080 --> 00:16:39,080
Om du har en lycklig TMA-attack
341 00:16:39,080 --> 00:16:42,080
så kunde du attackera UEFI BIOS
342 00:16:42,080 --> 00:16:45,080
och från UEFI BIOS kunde du attackera
343 00:16:45,080 --> 00:16:49,080
Linux running kernel ASLR.
344 00:16:49,080 --> 00:16:51,080
Ja, jag gjorde faktiskt inte det.
345 00:16:51,080 --> 00:16:54,080
Men jag har en attack som fungerar mot
346 00:16:54,080 --> 00:16:59,080
UEFI, som bara är UEFI efter att systemet är startat.
347 00:16:59,080 --> 00:17:01,080
Det är som omgående forskning.
348 00:17:01,080 --> 00:17:04,080
Jag visade inte den delen, men jag visade en annan del i Linux
349 00:17:04,080 --> 00:17:08,080
där Linux-kerneln var laddad över 4 GB.
350 00:17:08,080 --> 00:17:10,080
Där är de mest möjliga att vara ladda.
351 00:17:10,080 --> 00:17:12,080
Kerneln är mest möjliga att vara laddad
352 00:17:12,080 --> 00:17:14,080
i den högsta delen av memoren eller vad det är
353 00:17:14,080 --> 00:17:17,080
i de mer senare Linux-versionerna.
354 00:17:17,080 --> 00:17:19,080
Så jag måste komma till kerneln.
355 00:17:19,080 --> 00:17:21,080
Ett sätt att göra det är att patcha in
356 00:17:21,080 --> 00:17:24,080
något som kallas för UEFI Runtime Services
357 00:17:24,080 --> 00:17:26,080
som är en del av UEFI Firmware
358 00:17:26,080 --> 00:17:29,080
som ligger runt efter att systemet är startat.
359 00:17:29,080 --> 00:17:32,080
Och systemet kallar in det här Firmwaren
360 00:17:32,080 --> 00:17:34,080
för att göra speciella operationer
361 00:17:34,080 --> 00:17:36,080
som att få och sätta EFI-variabler
362 00:17:36,080 --> 00:17:39,080
och sätta hardware-tid och så vidare.
363 00:17:39,080 --> 00:17:41,080
Så om jag är möjlig att patcha den
364 00:17:41,080 --> 00:17:43,080
och få kodeexekutioner
365 00:17:43,080 --> 00:17:45,080
om systemet kallar in det
366 00:17:45,080 --> 00:17:48,080
så kan jag få kodeexekutioner på CPU
367 00:17:48,080 --> 00:17:50,080
på target-systemet
368 00:17:50,080 --> 00:17:52,080
och sedan kan jag patcha Linux-kerneln
369 00:17:52,080 --> 00:17:55,080
eftersom jag kan accessera all memori.
370 00:17:55,080 --> 00:17:57,080
När jag var en ung, ung barn
371 00:17:57,080 --> 00:18:00,080
på MS-DOS-tiderna
372 00:18:00,080 --> 00:18:02,080
såg jag mig så överraskad
373 00:18:02,080 --> 00:18:05,080
att jag kunde patcha från en TSR
374 00:18:05,080 --> 00:18:07,080
och patcha binary och så vidare.
375 00:18:07,080 --> 00:18:09,080
Och jag trodde att jag var så överraskad.
376 00:18:09,080 --> 00:18:11,080
Men då fanns det ingen teknik
377 00:18:11,080 --> 00:18:14,080
och inga säkerhetssättningar.
378 00:18:14,080 --> 00:18:16,080
Ja, men det här är…
379 00:18:16,080 --> 00:18:18,080
Jag menar, beroende på systemet
380 00:18:18,080 --> 00:18:19,080
så skulle jag säga att
381 00:18:19,080 --> 00:18:20,080
några Linux-säkerhetssättningar
382 00:18:20,080 --> 00:18:22,080
är väldigt säkra också.
383 00:18:22,080 --> 00:18:24,080
Så förstås, om du kör kubor
384 00:18:24,080 --> 00:18:25,080
eller något sådant
385 00:18:25,080 --> 00:18:27,080
så är det inte riktigt möjligt
386 00:18:27,080 --> 00:18:29,080
att göra sådana saker.
387 00:18:29,080 --> 00:18:31,080
Förstås visar jag en distro
388 00:18:31,080 --> 00:18:33,080
som jag kände skulle fungera
389 00:18:33,080 --> 00:18:35,080
och sådana saker för mina demoer.
390 00:18:35,080 --> 00:18:36,080
Och jag skulle säga att Linux
391 00:18:36,080 --> 00:18:37,080
är högt beroende på
392 00:18:37,080 --> 00:18:38,080
vilken distro du kör
393 00:18:38,080 --> 00:18:40,080
och vilken aktuella version
394 00:18:40,080 --> 00:18:41,080
och sådana saker.
395 00:18:41,080 --> 00:18:44,080
Men jag menar…
396 00:18:44,080 --> 00:18:46,080
Vi har sett fantastiska demonstrationer
397 00:18:46,080 --> 00:18:47,080
av kubor
398 00:18:47,080 --> 00:18:48,080
men det är inte riktigt
399 00:18:48,080 --> 00:18:50,080
ett system som är utsläppat.
400 00:18:50,080 --> 00:18:52,080
Så jag tror att
401 00:18:52,080 --> 00:18:54,080
det intressanta är
402 00:18:54,080 --> 00:18:56,080
distroer med stora
403 00:18:56,080 --> 00:18:57,080
utsläpp.
404 00:18:57,080 --> 00:19:00,080
Ja, som Ubuntu och så vidare.
405 00:19:00,080 --> 00:19:01,080
Jag skulle säga att det beror på
406 00:19:01,080 --> 00:19:02,080
sättningarna.
407 00:19:02,080 --> 00:19:03,080
Om du kör
408 00:19:03,080 --> 00:19:04,080
en vice-versa-faktor
409 00:19:04,080 --> 00:19:05,080
eller vad som helst
410 00:19:05,080 --> 00:19:06,080
om det fungerar.
411 00:19:06,080 --> 00:19:07,080
Men om du bara kör
412 00:19:07,080 --> 00:19:08,080
till exempel en live-bild
413 00:19:08,080 --> 00:19:09,080
eller något
414 00:19:09,080 --> 00:19:10,080
eller en bild
415 00:19:10,080 --> 00:19:11,080
eller bara kör den
416 00:19:11,080 --> 00:19:13,080
så är det ganska möjligt
417 00:19:13,080 --> 00:19:14,080
att det fungerar tillsammans
418 00:19:14,080 --> 00:19:15,080
med PCI-lyftet
419 00:19:15,080 --> 00:19:16,080
så att systemet
420 00:19:16,080 --> 00:19:18,080
blir beroendebara.
421 00:19:18,080 --> 00:19:20,080
Jag hörde en fråga
422 00:19:20,080 --> 00:19:22,080
om BSD
423 00:19:22,080 --> 00:19:23,080
men jag hörde inte
424 00:19:23,080 --> 00:19:24,080
din ansvar.
425 00:19:24,080 --> 00:19:26,080
Så skulle BSD vara…
426 00:19:26,080 --> 00:19:27,080
Ja, jag tittade på
427 00:19:27,080 --> 00:19:28,080
FreeBSD
428 00:19:28,080 --> 00:19:29,080
och jag fick till och med
429 00:19:29,080 --> 00:19:30,080
PCI-lyftet
430 00:19:30,080 --> 00:19:31,080
att fungera på
431 00:19:31,080 --> 00:19:32,080
version 9.10.11
432 00:19:32,080 --> 00:19:34,080
tror jag det var.
433 00:19:34,080 --> 00:19:36,080
Så jag forskade inte
434 00:19:36,080 --> 00:19:38,080
längre efter det
435 00:19:38,080 --> 00:19:39,080
verkligen.
436 00:19:39,080 --> 00:19:40,080
Så jag har ett
437 00:19:40,080 --> 00:19:41,080
modul för det
438 00:19:41,080 --> 00:19:42,080
men jag gör det
439 00:19:42,080 --> 00:19:43,080
i min framtid
440 00:19:43,080 --> 00:19:44,080
och det finns så många
441 00:19:44,080 --> 00:19:46,080
system som
442 00:19:46,080 --> 00:19:47,080
förändras
443 00:19:47,080 --> 00:19:48,080
hela tiden
444 00:19:48,080 --> 00:19:49,080
så jag har inte
445 00:19:49,080 --> 00:19:50,080
riktigt tid
446 00:19:50,080 --> 00:19:51,080
för alla
447 00:19:51,080 --> 00:19:52,080
för att ge alla
448 00:19:52,080 --> 00:19:53,080
så du är inte
449 00:19:53,080 --> 00:19:54,080
nödvändigtvis säker
450 00:19:54,080 --> 00:19:55,080
bara för att du
451 00:19:55,080 --> 00:19:56,080
kör en
452 00:19:56,080 --> 00:19:57,080
obskur system?
453 00:19:57,080 --> 00:19:58,080
Nej, inte
454 00:19:58,080 --> 00:19:59,080
om du har
455 00:19:59,080 --> 00:20:00,080
DMA-attackar
456 00:20:00,080 --> 00:20:01,080
och DMA är
457 00:20:01,080 --> 00:20:02,080
som PCI-Express
458 00:20:02,080 --> 00:20:03,080
det finns
459 00:20:03,080 --> 00:20:04,080
PCI-Express
460 00:20:04,080 --> 00:20:05,080
på andra
461 00:20:05,080 --> 00:20:06,080
hardware som
462 00:20:06,080 --> 00:20:07,080
Intel-hardware
463 00:20:07,080 --> 00:20:08,080
till exempel ARM
464 00:20:08,080 --> 00:20:09,080
och så vidare.
465 00:20:09,080 --> 00:20:10,080
Jag vet att
466 00:20:10,080 --> 00:20:11,080
mitt stöd
467 00:20:11,080 --> 00:20:12,080
borde fungera
468 00:20:12,080 --> 00:20:13,080
där också
469 00:20:13,080 --> 00:20:14,080
men jag har inte
470 00:20:14,080 --> 00:20:15,080
riktigt tittat
471 00:20:15,080 --> 00:20:16,080
på de
472 00:20:16,080 --> 00:20:17,080
parterna
473 00:20:17,080 --> 00:20:18,080
eftersom
474 00:20:18,080 --> 00:20:19,080
jag inte har
475 00:20:19,080 --> 00:20:20,080
tid för det
476 00:20:20,080 --> 00:20:21,080
allvarligt.
477 00:20:21,080 --> 00:20:22,080
Så det
478 00:20:22,080 --> 00:20:23,080
komplexa
479 00:20:23,080 --> 00:20:24,080
är inte
480 00:20:24,080 --> 00:20:25,080
åtminstone
481 00:20:25,080 --> 00:20:26,080
efter att
482 00:20:26,080 --> 00:20:27,080
ha
483 00:20:27,080 --> 00:20:28,080
hardware
484 00:20:28,080 --> 00:20:29,080
och
485 00:20:29,080 --> 00:20:30,080
grundläggande
486 00:20:30,080 --> 00:20:31,080
verktyg
487 00:20:31,080 --> 00:20:32,080
det komplexa
488 00:20:32,080 --> 00:20:33,080
är inte
489 00:20:33,080 --> 00:20:34,080
bara
490 00:20:34,080 --> 00:20:35,080
att göra
491 00:20:35,080 --> 00:20:36,080
DMA
492 00:20:36,080 --> 00:20:37,080
utan att
493 00:20:37,080 --> 00:20:38,080
förändra
494 00:20:38,080 --> 00:20:39,080
IOM och MU
495 00:20:39,080 --> 00:20:40,080
och
496 00:20:40,080 --> 00:20:41,080
om systemet
497 00:20:41,080 --> 00:20:42,080
har
498 00:20:42,080 --> 00:20:43,080
det
499 00:20:43,080 --> 00:20:44,080
kanske
500 00:20:44,080 --> 00:20:45,080
lite
501 00:20:45,080 --> 00:20:46,080
glitchar
502 00:20:46,080 --> 00:20:47,080
och så vidare.
503 00:20:47,080 --> 00:20:48,080
Ja, så
504 00:20:48,080 --> 00:20:49,080
att komma
505 00:20:49,080 --> 00:20:50,080
över
506 00:20:50,080 --> 00:20:51,080
säkerhets-
507 00:20:51,080 --> 00:20:52,080
restriktioner
508 00:20:52,080 --> 00:20:53,080
och
509 00:20:53,080 --> 00:20:54,080
lösa alla
510 00:20:54,080 --> 00:20:55,080
problem
511 00:20:55,080 --> 00:20:56,080
med
512 00:20:56,080 --> 00:20:57,080
memory
513 00:20:57,080 --> 00:20:58,080
utanför
514 00:20:58,080 --> 00:20:59,080
4 GB-limit?
515 00:20:59,080 --> 00:21:00,080
Ja, och
516 00:21:00,080 --> 00:21:01,080
jag menar
517 00:21:01,080 --> 00:21:02,080
4 GB-limit
518 00:21:02,080 --> 00:21:03,080
det är
519 00:21:03,080 --> 00:21:04,080
faktiskt en
520 00:21:04,080 --> 00:21:05,080
limit i
521 00:21:05,080 --> 00:21:06,080
hardware som
522 00:21:06,080 --> 00:21:07,080
jag använder
523 00:21:07,080 --> 00:21:08,080
för PCI-Litch-projektet
524 00:21:08,080 --> 00:21:09,080
USB-3380
525 00:21:09,080 --> 00:21:10,080
i andra
526 00:21:10,080 --> 00:21:11,080
hardware
527 00:21:11,080 --> 00:21:12,080
som är
528 00:21:12,080 --> 00:21:13,080
en FPGA
529 00:21:13,080 --> 00:21:14,080
DMA-device
530 00:21:14,080 --> 00:21:15,080
jag är väldigt
531 00:21:15,080 --> 00:21:16,080
möjlig att
532 00:21:16,080 --> 00:21:17,080
kunna göra
533 00:21:17,080 --> 00:21:18,080
pure
534 00:21:18,080 --> 00:21:19,080
native
535 00:21:19,080 --> 00:21:20,080
64-bit
536 00:21:20,080 --> 00:21:21,080
DMA
537 00:21:21,080 --> 00:21:22,080
för att
538 00:21:22,080 --> 00:21:23,080
ha det
539 00:21:23,080 --> 00:21:24,080
fungerande
540 00:21:24,080 --> 00:21:25,080
men det är
541 00:21:25,080 --> 00:21:26,080
väldigt
542 00:21:26,080 --> 00:21:27,080
lätt
543 00:21:27,080 --> 00:21:28,080
just nu
544 00:21:28,080 --> 00:21:29,080
så
545 00:21:29,080 --> 00:21:30,080
det är
546 00:21:30,080 --> 00:21:31,080
ett
547 00:21:31,080 --> 00:21:32,080
jobb i
548 00:21:32,080 --> 00:21:33,080
framgång
549 00:21:33,080 --> 00:21:34,080
ja
550 00:21:34,080 --> 00:21:35,080
vi
551 00:21:35,080 --> 00:21:36,080
tittar
552 00:21:36,080 --> 00:21:37,080
på
553 00:21:37,080 --> 00:21:38,080
att höra
554 00:21:38,080 --> 00:21:39,080
mer
555 00:21:39,080 --> 00:21:40,080
från