=================== General Information =================== ------------------ Course description ------------------ Concepts, techniques, and tools to capture the structure, format, and representation of binary code, and transform them for higher level analysis. Use of static analysis including data-flow analysis, point-to analysis, and shape analysis to reason about the abstractions inside binary code. Use of dynamic binary instrumentation to trace the instruction level behavior of both benign and malicious programs. Use of virtual machine (VM) hypervisors to observe the whole system level behavior including OS kernels. - Prerequisites: - Intermediate or higher level of C programming (CS3377) - Assembly language basics and computer architecture knowledge (CS3340) - OS Kernel and program loading procedure (CS4348) - Linux system basics - Optional Courses: - Cybersecurity Attack and Defense Lab (CS4301 offered every Spring semester) - Compiler Design (CS4386) - Advanced Operating Systems (CS6378) -------------------------------- Who should take CS 6332.001? -------------------------------- CS 6332.001 is primarily mainly intended for both senior-level undergraduate and graduate students who are interested in obtaining skill sets required to thwart cyberattacks in the wild. Over the course of lab exercises, students will become confident in competing in Capture-the-Flag (CTF) contests, conducting real-world bug hunting and getting bug bounty awards, and contributing to open-source projects by sending their patches via pull-requests. ---------------------------------------------- Prerequisite Courses and Skills (Recommended) ---------------------------------------------- - Courses - Computer Architecture and Assembly Language (cs2340) or equivalent - Data Structures and Introduction to Algorithmic Analysis (cs3345) or equivalent - Operating Systems (cs3377) - Skills - Intermediary experience on Linux / Unix-based systems - Familiarity with C and memory operation (pointer) - x86 assembly -------------- Class meetings -------------- - When: Tuesday, Thursday 4:00 - 5:15 PM - Where: In person `ECSW 1.365 `__ --------------------------- Office hours and recitation --------------------------- Instructor will hold weekly office hours from 3:00 PM to 4:00 PM every Wednesday. - Meeting time may change at the instructor's discretion with a prior announcement. --------------- Class logistics --------------- **Class attendance policy**: Students are expected to attend all classes on time and actively participate hands-on labs. We will penalize students' absence or tardiness without a proper reason. ----------------- Online Discussion ----------------- Online discussion is strongly encouraged, and it will help you a lot in solving lab problems. The class uses Discord channels as a main communication channel to share class materials. You can post your questions, ideas and thoughts and have discussions with mentors and other students. We sent the invitation via class emails or you can contact the instructor or one of TAs to join the Discord channel. ----------------- Misconduct Policy ----------------- .. CS6332.001 provides a **7** day grace period (50% points after due date, only for 7 days.) CS6332.001 strictly follow the plagiarism policy (read `UTD's Student Conduct CODE `__). .. important:: **Cheating vs. collaboration** The collaboration is a desirable thing. Whereas the cheating is considered a very serious offense and is prosecuted. Vigorous prosecution requires that you be advised of the cheating policy of the course before the offending act. The following are examples how the class will define for the cheating and collaboration. The policy is simple: don’t cheat: - *Never* share code or text on the project. - *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/) -------- Staffs -------- - Instructor: `Kangkook Jee `__ - TAs: - Joshua D. Wiedemeier - Takemaru Kadoi .. _cde: https://xxx