Practical Computer Security (Spring 2021, CSCI-GA.3033-074)
Basic Information
- This website
- https://cs.nyu.edu/courses/spring21/CSCI-GA.3033-074/
- Instructor
- Kevin Chen
- Class Hours
- Wed 7:10-9:00PM
- Classroom
- Online via Zoom
- Course Number
- CSCI-GA.3033-074
- Course Title
- Practical Computer Security
Introduction
This course teaches the security mindset and practical security concepts that are essential for software engineers, software developers, quality assurance testers and IT managers. The course discusses various attack techniques and defenses for real world applications and the security activities in the SDLC. Its main topics include: low-level exploits, web application security, malware, threat modeling, security requirements, secure coding practices, security & penetration testing, human factors and usability, mobile platform security, and legal and ethical issues. Course project and assignments may require C, JavaScript, Python, and/or other scripting languages. Prerequisites: Programming experience in C/C++, JavaScript, Python, and SQL; basic understanding of assembly language; working knowledge of web application development.
FAQ for Course Registration Inquiries
Do you have a syllabus for this course?
Here is a tentative topic list for Spring 2021:
- Memory safety
- Buffer overflow
- Memory war
- Integer overflow, format string vulnerability, etc.
- Malware
- Web security
- Command injection and SQL injection attacks
- Cross site scripting
- Cross site request forgery, etc.
- Software security
- Security architecture and principles
- Isolation and sandboxing
- Fuzzing and program analysis
- Network security
What are the course assignments?
There will be around 6 take-home labs related to memory safety and web security. The labs will be largely based on SEED labs.
Due to the class being converted to remote, we are still developing alternative solutions to the midterm and final exams. Currently we are trying to replace them with homeworks and/or semester-long projects.
What is the grading composition for this course?
Tentatively, 50-60% for the labs, 30-45% for the project/homeworks and 5-10% for in-class and Piazza participation.