CS468 Secure Programming and Systems

Location: Lecture Hall 2
Meeting Time: Monday, Weds. 3 to 4:15 pm
Instructor: Dr. Robert Simon
Office: 5322 Engineering Building
E-mail: simon AT gmu dot edu
Office Hours: By appointment send me email
Teaching Assistant TBD

Description:

This course is designed to provide students with an understanding of the theoretical underpinnings of modern security systems, along with the principles of secure system and protocol design. This course is intended for upper-division computer science students, along with other students whom possess the required programming and system software background. Topics include security and cryptography basics, vulnerability analysis, secure software development for communications and distributed system security. Projects involve designing and programming basic security tools, secure communication protocols, and distributed systems.

PREREQUISITES

Grade of C or better in CS310 and CS 367.

REQUIRED TEXTBOOK

Cryptography and Network Security: Principles and Practice, 7 or 8th edition by William Stallings.
ISBN-13: 9780134444611
Publisher: Prentice Hall

TOPICS

CLASS MATERIALS

All class materials, including lecture notes, are available through your blackboard accounts.

PROJECTS

There will be several programming assignments throughout the semester. They will be a mixture of experiments with shell code and programs. The programs involve the design and implementation of protocols for encrypted and authenticated secure network communication. Programs are (for the most part) in Python and shell scripting languages, and involve the use of Virtual Machines.

Please NOTE

GRADING POLICY

Your grade will be calcuated as follows:

No credit if your project does not compile. Homeworks are due at the start of class, not during class. Late assignments/projects lose 10% credit per day and will not be accepted 3 days after the due date.

If you feel that a project or exam was misgraded, you must register your complaint via email to both the instructor and the TA within one week of when the grade was received.

No early exams will be given. If you must miss an exam an makeup will be arranged at the discretion of the instructor, provided you have a written and verified excuse. Please note: You must score a 40% or higher on the final to pass this class.

COURSE OUTCOMES

  1. Describe the fundamental ethical responsibilities computer scientists have in securing and protecting computers.
  2. Explain basic mathematical principles underlying encryption algorithms.
  3. Explain basic mathematical principles underlying authentication algorithms.
  4. Demonstrate an understanding of cryptographic protocols.
  5. Describe how Operating Systems implement security for critical system components.
  6. Explain network and transport level security protocols with IPSec.
  7. Illustrate fundamental understanding of security principles by programming projects in cryptography, secure programming and communications.

DISABILITY STATEMENT

If you have a learning or physical difference that may affect your academic work, you will need to furnish appropriate documentation to GMU Disability Resource Center. If you qualify for accommodation, the DRC staff will give you a form detailing appropriate accommodations for your instructor. If you have such a condition, you must talk to the instructor during the first week of the term about the issue.

Disability Resource Center

HONOR CODE

The GMU Honor Code will be strictly enforced. Please make sure that you are familiar with it. We will discuss this further in class. Below is the link to the code.

Honor Code