Welcome
CSC 515 - 001 Software Security introduces students to the discipline of designing, developing, and testing secure and dependable software-based systems.
Learning Objectives
Students will be exposed to the techniques needed for the practice of effective software security techniques. By the end of the course, you should be able to do the following things:
Security risk management. Students will be able to assess the security risk of a system under development. Risk management will include the development of formal and informal misuse case and threat models. Risk management will also involve the utilization of security metrics.
Security testing. Students will be able to perform all types of security testing, including fuzz testing at each of these levels: white box, grey box, and black box/penetration testing.
Secure coding techniques. Students will understand secure coding practices to prevent common vulnerabilities from being injected into software.
Security requirements, validation and verification. Students will be able to write security requirements (which include privacy requirements). They will be able to validate these requirements and to perform additional verification practices of static analysis and security inspection.
Course meeting times
Lecture:
Days: Mondays and Wednesdays
Time: 8:30 - 9:45
Place: EB3 Room 2207
Links
Contact
Laurie Williams, Distinguished University Professor
Engineering Building 2, Room 2240
Zoom Office Hours: Section 001: Monday 4:00-4:30 (or in person)
Section 601: Monday 5:00-5:30
Additional in-person office hours upon request.
Shudi Shao, Teaching Assistant
Email: sshao@ncsu.edu
Office: Zoom
Office Hours: Monday 1:00 - 2:00
TBD, Teaching Assistant
Email: @ncsu.edu
Office: Zoom
Office Hours: TBD