aboutsummaryrefslogtreecommitdiff
path: root/slides/src/body.tex
blob: 2c38569505cd4c75527e4fd9b7c95b036d6480c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
%
% Hi, welcome, <my name is>, <talk title>.
%

%
% The outline is that I will start by introducing the problem area which spans
% Certificate Transparency, Tor, and the combination thereof.  Following this,
% I will define my research questions and explain my contributions in broad
% strokes as a thesis overview.  Then I will go some further detail regarding
% each contribution.  I will wrap up with conclusions and future work as a take
% away.
% 
\begin{frame}
  \mktitle{Outline}

  \begin{columns}
    \begin{column}{0.65\textwidth}
      \centering\includegraphics[width=.8\columnwidth]{img/introduction/outline}
    \end{column}
    \begin{column}{0.35\textwidth}
      \begin{enumerate}
        \item Introduction
        \item Thesis overview
        \item Contributions
        \item Take away
      \end{enumerate}
    \end{column}
  \end{columns}

\end{frame}

%%%
% Introduction to my research area
%%%
\subtitle{Introduction}

%
% Short answer: you're all browsing the web.  Are you visiting the real
% authentic website? Certificates; much like a passport in the real world.
% Trusted party, police; but web = tie a domain name to public key.
%
% The first problem that my thesis plugs into: how do we detect certificate
% mis-issuance.  I.e., what if one of these trusted parties issue a valid
% certificate to the attacker, either out of malice or due to a mistake?
% How would we detect that?  What assumptions do we rely on to detect that?
% We look at this problem both in the context of regular browsing, but also
% in the context of Tor Browser.
%
% What is TB?  FF fork, among other things route traffic through Tor.
% Guard, middle, relay.  No relay sees both user IP and destination, gives
% anonymity.
%
% Second problem that my thesis plugs into: how is anonymity affected by
% the steps TB takes to load a website securely?
% 
\begin{frame}
  \mktitle{How is all of this related to you?}

  \begin{columns}
    \begin{column}{0.5\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/introduction/chromium}\\
      Web browsing
    \end{column}
    \begin{column}{0.5\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/introduction/tb}\\
      Possibly with Tor Browser
    \end{column}
  \end{columns}

\end{frame}
%
% Okay, so I mentioned certs, cert issuance, and cert mis-issuance several
% times now.  How does that actually work?
%
% CSR, log a preliminary version of the certificate in a public CT log.  If CT
% is new to you, think of this as a public append-only list of certificates.
% Fantastic because...monitor.
%
% To complete issuance of a certificate, the certificate authority waits for
% a signed promise that the preceritifcate will be appended within 24h.  This
% is hardcoded into the final certificate which is served by browsers.
%
% Browser that support CT like Chrome, reject cert unless two promises.
%
% This is certificate transparency as deployed at a glance.
%
% Now if you take the time to think about this setup, you will likely ask
% questions like how could you verify that these promises are honored?  And
% even if you do, how would do you know that you see the same logs as everyone
% else?  If I'm a log operator, I could...
%
\begin{frame}
  \mktitle{Some preliminaries, Certificate Transparency what?}

  \begin{columns}
    \begin{column}{0.485\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/introduction/ct-issuance}\\\vspace{0.33cm}
      \textbf{Certificate issuance}
    \end{column}
    \dashedline
    \begin{column}{0.485\textwidth}
      \centering\includegraphics[width=.7\columnwidth]{img/introduction/ct-policy}\\\vspace{0.9cm}
      \textbf{Browser behavior}
    \end{column}
  \end{columns}

	\pause\vfill\alert{Why should we take log promises at face value?}
\end{frame}

%%%
% Overview of research questions and contributions
%%%
\subtitle{Research questions and overview}

