CSC 415 - Software Security
Catalog Description:Introduces students to the discipline of designing, developing, and testing secure and dependable software-based systems. Students will learn about risks and vulnerabilities, and effective software security techniques. Topics include common vulnerabilities, access control, information leakage, logging, usability, risk analysis, testing, design principles, security policies, and privacy. Project required.
Contact Hours:
- Lecture: 3 hours
Co-requisites: CSC 326
Restrictions: None
Coordinator: Dr. Jason King
Textbook: None
Course Outcomes:
Upon successful completion of this course, a student will be able to...
- Describe common vulnerabilities and software weaknesses that affect security and privacy in software.
- Assess the security risk of a system under development using a risk management framework.
- Describe secure coding practices and techniques that can be incorporated into the security development lifecycle.
- Document security requirements through functional requirements specifications and misuse/abuse cases.
- Apply design principles (such as defense in depth, least privilege, and separation of privilege) when developing secure software.
- Construct attack and defense trees to help analyze and address risks that exist in software.
- Perform threat modeling when designing software to identify threats, document mitigation strategies, and validate that threats have been addressed.
- Perform security testing, including fuzz testing and penetration testing.
Topics:
- Foundations of Software Security
- Foundations of Privacy
- Vulnerability Rankings
- Injection
- Cross-Site Scripting
- Cross-Site Request Forgery
- Other Input Validation Vulnerabilities
- Improper Authentication
- Improper Access Control
- Improper Data Exposure
- Security Misconfiguration
- Security Development Lifecycle
- Security Requirements
- Security Design Principles
- Software Logging Mechanisms
- Attack & Defense Trees
- Threat Modeling
- Penetration Testing
- Security & Usability
- Building Security In Maturity Model (BSIMM)
See Course Listings