Secure Software Development Guideline

Billions of lines of software code are generated by developers every year. And with the vast number of coding languages and the commonly adopted rush-to-production mindset, that makes software security an incredibly important and complex topic. Insecure software can leave systems and data vulnerable to cyber-attack and breach. Employing secure coding practices in every aspect of the coding process can not only help protect software applications, but also the digital experience of users interacting with them.

This guideline is intended to help developers, or anyone that is writing code, by providing best practices and security considerations. It is recommended for any software applications developed for or administered by the university.

Vanderbilt University requires adherence to this guideline for software applications that handle data subject to the Gramm-Leach Bliley Act (GLBA), which compels the adoption of secure software development practices.

  1. Align with NIST Cybersecurity Framework and Controls (NIST CSF). Specifically,
    1. Function Category Subcategory Description
      Identify Asset Management ID.AM-2 Inventory software applications, preferably in the central IT asset inventory.
      Protect Data Security PR.DS-7 Physically or logically separate production environments from non-production (i.e., development, and test environments).
      Information Protection Processes and Procedures PR.IP-2 Adopt a development lifecycle. Include the phases noted on the Lifecycle Phases tab.
      PR.IP-3 Adopt a change management process, including version control.
  2. Incorporate secure coding practices in every phase of the software lifecycle and extend this to connected systems and interface components, such as databases, code repositories, and APIs.
    1. Regardless of the device or language used, use secure coding practices from guides such as OWASP Securing Coding Practices and CERT Secure Coding Standards.
  3. Train software developers periodically on secure coding practices and maintain a current knowledge of security threats.
    1. The OWASP Top 10 is an awareness document that lists the most critical software security risks. While it is primarily aimed at web applications, it is relevant for all software. Each risk is fully described, including example attack scenarios and recommendations for how to prevent.
    2. The CWE Top 25 is another community developed resource listing the most dangerous software weaknesses. It details software vulnerabilities that are easy to find and easy to exploit.
question icon

Not sure how to start?

Get in touch if you don’t know where to begin, you can’t find the guidance needed on the website, or if you just want to learn more. The Office of Cybersecurity has subject matter expertise and is here for Vanderbilt community to discuss security questions or concerns.

Get Security Help