Start your day with intelligence. Get The OODA Daily Pulse.
In late February, “the National Cyber Director (ONCD) released a report calling on the technical community to proactively reduce the attack surface in cyberspace. ONCD makes the case that technology manufacturers can prevent entire classes of vulnerabilities from entering the digital ecosystem by adopting memory-safe programming languages. ONCD is also encouraging the research community to address the problem of software measurability to enable the development of better diagnostics that measure cybersecurity quality.” Find the details of the ONCD report here.
“ONCD has engaged with a diverse group of stakeholders, rallying them to join the Administration’s effort.”
At a White House press conference, National Cyber Director Harry Coker emphasized the nation’s capability and obligation to minimize cybersecurity risks by adopting memory-safe programming languages, thereby preventing many types of security vulnerabilities. The release of a new report, developed with contributions from the technical community and both public and private sector partners, highlights the potential threats and opportunities as the nation moves towards creating software that is inherently secure and memory-safe. Coker also highlighted the importance of collaborating with the academic community to tackle the challenge of developing better diagnostics for measuring cybersecurity quality. Addressing these challenges is crucial for the long-term security of the digital ecosystem and the nation’s security.
From the White House press release: “By adopting an engineering-forward approach to policymaking, ONCD is ensuring that the technical community’s expertise is reflected in how the Federal Government approaches these problems. Creators of software and hardware can have an outsized impact on the Nation’s shared security by factoring cybersecurity outcomes into the manufacturing process.
‘Some of the most infamous cyber events in history – the Morris worm of 1988, the Slammer worm of 2003, the Heartbleed vulnerability in 2014, the Trident exploit of 2016, the Blastpass exploit of 2023 – were headline-grabbing cyberattacks that caused real-world damage to the systems that society relies on every day. Underlying all of them is a common root cause: memory safety vulnerabilities. For thirty-five years, memory safety vulnerabilities have plagued the digital ecosystem, but it doesn’t have to be this way,’ says Anjana Rajan, Assistant National Cyber Director for Technology Security. ‘This report was created for engineers by engineers because we know they can make the architecture and design decisions about the building blocks they consume – and this will have a tremendous effect on our ability to reduce the threat surface, protect the digital ecosystem, and ultimately, the Nation.’
ONCD has engaged with a diverse group of stakeholders, rallying them to join the Administration’s effort. Statements of support from leaders across academia, civil society, and industry can be found here.”
President Biden’s National Cybersecurity Strategy calls for two fundamental shifts in how the United States allocates roles, responsibilities, and resources:
In this report, the crucial role of the technical community in enhancing cybersecurity in the digital ecosystem is a clear, central organizing principle of the report. The case is made that the technical community is well-positioned to drive progress on both strategic goals:
Memory safety vulnerabilities are a class of vulnerabilities affecting how memory is accessed, written, allocated, or deallocated in unintended ways. These vulnerabilities are prevalent and have plagued cyber defenders for decades. Such vulnerabilities can be categorized into two broad categories: spatial and temporal:
“Utilizing memory-safe programming languages is recommended to improve software security and address the pervasive issue of memory safety vulnerabilities in critical systems.”
Transitioning to memory-safe programming languages can significantly reduce memory safety vulnerabilities and improve cybersecurity. By designing new products and migrating legacy code to memory-safe languages, the prevalence of memory safety vulnerabilities in the digital ecosystem can be significantly minimized. By adopting memory-safe languages, creators can significantly reduce memory safety errors and vulnerabilities in their software. The report mentions that technological solutions are readily available, with numerous memory-safe programming languages to choose from, allowing technology manufacturers to design products with enhanced security measures from the outset. The transition to memory-safe programming languages has been shown to have a positive impact on cybersecurity, as these languages help eliminate memory safety vulnerabilities, especially when migrating large code bases.
Memory-safe hardware aims to complement memory-safe programming languages and formal methods to enhance cybersecurity by reducing memory-safety vulnerabilities in the digital ecosystem. While memory-safe programming languages can eliminate most memory safety errors, memory-safe hardware provides an additional layer of security. By adopting memory-safe programming languages and hardware, software and hardware creators can proactively eliminate entire classes of bugs and improve software security effectively. The use of memory-safe hardware can be crucial in critical systems like space systems, where memory safety is a paramount concern. These approaches offer a way to eliminate, rather than just mitigate, vulnerabilities, providing a significant opportunity to enhance the cybersecurity of digital systems.
Memory-safe hardware and formal methods are complementary approaches to achieve similar outcomes in certain situations, such as in space systems.
Formal methods are mathematical techniques used to prove the correctness of software, ensuring it meets specific security requirements. By incorporating formal methods into the development process, software developers can detect faults early and reduce vulnerabilities in their code. These methods can be applied throughout the software development lifecycle, offering a powerful tool to enhance software security and reliability. By automating mathematical proofs during software building and testing, developers can verify security conditions and use secure software components, minimizing the risk of vulnerabilities. Despite formal methods being studied for decades, their widespread adoption requires further innovation to make them more accessible to developers.
From the Report: “Even if engineers build with memory-safe programming languages and memory-safe chips, one must think about the vulnerabilities that will persist even after technology manufacturers take steps to eliminate the most prevalent classes. Given the complexities of code, testing is a necessary but insufficient step in the development process to reduce vulnerabilities at scale fully. Suppose correctness is defined as the ability of a piece of software to meet a specific security requirement. In that case, it is possible to demonstrate correctness using mathematical techniques called formal methods. These techniques, often used to prove a range of software outcomes, can also be used in cybersecurity and are viable even in complex environments like space. While formal methods have been studied for decades, their deployment remains limited; further innovation in approaches to make formal methods widely accessible is vital to accelerate broad adoption. Doing so enables formal methods to serve as another powerful tool to give software developers greater assurance that entire classes of vulnerabilities, even beyond memory safety bugs, are absent.
While several types of formal methods span a range of techniques and stages in the software development process, this report highlights a few specific examples.
Sound static analysis examines the software for specific properties without executing the code…This method is effective because it can be used across many representations of software, including the source code, architecture, requirements, and executables.
Model checkers can answer questions about several higher-level properties…These algorithms can be used during production; however, they are limited in their scaled use due to their computational complexity.
Assertion-based testing is a formal statement of properties carried in the code that may be used to cross-check the code during testing or production. These generated proofs allow for faults to be detected much earlier and closer to the erroneous code, rather than tracing back from externally visible systems failures.
There are two ways software engineers can use these techniques across software and hardware.
For the full report, including Part III: Addressing the Software Measurability Problem, see Back to the Building Blocks: A Path Toward Secure and Measurable Software.
“These efforts will be bold, long-term endeavors that require sustained focus and prioritization. Now is the time to begin this work.”
The report concludes with a call to action directed at the technical community by the ONCD on behalf of the Executive Branch:
“As questions arise about the safety or trustworthiness of a new software product, formal methods can accelerate market adoption in ways that traditional software testing methods cannot. They allow for proving the presence of an affirmative requirement, rather than testing for the absence of a negative condition. While memory-safe hardware and formal methods can be excellent complementary approaches to mitigating undiscovered vulnerabilities, one of the most impactful actions software and hardware manufacturers can take is adopting memory-safe programming languages. They offer a way to eliminate, not just mitigate, entire bug classes. This is a remarkable opportunity for the technical community to improve the cybersecurity of the entire digital ecosystem.
The challenge of eliminating entire classes of software vulnerabilities is an urgent and complex problem. Looking forward, new approaches must be taken to mitigate this risk:
These efforts will be bold, long-term endeavors that require sustained focus and prioritization. Now is the time to begin this work.”
The future of the National Cybersecurity Strategy, in conjunction with the evolution of memory safety vulnerabilities, memory-safe programming languages, memory-safe hardware, and formal methods, remains promising but pragmatically daunting. Let’s dissect these components with a discerning eye toward their potential trajectories and interdependencies:
CHERI, which stands for Capability Hardware Enhanced RISC Instructions, represents a groundbreaking shift in the paradigm of computing architecture, particularly to enhance security through hardware innovations. Born from a collaboration that includes the University of Cambridge, SRI International, and others, under the auspices of a DARPA program, CHERI seeks to fundamentally alter how memory access and management are handled by computing systems.
At its core, CHERI introduces the concept of capabilities for memory access. Unlike traditional pointers, which can be freely manipulated and, therefore, exploited by malicious actors to execute attacks such as buffer overflows, CHERI’s capabilities restrict how memory can be accessed or modified. These capabilities are essentially tokens or keys that grant specific permissions to access certain memory regions, with the crucial twist that these permissions can be narrowed but never expanded. This design principle ensures that even if a piece of software is compromised, the damage it can do is severely limited by the capabilities it has been granted.
The implications of CHERI for cybersecurity are profound. By rethinking memory access at the hardware level, CHERI aims to mitigate a wide array of vulnerabilities that have historically been a thorn in the side of software security. For instance, the integration of CHERI into ARM’s Morello boards is a tangible step towards realizing this vision, offering a platform for developers and researchers to explore and validate the security benefits of capability-based computing. The potential of CHERI to render a significant percentage of traditional memory safety vulnerabilities inert is not just theoretical. Analysis of bug reports to Microsoft’s Security Center revealed that with CHERI, a substantial proportion of vulnerabilities could have been completely neutralized, highlighting the practical value of this approach in enhancing cybersecurity resilience.
In essence, CHERI represents a bold reimagining of computing architecture with security at its heart. It’s a testament to the fact that as we continue to grapple with the complexities of digital security, innovative solutions that rethink fundamental principles can offer a path forward. Future cybersecurity strategies could advocate for the widespread adoption of such hardware innovations, particularly in sectors deemed critical to national security and economic stability. This would not only enhance the resilience of these sectors to cyber attacks but also set a benchmark for secure-by-design in hardware development.
NOTE: This OODA Loop Original Analysis was partially generated with the cognitive augmentation of and in collaboration with ALTzero Project – MattGPT.
An Overview of the NIST Cybersecurity Framework 2.0: The NIST Cybersecurity Framework (CSF) 2.0, an evolution of its predecessor, is a comprehensive guide designed to assist organizations across various sectors in managing and mitigating cybersecurity risks effectively. This framework, while not prescribing specific actions, offers a taxonomy of high-level cybersecurity outcomes, enabling organizations, regardless of their size, sector, or maturity, to better understand, assess, prioritize, and communicate their cybersecurity efforts. This post is a summary of the NIST CSF 2.0.
Corporate Board Accountability for Cyber Risks: With a combination of market forces, regulatory changes, and strategic shifts, corporate boards and their directors are now accountable for cyber risks in their firms. See: Corporate Directors and Risk
Geopolitical-Cyber Risk Nexus: The interconnectivity brought by the Internet has made regional issues affect global cyberspace. Now, every significant event has cyber implications, making it imperative for leaders to recognize and act upon the symbiosis between geopolitical and cyber risks. See The Cyber Threat
Ransomware’s Rapid Evolution: Ransomware technology and its associated criminal business models have seen significant advancements. This has culminated in a heightened threat level, resembling a pandemic in its reach and impact. Yet, there are strategies available for threat mitigation. See: Ransomware, and update.
Challenges in Cyber “Net Assessment”: While leaders have long tried to gauge both cyber risk and security, actionable metrics remain elusive. Current metrics mainly determine if a system can be compromised, without guaranteeing its invulnerability. It’s imperative not just to develop action plans against risks but to contextualize the state of cybersecurity concerning cyber threats. Despite its importance, achieving a reliable net assessment is increasingly challenging due to the pervasive nature of modern technology. See: Cyber Threat
Decision Intelligence for Optimal Choices: The simultaneous occurrence of numerous disruptions complicates situational awareness and can inhibit effective decision-making. Every enterprise should evaluate their methods of data collection, assessment, and decision-making processes. For more insights: Decision Intelligence.
Proactive Mitigation of Cyber Threats: The relentless nature of cyber adversaries, whether they are criminals or nation-states, necessitates proactive measures. It’s crucial to remember that cybersecurity isn’t solely the responsibility of the IT department or the CISO – it’s a collective effort that involves the entire leadership. Relying solely on governmental actions isn’t advised given its inconsistent approach towards aiding industries in risk reduction. See: Cyber Defenses
The Necessity of Continuous Vigilance in Cybersecurity: The consistent warnings from the FBI and CISA concerning cybersecurity signal potential large-scale threats. Cybersecurity demands 24/7 attention, even on holidays. Ensuring team endurance and preventing burnout by allocating rest periods are imperative. See: Continuous Vigilance
Embracing Corporate Intelligence and Scenario Planning in an Uncertain Age: Apart from traditional competitive challenges, businesses also confront external threats, many of which are unpredictable. This environment amplifies the significance of Scenario Planning. It enables leaders to envision varied futures, thereby identifying potential risks and opportunities. All organizations, regardless of their size, should allocate time to refine their understanding of the current risk landscape and adapt their strategies. See: Scenario Planning