Courses/Computer Science/CPSC 526.W2015

From wiki.ucalgary.ca
< Courses‎ | Computer Science
Revision as of 20:02, 14 January 2015 by Locasto (talk | contribs) (Course Policies)
Jump to: navigation, search

Network Systems Security

CPSC 526 - Network Systems Security

Attacks on networked systems, tools and techniques for detection and protection against attacks including firewalls and intrusion detection and protection systems, authentication and identification in distributed systems, cryptographic protocols for IP networks, security protocols for emerging networks and technologies, privacy enhancing communication. Legal and ethical issues will be introduced.

The lectures for this course run concurrently with CPSC626.

Course Policies

For the complete list of course policies, grading scheme, and tentative list of topics, please refer to the official course outline: http://www.cpsc.ucalgary.ca/custom/undergrad/outlines2015/w15/cpsc526and626_winter2015.pdf

Textbook

Network Security: Private Communication in a Public World, 2nd Edition by Charlie Kaufman, Radia Perlman, and Mike Speciner

A few supplemental textbooks (not required at all, just further reading or background for those interested)

Grades

  • HW1 - 250 points
  • HW2 - 250 points
  • Roving Assignment - 100 points
  • Midterm Exam - 100 points (March 9th)
  • Final Exam - 300 points

Communication

We will not use D2L. Instead, we will use Piazza for class communication.

This term we will be using Piazza for class discussion. The system is highly catered to getting you help fast and efficiently from classmates, the TA, and myself. Rather than emailing questions to the teaching staff, I encourage you to post your questions on Piazza. If you have any problems or feedback for the developers, email team@piazza.com.

Find our class page at: https://piazza.com/ucalgary.ca/winter2015/cpsc526/home

Lecture Schedule

January 12: Intro and Overview

  • Course policies, grading, etc.
  • Concepts / Organization

With some background in security concepts and principles, we set security challenges and problems into a networked environment. Basic crypto primitives become building blocks of systems whose major focus is authentication and protecting the confidentiality and integrity of communications channels. This major topic is complemented with a variety of security mechanisms that attempt to provide C-I-A in other ways (e.g., firewalls, IDS, authentication systems & standards).

  • Topics (i.e., knowledge & skills I want you to know by the end of the semester)
    • common networking tools
    • bit-level agility (packet crafting)
    • working knowledge of common applied crypto
    • authentication and secure protocols (design and major examples)
    • network security application domains: routing security, web security
    • network security mechanisms: firewalls, IDS, etc.
  • Semester Highlights
    • EDURange
    • ScapyHunt
    • PGP key signing party
    • web application hacking (Google Gruyere)
    • build a VPN
    • build a CA
    • network introspection


  • Telephone
  • Burning Question
    • Name / Psuedonym
    • One question you want answered by the end of the semester

Jan 14: Important Concepts

Tutorial Schedule

Here is the (tentative) schedule of tutorial topics.

Courses/Computer Science/CPSC 526.W2015/Tutorial_Schedule

  • Week 1: Jan. 19
    • Session 1 – Protocol Review (TCP, IP, ICMP, UDP, and Ethernet)
    • Session 2 – Packet crafting using Scapy
  • Week 2: Jan. 26
    • Session 1 – Reading from and observing a network (tcpdump and wireshark)
    • Session 2 – Linux networking tools (netcat, netstat, route, ARP)
  • Week 3: Feb. 2
    • Session 1 – Building a network from scratch
    • Session 2 – Network programming in C & Java
  • Week 4: Feb. 9
    • Session 1 – DES (symmetric keys)
    • Session 2 – Deeper background (i.e. math) behind Diffie-Hellman
  • Week 5: Feb. 16
    • No sessions (Reading Week)
  • Week 6 Feb. 23
    • Session 1 – Crypto programming using OpenSSL
    • Session 2 – Crypto programming using GCrypt
  • Week 7: Mar. 2
    • Session 1 – Crypto programming using NACL or Java
    • Session 2 – Roll your own CA
  • Week 8: Mar. 9
    • Session 1 – hack-test.com
    • Session 2 – Google Gruyere
  • Week 9: Mar. 16
    • Session 1 – Google Gruyere Cont’d
    • Session 2 – Write and send encrypted email (worth 25 points)
  • Week 10: Mar. 23
    • Session 1 – Generating SSH Public/Private Keys, SSH into CPSC server using public key
    • Session 2 – Scapy Hunt
  • Week 11: Mar. 30
    • Session 1 – Interesting captured packets presentations (worth 50 points)
    • Session 2 – Bro (Guest Speaker!)
  • Week 12: Apr. 6
    • Session 1 – VPN (worth 25 points, details TBD)
    • Session 2 – VPN (Cont’d)

Question of the Day (BQoD)

  • Jan 14: CryptoPro asks "What is the most practical way to protect a network?"