-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.xml
More file actions
1411 lines (1336 loc) · 99.7 KB
/
index.xml
File metadata and controls
1411 lines (1336 loc) · 99.7 KB
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
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Thomas Pasquier</title>
<link>https://tfjmp.org/</link>
<atom:link href="https://tfjmp.org/index.xml" rel="self" type="application/rss+xml" />
<description>Thomas Pasquier</description>
<generator>Wowchemy (https://wowchemy.com)</generator><language>en-us</language><lastBuildDate>Mon, 02 Feb 2026 00:00:00 +0000</lastBuildDate>
<image>
<url>https://tfjmp.org/media/icon_hu08a0612ece3264b0c60a561067d923a4_34621_512x512_fill_lanczos_center_3.png</url>
<title>Thomas Pasquier</title>
<link>https://tfjmp.org/</link>
</image>
<item>
<title>RegTrack: Uncovering Global Disparities in Third-party Advertising and Tracking</title>
<link>https://tfjmp.org/publication/2026-madweb/</link>
<pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2026-madweb/</guid>
<description></description>
</item>
<item>
<title>Toward Practical and Usable Provenance-based Intrusion Detection Systems</title>
<link>https://tfjmp.org/publication/2025-usenix-login/</link>
<pubDate>Fri, 05 Sep 2025 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2025-usenix-login/</guid>
<description></description>
</item>
<item>
<title>Sometimes Simpler is Better: A Comprehensive Analysis of State-of-the-Art Provenance-Based Intrusion Detection Systems</title>
<link>https://tfjmp.org/publication/2025-usenixsec-2/</link>
<pubDate>Tue, 20 May 2025 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2025-usenixsec-2/</guid>
<description><div align="center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/Or_iAucWqT4?si=E1OlKsDU3fAZRM8p" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
</description>
</item>
<item>
<title>ORTHRUS: Achieving High Quality of Attribution in Provenance-based Intrusion Detection Systems</title>
<link>https://tfjmp.org/publication/2025-usenixsec/</link>
<pubDate>Sun, 12 Jan 2025 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2025-usenixsec/</guid>
<description><div align="center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/_FpCefZeObw?si=sXcdMnS2nWki-uJF" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
</description>
</item>
<item>
<title>On the Reproducibility of Provenance-based Intrusion Detection that uses Deep Learning</title>
<link>https://tfjmp.org/publication/2025-rep/</link>
<pubDate>Sat, 11 Jan 2025 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2025-rep/</guid>
<description></description>
</item>
<item>
<title>SafeBPF: Hardware-assisted Defense-in-depth for eBPF Kernel Extensions</title>
<link>https://tfjmp.org/publication/2024-ccsw/</link>
<pubDate>Fri, 18 Oct 2024 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2024-ccsw/</guid>
<description><div align="center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/PQNDsdP27Hw?si=opo-XDNivz1HDLXl&amp;start=15045" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
</description>
</item>
<item>
<title>FetchBPF: Customizable Prefetching Policies in Linux with eBPF</title>
<link>https://tfjmp.org/publication/2024-atc/</link>
<pubDate>Wed, 10 Jul 2024 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2024-atc/</guid>
<description><div align="center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/0lo-7dDVFB0?si=qU5yN_IyrVtE_GTP" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
</div>
</description>
</item>
<item>
<title>Computational Experiment Comprehension using Provenance Summarization</title>
<link>https://tfjmp.org/publication/2024-rep/</link>
<pubDate>Tue, 18 Jun 2024 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2024-rep/</guid>
<description></description>
</item>
<item>
<title>Kairos: Practical Intrusion Detection and Investigation using Whole-system Provenance</title>
<link>https://tfjmp.org/publication/2024-sp/</link>
<pubDate>Mon, 20 May 2024 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2024-sp/</guid>
<description></description>
</item>
<item>
<title>Kairos: Practical Intrusion Detection and Investigation using Whole-system Provenance (Supplementary Material)</title>
<link>https://tfjmp.org/publication/2024-sp-supp/</link>
<pubDate>Sun, 19 May 2024 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2024-sp-supp/</guid>
<description></description>
</item>
<item>
<title>The Thesis Proposal</title>
<link>https://tfjmp.org/post/phd-proposal/</link>
<pubDate>Thu, 09 May 2024 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/post/phd-proposal/</guid>
<description><p>The submission of your thesis proposal should normally occur in the second year
of the PhD program and before the end of the third year.
You can find more information about the process on the <a href="https://www.cs.ubc.ca/students/grad/policies/grad-handbook/phd-program/thesis-proposal" target="_blank" rel="noopener">department website</a>.
The process itself is clearly detailed, but the expected content of the thesis
proposal itself is underspecified.
This page describes my expectations for the students I supervise.</p>
<h1 id="formatting-and-length">Formatting and Length</h1>
<p>I strongly recommend to use the following <a href="https://github.com/tfjmp/ubcdiss" target="_blank" rel="noopener">latex template</a>.
Remember, that as per department rules, your thesis proposal <strong>must not</strong> exceed
50 pages (excluding appendices).
You should also update and remove part of the front matter from the template (e.g., list of figures, chapter list etc.).
The page limit is a maximum; it is not a target.
Successful Thesis Proposal documents can be shorter than the limit.
Writing within the page limit is important.
You should add all submissions and accepted publications since the start of your PhD
in the appendix.</p>
<h1 id="content">Content</h1>
<h2 id="summary">Summary</h2>
<p>This should be 1 or 2 pages long and give a brief summary of the research you are
intending to pursue.
The early part of your summary, should contain your <a href="https://cs.uwaterloo.ca/~brecht/thesis-stmt-new.html" target="_blank" rel="noopener">thesis statement</a>
(more examples <a href="https://depts.washington.edu/acelab/theses.html" target="_blank" rel="noopener">here</a>).
The thesis statement is central to the proposal and you should build the rest of
the document around it.
Your goal is to demonstrate that your proposed thesis is non-trivial, novel,
plausible and, importantly, useful.</p>
<p>You can later subdivide your thesis statement into multiple research questions, but you
must ensure that they are clearly interconnected, and that they will lead
to a coherent narrative throughout your thesis.
You should also discuss why answering those questions is important.</p>
<h2 id="literature-review">Literature review</h2>
<p>The goal in this section is to demonstrate your understanding of the literature,
and to show the limitations of previous work.
This should be the basis to your claim of novelty,
and it should be clear how the proposed work fits within the existing literature.
The literature review should provide a <strong>critical</strong> assessment of past work, including:</p>
<ol>
<li>the identification of foundational work in the topic area;</li>
<li>the most closely related prior work;</li>
<li>a clear discussion of their strengths and limitations.</li>
</ol>
<p>You should consider that this part of the proposal will be used as a chapter in
your thesis.</p>
<h2 id="progress-report">Progress Report</h2>
<p>You should have done preliminary research by the time you are submitting your
proposal and, ideally, have published some work based on your <a href="https://tfjmp.org/post/rpe/" target="_blank" rel="noopener">RPE</a>.
The goal is to show the committee what you are capable of.
This helps the committee assess the plausibility of the thesis and of your proposed plan.
Published papers should be available in the appendix, and you do not need to
reproduce their content.
You should summarize them briefly in a self-contained way.</p>
<p>You should also consider listing talks you have given, internships or any other
relevant activities.</p>
<h2 id="research-proposal">Research Proposal</h2>
<p>You should build from your proposal summary and discuss how you are planning to
tackle your thesis and your research questions over the next few years.
It may be useful to think of this in term of planned publications.
You could subdivide the planned research into multiple chunks.
Each chunk could be summarized into 3 or 4 paragraphs and corresponds to an
academic paper.
Those papers will form the basis for your thesis chapters.
At this stage you should plan for at least 3 full academic papers.</p>
<h2 id="plan-and-timeline">Plan and Timeline</h2>
<p>While your proposal should give the impression that failure of your research is
unlikely, in reality this possibility exists.
Indeed, it would not be research if failure was not possible.
Consequently, your plan must account for possible setbacks and failures, and
must discuss what you plan to do if something does not work out.
Your plan must also contain milestones as well as there completion and success
criteria.
A milestone, can be, for example, the submission of a paper,
the release of a dataset, the completion of some software development task etc.
You may also discuss the evaluation strategies you will adopt to measure success
(e.g., your system successfully prevent vulnerability X while adding less than Y% overhead.)
This list of milestones should clearly and ultimately lead to the submission and defense of
your thesis.</p>
<p>The milestones you present are your best guesses at the time of your proposal.
You will not be held to them, but you should periodically refer to your schedule,
update it as necessary, and become better at estimating how long it will take to complete your work.
They are mostly there to demonstrate that you understand the timescale involved
in overcoming different research challenges (e.g., paper submissions must be
scheduled at a reasonable and plausible pace).</p>
<p>Finally, if you need specialized hardware or specific software resources to
complete your research, this must be discussed in advance and clearly stated
in your thesis.</p>
<h1 id="proposal-submission">Proposal Submission</h1>
<p>You should plan a couple of months to work on your proposal. You should be ready
to send and discuss regular updates with me during those months. Once we are in agreement that the
proposal is converging towards an acceptable output, you should contact the
<a href="https://www.cs.ubc.ca/students/grad/policies/grad-handbook/phd-program/phd-supervisory-committee" target="_blank" rel="noopener">members of the committee</a> and schedule a date for your defense.
You should send your proposal at least two weeks in advance as to leave sufficient time for the
committee members to carefully review it (you should discuss this explicitly with the committee members).
It is also your responsibility to identify and make sure you fulfil all the department&rsquo;s
administrative requirements.</p>
</description>
</item>
<item>
<title>Unleashing Unprivileged eBPF Potential with Dynamic Sandboxing</title>
<link>https://tfjmp.org/publication/2023-sigcomm-ebpf/</link>
<pubDate>Sun, 10 Sep 2023 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2023-sigcomm-ebpf/</guid>
<description></description>
</item>
<item>
<title>[538P] Topic in Computer Systems: Systems Security (2022-2023)</title>
<link>https://tfjmp.org/post/2022-538p/</link>
<pubDate>Thu, 02 Jun 2022 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/post/2022-538p/</guid>
<description><h2 id="course-description">Course Description</h2>
<p>The goal of this course is to expose students to a variety of topics in Systems Security.
Security inherently touches on all areas of computer science.
Therefore, this course was designed as a <em>breadth</em> course, addressed to all students in the department.
The core idea underlying the course is to bring together a diversity of viewpoints to generate interesting discussions.
On the other hand, we could also easily design a <em>depth</em> course focused on any of the topics we will discuss.
The project component is the opportunity for students to explore one of those topics in more depth.
Students are free (and encouraged) to apply their expertise (ML, PL, HCI, architecture etc.) to solve a specific Security problem.
Some of the papers have been selected explicitly to highlight the interdisciplinary nature of Systems Security and to showcase
how diverse perspectives are welcomed and appreciated.</p>
<h2 id="course-requirements">Course Requirements</h2>
<p>There is no specific pre-requisite for this course outside of an undergraduate degree in Computer Science or closely related topics.</p>
<h2 id="course-objectives">Course Objectives</h2>
<ul>
<li>reason about security problems;</li>
<li>learn to read, critique, and write security papers;</li>
<li>better understand the review process;</li>
<li>implement and evaluate a security prototype.</li>
</ul>
<h2 id="class-format">Class format</h2>
<p>This is a seminar-type class.
Every class we will discuss a different paper.
I have selected a mix of recent and older papers.
There will be two presenters during each class.
Each presenter will play a different role: the role of the Advocate and the role of the Critic.
The Advocate should play a role similar to that of the original authors and try to sell the work to the audience.
On the other hand, the Critic while remaining objective should towards the end of the presentation highlight the flaw of the paper and convince the audience that the paper is not good.
The Advocate presentation will last 20-25 minutes, you should motivate the work,
summarize the paper, and present the results.
The Critic presentation will last 10 minutes, you do not need to cover motivation
or summarization, instead you should focus on the shortcomings of the paper.
While shorter, the critical presentation is probably harder to prepare.</p>
<p>In order to do well during your presentation, you should remember to stick to your role (Advocate or Critic).
Further, you do not need to spend too much time explaining the basics of the paper, everyone in the class will have already read it.
What add value to the presentation is your opinion and the insights you can extract from the paper! This is what you should focus on.</p>
<p>You should expect to present at least 2 or 3 times during the term depending on the number of students registered.
After the presentation, we will take a 10 minutes break and discuss the paper.
You should come prepared for those discussions and be ready to engage.
Submissions are to be made on <a href="https://canvas.ubc.ca/courses/106406" target="_blank" rel="noopener">canvas</a>, unless specified otherwise.</p>
<h2 id="paper-reports">Paper reports</h2>
<p>For each assigned paper you must write a report. You are to use the <a href="https://www.usenix.org/conferences/author-resources/paper-templates" target="_blank" rel="noopener">USENIX latex template</a>
for formatting.
You must submit your reports on <a href="https://canvas.ubc.ca/courses/106406" target="_blank" rel="noopener">Canvas</a>.
In your report, please, follow this structure:</p>
<div class="alert alert-note">
<div>
<h3 id="paper-summary-no-more-than-250-words">Paper Summary (no more than 250 words)</h3>
<p>Provide a brief summary of the paper (3-5 sentences is usually enough). The aim is to demonstrate
that you’ve read (and understood) the paper, so try to paraphrase and extract the essentials. At this
stage you should aim to be objective; later sections allow for your own opinion.</p>
<h3 id="answer-the-following-no-more-than-750-words-in-total">Answer the following (no more than 750 words in total)</h3>
<h4 id="the-problem">The Problem</h4>
<p>What is the problem? Why is it important? Why is previous work insufficient (or Why has the
problem not been solved before, e.g. it’s a new problem the authors have identified). This is your take
on what the authors say in the paper (so again should be fairly objective). If the paper doesn’t seem
to tackle a particular problem, then focus on the primary motivation for the work. 1-2 sentences for
each of the three questions is probably sufficient.</p>
<h4 id="the-solution-or-approach">The Solution (or Approach)</h4>
<p>What is their approach/solution? How does it solve the problem? How is the solution unique and/or
innovative (if it is)? What are the details? Once more you should use the paper itself as the source to
help you answer these questions– but, as in previous parts, please do not just copy sections from the
paper. Instead, you should focus on paraphrasing/synopsizing, and extracting the essential details.
Depending on the paper, you’ll probably need 5-10 sentences here.</p>
<h4 id="evaluation">Evaluation</h4>
<p>How do they evaluate their solution? What questions do they set out to answer? What does the
evaluation say about the strengths and weaknesses of their system? What are the strengths and weaknesses of the evaluation itself do you think? A total of 3-4 sentences should suffice here – we’re
looking for highlights, not a point-by-point reproduction of the evaluation section(s).
In the rare case that there is no evaluation section, skip this part of the report.</p>
<h4 id="questions-for-the-authors">Questions for the Authors</h4>
<p>Imagine you’re attending a talk about this paper given by one of the authors. List at least 2 questions
that you would like to ask. These should ideally be specific to the paper/research.</p>
</div>
</div>
<p>You should submit 23 paper reports (subject to change). Each report done properly is equivalent to
1% of your final grade for a total of 20%. The 5 worst report score will be ignored (this gives
you 5 effective jokers).</p>
<h2 id="project">Project</h2>
<p>The project must address a non-trivial problem relevant to systems security. The project can resolve the problem by building a system, collecting data/carrying out experiments, developing algorithms and proving them correct, etc. I strongly prefer that you do your project in a team of 2-4 people.
You are encouraged to apply techniques from your main area of expertise to the topic of security (e.g., perform intrusion detection using ML techniques).</p>
<p>You should plan to schedule some time to chat about your project idea with me.
Please, do not hesitate to send me an e-mail as soon as you want to discuss it.</p>
<p>The required project deliverables are listed below.
Written submissions will be made through <a href="https://ubc-syssec23.hotcrp.com/" target="_blank" rel="noopener">hotcrp</a> and must be formatted using the <a href="https://www.usenix.org/conferences/author-resources/paper-templates" target="_blank" rel="noopener">USENIX latex template</a>.</p>
<ul>
<li><strong>Project Proposal Draft:</strong> You are to submit the draft of your proposal on <a href="https://ubc-syssec23.hotcrp.com/" target="_blank" rel="noopener">hotcrp</a>. It will not be directly graded but will receive reviews from your peers.</li>
<li><strong>Proposal Presentation:</strong> You will prepare a short presentation describing the project you intend to work on. Each presentation will be followed by a Q&amp;A session. Presentation timing and details TBD.</li>
<li><strong>Proposal Peer Review:</strong> each student will review proposals from other groups and give feedback. You should take this task seriously. Please, check the CCS-inspired guidelines <a href="https://tfjmp.org/files/guidelines.pdf" target="_blank" rel="noopener">online</a>.</li>
<li><strong>Project Proposal:</strong> you should incorporate feedback from the peer review process. I also strongly encourage you to schedule time to chat with me.</li>
<li><strong>Project Report Draft:</strong> You are to submit the draft of your report on <a href="https://ubc-syssec23.hotcrp.com/" target="_blank" rel="noopener">hotcrp</a>. It will not be directly graded but will receive reviews from your peers.</li>
<li><strong>Project Presentation:</strong> You will prepare a presentation describing your project. I encourage you to demo your project during your talk. Each presentation will be followed by a Q&amp;A session. Presentation timing and details TBD.</li>
<li><strong>Report Peer Review:</strong> as per the proposal stage, you will be asked to review the report from other teams. Please, check the CCS-inspired guidelines <a href="https://tfjmp.org/files/guidelines.pdf" target="_blank" rel="noopener">online</a>.</li>
<li><strong>Project Report:</strong> you should incorporate feedback from the peer review process. I also strongly encourage you to schedule time to chat with me.</li>
</ul>
<div class="alert alert-note">
<div>
<h3 id="proposal-instuction">Proposal Instuction</h3>
<p>Your proposal should be short (~4 pages). The main objective is to
assess the viability of the proposed project. You are expected to have
completed a limited amount of work at this stage.</p>
<p>It must contain the following element:</p>
<ul>
<li><strong>Problem statement</strong> (4 paragraphs): <em>Paragraph 1)</em> At a high level, what is the
problem area you are working on, and why is it important? It is important
to set the larger context here. Why is the problem of interest and
importance to the larger community? <em>Paragraph 2)</em> What is the specific problem
considered in this paper? This paragraph narrows down the topic area of the
paper. In the first paragraph, you have established general context and
importance. Here you describe a specific context and background.
<em>Paragraph 3)</em> What general approach are you planning to take?
Why do you expect significant results? You won&rsquo;t have done the work at this
stage, but you should think about the results you expect to obtain.
<em>Paragraph 4)</em> At a high level, what are the differences between what you are doing
and what others have done?</li>
<li><strong>Related Work</strong> (1 page): There are two types of related work: background work
and contextual work. Background work includes contributions that are required to
understand your work. They must be described in sufficient detail so that any
of your classmates can understand what you are doing and why. Contextual work
is necessary to help the readers place your work and identify your
contributions. This includes past contributions you build upon in your own solution,
work that solves the same problem but in different ways, and contributions from
adjacent areas (solving a similar problem in a different domain). It is important
to remember that doing something differently is not a contribution. It must be
clear why you are taking an alternative approach (e.g., you exercise different trades-off,
improve performance, etc.). You may have yet to perform
an exhaustive literature review when submitting the proposal. Still, you need to have identified important work,
know where to look for more, and clearly understand how your proposal differs
from previous work. If you identify flaws in past work that you aim to address,
identify and state them clearly. If you have yet to read all the papers you intend
to read; you should list all those you have identified and plan to read. You
should also identify areas/domains where you plan to look for relevant
work. However, you should explicitly compare your proposed solution to some
previous work (a few sentences per publication are enough).</li>
<li><strong>Experimental setup</strong> (1 page): What experiments will you conduct? Why? What
question is each experiment designed to answer? What do you hope to learn from
each experiment? What measurement tools will you use? How will you determine if
your measurements are accurate? What tests will you conduct conditionally?
(For example, if we learn X from experiment 1, then we must
do A else do B.) What problems do you expect?
This part is essential to receive meaningful feedback and plan your
research. This is where most of the proposal effort should go.</li>
<li><strong>Resources Needed</strong> (&lt;1 page): What equipment/software/tool will you need?
Do you have access to it? How could you get access? You do not want to find out,
midway through the project, you need access to resources that are not available.</li>
<li><strong>Schedule</strong> (&lt;1 page): You should be as precise as you can, identify important
milestones, and make sure you allocate time to write the report and incorporate
peers feedback.</li>
<li><strong>Distinction from Thesis</strong> (1-2 paragraphs): You can and you are encouraged to work
on a topic related to your thesis. However, your project <strong>must</strong> be
distinct from your main research. You must explicit this distinction (in some
cases, a single sentence is enough).</li>
</ul>
<h3 id="report-instruction">Report Instruction</h3>
<p>You should write your final report as you would write a research paper. Your
report should be at most 13 pages, including figures and tables, but excluding
references. Be sure to highlight your work&rsquo;s limitations honestly
and discuss when your results did not meet your expectations/hypothesis. Try to explain why this happens. I expect some of the reports you submit to
be suitable to be turned into conference submissions. I am more than happy to
work with you to make it happen.
<strong>You MUST include a link to the software artifact(s) backing your paper.</strong></p>
</div>
</div>
<div class="alert alert-note">
<div>
<h2 id="project-presentations">Project Presentations</h2>
<h3 id="proposal-presentation">Proposal Presentation</h3>
<p>The proposal presentation should last no more than 20 minutes. You should expect
questions at the end of the presentation and may allow questions during the
presentation. You should clearly explain what problem you are planning to explore
and why it is an important problem. You should walk your audience through your
research plan and how you are planning to evaluate the outcome of your project.
The presentation should be accessible to a knowledgeable but non-expert audience.
The presentation is graded as a group, how you want to present is the responsibility
of the group members.</p>
<p>Audience should read through the proposal they have been assigned to review
beforehand and be ready to ask some questions. This should be non-adversarial and
with the intent of helping your classmates.</p>
<h3 id="final-presentation">Final Presentation</h3>
<p>The final presentation should not last more than 15 minutes. You should expect
5/10 minutes of questions at the end of the presentation. You presentation must
discuss the motivation behind your work, the design of your solution, the
evaluation you have performed, and discuss explicitly any limitations of your
work. The presentation should be accessible to a knowledgeable but non-expert audience.
The presentation is graded as a group, how you want to present is the responsibility
of the group members.</p>
<p>Audience should read through the proposal they have been assigned to review
beforehand and be ready to ask some questions. This should be non-adversarial and
with the intent of helping your classmates.</p>
</div>
</div>
<h3 id="deadlines">Deadlines</h3>
<ul>
<li><strong>Project Proposal Draft:</strong> Friday, February 10th</li>
<li><strong>Proposal Presentation:</strong> Wednesday, February 15th</li>
<li><strong>Proposal Peer Review:</strong> Friday, February 17th</li>
<li><strong>Project Proposal:</strong> Monday, February 27th</li>
<li><strong>Project Report Draft:</strong> Friday, April 7th</li>
<li><strong>Project Presentation:</strong> Wednesday, April 12th</li>
<li><strong>Report Peer Review:</strong> Friday, April 14th</li>
<li><strong>Project Report:</strong> Friday, April 28th</li>
</ul>
<h2 id="grading">Grading</h2>
<ul>
<li>Paper reports 20%</li>
<li>Presentation(s) 10%</li>
<li>Project (group) 50%</li>
<li>Peer Review 15%</li>
<li>Participation (in-class discussion) 5%</li>
</ul>
<h2 id="schedule--reading-list-subject-to-change">Schedule &amp; Reading List (subject to change)</h2>
<p>Classes take place in <a href="https://learningspaces.ubc.ca/classrooms/dmp-101" target="_blank" rel="noopener">DMP 101</a>.</p>
<table>
<thead>
<tr>
<th>Day</th>
<th>Paper</th>
<th>Presenters</th>
</tr>
</thead>
<tbody>
<tr>
<td>Jan 9 Mon</td>
<td>Introduction - Course Overview - Reading a Paper <br/> Reading (no report): <a href="https://cseweb.ucsd.edu/~dstefan/cse227-spring19/papers/keshav:how.pdf" target="_blank" rel="noopener">How to read a paper</a></td>
<td></td>
</tr>
<tr>
<td>Jan 11 Wed</td>
<td><a href="https://ieeexplore.ieee.org/document/8523802" target="_blank" rel="noopener">A Study on the Security Implications of Information Leakages in Container Clouds</a></td>
<td></td>
</tr>
<tr>
<td>Jan 16 Mon</td>
<td><a href="https://gzs715.github.io/pubs/HOUDINI_CCS19.pdf" target="_blank" rel="noopener">Houdini&rsquo;s Escape: Breaking the Resource Rein of Linux Control Groups</a></td>
<td></td>
</tr>
<tr>
<td>Jan 18 Wed</td>
<td><a href="https://www.usenix.org/system/files/conference/osdi16/osdi16-arnautov.pdf" target="_blank" rel="noopener">SCONE: Secure Linux Containers with Intel SGX</a></td>
<td></td>
</tr>
<tr>
<td>Jan 23 Mon</td>
<td><a href="https://web.dse.in.tum.de/wp-content/uploads/2021/11/rkt-io-eurosys21.pdf" target="_blank" rel="noopener">rkt-io: a direct I/O stack for shielded execution</a></td>
<td></td>
</tr>
<tr>
<td>Jan 25 Wed</td>
<td><a href="https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-sun.pdf" target="_blank" rel="noopener">Security Namespace: Making Linux Security Frameworks Available to Containers</a></td>
<td></td>
</tr>
<tr>
<td>Jan 30 Mon</td>
<td><a href="https://www-users.cse.umn.edu/~kjlu/papers/kara.pdf" target="_blank" rel="noopener">Demons in the Shared Kernel: Abstract Resource Attacks Against OS-level Virtualization</a></td>
<td></td>
</tr>
<tr>
<td>Feb 1 Wed</td>
<td><a href="https://ieeexplore.ieee.org/abstract/document/1199328" target="_blank" rel="noopener">Anomaly detection using call stack information</a></td>
<td></td>
</tr>
<tr>
<td>Feb 6 Mon</td>
<td><a href="https://ieeexplore.ieee.org/abstract/document/924295" target="_blank" rel="noopener">A fast automaton-based method for detecting anomalous program behaviors</a></td>
<td></td>
</tr>
<tr>
<td>Feb 8 Wed</td>
<td><a href="https://dl.acm.org/doi/pdf/10.1145/2939672.2939783" target="_blank" rel="noopener">Fast Memory-efficient Anomaly Detection in Streaming Heterogeneous Graphs</a></td>
<td></td>
</tr>
<tr>
<td>Feb 13 Mon</td>
<td><a href="https://dl.acm.org/doi/pdf/10.1145/3460120.3484589" target="_blank" rel="noopener">DeepAID: Interpreting and Improving Deep Learning-based Anomaly Detection in Security Applications</a></td>
<td></td>
</tr>
<tr>
<td>Feb 15 Wed</td>
<td>Proposal Presentation</td>
<td></td>
</tr>
<tr>
<td>Feb 20 Mon</td>
<td>Midterm Break</td>
<td></td>
</tr>
<tr>
<td>Feb 22 Wed</td>
<td>Midterm Break</td>
<td></td>
</tr>
<tr>
<td>Feb 27 Mon</td>
<td><a href="https://users.cs.northwestern.edu/~robby/courses/395-495-2017-winter/ndss2008.pdf" target="_blank" rel="noopener">Automated whitebox fuzz testing</a></td>
<td></td>
</tr>
<tr>
<td>Mar 1 Wed</td>
<td><a href="https://www.usenix.org/system/files/woot20-paper-fioraldi.pdf" target="_blank" rel="noopener">AFL++: Combining Incremental Steps of Fuzzing Research</a></td>
<td></td>
</tr>
<tr>
<td>Mar 6 Mon</td>
<td><a href="https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-schumilo.pdf" target="_blank" rel="noopener">kAFL: Hardware-assisted feedback fuzzing for OS kernels</a></td>
<td></td>
</tr>
<tr>
<td>Mar 8 Wed</td>
<td><a href="http://web.cse.ohio-state.edu/~zhao.2708/assets/ndss18/NDSS18.pdf" target="_blank" rel="noopener">IoTFuzzer: Discovering Memory Corruptions in IoT Through App-based Fuzzing</a></td>
<td></td>
</tr>
<tr>
<td>Mar 13 Mon</td>
<td><a href="https://www.usenix.org/system/files/conference/usenixsecurity18/sec18-he.pdf" target="_blank" rel="noopener">Rethinking Access Control and Authentication for the Home Internet of Things (IoT)</a></td>
<td></td>
</tr>
<tr>
<td>Mar 15 Wed</td>
<td><a href="https://spiral.imperial.ac.uk/bitstream/10044/1/77847/5/ren-imc19.pdf" target="_blank" rel="noopener">Information Exposure From Consumer IoT Devices: A Multidimensional, Network-Informed Measurement Approach</a></td>
<td></td>
</tr>
<tr>
<td>Mar 20 Mon</td>
<td><a href="https://cs.uwaterloo.ca/~brecht/courses/854-Scalable-Systems-Software-2011/Possible-Readings/virtualization/secure-virtual-arch-sosp-2007-criswell.pdf" target="_blank" rel="noopener">Secure Virtual Architecture: A Safe Execution Environment for Commodity Operating Systems</a></td>
<td></td>
</tr>
<tr>
<td>Mar 22 Wed</td>
<td><a href="https://pdos.csail.mit.edu/papers/lxfi:sosp11.pdf" target="_blank" rel="noopener">Software fault isolation with API integrity and multi-principal modules</a></td>
<td></td>
</tr>
<tr>
<td>Mar 27 Mon</td>
<td><a href="https://www.usenix.net/system/files/atc19-narayanan.pdf" target="_blank" rel="noopener">LXDs: Towards isolation of kernel subsystems</a></td>
<td></td>
</tr>
<tr>
<td>Mar 29 Wed</td>
<td><a href="http://nebelwelt.net/publications/files/22NDSS2.pdf" target="_blank" rel="noopener">Preventing Kernel Hacks with HAKC</a></td>
<td></td>
</tr>
<tr>
<td>Apr 3 Mon</td>
<td><a href="https://www.usenix.org/system/files/osdi20-narayanan_vikram.pdf" target="_blank" rel="noopener">RedLeaf: Isolation and Communication in a Safe Operating System</a></td>
<td></td>
</tr>
<tr>
<td>Apr 5 Wed</td>
<td><a href="https://dl.acm.org/doi/abs/10.1145/319151.319163" target="_blank" rel="noopener">EROS: a fast capability system</a></td>
<td></td>
</tr>
<tr>
<td>Apr 10 Mon</td>
<td><a href="https://www.cl.cam.ac.uk/~dc552/papers/201505-oakland2015-cheri-compartmentalization.pdf" target="_blank" rel="noopener">Cheri: A hybrid capability-system architecture for scalable software compartmentalization</a></td>
<td></td>
</tr>
<tr>
<td></td>
<td>Optional reading: <a href="https://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-941.pdf" target="_blank" rel="noopener">Introduction to CHERI</a></td>
<td></td>
</tr>
<tr>
<td>Apr 12 Wed</td>
<td>Project Presentation</td>
<td></td>
</tr>
</tbody>
</table>
<h2 id="late-policy">Late Policy</h2>
<p>You will receive a 0 for late work unless you have an approved extension.</p>
<p>For individual assignments, the deadline for one assignment can be extended by 24 hours with no penalty to the mark. Extension requests must be made explicitly through e-mail. Extension requests must be made no later than 24 hours past the deadline.</p>
<p>For group tasks, you can request an extension of 24 hours as long as someone in your group has an unused extension. You cannot receive an extension of more than 24 hours for a group deliverable.</p>
<h2 id="academic-honesty-and-collaboration-guidelines">Academic honesty and collaboration guidelines</h2>
<p>The department has a detailed policy regarding <a href="https://my.cs.ubc.ca/docs/collaboration-plagiarism" target="_blank" rel="noopener">collaboration and plagiarism</a>. You must familiarize yourself with this policy.</p>
<p><strong>Paper reports:</strong> You should write your reports individually. You are free to discuss with others,
but you must write the reports on your own. You should clearly reference any resources you have used.</p>
<p><strong>Projects:</strong> you are free to use any code you find in your project. However, a non-trivial fraction of functionality in your prototype must be constructed by your team. You must cite and attribute sources of the code that you borrow/utilize in your project. When writing the project reports, you should follow the same citation standard as expected from conference papers.</p>
<h2 id="extra-reading-material">Extra Reading Material</h2>
<ul>
<li><a href="https://cseweb.ucsd.edu/~dstefan/cse227-spring19/papers/keshav:how.pdf" target="_blank" rel="noopener">How to read a paper</a></li>
<li><a href="https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/" target="_blank" rel="noopener">How to write a great research paper</a></li>
<li><a href="https://www.microsoft.com/en-us/research/publication/how-to-give-a-good-research-talk/" target="_blank" rel="noopener">How to give a good research talk</a></li>
<li><a href="https://www.sigarch.org/reviewing-system-security-papers/" target="_blank" rel="noopener">Reviewing System Security Papers</a></li>
<li><a href="https://www.cl.cam.ac.uk/teaching/1011/R01/review-writing.pdf" target="_blank" rel="noopener">Writing reviews for systems conferences</a></li>
<li><a href="https://andreas-zeller.info/2021/07/27/Reviewing-across-fields-ICSE-PLDI-CCS.html" target="_blank" rel="noopener">How do different fields review papers? Experiences from ICSE, PLDI, and CCS</a></li>
</ul>
</description>
</item>
<item>
<title>The Research Proficiency Evaluation process</title>
<link>https://tfjmp.org/post/rpe/</link>
<pubDate>Sun, 15 May 2022 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/post/rpe/</guid>
<description><p>The official guidelines are provided on the <a href="https://www.cs.ubc.ca/students/grad/policies/grad-handbook/research-proficiency-evaluation-rpe/rpe-process" target="_blank" rel="noopener">department website</a>.
On this page, I give my take on the process and provide some pointers.</p>
<h2 id="the-goal-of-the-rpe">The goal of the RPE</h2>
<p>The purpose of the RPE is to 1) make sure you are ready for research; and
2) that the supervisory relationship is working. It is best to identify problems
early, and the goal is not to fail you but to ensure you are ready to succeed.
In my opinion, the RPE should be a well-defined, reasonably scoped, and
self-contained project. The RPE is not your Ph.D., you should think of it as
starting to work on your first paper (at UBC) and it should be scoped
consequently. You may have a grand ambition for your Ph.D.,
but you need to wrap the RPE project in only a few months.
Consequently, you need to identify a set of clear and meaningful objectives where
you can make significant progress within the available time frame.
There is an expectation that your RPE will lead to a publication, but this is
not expected to happen before your defense. However, you need to show you are
working in that direction (e.g., by showing preliminary results and a prototype).
Finally, The self-contained aspect is important if you are working as part
of a larger project, the RPE must be based on your work and your contribution
must be clearly identifiable.
My role is to work with you, support you, and make sure things go smoothly.</p>
<h2 id="deliverable">Deliverable</h2>
<p>For written reports, I suggest using the <a href="https://www.usenix.org/conferences/author-resources/paper-templates" target="_blank" rel="noopener">USENIX template</a>.</p>
<p><strong>RPE proposal</strong>: expected length is around two pages. This should focus on the problem
definition. However, from experience, most students submit slightly longer proposals (5-6 pages)
including an expanded related work section and a description of their proposed solution.
This is not necessary, but you should feel free to include this if you want feedback on those aspects.</p>
<p><strong>RPE report</strong>: expected length is around twelve pages. Your report should be
written and organized like a conference paper. You may consider including a long
discussion section containing: 1) limitations of your current prototype/proof of concept; 2) work
you are planning to do over the next few months to turn your RPE work into a publication.</p>
<p><strong>RPE presentation</strong>: expected length is around twenty minutes. You should present
your work as you would at a conference. You should cover the following topics: 1) context and problem;
2) solution; 3) evaluation; and 4) future work. You should
rehearse your presentation (you can ask me and your peers).</p>
<p>You should not hesitate to discuss with other students in the lab, and ask for examples
of their submissions. Further, I am expecting to see several drafts of your
written work/presentation. I will normally ask for it, but you should feel free
to send it to me as soon as you want feedback. Unlike work you do for a joint paper submission, I will avoid rewriting your text. However, I am more than happy to (and will) comment.
I also encourage you to share drafts with some of your peers working on
different projects (forming a writing group with other students taking their RPE at the same time can be a very positive experience). Sharing your work with peers help you gauge how accessible your writings are.</p>
<h2 id="deadlines">Deadlines</h2>
<p>Assume a student starting in September (if you start in January, tweak the timeline accordingly).
Here is my vision of how you should approach the RPE process.
Remember, as your advisor/supervisor it is my job to get you through this process
successfully. This means you should talk to me and seek help and support.</p>
<p><strong>September</strong>, you hopefully have an idea of why you came to UBC and what you want to work on.
You should spend your first few months getting familiar with the relevant literature,
writing an annotated bibliography/notes about your reading, and start designing and implementing prototypes to test your ideas.
In addition, you may also decide to join an existing project, get up to speed with the project, and participate actively.
During our 1-1 meeting I would expect to discuss your growing understanding of
the field, and your ideas. Part of my job is to challenge your ideas
and force you to think critically about the problems you propose to investigate and potential solutions.
Defining research problems is one of the most important skills to acquire early on.</p>
<p><strong>December</strong>, you should start crystalizing the research problem you want to
tackle during your RPE. Identify, the relevant literature and what is the state
of the art in that space.</p>
<p><strong>January</strong>, this is the time to start working on the proposal. In addition to formalizing and writing down your proposal, you should consider doing some preliminary technical experimentation. My advice is to take only a single course during this term. You want to ensure you have enough
time dedicated to research.</p>
<p><strong>March</strong>, we select together your RPE committee. This is relatively simple,
we need to identify two faculties such that their interests overlap with your RPE project
and who have time to seat on your committee.</p>
<p><strong>April</strong>, you submit your proposal and get feedback from the committee. You should
expect again your ideas to be challenged in a supportive way. The goal is to help
you formulate a clear problem. You should digest the feedback and make corrections
accordingly.</p>
<p><strong>May</strong>, you can now start working on your project in earnest. At this point,
you should be done with courses and you should be able to focus on your research
full-time. You are strongly encouraged to do so. I am expecting to get messages
from students several times a week at this point. Don&rsquo;t be shy, if you need to
discuss your struggles and/or design decisions do so! You may also want to chat
with other students in the lab, especially those working on related topics.</p>
<p><strong>August</strong>, you have hopefully been taking notes on your implementation, design,
and the literature you have read. It is time to write your RPE report. Remember,
the goal is to show you are able to perform research at a level expected from a
Ph.D. student. You may not have finished everything you wanted to do, but you need
to show at least an early prototype and some early evaluation results. You should also
demonstrate that you understand how to move from what you have to a publication
(i.e., clearly articulate the work you are planning to do over the next few months).</p>
<p><strong>September</strong>, it is time to submit the report and organize the defense. Do not
be overly concerned with the defense. You will be told before the presentation is scheduled if there are
any concerns about the quality of the report.</p>
<h2 id="failing-the-rpe">Failing the RPE</h2>
<p>In my opinion, a student failing during the public defense should be avoided and
in most circumstances would be the supervisor&rsquo;s responsibility.
There are multiple deadlines within the RPE that are opportunities to give
feedback and to have a difficult conversation if things are not going as they
should.
Your proposal and report are read by your supervisor and the committee members, you
should be told if there are concerns about their standard.
If that is the case, you should work with your supervisor on a positive outcome.
This outcome will depend on why things are not working well and can include
solutions such as an extension, looking for a new supervisor, or continuing in
the MSc program if you are a Ph.D. track student.
I also strongly encourage you to talk with other faculties or your peers in such
circumstances and to seek support to decide on your next steps.
In short, the process is designed to avoid failure.</p>
</description>
</item>
<item>
<title>Calendar</title>
<link>https://tfjmp.org/post/calendar/</link>
<pubDate>Mon, 04 Apr 2022 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/post/calendar/</guid>
<description><iframe src="https://calendar.google.com/calendar/embed?height=600&wkst=2&bgcolor=%23EF6C00&ctz=America%2FVancouver&mode=WEEK&showCalendars=0&showDate=1&showTitle=0&showPrint=1&showTabs=0&src=dGhvbWFzLmZyYW5jaXMucGFzcXVpZXJAZ21haWwuY29t&color=%23F09300" style="border:solid 1px #777" width="800" height="600" frameborder="0" scrolling="no"></iframe>
</description>
</item>
<item>
<title>Supervisory expectations</title>
<link>https://tfjmp.org/post/working-with-me/</link>
<pubDate>Mon, 04 Apr 2022 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/post/working-with-me/</guid>
<description><style>body {text-align: justify}</style>
<p>The goal of this document is to set mutual expectations on our collaboration.
We collaboratively update this document once a year.</p>
<h2 id="advisory-goals">Advisory goals</h2>
<p>My goal in advising graduate students is to help train them to become independent researchers.
This encompasses both the general scientific and research process, from identifying a compelling research question to communicating results through papers and presentations, as well as discipline-specific skills.</p>
<p>While these skills are particularly useful in academia, they are also useful in other contexts as well.
Some students will pursue careers as research-track academics, while others may become teaching-oriented professors, industry researchers, or entrepeneurs.
I am happy to work with students with any of these goals; students should discuss these types of goals with me on occasion, particularly as their thinking changes about future plans or leading up to relevant milestones in their degree.</p>
<h2 id="working-environment-and-relationship">Working environment and relationship</h2>
<h3 id="meetings-and-other-regular-communication">Meetings and other regular communication</h3>
<p>I structure my regular meetings with students on a per-project basis, which may mean that a given group of students typically meet me together.
We typically meet weekly, during which each student shares updates on their recent progress.
We have also have lab-wide meeting once a week.
I expect to meet, even if you don&rsquo;t expect to have substantial topics to talk about.</p>
<p>Before the meeting send me anything you&rsquo;d like to discuss (e.g. a paper draft) the day before the meeting.
Take notes during the meeting, and keep them in a location we can both have access to.
Not having substantial updates for a regular meeting should be rare.
Doing it more than once in a while is an indication that you&rsquo;re regularly having unproductive stretches, and we should discuss why this is and what to do about it.</p>
<p>Outside of these regularly arranged times, I am often available for impromptu discussion as it would be helpful. Feel free to ask for my time whenever it would be helpful, and allow me to say no if I can&rsquo;t.
To arrange additional discussions, get in touch with me via Slack to schedule a time to meet.</p>
<p>Communication from me to you outside of meetings:
I may message you via Slack at any time, but I do not expect you to reply outside of your typical working hours except if otherwise agreed to for a particular reason, e.g., an imminent conference deadline.
I do expect a response within 1 day (not including weekends), even if it is only to acknowledge the note and say that a more complete response is forthcoming.
And likewise, from you to me:
Feel free to message me at any time; I likewise may not respond until my typical working hours.
I prefer that you contact me via Slack except in exceptional situations.</p>
<h3 id="lab-meetings-and-events">Lab meetings and events</h3>
<p>In addition to regular meetings with me, you are also expected to generally attend and contribute to Systopia&rsquo;s reading group.
This is valuable both to you and to others.
While you will have much of your own work to do, being a member of the lab is about more than just writing your own papers.
Attending talks by your labmates, giving feedback, discussing other research areas, ideas, and process, and even just talking about academia over a coffee all contributes indirectly to your training, and the training of others in the lab. I expect you to participate in such events regularly.</p>
<h3 id="working-hours">Working hours</h3>
<p>During periods for which you are doing research with me, you should treat your degree as a full-time job.
Some time will be spent on taking courses, or serving as a TA as part of your funding; the remainder of your time should be spent on research.
It doesn&rsquo;t matter to me when you work, outside of our mutually arranged meetings and other responsibilities, as long as you are making good progress.
To maximize overlap with your labmates, I&rsquo;d like you to be generally available Monday-Friday (except on holidays) in the core hours between <strong>10am-3pm</strong>, but whether you typically start earlier, or work later I leave up to your personal preference.</p>
<p>Physical space:
It is valuable for you to interact with others in the group and the department; these are benefits not just to you but also to your labmates.
I therefore expect you to typically work from the lab space at least two days a week.
I encourage that you try to be in the lab at least between 10am - 3pm, when most of the lab members will be around.
The rest of time, I don&rsquo;t mind if you prefer to work from home or elsewhere, but try to respond promptly by Slack during your typical working hours.
If you will be working from home or otherwise away from the lab for more than a week then you should let me know.</p>
<p>If you need to work remotely for personal or medical reason, please discuss with me.
You should not do so during your first year.</p>
<h3 id="vacation">Vacation</h3>
<p>It&rsquo;s important to take a break from time to time. The <a href="https://vancouver.calendar.ubc.ca/faculties-colleges-and-schools/faculty-graduate-and-postdoctoral-studies/academic-regulations/graduate-student-vacation-policy" target="_blank" rel="noopener">UBC policy</a> is that graduate students have three weeks of vacation time (15 days), in addition to the week the university is closed between Christmas and New Year&rsquo;s Day.
Let me know when you plan to take vacation in advance and coordinate with me in advance about any planned vacations.
There may be some constraints on when you can reasonably take vacation time:
If you are an author on a paper, you should expect to be available to work on that paper for the four weeks leading up to the submission deadline.
If you have a TA position, you need to discuss with the course staff about when vacation will be reasonable for that position as well as with me.</p>
<h2 id="research">Research</h2>
<h3 id="choosing-a-research-topic">Choosing a research topic</h3>
<p>In deciding what projects you work on,
I will assign you a research topic to work on, at least at first.
Then we will typically come to a research topic of mutual interest through a process of joint brainstorming.</p>
<h3 id="publication-norms">Publication norms</h3>
<p>While there can be exceptions for many reasons, I typically expect that most MSc students will have <strong>one</strong> first-author paper submitted/accepted by the end of their degree.
PhD students will have at least <strong>three</strong> first-author papers by the end of their degree.
These numbers may vary dramatically depending on how much work various projects end up being, and how lucky you are, among many other factors.
Some typical venues to target for publication are USENIX Security, IEEE S&amp;P, ACM CCS, NDSS, ASPLOS, EuroSys, OSDI, etc.</p>
<h3 id="collaboration-and-side-projects">Collaboration and side projects</h3>
<p>I am supportive of you joining projects outside the lab as a supporting contributor.
Confirm with me before joining a research project outside the lab.
Confirm with me before inviting anyone to join an ongoing research project to help out.</p>
<h3 id="paper-submissions">Paper submissions</h3>
<p>I typically plan paper deadlines well in advance (e.g., half a year or more). This gives us ample time to prepare and improve the paper draft.
We should aim for a draft version of the paper two weeks in advance of any deadline, but we can be flexible in exactly what happens.
Make sure to be aware of upcoming paper deadlines (e.g., add them to your calendar, create timelines, etc.).</p>
<p>I expect to know about all paper submissions you make during your program, even if we have agreed that I am not a co-author.
If you are unsure about co-authorship, order of authors, etc., please discuss with me as soon as possible.
Never add anyone as a co-author on a paper without their knowledge; for co-authors outside of our immediate group, bear in mind that they might have their own expectations and requirements about timelines for giving feedback.</p>
<h3 id="conference-attendance">Conference attendance</h3>
<p>In general, the first authors of conference publications will be sent to present the work.
If additional funding is available, then other authors may be sent, too. However, please make sure that you check about funding for a particular venue before submitting, since, for example, attending a workshop without a good reason for attending the associated conference may be too expensive a trip.
My general philosophy on conference support is that, funds permitting, I aim to provide close to full travel support.</p>
<p>Preparing for a conference:
schedule a practice talk for any conference presentation at least 3 weeks in advance of the actual presentation during a group meeting.
You should also schedule a presentation during Systopia&rsquo;s reading group.
We should discuss a poster draft at least two weeks in advance of the conference date.</p>
<h2 id="degree-progress">Degree progress</h2>
<p>While you should raise concerns or similar with me at any point, there are various points throughout your degree at which we should explicitly ensure that everything is &ldquo;on track.&rdquo;</p>
<h3 id="early-msc-students">Early MSc students</h3>
<p>MSc students in their first two terms, by departmental default, have an &ldquo;advisor&rdquo; rather than a &ldquo;supervisor,&rdquo; and are not expected to do research.
Students who expect to work with me should strongly consider a <a href="https://www.cs.ubc.ca/students/undergrad/courses/specialty#cpsc-448-directed-studies-in-computer-science" target="_blank" rel="noopener">directed studies course</a> to trial research with me.</p>
<h3 id="annual-progress-check-ins">Annual progress check-ins</h3>
<p>The department requires <a href="https://my.cs.ubc.ca/docs/annual-progress-report" target="_blank" rel="noopener">an annual progress report form</a> from PhD students each summer.
In advance of filing that form, we will also have an annual explicit &ldquo;check-in&rdquo; meeting about how we each think things are going and what we could do better/differently.
In advance of filling out this form, PhD students who have a supervisory committee (typically after their proposal) should meet with that committee at least once a year, per UBC/department guidelines.
You should check in with each member of your committee at least once a year, but this can be done separately.
For MSc students, while the department doesn&rsquo;t require it, I also do an annual &ldquo;check-in&rdquo; meeting with MSc students.</p>
<h3 id="program-milestones">Program milestones</h3>
<p>We should make sure that any program milestones you haven&rsquo;t yet completed are on your mind.</p>
<p>For the <a href="https://www.cs.ubc.ca/students/grad/graduate-programs/research-proficiency-evaluation-rpe" target="_blank" rel="noopener">RPE</a>:
I typically expect PhD students to complete the RPE at the conclusion of their first independent research project, which may come at a different time than the department guidelines suggest.</p>
<p>For the <a href="https://www.cs.ubc.ca/students/grad/policies/grad-handbook/phd-program/thesis-proposal" target="_blank" rel="noopener">thesis proposal</a>:
I typically expect my PhD students to complete a thesis proposal once they have completed a few research projects and have a reasonable idea towards how the rest of their PhD will go.</p>
<h2 id="stipends-and-funding">Stipends and funding</h2>
<p>Funding in the department is provided by a mixture of research assistantships, teaching assistantships, and occasionally administrative positions, as well as awards, fellowships, and so on.</p>
<p>It is worth mentioning that RA stipends are not taxed and also, per <a href="https://lrb.my.salesforce.com/sfc/p/#f40000022yYB/a/Mm000003qn4X/K52YyjzQ.vYWjxyRP_dm6ZX07Za4QJzjDIwfHRgBOfc" target="_blank" rel="noopener">a BC Labour Relations Board ruling in March 2025</a>, can only be used to fund work towards your own research and closely related incidental work.
TAships and administrative positions&rsquo; salaries are taxed; TAs are members of the <a href="https://www.cupe2278.ca/" target="_blank" rel="noopener">CUPE 2278</a> union.</p>
<h3 id="lab-funding-overview">Lab funding overview</h3>
<p>The lab receives most of its funding from <strong>NSERC</strong> and industry.
Most funding tends to come with only minor restrictions on what you work on.
However, some sources of funding tend to come with specific requirements and deliverables for the lab&rsquo;s research, which may affect which projects you can work on or how you work on them.</p>
<h3 id="expected-funding-levels">Expected funding levels</h3>
<p>The department requires students in their guaranteed funding periods to receieve at least <a href="https://my.cs.ubc.ca/docs/cs-support-policy-breakdown" target="_blank" rel="noopener">a certain minimum funding level</a>, which increases annually with inflation.
Note that you will be required to pay certain fees and potentially tuition, which vary depending on your position (type of degree, year in program, international/domestic); a breakdown from the department for current rates is available <a href="https://docs.google.com/spreadsheets/d/1v7IdXInOMBx1QvwpstJD2KTXWBQIxsbMXvdB_FyS2e8/edit?gid=275015393#gid=275015393" target="_blank" rel="noopener">here</a>.
My students typically receive these minimum funding levels.
After the point where tuition is no longer covered by the university (fifth or later year of PhD, second year or later of MSc), I typically provide additional RAship to cover this difference.</p>
<h3 id="length-of-funding">Length of funding</h3>
<p>The departmental minimums apply to MSc (Thesis) students for 2 years, MSc (Essay) students for 20 months, and PhDs for 5 years.
I typically fund students beyond the department guaranteed period, as long as (1) there is continued strong progress on the student’s part, and (2) sufficient research funding (grant money) on my part.</p>
<h3 id="ta-positions">TA positions</h3>
<p>TA positions can be used either as a part of the minimum funding level, or &ldquo;on top&rdquo; of the usual funding for extra money.
I typically ask MSc students who anticipate working with me, as part of their funding, to TA in their first two terms, and once in their second year.
For PhD students&rsquo; usual stipends, I usually request my students to TA once per year.</p>
<p>In terms where students are not TAing for funding purposes:
I prefer my students have as much time to work on research as possible, and so I prefer not to use more TA positions than necessary.
However, do let me know if you are concerned about funding and we can discuss options.</p>
<p>Note that, per TA union rules, it is generally not possible to TA more than a standard 12 hour contract.</p>
<h3 id="awards">Awards</h3>
<p>I encourage you to apply for awards for which you are eligible; receiving this are good for both you and me.
To make it explicit, here&rsquo;s what happens if you get one of these awards:</p>
<h4 id="tri-agency-fellowships-cgrs-d-cgrs-m">Tri-Agency Fellowships (CGRS D, CGRS M)</h4>
<p>Departmental policy is that you receieve at least $5,000 over the departmental annual minimum funding, and also at least the full award amount. If necessary, the department covers the gap between the award amount and $5,000 over the departmental annual minimum; you will also not be required to TA as part of your funding while receiving this award.</p>
<h4 id="other-fellowshipsscholarships-at-least-15000-eg-ubc-4yf">Other fellowships/scholarships at least $15,000 (e.g. UBC 4YF)</h4>
<p>Departmental policy is that you receieve at least $2,000 over the departmental annual minimum funding, and also at least the full award amount.
You will also not be required to TA as part of your funding while receiving this award.
For an award that includes specific funding for travel, equipment, etc., this is not included in &ldquo;the full award amount&rdquo; above.</p>
<h4 id="smaller-one-off-under-10000-or-admissions-awards">Smaller one-off (under $10,000) or admissions awards</h4>
<p>Departmental expectation is that you receieve this amount in full, in addition to the usual stipend, without affecting any expectation to TA or similar.
You may optionally use such an award to &ldquo;buy out&rdquo; of a time you would otherwise be expected to TA, reducing the additional amount you receive by <strong>the TA salary</strong>.</p>
<h3 id="internships-course-instruction-etc">Internships, course instruction, etc</h3>
<p>I encourage students to seek out internships which will be relevant to their career progress. Discuss potential plans about this with me in advance.
Students should consider the <a href="https://www.cs.ubc.ca/students/undergrad/careers/computer-science-co-op-program" target="_blank" rel="noopener">co-op program</a> for any possible internships.
Students who are interested can apply to be sessional lecturers for a course.
Discuss this possibility with me.</p>
<p>When a student is on an internship or a sessional lecturer,
that pay (assuming it is at least the amount of the relevant minimum) constitutes your funding for that term.
This has no bearing on other terms, and so will likely result in an increase in your annual take-home income.
I count these positions towards times when you would otherwise TA for funding.</p>
<p>For part-time internships and consulting:
A 50%-time internship means I will still fund you at 50% of the rate I would have otherwise (first going towards &ldquo;buying out&rdquo; any expected TAship).
Working part-time or consulting during your degree is normally not effective; we should talk about this explicitly before embarking on this kind of path.</p>
</description>
</item>
<item>
<title>A large-scale study on research code quality and execution</title>
<link>https://tfjmp.org/publication/2022-scidata/</link>
<pubDate>Mon, 21 Feb 2022 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2022-scidata/</guid>
<description></description>
</item>
<item>
<title>Graduate Admission Interview (Season 2022)</title>
<link>https://tfjmp.org/post/2022-interview/</link>
<pubDate>Fri, 10 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/post/2022-interview/</guid>
<description><h3 id="candidate-presentation-15min">Candidate presentation (15min)</h3>
<p>We will start the interview with a brief presentation to give you an opportunity to give voice to your application material.
Use this presentation to explain who you are, what you have done, and what you want to do.</p>
<ul>
<li>Introduce yourself (~1min)</li>
<li>Discuss a research project you worked on, clearly focusing on your contribution (~10min)</li>
<li>Discuss why you want to go to UBC/work with X supervisor/advisor (~4min)</li>
</ul>
<p>We are aware that there are systemic barriers that prevent students from realizing their full potential.
For example, you may not have been able to engage in as many research projects you would have liked to for a number of different reasons such as the fact that your home institution is not a research intensive university, you needed to work to pay your tuition, you had family responsibilities etc.
We understand this, and we want to consider each student&rsquo;s potential and help them realize that potential.
You should feel free to point this out during your presentation if you feel comfortable doing so and as you judge it to be appropriate.</p>
<h3 id="questions-to-the-applicant-10min">Questions to the applicant (10min)</h3>
<p>Following your presentation, we will undoubtedly want to ask you questions about your work as well as questions to assess how well your research interests fit into our lab.</p>
<h3 id="paper-reading-10min">Paper reading (10min)</h3>
<p>Please pick <strong>one</strong> paper from the following list:</p>
<ul>
<li><a href="https://dl.acm.org/doi/pdf/10.1145/3448016.3457568" target="_blank" rel="noopener">Negi, Parimarjan, et al. &ldquo;Steering Query Optimizers: A Practical Take on Big Data Workloads.&rdquo; Proceedings of the 2021 International Conference on Management of Data (SIGMOD). 2021</a></li>
<li><a href="https://www.ndss-symposium.org/wp-content/uploads/2020/02/24065-paper.pdf" target="_blank" rel="noopener">Paccagnella, Riccardo, et al. &ldquo;Custos: Practical tamper-evident auditing of operating systems using trusted execution.&rdquo; Network and Distributed System Security Symposium (NDSS). 2020</a></li>
<li><a href="https://www.usenix.org/system/files/sec21-alsaheel.pdf" target="_blank" rel="noopener">Alsaheel, Abdulellah, et al. &ldquo;ATLAS: A Sequence-based Learning Approach for Attack Investigation.&rdquo; 30th Security Symposium (USENIX Security). 2021</a></li>
<li><a href="https://www.usenix.org/system/files/sec21-bahmani.pdf" target="_blank" rel="noopener">Bahmani, Raad, et al. &ldquo;CURE: A Security Architecture with CUstomizable and Resilient Enclaves.&rdquo; 30th Security Symposium (USENIX Security). 2021</a></li>
</ul>
<p>You should pick a paper that appears to be the most relevant to the research you are thinking of pursuing.
Reading academic papers is difficult; learning to do so will be an important skill you will acquire in graduate school.
This part of the interview is intended to gauge your ability to engage with the literature and how you think about the research literature.
Do not be intimidated, you will be assessed based on reasonable expectations for someone at your stage.</p>
<p>You may prepare some slides to discuss the following:</p>
<ul>
<li>Summarize key points/insights of the paper/what surprised you? [no need to explain the whole thing] (~5min)</li>
<li>How would you extend/build on the paper? (~5min)</li>
</ul>
<h3 id="discussion-about-research-10min">Discussion about research (10min)</h3>
<p>Building on your presentation, we will discuss research directions you could explore during your degree.
The goal is for all parties to gauge the fit between our interests and discuss the general area of research you will pursue during your time at UBC.</p>
<h3 id="questions-from-the-applicant-15min">Questions from the applicant (15min)</h3>
<p>This is the time for you to ask questions about the lab, UBC, Vancouver or anything you would like to know.
I am also more than happy to put you in touch with my students if you want to hear first hand about students&rsquo; experience.</p>
<h3 id="after-the-interview">After the interview</h3>
<p>The time between the interview and a decision may vary.
There are multiple factors at play: progress on interviewing other candidates on the shortlist, how busy the committee is, administrative aspects etc.
We try to give offers as early as possible, but the department continues to make offers all the way into April.
Consequently, do not worry if you don&rsquo;t hear back immediately.
On the other hand, if you get another offer and you need to make a decision, do not hesitate to get in touch.</p>
<p>Once you get an offer, it is important for us to make sure you feel welcomed to the lab and prepare the support you will need.
It is the right time to bring up issues you felt were not appropriate to discuss during the interview, but that you are legitimately concerned about.
This might include questions around finance, accommodations (e.g., childcare, accessibility, etc.), immigration and many more.
I may not be able to help with all those aspects, but I can ask or point you towards appropriate resources.
We want to support our students not only as future researches, but also as individuals, so please, do not hesitate to bring up any concerns you have.
This is also a time for you to ask questions to help you decide which offer to accept (and we hope it will be UBC)!
We recruit bright students, most students will have multiple offers so you should feel free to discuss this openly.</p>
<h3 id="acknowledgement">Acknowledgement</h3>
<p>Thanks to <a href="https://www.seltzer.com/margo/" target="_blank" rel="noopener">Margo</a> and <a href="https://aasthakm.github.io/" target="_blank" rel="noopener">Aastha</a> for their feedback!</p>
</description>
</item>
<item>
<title>Tracking and Analyzing Provenance</title>
<link>https://tfjmp.org/talk/tracking-and-analyzing-provenance/</link>
<pubDate>Wed, 01 Dec 2021 13:00:00 +0000</pubDate>
<guid>https://tfjmp.org/talk/tracking-and-analyzing-provenance/</guid>
<description></description>
</item>
<item>
<title>Secure Namespaced Kernel Audit for Containers</title>
<link>https://tfjmp.org/publication/2021-socc/</link>
<pubDate>Mon, 01 Nov 2021 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2021-socc/</guid>
<description><div align="center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/4S7dr4a_Da0" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</description>
</item>
<item>
<title>SIGL: Securing Software Installations Through Deep Graph Learning</title>
<link>https://tfjmp.org/publication/2021-usenixsec/</link>
<pubDate>Wed, 11 Aug 2021 00:00:00 +0000</pubDate>
<guid>https://tfjmp.org/publication/2021-usenixsec/</guid>
<description><div align="center">
<iframe width="560" height="315" src="https://www.youtube.com/embed/iNaucHm7Z6w" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>
</description>
</item>
<item>
<title>Efficient Large-Scale Data Provenance Tracking and Analyzing: Intrusion Detection</title>
<link>https://tfjmp.org/talk/efficient-large-scale-data-provenance-tracking-and-analyzing-intrusion-detection/</link>
<pubDate>Thu, 28 Jan 2021 12:00:00 +0000</pubDate>
<guid>https://tfjmp.org/talk/efficient-large-scale-data-provenance-tracking-and-analyzing-intrusion-detection/</guid>
<description></description>
</item>
<item>
<title>Building a provenance-based intrusion detection system</title>
<link>https://tfjmp.org/talk/building-a-provenance-based-intrusion-detection-system/</link>
<pubDate>Tue, 08 Dec 2020 07:00:00 +0000</pubDate>
<guid>https://tfjmp.org/talk/building-a-provenance-based-intrusion-detection-system/</guid>
<description></description>
</item>
<item>
<title>Building a provenance-based intrusion detection system</title>
<link>https://tfjmp.org/talk/building-a-provenance-based-intrusion-detection-system/</link>
<pubDate>Thu, 26 Nov 2020 11:00:00 +0000</pubDate>
<guid>https://tfjmp.org/talk/building-a-provenance-based-intrusion-detection-system/</guid>
<description></description>
</item>
<item>
<title>Provenance-based intrusion detection</title>
<link>https://tfjmp.org/talk/provenance-based-intrusion-detection/</link>
<pubDate>Thu, 12 Nov 2020 10:00:00 +0000</pubDate>