COMP 436/536 - Secure and Cloud Computing

Instructor: Ang Chen
Lectures: 4:00-5:15pm, MW
Location: HRZ 212
Piazza: link


Course description

What is "cloud computing"? How do we build cloud-scale systems and components that are secure against malicious attacks, and scale to millions of users? Many of today's services run inside the cloud -- a set of geographically distributed data centers running heterogeneous software stacks. Cloud systems must scale across tens of thousands of machines, support millions of concurrent requests, and they must do so with high security guarantees. This course will start with the fundamentals of cloud computing, introduce key techniques in building scalable and secure systems, and expose students to state-of-the-art research advances as well as emerging security threats and defenses in today's cloud systems.

Prerequisites

COMP 321 (Introduction to Computer Systems)

Format

We will have two lectures per week. There will also be regular homework assignments and a course project that requires a significant amount of hands-on implementation, experimental validation, as well as a report.

Grading

Homework 40%, quizzes 30%, project 30%.

Homework assignments

The homework assignments will be available at Piazza. You can submit the solutions via Email. Please email your solutions to myself and all TAs.

Accomodations

Students with a documented disability needing academic adjustments or accommodations in this course are encouraged to contact me and Disability Support Services in the Allen Center, Room 111.

Tentative schedule (see Piazza for due dates)

Topic Details Reading Remarks
1. Introduction Principles of building systems
Course overview
Lampson: Hints for computer systems design
2. The Cloud Cloud applications
Datacenters
Web vs. cloud vs. cluster
Armbrust et al.:A view of cloud computing
3. Networking basics Datacenter networks HW1 online
4. Software-defined networks SDNs Feamster et al.: The road to SDN
5/6. Programmable switches + P4 Protocol-independent packet processing Bosshart et al: P4
7. Load balancing ECMP, Load-sensitive routing Katta et al: Hula HW1 due
8. P4 lab P4 hands-on exercises HW2 online
9. Cloud storage Key value stores
Concurrency control
DynamoDB
10. Storage at Facebook Case study: Facebook
11. Concurrency Consistency models
Synchronization
Deadlocks
Vogels: Eventually consistent
12. Faults and Failures I Internet basics
Byzantine faults
Tseitlin: The antifragile organization HW2 due
13. Faults and Failures II Handling failures
Correlated failures
Corbató: On building systems that will fail
14. Diagnosis Declarative Networking
Provenance and Diagnosis
Loo et al.: Declarative networking
15. MapReduce Programming model
Hadoop
16. Cloud services Quiz 1
17. Peer-to-Peer P2P networks
18. Security basics Crypto basics
Attacks
19. Denial of service Smurf sttacks
DDoS
Botnets
The Mirai botnet
20. Anonymity DCNet
Tor
21. Routing security BGP
Prefix hijacking
22. Differential Privacy Data privacy
Attacks
Dwork et al.:Differential Privacy
23. Accountability Fault detection
Timing fault
24. Bitcoin Bitcoin
Hash chains
Quiz 2