Attack Presentations

For the first 10-15 minutes of most classes, student groups will present attacks that are relevant to that lecture (for example, when discussing user authentication, the group may present techniques for cracking CAPTCHAs).

Note All attacks must be performed in an ethical, safe manner; please see the discussion of legality and ethics in the syllabus.

For the presentation:

  • Describe the relevant background for the attack.
  • Demonstrate the attack live, or else show enough data/information for it to be clear that the attack has been launched.
  • Describe how this attack could be defended against.
  • Describe the challenges you faced and insights you gleaned from the attack.

Date Attack Attacker Description
04/06 TLS information leakage Tom Demonstrate the BEAST, CRIME, or Lucky 13 attacks against TLS.
Certificate mis-validation Auguste Demonstrate two examples of incorrect validation of a certificate with a modern browser of your choosing, such as not checking for revocations various attacks listed here.
04/08 Traffic deanonymization Manasi Demonstrate a traffic deanonymization attack on Tor, like the one described here.
Data deanonymization Phoebe Apply a deanonymization technique like the one here to the Netflix challenge dataset and demonstrate what information you can extract.
04/13 On-path censorship and evasion Ben Set up a (virtual) network with an "on-path" censor who can observe and inject (but not block) packets, and use this censor to respond with lemon DNS queries like here, or tear down connections like here. Demonstrate an evasion technique.
Language detection on encrypted VoIP Saeed and Yiyun Determine what language is being spoken via an encrypted VoIP call (e.g., Skype, Zoom, Google Meet) by measuring packet sizes, like in this paper.
04/15 Cracking passwords Yufan Obtain a publicly available dataset of password hashes and implement rainbow tables to crack the passwords.
Breaking CAPTCHAs Deepti and Shreya Implement a tool that automatically solves CAPTCHAs, such as the attack on text-based ones described here and/or the one on audio-based ones described here. Demonstrate its use on an Alexa top-1000 site.
04/20 Control flow attacks George and Katherine Demonstrate a modern control flow attack against modern defenses such as DEP, ASLR, and Canaries.
Kernel-level rootkit Asim Launch a kernel rootkit that hides from detection.
04/22 Attacking vulnerable websites Wangjue Build a dummy website of your choice and demonstrate XSS, CSRF, and SQL injection attacks against it.
04/27 Tricking users Abolee and Anna Build a malicious website of your choice that tricks users by (1) launching a clickjacking attack, (2) performing a picture-in-picture attack, and (3) performs an SSL stripping attack (MitM transparently proxies HTTP requests and rewrites HTTPS links to point to look-alike HTTP links).
Speculative execution attacks
Geng and Kamil Launch a speculative execution attack like Meltdown, Spectre, or Foreshadow
04/29 Compiler Trojan horse Matthew Modify LLVM to create a malicious compiler as described here.
Off-path TCP attack Tim Demonstrate an off-path TCP inference attack and use it to inject data and to reset the connection. Example side-channels include WiFi's exponential backoff and the global rate limit.
05/04 Opt-ACK Attack Brandon Demonstrate the optimistic acknowledgment attack on a small cluster of (possibly simulated, e.g., via ns3) machines. Perform this across a wide-area network and discuss the rates you can achieve.
NAT Slipstreaming Kyle Launch a NAT slipstreaming attack, as described here.
05/06 Project presentations
05/11 Project presentations

Web Accessibility