CS GZ03/4030: Distributed Systems and Security

Instructor

Brad Karp 7.05 MPEB


Meeting Times

UCL Term 1: 1st October, 2007 - 14th December, 2007

  • Monday 1 PM - 2 PM, Roberts 309
  • Tuesday 1 PM - 2 PM, Anatomy Gavin de Beer LT
  • Thursday 3 PM - 4 PM, Roberts 106 before reading week
  • Thursday 3 PM - 4 PM, Anatomy JZ Young LT after reading week

  • Mailing Lists

    All important course announcements will be sent to the two official course mailing lists, gz03 and 4030. By departmental policy, students must ensure they subscribe to the mailing list for each course they take, are expected to read email daily, and are presumed to read all announcements sent to the course list by the instructor. Further information about how to subscribe to departmental course mailing lists may be found here.

    N.B. that students are also responsible for monitoring the detailed calendar below throughout the term to ensure they are up-to-date on meeting times and readings.


    Detailed Course Calendar

    Roughly the first half of the course concerns how to build robust and efficient distributed systems. We'll cover the security of distributed systems in the second half of the course.

    Each paper appears in the calendar below on the day when it will be covered in lecture. All papers must be read before that lecture! The lectures are designed to assume you've already read the paper. If you haven't, it's highly likely you won't be able to follow the lecture or participate in discussion.

    N.B. that all assigned readings are examinable.

    Lecture notes will be posted no later than immediately after each lecture.

    Monday Tuesday Thursday

    1st Oct

    9 - 10 AM: Course Introduction

    Lecture Notes:
    Introduction to Distributed Systems

    1 - 2 PM: OS Concepts

    Lecture Notes:
    OS Concepts

    2nd Oct

    Design: Worse Is Better; Concurrent I/O

    Reading: Worse Is Better

    Lecture Notes:
    I/O Concurrency

    4th Oct

    No Lecture today!

    8th Oct

    NFS

    Readings: NFS Case Study (handed out in hardcopy),
    Design and Implementation of the Sun Network Filesystem

    Lecture Notes:
    NFS

    9th Oct

    NFS (continued)

    Lecture Notes:
    (continuation of 8/10 lecture slides)

    11th Oct

    Programming Coursework Background

    Coursework 1: Programming a Distributed Tickertape
    due noon, Monday, 29th October, 2007

    15th Oct

    No lecture today!

    Hacking Day: Work on Programming Coursework!

    16th Oct

    No lecture today!

    Hacking Day: Work on Programming Coursework!

    18th Oct

    No lecture today!

    Hacking Day: Work on Programming Coursework!

    22nd Oct

    RPC and Transparency

    Lecture Notes:
    RPC and Transparency

    23rd Oct

    Ivy: Distributed Shared Memory

    Reading: Ivy

    Lecture Notes:
    Ivy and DSM

    25th Oct

    Ivy (continued)

    Lecture Notes:
    (continuation of 23/10 lecture slides)

    29th Oct

    Two-Phase Commit

    Lecture Notes:
    Two-Phase Commit

    30th Oct

    Paxos

    Reading: Paxos

    Lecture Notes:
    Paxos

    1st Nov

    Paxos (continued)

    5th Nov

    Reading week; no lecture today!

    6th Nov

    Reading week; no lecture today!

    8th Nov

    Reading week; no lecture today!

    12th Nov

    Bayou: Weak Connectivity and Update Conflicts

    Reading: Bayou

    Lecture Notes:
    Bayou

    13th Nov

    GFS: The Google File System

    Reading: GFS

    Lecture Notes:
    GFS

    15th Nov

    GFS (continued)

    19th Nov

    Introduction to Security

    Lecture Notes:
    Introduction to Security

    20th Nov

    User Authentication and Cryptographic Primitives

    Lecture Notes:
    User Authentication and Cryptographic Primitives

    22nd Nov

    Cryptographic Primitives (continued)

    26th Nov

    The Kerberos Authentication Service

    Reading: Kerberos

    Lecture Notes:
    Kerberos

    27th Nov

    No lecture today! (hour to be rescheduled)

    29th Nov

    Secure Sockets Layer (SSL)

    Lecture Notes:
    SSL/TLS

    3rd Dec

    Reasoning Formally about Authentication: TAOS

    Reading: TAOS

    Lecture Notes:
    TAOS

    4th Dec

    Software Vulnerabilities and Exploits

    Reading: Smashing the Stack for Fun and Profit

    Reading: Exploiting Format String Vulnerabilities

    Reading: Once Upon a free()

    Lecture Notes:
    Vulnerabilities and Exploits

    6th Dec

    Internet Worms

    Reading: Code-Red Case Study

    Reading: Inside the Slammer Worm

    Lecture Notes:
    Internet Worms

    Coursework 2: Security Problem Set
    due noon, Friday, 11th January, 2008

    10th Dec

    Automated Network and Worm Defenses

    Reading: Bro

    Reading: Autograph

    Lecture Notes:
    Network and Worm Defenses

    11th Dec

    Preventing Exploits

    Reading: TaintCheck

    Reading: PaX Overview

    Reading: ASLR Overview

    Reading: Limits of Address Space Randomization

    Lecture Notes:
    Preventing Exploits

    13th Dec

    OKWS: Approximating Least Privilege in a Real-World Web Server

    Reading: OKWS

    Lecture Notes:
    OKWS and Least Privilege