A.8.27 Secure system architecture and engineering principles
This control aims to ensure information systems are securely designed, implemented, and operated within the development lifecycle.
Here, you should establish development principles by which your teams apply to their work. These should be documented and reviewed periodically to ensure that they are contributing to enhancing security, meeting the latest threats and that the latest best practises are considered. The principles should provide guidance to your team on subjects such as user authentication, secure session control and data validation and sanitisation.
When reviewing any work by developers or system architecture, the new functionality should be checked against these principles, for example, any new functionality should be checked against the data validation principles adopted, or against the requirements of storing configuration or private system data securely.
Other things to consider when establishing the principles are how individual security controls can work together to produce a full suite of controls, any specific controls required by business processes, the capabilities of the controls to prevent, detect or respond to security events.
Security architectures such as “Zero trust” and other principles such as “security by design”, the principle of least privilege should be strongly considered. This can be implemented by using controls like ensuring that each request is encrypted end to end, authenticating and authorising each request for information including authentication information, data classification.
Naturally, any principles should be aligned with and enforced by any third-party development. This can be done by including it in the contract or other binding agreements with the supplier.
In this post, we explore these controls and provide practical tips on how your organisation can implement them effectively to strengthen your security posture and support ISO 27001 compliance.