The Cybersecurity and Infrastructure Security Agency (CISA) has partnered with the National Security Agency (NSA) and the Federal Bureau of Investigation (FBI), along with foreign security agencies from Australia, Canada, and the UK, to develop a set of principles for the creation of security-by-design and security-by-default cybersecurity products. The set of principles is designed to improve the nation’s cybersecurity and reduce developers’ ongoing maintenance and patching costs.
Developers are encouraged to adopt these principles to make their products secure-by-design and secure-by-default. Customers are also encouraged to insist on purchasing demonstrably secure-by-design and secure-by-default products.
The CISA set of principles includes using memory safe programming languages, such as Rust, Go, Python, Java, C#, and Swift, to eliminate vulnerabilities.
Other principles include secure hardware foundation, secure software components, parameterized queries to avoid SQL injection attacks, and SAST and DAST testing, which should be supported by code reviews, SBOMs, vulnerability disclosure programs, and more.
The security-by-default principle refers to delivering products that are secure out-of-the-box, rather than products that must be made secure by the user. It includes using no default password, mandated MFA, single sign-on via modern open standards, and secure logging.
The purpose of developing this set of principles is to improve the cybersecurity of the entire nation in the face of increasing criminal and adversarial nation threats. The Administration has made it clear that it will use its purchasing power to help persuade developers to comply, and IT departments should develop purchasing criteria that emphasize the importance of secure-by-design and secure-by-default practices.