Course Name | Secure Coding |
Course Code | 23CSE333 |
Program | B. Tech. in Computer Science and Engineering (CSE) |
Credits | 3 |
Campus | Amritapuri ,Coimbatore,Bengaluru, Amaravati, Chennai |
Introduction to Secure Coding Practices – Importance of secure coding in software development – Common software vulnerabilities and their impact, Secure coding principles and best practices, Overview of secure coding frameworks and guidelines.
Input Validation and Data Sanitization – Importance of input validation in preventing injection attacks -Techniques for input validation and data sanitization – Handling user-controlled input securely – Protecting against SQL injection, XSS, and other injection attacks.
Authentication and Authorization – Secure authentication principles and mechanisms – Implementing secure password management – Multi-factor authentication techniques – Role-based access control and authorization.
Session Management – Importance of secure session management – Techniques for secure session handling – Preventing session hijacking and fixation attacks – Implementing session timeouts and secure logout mechanisms.
Error Handling and Logging – Importance of error handling and logging in secure coding – Secure error message handling – Implementing effective logging and auditing mechanisms.
Secure Coding Frameworks and Tools – Overview of secure coding frameworks and libraries – Utilizing secure coding tools and static code analysis – Secure coding practices for different programming languages – Secure software development lifecycle (SSDLC).
Course Objectives
The objective of this course is to provide students with a foundational understanding of secure coding practices and principles, and to equip them with the knowledge and skills necessary to develop and implement secure software applications. Through a combination of lectures, discussions, and hands-on exercises, students will gain an understanding of common software vulnerabilities and their impact and will learn how to apply secure coding principles and best practices to prevent security breaches. Students will also learn how to develop and implement effective input validation and data sanitization techniques, secure authentication and authorization mechanisms, secure session management techniques, and secure error handling and logging mechanisms. Finally, students will learn about secure coding frameworks and tools, and will be able to evaluate and apply secure coding guidelines and frameworks to ensure the security of their software applications.
Course Outcomes
CO1: Identify and prevent common software vulnerabilities through the application of secure coding principles and best practices.
CO2: Apply input validation and data sanitization techniques to protect against injection attacks such as SQL injection and XSS.
CO3: Employ secure authentication and authorization mechanisms, including secure password management and multi-factor authentication for web applications.
CO4: Apply secure session management techniques to prevent session hijacking and fixation attacks.
CO5: Analyze and Apply secure coding guidelines and frameworks to ensure the security of software applications.
CO-PO Mapping
PO/PSO | PO1 | PO2 | PO3 | PO4 | PO5 | PO6 | PO7 | PO8 | PO9 | PO10 | PO11 | PO12 | PSO1 | PSO2 |
CO | ||||||||||||||
CO1 | 3 | 3 | 2 | 2 | 1 | 3 | 3 | 2 | ||||||
CO2 | 3 | 2 | 3 | 2 | 2 | 3 | 3 | |||||||
CO 3 | 3 | 2 | 3 | 2 | 2 | 3 | 3 | |||||||
CO4 | 3 | 2 | 3 | 2 | 2 | 3 | 3 | |||||||
CO5 | 2 | 3 | 2 | 2 | 1 | 3 | 3 | 2 |
Evaluation Pattern: 70:30
Assessment | Internal | End Semester |
Midterm | 20 | |
*Continuous Assessment Theory (CAT) | 10 | |
*Continuous Assessment Lab (CAL) | 40 | |
**End Semester | 30 (50 Marks; 2 hours exam) |
* CAT – Can be Quizzes, Assignment, and Reports
* CAL – Can be Lab Assessments, Projects, and Reports
**End Semester can be theory examination/ lab-based examination/ project presentation
Textbook(s)
Dafydd Stuttard and Marcus Pinto, “The Web Application Hacker’s Handbook: Finding and Exploiting Security Flaws,” Wiley, 2nd edition, 2011.
Andrew Hoffman, “Web Application Security: Exploitation and Countermeasures for Modern Web Applications”, O’Rielly, 2020.
Michael Howard, David LeBlanc. “Writing Secure Code”, Microsoft Press, Second Edition; 2003.
Reference(s)
Mead NR, Allen JH, Barnum S, Ellison RJ, McGraw GR. “Software security engineering: a guide for project managers”. Addison-Wesley Professional; 2004 Apr 21.
DISCLAIMER: The appearance of external links on this web site does not constitute endorsement by the School of Biotechnology/Amrita Vishwa Vidyapeetham or the information, products or services contained therein. For other than authorized activities, the Amrita Vishwa Vidyapeetham does not exercise any editorial control over the information you may find at these locations. These links are provided consistent with the stated purpose of this web site.