In a concerted effort to bolster global cybersecurity, the U.S. National Security Agency (NSA) and the Cybersecurity and Infrastructure Security Agency (CISA) have published a joint report urging software manufacturers to shift to memory-safe programming languages (MSLs). The guidance, titled "Memory Safe Languages: Reducing Vulnerabilities in Modern Software Development," emphasizes that this transition is a critical step toward eliminating entire classes of software flaws that have long been a target for malicious actors. Memory safety vulnerabilities, such as buffer overflows and use-after-free errors, have long been the root of many of the most severe software security issues. According to studies, these flaws account for a significant percentage of exploits. For instance, Microsoft reported that 70% of its vulnerabilities in 2016 were due to memory safety issues, and a Google Project Zero analysis found that 75% of actively used exploits were memory safety flaws. High-profile incidents like Heartbleed and BadAlloc have demonstrated the devastating impact of these flaws, leading to widespread data breaches and operational disruptions. Traditional programming languages like C and C++ provide developers with low-level memory control but require meticulous manual management to avoid errors. In contrast, memory-safe languages (MSLs) such as Rust, Go, Java, Python, C#, and Swift incorporate built-in protections. These languages feature mechanisms like bounds checking, automatic memory management, and data race prevention, which shift the burden of safety from the individual developer to the language and development environment itself. The report acknowledges that transitioning to MSLs is not without challenges, especially for organizations with large, legacy codebases. Issues like performance, interoperability with existing components, and the need for developer training are significant hurdles. However, the agencies argue these challenges are surmountable and the long-term benefits to system integrity far outweigh them. The guidance provides practical approaches, such as incrementally refactoring high-risk components and using MSLs for new development projects. A successful case study cited is the Android operating system's transition, where memory safety vulnerabilities dropped from 76% in 2019 to 24% by 2024 after prioritizing Rust and Java for new code. This initiative is part of a broader "Secure by Design" strategy promoted by CISA, which urges manufacturers to take greater ownership of their products' security. The agencies are urging software producers to publish memory safety adoption roadmaps and align their practices with established frameworks like the NIST Secure Software Development Framework (SSDF). The adoption of MSLs is positioned not just as a technical upgrade, but as a foundational strategy for mitigating risk and ensuring a safer digital landscape for critical infrastructure and national security.
The NSA, CISA, and international cybersecurity partners have issued joint guidance urging developers to adopt memory-safe programming languages. This move aims to eliminate entire classes of vulnerabilities, enhancing overall software security and national security by shifting the burden of safety from developers to the language itself.
