(1) This Procedure defines the requirements for secure software development at the University. (2) This Procedure applies to all Macquarie University (the University) Staff and Third-Parties involved in software development. (3) This Procedure does not apply to: (4) The University is committed to maintaining a secure technology environment and as such, has established requirements to embed secure practices into the software development process. Establishing these requirements aims to decrease the likelihood of malicious exploitation of software. (5) Refer to the Computer and Network Security Policy. (6) A secure software development lifecycle should be created by the software owner, to be maintained and regularly reviewed. (7) Secure software development training should be included as part of the standard training for developers. (8) Software development activities should only be conducted using approved development tooling and environments. (9) Open-source software used in development should be subject to a formal risk assessment before being approved for use within the University’s environment. (10) All software development should be conducted in accordance with the SecDevOps (Security-Development-Operations) standard. (11) Artificial Intelligence (AI) tooling should not be given permission to deploy code directly into Production. (12) Access to Development, Test and Production environments should be granted in accordance with the Computer and Network Security Policy. (13) Source code should be stored securely within an approved source code management tool. (14) Access to the source code storage tools should be granted in accordance with the Computer and Network Security Policy. (15) Development and quality assurance activities should not use data contained within Production databases/datastores. (16) Test data that matches the structure of production data should be generated for all Development and Test environments. (17) Developers should implement security controls based on the classification of the Information the system is expected to generate, store, process, and/or transmit in accordance with the Information Classification and Handling Procedure. (18) All Confidential Information and above (per the Information Classification and Handling Procedure) should be encrypted at rest, in process, and in transit, in accordance with the Computer and Network Security Policy. (19) Source code should not contain hardcoded secrets (e.g., credentials, tokens, API keys). (20) Third-Party Libraries should be, at a minimum: (21) Third-Party developers should provide developed software to the University for review and acceptance to ensure it meets the requirements specified in this Procedure, prior to deployment into Production. (22) The development of software by Third-Parties should be governed by a contract or a Service Level Agreement (SLA) that includes minimum security requirements. (23) Access to the University source code should be based on the principle of least privilege and restricted to those under either contract or an SLA. (24) A secure software development lifecycle should be defined, which outlines the key phases for secure software development, including: (25) Secure software development training should include, but is not limited to, the following requirements: (26) Development activities should follow the Open Web Application Security Project (OWASP) standards (where applicable), including but not limited to: (27) Industry recognised secure coding guidelines should be followed for all programming languages used for software development within the University. (28) Security requirements should be documented alongside the functional requirements of the software. (29) Security reviews must be planned and performed throughout all stages of software development, including: (30) Automated security testing tools (e.g., static application security testing, software composition analysis and dynamic application security testing), should be used to identify potential vulnerabilities. (31) Acceptance testing programs and related criteria should be established for new systems or enhancements to existing systems. (32) Any exemption to this Procedure must be sought from the Chief Information Security Officer (CISO). (33) Breaches of this Procedure by Staff will be managed in accordance with the applicable provisions of the Staff Code of Conduct and other relevant policy instruments. (34) Nil. (35) The following definitions apply for the purpose of this Procedure: Secure Software Development Procedure
Section 1 - Purpose
Scope
Background
Section 2 - Policy
Section 3 - Procedures
General
Development Tooling
Environment Segregation
Source Code Management
Data Protection Requirements
Third-Party Library Management
Outsourced Development
Secure Software Development Lifecycle
Training and Awareness
Development Practices
Assurance and Testing
Compliance and Exemptions
Section 4 - Guidelines
Section 5 - Definitions
View Document
This is the current version of this document. You can provide feedback on this document to the document author - refer to the Status and Details on the document's navigation bar.