================== Course Information ================== \* Course syllabus can be found `here `__. ------------------ Course description ------------------ A comprehensive study of the principles and practices of computer systems security including operating systems security, software security, network security, and web security. Topics include common attacking techniques such as virus, trojan, worms and memory exploits; applied cryptography and key management; intrusion detection and security analytics; trusted computing; access control; password protection; and legal and ethical issues in computer security. ---------------------- Instructor information ---------------------- - `Chung Hwan Kim `__ (chungkim 'at' utdallas 'at' edu) - Office hours: By appointment (online only) - Feel free to send the instructor an email to make an appointment -------------- TA information -------------- - Yu-Yen Chung (yu-yen.chung 'at' utdallas 'at' edu) -- Office hours: By appointment (online only) - Sahil Dhoked (sahil.dhoked 'at' utdallas 'at' edu) -- Office hours: Thu & Fri noon-1pm in `MS Teams `__ --------------------------- Class meetings and modality --------------------------- - Modality: **Traditional** - When: TH 10am-11:15am - Where: `ECSW 1.365 `__ - Live broadcasting in `MS Teams `__ **until Feb 4**. - Video recordings of the class will **NOT** be provided. ------------- Prerequisites ------------- Students are required to satisfy the following prerequisites: - Algorithm Analysis and Data Structures (CS 5343) - Operating System Concepts (CS 5348) The following courses are not required but recommended: - C/C++ Programming in a UNIX Environment (CS 3377) - Computer Architecture (CS 2340) Optionally, the course project would require students with the following skills: - Familiarity with command line Unix/Linux - Understanding and debugging a C/C++ program (e.g., using GDB) - Basic Java, PHP and SQL - Basic understanding on how a program executes at low machine instructions and operating systems levels (e.g., basic level of IA-32 assemblies, how a process is created, and how system calls are handled) ------------------------------------------- COVID-19 guidelines ------------------------------------------- - `COVID-19 Guidelines and Resources `__. - `COIVD-19 Response FAQ `__. ------------------------------------ Student learning objectives/outcomes ------------------------------------ Students shall be able to understand what are the common threats faced today, what are the foundational theory behind information security, what are the basic principles and techniques when designing a secure system, how to think adversarially, how today's attacks and defenses work in practice, how to assess threats for their significance, and how to gauge the protections and limitations provided by today's technology. After completing the course, students are expected to gain the abilities to: - Understand and explain fundamental security concepts - Understand common threats and recognize vulnerabilities of information systems - Understand and apply cryptographic algorithms - Understand and apply security policies -------------- Grading policy -------------- - Homeworks (15%): 2 homeworks + 1 optional homework - Projects (30%): 3 projects - Quizzes (10%): 4 quizzes. - Mid-term exam (17%). - Final exam (28%). - **Homework 3 is optional**: Homework 3 grade will substitute the lowest prior homework grade if it is higher. ------------------------ Evaluation & late policy ------------------------ * Assignments, quizzes and exams will be evaluated on a 100-point scale (0-100). * Late homeworks and projects will be penalized 10 point per day (24-hour period). ------------------ Academic integrity ------------------ .. important:: **Cheating vs. collaboration** Collaboration is a very good thing. On the other hand, cheating is considered a very serious offense and is vigorously prosecuted. Vigorous prosecution requires that you be advised of the cheating policy of the course before the offending act. For this semester, the policy is simple: don't cheat: - *Never* share code or text on the homeworks and projects. - *Never* use someone else's code or text in your solutions. - *Never* consult potential solutions on the Internet. On the other hand, for this class, you are strongly encouraged to: - Share ideas. - Explain your code to someone to see if they know why it doesn't work. - Help someone else debug if they've run into a wall. If you obtain help of any kind, always **write the name(s) of your sources**. (ref. http://courses.cs.washington.edu/courses/cse451/15au/) ---------------- Online resources ---------------- - `Course website `__ - `eLearning `__ - `MS Teams `__ -------------- Acknowledgment -------------- - Class materials are built based on `Prof. Ninghui Li `__'s class at Purdue University.