Draft website for CS 839.
This commit is contained in:
parent
4c69fe6a38
commit
25d2509e0a
|
@ -0,0 +1,16 @@
|
||||||
|
DEPLOY=jackknife:/home/justhsu/html/staging/cs839/
|
||||||
|
|
||||||
|
build:
|
||||||
|
mkdocs build
|
||||||
|
|
||||||
|
preview:
|
||||||
|
mkdocs serve
|
||||||
|
|
||||||
|
install:
|
||||||
|
pip install mkdocs mkdocs-material pymdown-extensions
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
make build
|
||||||
|
find . -type d -exec chmod a+rx {} \;
|
||||||
|
find . -type f -exec chmod a+r {} \;
|
||||||
|
rsync -avzp --delete -e ssh ./site/ $(DEPLOY)
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Communications
|
||||||
|
|
||||||
|
## Mailing list
|
||||||
|
|
||||||
|
## Course staff
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Course Format
|
||||||
|
|
||||||
|
Lectures will be loosely organized around four modules: differential privacy,
|
||||||
|
cryptography, language-based security, and adversarial machine learning. The
|
||||||
|
instructor will give most of the lectures for the first module, on differential
|
||||||
|
privacy. For each of the remaining modules, the instructor will give the first
|
||||||
|
lecture introducing the topic and background material. Then, each student will
|
||||||
|
lead one lecture, presenting a paper and guiding the discussion.
|
||||||
|
|
||||||
|
The topics we will be reading and thinking about are from the recent research
|
||||||
|
literature---polished enough to be peer-reviewed and published, but not always
|
||||||
|
completely refined. Given that this is a graduate course, not all lectures are
|
||||||
|
set in stone and there is some flexibility in the choice of topics. Students
|
||||||
|
with interested in specific topics not covered in the syllabus should feel free
|
||||||
|
to contact the instructor.
|
||||||
|
|
||||||
|
## Readings and Homework
|
||||||
|
|
||||||
|
The bulk of this course consists of reading research papers. Before every
|
||||||
|
lecture presenting a paper, students are expected to read the paper closely and
|
||||||
|
understand its significance, including (a) the problem addressed by the paper,
|
||||||
|
(b) the main contributions of the paper, and (c) how the authors solve the
|
||||||
|
problem in some technical detail.
|
||||||
|
|
||||||
|
The instructor will also send out 2-3 questions before every paper presentation.
|
||||||
|
Students will submit brief answers---no more than 1-2 paragraphs per
|
||||||
|
question---before the lecture. These questions are meant to make sure you have
|
||||||
|
understood the paper at a high level and prepare for the discussion in class,
|
||||||
|
they are not meant to be very difficult or time-consuming.
|
||||||
|
|
||||||
|
## Course Project
|
||||||
|
|
||||||
|
Students will work individually or in pairs on a topic of their choice,
|
||||||
|
producing a conference-style write-up and presenting their project at the end of
|
||||||
|
the semester. This project should have the potential to turn into a research
|
||||||
|
paper or survey. Details can be found [here](projects/details.md).
|
|
@ -0,0 +1,31 @@
|
||||||
|
# Welcome to CS 839!
|
||||||
|
|
||||||
|
This is a graduate-level course covering advanced topics in security and
|
||||||
|
privacy. We will focus on four areas at the current research frontier: (1)
|
||||||
|
differential privacy, (2) applied cryptography, (3) language-based security, and
|
||||||
|
(4) adversarial machine learning. Students will read, present, and discuss
|
||||||
|
papers from the research literature (i.e., conference and journal papers), and
|
||||||
|
complete a final project.
|
||||||
|
|
||||||
|
## Logistics
|
||||||
|
- **Course**: CS 839, Fall 2018
|
||||||
|
- **Location**: TBD
|
||||||
|
- **Time**: Mondays and Wednesdays, 4:00-5:15
|
||||||
|
|
||||||
|
## Course Staff
|
||||||
|
|
||||||
|
- **Instructor**: Justin Hsu
|
||||||
|
- **Email**: email@justinh.su
|
||||||
|
- **Location**: TBD
|
||||||
|
- **Office hours**: TBD
|
||||||
|
- **TA**: TBD
|
||||||
|
|
||||||
|
## FAQ
|
||||||
|
|
||||||
|
- Who should take this course?
|
||||||
|
|
||||||
|
- What are the pre-requisites of this course?
|
||||||
|
|
||||||
|
- How flexible are the topics?
|
||||||
|
|
||||||
|
- Will this course be more theoretical or applied?
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Course Policies
|
||||||
|
|
||||||
|
Paper discussions are a core component of this course. Students are expected to
|
||||||
|
read papers before lecture, attend lectures, and participate in discussions.
|
||||||
|
|
||||||
|
## Grading and Evaluation
|
||||||
|
|
||||||
|
Grades will be assigned as follows:
|
||||||
|
|
||||||
|
- **Discussions: 15%** (Pre-lecture questions and class participation)
|
||||||
|
- **Paper presentation: 25%**
|
||||||
|
- **Final project: 60%** (First and second milestones, and final writeup)
|
||||||
|
|
||||||
|
## Academic Integrity
|
||||||
|
|
||||||
|
Pre-lecture questions should be done individually. The final project may be done
|
||||||
|
individually or in groups of two students. Collaboration projects with people
|
||||||
|
outside the class may be allowed, but must be approved by the instructor.
|
|
@ -0,0 +1,52 @@
|
||||||
|
# Course Project
|
||||||
|
|
||||||
|
This course covers a wide range of topics in security and privacy. The goal of
|
||||||
|
the course project is to dive more deeply into a particular topic individually
|
||||||
|
or in groups of two. This project could take different forms:
|
||||||
|
|
||||||
|
- **Theoretical**: Extend a technique, explore a new application, or develop
|
||||||
|
some other kind of conceptual contribution.
|
||||||
|
- **Experience report**: Experiment with an existing implementation, trying out
|
||||||
|
different examples and describing the overall experience. Or make a new
|
||||||
|
implementation.
|
||||||
|
- **Literature survey**: Select a couple (3-5) of related papers in a recent
|
||||||
|
research area. Summarize the significance, then compare and contrast.
|
||||||
|
- **Other**: Feel free to propose other kinds of projects.
|
||||||
|
|
||||||
|
A good project will be the start of a potentially publishable result.
|
||||||
|
|
||||||
|
## Deliverables
|
||||||
|
|
||||||
|
In order to keep projects on track, each group will turn in two short (**1-2
|
||||||
|
pages**) milestone reports along the way. At one-third of the way through, you
|
||||||
|
should have settled on a project goal and made some exploratory steps.
|
||||||
|
|
||||||
|
- **Milestone 1**. Describe the project goal concretely, summarize what
|
||||||
|
preliminary things have been tried, and plan out which directions to explore
|
||||||
|
next.
|
||||||
|
|
||||||
|
At two-thirds of the way through, the project should be progressing and it
|
||||||
|
should be clear what remains to be done.
|
||||||
|
|
||||||
|
- **Milestone 2**. Clarify the project goal if it has changed, summarize current
|
||||||
|
progress, and plan out how to finish remaining items.
|
||||||
|
|
||||||
|
Besides the milestones, the main deliverable of the project will be a final
|
||||||
|
report, around **15-20 pages** in length. Reports should be written in a
|
||||||
|
research paper style, covering the following broad areas in some order:
|
||||||
|
|
||||||
|
- **Introduce** the problem and the motivation.
|
||||||
|
- **Review** background and preliminary material.
|
||||||
|
- **Develop** the main technical core of the project.
|
||||||
|
- **Survey** related work.
|
||||||
|
- **Summarize** and evaluate the results.
|
||||||
|
|
||||||
|
At the end of the course, each group will present their project in class.
|
||||||
|
|
||||||
|
## Deadlines
|
||||||
|
|
||||||
|
The most immediate task is to form groups (if desired) and select a preliminary
|
||||||
|
project topic. Discuss with the instructor or send an email with the project
|
||||||
|
topic and group members (less ideal) by **???**.
|
||||||
|
|
||||||
|
Deadlines for the deliverables are [here](../schedule/deadlines.md).
|
|
@ -0,0 +1,3 @@
|
||||||
|
# Final Projects
|
||||||
|
|
||||||
|
To come!
|
|
@ -0,0 +1,57 @@
|
||||||
|
# Paper Suggestions
|
||||||
|
|
||||||
|
### Differential Privacy
|
||||||
|
- Frank McSherry and Kunal Talwar. *Mechanism Design via Differential Privacy*. FOCS 2007.
|
||||||
|
- Cynthia Dwork, Moni Naor, Toniann Pitassi, and Guy Rothblum. *Differential
|
||||||
|
Privacy under Continual Observation*. STOC 2010.
|
||||||
|
- T.-H. Hubert Chan, Elaine Shi, and Dawn Song. *Private and Continual Release
|
||||||
|
of Statistics*. ICALP 2010.
|
||||||
|
- Moritz Hardt, Katrina Ligett, and Frank McSherry. *A Simple and Practical
|
||||||
|
Algorithm for Differentially Private Data Release*. NIPS 2012.
|
||||||
|
- Daniel Kifer and Ashwin Machanavajjhala. *A Rigorous and Customizable
|
||||||
|
Framework for Privacy*. PODS 2012.
|
||||||
|
|
||||||
|
### Applied Cryptography
|
||||||
|
- Benjamin Braun, Ariel J. Feldman Zuocheng Ren, Srinath Setty, Andrew J.
|
||||||
|
Blumberg, and Michael Walfish. *Verifying Computations with State*. SOSP 2013.
|
||||||
|
- Aseem Rastogi, Matthew A. Hammer and Michael Hicks. *Wysteria: A Programming
|
||||||
|
Language for Generic, Mixed-Mode Multiparty Computations*. S&P 2014.
|
||||||
|
- Shai Halevi and Victor Shoup. *Algorithms in HElib*. CRYPTO 2014.
|
||||||
|
- Shai Halevi and Victor Shoup. *Bootstrapping for HElib*. EUROCRYPT 2015.
|
||||||
|
- Léo Ducas and Daniele Micciancio. *FHEW: Bootstrapping Homomorphic Encryption
|
||||||
|
in Less than a Second*. EUROCRYPT 2015.
|
||||||
|
- Peter Kairouz, Sewoong Oh, and Pramod Viswanath. *Secure Multi-party
|
||||||
|
Differential Privacy*. NIPS 2015.
|
||||||
|
- Arjun Narayan, Ariel Feldman, Antonis Papadimitriou, Andreas Haeberlen,
|
||||||
|
*Verifiable Differential Privacy*. EUROSYS 2015.
|
||||||
|
|
||||||
|
### Language-Based Security
|
||||||
|
- Frank McSherry. *Privacy Integrated Queries*. SIGMOD 2009.
|
||||||
|
- Jason Reed and Benjamin C. Pierce: *Distance Makes the Types Grow Stronger: A
|
||||||
|
Calculus for Differential Privacy*. ICFP 2010.
|
||||||
|
- Daniel B. Griffin, Amit Levy, Deian Stefan, David Terei, David Mazières, John
|
||||||
|
C.Mitchell, and Alejandro Russo. *Hails: Protecting Data Privacy in Untrusted
|
||||||
|
Web Applications*. OSDI 2012.
|
||||||
|
- Andrew Ferraiuolo, Rui Xu, Danfeng Zhang, Andrew C. Myers, G. Edward Suh.
|
||||||
|
*Verification of a Practical Hardware Security Architecture Through Static
|
||||||
|
Information Flow Analysis*. ASPLOS 2017.
|
||||||
|
- Danfeng Zhang, Aslan Askarov, and Andrew C. Myers. *Language-Based Control and
|
||||||
|
Mitigation of Timing Channels*. PLDI 2012.
|
||||||
|
- Samee Zahur and David Evans. *Obliv-C: A Language for Extensible
|
||||||
|
Data-Oblivious Computation*. 2015.
|
||||||
|
- Andrew Miller, Michael Hicks, Jonathan Katz, and Elaine Shi. *Authenticated
|
||||||
|
Data Structures, Generically*. POPL 2014.
|
||||||
|
- Martín Abadi and Andrew D. Gordon. *A Calculus for Cryptographic Protocols:
|
||||||
|
The Spi Calculus*. Information and Computation, 1999.
|
||||||
|
|
||||||
|
### Adversarial Machine Learning
|
||||||
|
|
||||||
|
# Supplemental Material
|
||||||
|
- Cynthia Dwork and Aaron Roth. *Algorithmic Foundations of Data Privacy*.
|
||||||
|
- Gilles Barthe, Marco Gaboardi, Justin Hsu, and Benjamin C. Pierce. *Programming
|
||||||
|
Language Techniques for Differential Privacy*.
|
||||||
|
- Michael Walfish and Andrew J. Blumberg. *Verifying Computations without
|
||||||
|
Reexecuting Them*.
|
||||||
|
- Véronique Cortier, Steve Kremer, and Bogdan Warinschi. *A Survey of Symbolic
|
||||||
|
Methods in Computational Analysis of Cryptographic Systems*.
|
||||||
|
- Dan Boneh and Victor Shoup. *A Graduate Course in Applied Cryptography*.
|
|
@ -0,0 +1,5 @@
|
||||||
|
# Previous Courses
|
||||||
|
- CSE 291: [Language-Based Security](https://cseweb.ucsd.edu/~dstefan/cse291-winter18/) (Deian Stefan, UCSD)
|
||||||
|
- CSE 711: [Topics in Differential Privacy](https://www.acsu.buffalo.edu/~gaboardi/teaching/CSE711-spring16.html) (Marco Gaboardi, University at Buffalo)
|
||||||
|
- CS 800: [The Algorithmic Foundations of Data Privacy](https://www.cis.upenn.edu/~aaroth/courses/privacyF11.html) (Aaron Roth, UPenn)
|
||||||
|
- CS 229r: [Mathematical Approaches to Data Privacy](http://people.seas.harvard.edu/~salil/diffprivcourse/spring13/) (Salil Vadhan, Harvard)
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Software
|
||||||
|
|
||||||
|
## Differential Privacy
|
||||||
|
- [DFuzz](https://github.com/ejgallego/dfuzz)
|
||||||
|
- [HOARe2](https://github.com/ejgallego/HOARe2)
|
||||||
|
|
||||||
|
## Cryptography
|
||||||
|
- [HELib](https://github.com/shaih/HElib)
|
||||||
|
- [Obliv-C](https://oblivc.org/)
|
||||||
|
|
||||||
|
## Language-Based Security
|
||||||
|
- [Jif](https://www.cs.cornell.edu/jif/)
|
||||||
|
- [FlowCaml](https://opam.ocaml.org/packages/flowcaml/flowcaml.1.07/)
|
||||||
|
|
||||||
|
## Adversarial Machine Learning
|
|
@ -0,0 +1,14 @@
|
||||||
|
# Deadlines
|
||||||
|
|
||||||
|
Before class on the dates indicated.
|
||||||
|
|
||||||
|
## Course Deadlines
|
||||||
|
- **Check in with instructor**: TBD
|
||||||
|
- **Sign up to present paper**: TBD
|
||||||
|
- **Check-up questions**: Before each paper presentation.
|
||||||
|
|
||||||
|
## Project Deadlines
|
||||||
|
- **Choose topic**: TBD
|
||||||
|
- **Milestone 1**: TBD
|
||||||
|
- **Milestone 2**: TBD
|
||||||
|
- **Final writeup**: TBD
|
|
@ -0,0 +1,37 @@
|
||||||
|
# Lecture Schedule (Tentative)
|
||||||
|
|
||||||
|
Date | Topic | Presenter
|
||||||
|
:----:|-------|:---------:
|
||||||
|
9/5 | Course welcome | JH
|
||||||
|
| <center> **Differential Privacy** </center> |
|
||||||
|
9/10 | Definition and Basic Mechanisms | JH
|
||||||
|
9/12 | What does Differential Privacy mean? | JH
|
||||||
|
9/17 | Composition and closure properties | JH
|
||||||
|
9/19 | Exponential mechanism <br> **Paper:** | JH
|
||||||
|
9/24 | Streaming privacy: counters <br> **Paper:** | JH
|
||||||
|
9/26 | Advanced mechanisms: Report-noisy-max | JH
|
||||||
|
10/1 | Advanced mechanisms: Sparse Vector | JH
|
||||||
|
10/3 | Advanced mechanisms: Private multiplicative weights <br> **Paper:** | JH
|
||||||
|
10/8 | Local differential privacy (theory) | JH
|
||||||
|
10/10 | Local differential privacy (practice) <br> **Paper:** | JH
|
||||||
|
| <center> **Cryptographic Techniques** </center> |
|
||||||
|
10/15 | Crypto: overview and basics | JH
|
||||||
|
10/17 | Zero-knowledge proofs <br> **Paper:** |
|
||||||
|
10/22 | Oblivious transfer and SMC <br> **Paper:** |
|
||||||
|
10/24 | Oblivious transfer and SMC <br> **Paper:** |
|
||||||
|
10/29 | Fully homomorphic encryption and verifiable computing <br> **Paper:** |
|
||||||
|
10/31 | Fully homomorphic encryption and verifiable computing <br> **Paper:** |
|
||||||
|
| <center> **Language-Based Security** </center> |
|
||||||
|
11/5 | LangSec: overview and basics | JH
|
||||||
|
11/7 | Secure Information Flow <br> **Paper:** |
|
||||||
|
11/12 | Secure Information Flow <br> **Paper:** |
|
||||||
|
11/14 | Languages for privacy <br> **Paper:** |
|
||||||
|
11/19 | Languages for privacy <br> **Paper:** |
|
||||||
|
11/21 | Symbolic cryptography <br> **Paper:** |
|
||||||
|
| <center> **Adversarial Machine Learning** </center> |
|
||||||
|
11/26 | AML: overview and basics | JH
|
||||||
|
11/28 | Adversarial examples <br> **Paper:** |
|
||||||
|
12/3 | Adversarial examples <br> **Paper:** |
|
||||||
|
12/5 | Training-time attacks <br> **Paper:** |
|
||||||
|
12/10 | Training-time attacks <br> **Paper:** |
|
||||||
|
12/12 | Model-theft attacks <br> **Paper:** |
|
|
@ -0,0 +1,35 @@
|
||||||
|
# Syllabus
|
||||||
|
|
||||||
|
Security and Privacy are rapidly emerging as critical research areas.
|
||||||
|
Vulnerabilities in software are found and exploited almost everyday
|
||||||
|
and with increasingly serious consequences (e.g., the Equifax massive data
|
||||||
|
breach). Moreover, our private data is increasingly at risk and thus
|
||||||
|
techniques that enhance privacy of sensitive data (known as
|
||||||
|
privacy-enhancing technologies (PETS)) are becoming increasingly
|
||||||
|
important. Also, machine-learning (ML) is increasingly being utilized to
|
||||||
|
make decisions in critical sectors (e.g., health care, automation, and
|
||||||
|
finance). However, in deploying these algorithms presence of malicious
|
||||||
|
adversaries is generally ignored.
|
||||||
|
|
||||||
|
This advanced topics class will tackle techniques related to all these
|
||||||
|
themes. We will cover the following broad topics.
|
||||||
|
|
||||||
|
### Differential Privacy
|
||||||
|
- Basic properties and examples
|
||||||
|
- Advanced mechanisms
|
||||||
|
- Local differential privacy
|
||||||
|
|
||||||
|
### Cryptographic Techniques
|
||||||
|
- Zero-knowledge proofs
|
||||||
|
- Secure multi-party computation
|
||||||
|
- Verifiable computation
|
||||||
|
|
||||||
|
### Language-Based Security
|
||||||
|
- Secure information flow
|
||||||
|
- Differential privacy
|
||||||
|
- Symbolic cryptography
|
||||||
|
|
||||||
|
### Adversarial Machine Learning
|
||||||
|
- Training-time attacks
|
||||||
|
- Test-time attacks
|
||||||
|
- Model-theft attacks
|
|
@ -0,0 +1,32 @@
|
||||||
|
site_name: 'CS 839: Topics in Security and Privacy (Fall 2018)'
|
||||||
|
site_url: ''
|
||||||
|
repo_url: 'https://git.justinh.su/justhsu/cs839'
|
||||||
|
site_description: 'Course webpage for CS 839: Topics in Security and Privacy (Fall 2018)'
|
||||||
|
site_author: 'Justin Hsu'
|
||||||
|
|
||||||
|
theme:
|
||||||
|
name: 'material'
|
||||||
|
language: 'en'
|
||||||
|
feature:
|
||||||
|
tabs: 'true'
|
||||||
|
palette:
|
||||||
|
primary: indigo
|
||||||
|
accent: indigo
|
||||||
|
|
||||||
|
pages:
|
||||||
|
- Home:
|
||||||
|
- About: 'index.md'
|
||||||
|
- Syllabus: 'syllabus.md'
|
||||||
|
- Course Format: 'format.md'
|
||||||
|
- Communication: 'comms.md'
|
||||||
|
- Policies: 'policies.md'
|
||||||
|
- Schedule:
|
||||||
|
- Lectures: 'schedule/lectures.md'
|
||||||
|
- Deadlines: 'schedule/deadlines.md'
|
||||||
|
- Resources:
|
||||||
|
- Papers: 'resources/readings.md'
|
||||||
|
- Software: 'resources/software.md'
|
||||||
|
- Other Courses: 'resources/related.md'
|
||||||
|
- Project:
|
||||||
|
- Details: 'projects/details.md'
|
||||||
|
- Gallery: 'projects/final.md'
|
Reference in New Issue