\begin{frame}
  \mktitle{Research questions}

  \begin{enumerate}
          \item Can trust requirements in Certificate Transparency be reduced in practise?
    \pause\item How can authentication of websites be improved in the context of Tor Browser?
    \pause\item How do the protocols used during website visits affect unlinkability between Tor users and their destination websites?
  \end{enumerate}

  \pause\hfill\includegraphics[width=0.6\textwidth]{img/overview/wf}\\\vspace{.123cm}
  %\pause\hfill\alert{plus active measures within Tor's threat model}
\end{frame}

%%%
% Contributions in more detail
%%%
\subtitle{Contributions}

%
% 6 papers, published in... Together they make 6 collective contributions.
% 1. ...; here we're addressing an additional trust dependency that often arises
% in practise as websites monitor the logs.  We more or less eliminate a trusted
% party.
% 2. ...; i will define this problem in more detail soon, but it's basically
% about if I as a log operator provide *YOU* with one append-only list of
% certificates and everyone else a different list of append-only certificate,
% how would we detect that I'm misbehaving and telling you different things?
% We propose "gossip mechanisms" that address this problem.
% 3. ...; the short summary is that we show how to gradually add certificate
% transparency in Tor Browser.  The full design does not place any trust in CT
% logs that isn't verified.  We also explore how onion services - those sites
% that are only available through the Tor network - can benefit from CT:
% 4. ...; here we introduce the security abstraction of a website oracle.  If
% you're familiar with cryptography it's much like an enc/dec oracle, except
% that it is tailor for evaluation of website fingerprinting attacks.  It
% helps us model how the protocols used during website visits can make WF
% attacks more reliable by significantly reducing false positives.  We discuss
% many ways to gain access to our security abstraction in the real world, such
% as volunteering to operate a certificate transparency log, but also focus on
% lower-cost attacks.  This brings me to the next contribution.
% 5. ...; the gist is that I can, on my laptop from my spotty wifi, implement a
% real-world website oracle with high accuracy using side-channels in DNS.  As
% this is a serious threat to the anonymity provided by Tor, we also proposed
% a defense that would eliminate the entire side-channel if deployed.
%
%
\begin{frame}
  \mktitle{Contributions}

  \begin{tikzpicture}[remember picture,overlay]
    \node[anchor=north east, xshift=2pt] (n1) at (current page.north east) {\textbf{RQ3:} ``exploit protocols for deanonymization''};
     \node[left=0pt of n1] (n2) {\textbf{RQ2:} ``CT+Tor''};
     \node[left=0pt of n2] (n3) {\textbf{RQ1:} ``less trust reqs in CT''};
  \end{tikzpicture}

  \begin{columns}
    \begin{column}{.56\textwidth}
      \begin{enumerate}
        \item<2-> Reduced trust in third-party monitoring
          %with a signed tree head extension that shifts trust from
          %non-cryptographic certificate notifications to a log's gossip-audit
          %model (or if such a model does not exist yet, the logs themselves).
        \item<3-> Increased probability of split-view detection
          %by proposing gossip protocols that disseminate signed tree heads
          %without bidirectional communication.
        \item<4-> Improved detectability of website hijacks targeting Tor Browser
          %by proposing privacy-preserving and gradual roll-outs of Certificate
          %Transparency in Tor.
        \item<5-> An extension of the attacker model for website fingerprinting
          %that provides attackers with the capability of querying a website
          %oracle.
        \item<6-> Remotely-exploitable probing-attacks on Tor's DNS cache
          %instantiate a real-world website oracle without any special attacker
          %capabilities or reach.
        \item<7-> A redesign of Tor's DNS cache to defend against all (timeless)
          timing attacks
          %while retaining or improving performance compared to today.
      \end{enumerate}
    \end{column}
    \begin{column}{.5\textwidth}
      % Mention two two blog posts
      % Mention two papers with merged Tor code (bug fixes / mitigations)
      \centering\includegraphics[width=\columnwidth]{img/overview/thesis}\\\vspace{.33cm}
    \end{column}
  \end{columns}

\end{frame}

\begin{frame}
  \mktitle{C1: Reduced trust in third-party monitoring}

  \begin{columns}
    \begin{column}{0.5\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/contribs/lwm-problem}\\\vspace{0.33cm}
      \textbf{Problem}
    \end{column}

    \pause\dashedline
    \begin{column}{0.35\textwidth}
      \centering\includegraphics[width=.95\columnwidth]{img/contribs/lwm-solution}\\\vspace{0.33cm}
      \textbf{Solution}
    \end{column}
  \end{columns}

  %
  % Merkle town: ~250.000 new certs/hour (May 2023), assume all of them in every
  % log and a tree head frequency of one hours as specified in the paper.  There
  % are 17 logs to monitor (May, 2023).  We need two audit paths per log.
  %
  % >>> 2 * log(250000, 2) * 32 * 17 / (1024)
  % 19.052291604906934
  %
  % So, the overhead per LWM subject is roughly 19KiB per day.  The 10Mbps for
  % self-monitoring is based on real bandwidth monitoring (from sauteed onions).
  %
  % (Times num logs.)
  %
  \pause\vfill\alert{Secure in multi-instance setting, small performance overhead}
\end{frame}

%
% The split-view problem can be defined as follows...
% We propose two approaches towards the split-view problem in the thesis.
%
% The first one plugs into CT-over-DNS; at the time of writing paper -> was
% being deployed by Chrome.  The idea is to interact with the logs to verify
% that a certificate is included by fetching proofs through your DNS resolver.
% This effectively makes DNS into a proxy for communicating with the logs,
% which is not an additional privacy leak because you have already revealed
% to your DNS resolver which website your visiting when looking up a domain
% name.  Our observation is that if plaintext DNS traffic is used to interact
% with the logs, then intermediate routers and switches on the internet are
% in a position to verify if the users that share the same vantage points see
% the same append-only logs, notably without the users having to do any of
% the split-view detection because its provided as a service by the network.
% Exactly about how we implemented and evaluated this is available in the
% thesis.
%
% The second one 
\begin{frame}
  \mktitle{C2: Increased probability of split-view detection}

  \begin{columns}
    \begin{column}{0.323\textwidth}
      \vspace{1.112cm}
      \centering\includegraphics[width=\columnwidth]{img/contribs/split-view}\\
      \vspace{1.112cm}
      \textbf{Problem}
    \end{column}

    \pause\dashedline
    \begin{column}{0.323\textwidth}
      \vspace{1.112cm}
      \centering\includegraphics[width=\columnwidth]{img/contribs/ctga-intuition}\\
      \vspace{1.112cm}
      \textbf{Solution (1/2)}
    \end{column}

    %\pause\dashedline
    %\begin{column}{0.323\textwidth}
    %  \centering\includegraphics[width=\columnwidth]{img/contribs/ctga-gossip}\\
    %  \textbf{Solution}
    %\end{column}
    \pause\dashedline
    \begin{column}{0.323\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/contribs/ctor-gossip}\\
      \textbf{Solution (2/2)}
    \end{column}

  \end{columns}

  %\pause\vfill\alert{Aggregation indistinguishability, incremental roll-out measurements}

\end{frame}

%\begin{frame}
%  \mktitle{C2: Increased probability of split-view detection}
%
%  \begin{columns}
%    \begin{column}{0.323\textwidth}
%      \vspace{1.15cm}
%      \centering\includegraphics[width=\columnwidth]{img/contribs/split-view}\\
%      \vspace{1.15cm}
%      \textbf{Problem}
%    \end{column}
%
%    \dashedline
%    \begin{column}{0.323\textwidth}
%      \vspace{1.15cm}
%      \centering\includegraphics[width=\columnwidth]{img/contribs/ctor-setting}\\
%      \vspace{1.15cm}
%      \textbf{Setting}
%    \end{column}
%
%    \pause\dashedline
%    \begin{column}{0.323\textwidth}
%      \centering\includegraphics[width=\columnwidth]{img/contribs/ctor-gossip}\\
%      \textbf{Solution}
%    \end{column}
%  \end{columns}
%
%\end{frame}

\begin{frame}
  \mktitle{C3: Improved detectability of website hijacks targeting Tor Browser}

  \begin{columns}
    \begin{column}{.485\textwidth}
      \centering\includegraphics[width=.8\columnwidth]{img/contribs/ctor-full}\\\vspace{.33cm}
      \textbf{Solution (continued)}
    \end{column}

    \pause\dashedline
    \begin{column}{.485\textwidth}
      Attacker capabilities
      \begin{itemize}
        \item Vanilla Tor Browser threat model
        \item Plus zero-day on Tor Browser
        \item Plus operates enough logs
      \end{itemize}

      \pause\vspace{.33cm}
      Security
      \begin{itemize}
        \item Break any of the four phases
        \item ``Break'' must go unnoticed
      \end{itemize}
    \end{column}
  \end{columns}

  \pause\vfill\alert{Gradual roll out, also use-cases relating to onion services}
  %\pause\vfill\alert{Small performance overhead, incremental roll-out plan}
\end{frame}

%\begin{frame}
%  \mktitle{Onion address discovery benefits from transparency as well (C3)}
%
%  \begin{tikzpicture}[remember picture,overlay]
%    \node[anchor=north] (n1) at (current page.north) {\tiny{\texttt{cyigahm4clwlimo6mfl4yjie5fwfbhlbuag57xo3kimk6invht6ffrad.onion}}};
%  \end{tikzpicture}
%
%  \pause
%  \begin{columns}
%    \begin{column}{0.67\textwidth}
%      \begin{itemize}
%              \item What is the onion address of example.com?
%        \pause\item What onion addresses are discovered for my site?
%        \pause\item Sounds familiar?
%      \end{itemize}
%    \end{column}
%
%    \pause\dashedline
%    \begin{column}{0.33\textwidth}
%      \centering
%      \includegraphics[width=.5\columnwidth]{img/contribs/sauteed-cert}\\
%      \textbf{Extend certificate}
%    \end{column}
%  \end{columns}
%
%  \pause\vfill\alert{One view of domain names to onion addresses, forward censorship resistance}
%\end{frame}

%
% Kom ihåg att nämna website oracle "as a security abstraction", referens för andra
%
\begin{frame}
  \mktitle{C4: An extension of the attacker model for website fingerprinting}
  \begin{columns}
    \begin{column}{0.59\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/contribs/wfwo-setting}\\
    \end{column}

    \pause\dashedline
    \begin{column}{.49\textwidth}
      \begin{itemize}
              \item Smaller destination anonymity set
        \pause\item Eliminates most false positives for Alexa top-10k and beyond
        \pause\item Gaining access to a website oracle?
      \end{itemize}
    \end{column}
  \end{columns}
  
  \pause\vfill\alert{Certificate Transaprency logs, Certificate Authorities, ...}
\end{frame}

\begin{frame}
  \mktitle{C5: Remotely-exploitable probing-attacks on Tor's DNS cache}

  \begin{columns}
    \begin{column}{0.49\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/contribs/dns-timing}\\\vspace{.33cm}
      \textbf{Timing attack}
    \end{column}

    \pause\dashedline
    \begin{column}{0.49\textwidth}
      \vspace{.5cm}
      \centering\includegraphics[width=\columnwidth]{img/contribs/tlwo-uncached}\\\vspace{.83cm}
      \textbf{Timeless timing attack}
    \end{column}
  \end{columns}

  %
  % Timing, 17.3\% TPR
  % - Google DNS? 16.8\%\\
  % - Cloudflare DNS? 7.4\%\\
  %
  % Timeless
  % Type       & Got uncached & Got cached  & Failures \\
  % Uncached   & $6,034,779$  & $0$         & $2,858$  \\
  % Cached     & $0$          & $6,034,594$ & $142$    \\
  %
  \pause\vfill\alert{12M repetitions in the live Tor network, fully reliable attack prototype}
\end{frame}

\begin{frame}
  \mktitle{C6: A redesign of Tor's DNS cache to\\defend against all (timeless) timing attacks}
  \begin{columns}
    \begin{column}{0.49\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/contribs/tlwo-preload}\\\vspace{.33cm}
      \textbf{Preloaded DNS cache}
    \end{column}

    \pause\dashedline
    \begin{column}{0.44\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/contribs/tlwo-heatmap-web}
    \end{column}
  \end{columns}
\end{frame}

\begin{frame}
  \mktitle{Summary of research methods}

  \begin{columns}
    \begin{column}{0.25\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/take-away/methods-proofs}\\
      Threat modelling,
      proof sketching
    \end{column}

    \begin{column}{0.25\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/take-away/methods-measurements}\\
      Real-world measurements
    \end{column}

    \begin{column}{0.25\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/take-away/methods-simulation}\\
      Network simulation\\
      \,
    \end{column}

    \begin{column}{0.25\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/take-away/methods-prototyping}\\
      Prototyping and evaluation
    \end{column}
  \end{columns}

\end{frame}

\subtitle{Take away}
\begin{frame}
  \vfill
  \begin{columns}
    \begin{column}{.75\textwidth}
      \mktitle{Take away}
      \vspace{.33cm}
      \begin{itemize}
        \item Trust requirements can be reduced wrt.\ monitors and logs
        \item Certificate Transparency can work in Tor Browser's setting
        \item The website fingerprinting threat model could be stronger
        \item ``On...''
      \end{itemize}
    \end{column}
    \begin{column}{.35\textwidth}
      \centering\includegraphics[width=\columnwidth]{img/take-away/take-away}
    \end{column}
  \end{columns}
\end{frame}

%%%
% Thanks
%%%
\subtitle{Collaborators and funders}

\begin{frame}
  \vfill
  \centering\includegraphics[width=.7\textwidth]{img/thanks}
\end{frame}