FEDERAL CYBERSECURITY RESEARCH AND DEVELOPMENT STRATEGIC PLAN (2019)
key factors are modeling attacker effort (i.e., money, time, or computational cost), effectiveness, and
risks, given the characteristics and capabilities of the defenders and users.
Providing effective and timely attribution. Accurate attribution of malicious cyber activities to their
sources opens a broad range of response options, such as sanctions or prosecution.
Supporting robust investigations. Effective investigative tools for law enforcement create the basis for
collecting the evidence required for successful prosecution of cyber adversaries.
Sharing information for attribution. Effective mechanisms for sharing attribution information must be
developed and must support investigations that cross international or domestic law enforcement
jurisdictions.
Protect
The second defensive element, Protect, focuses on creating systems and networks that are highly resistant
to malicious cyber activities through assurance-based engineering practices that will simultaneously
protect a system and supply the verifiable evidence needed to support its assurance case.
Challenges
Limiting Vulnerabilities
There are five essential approaches needed to produce software, hardware, or firmware with fewer
defects that present security vulnerabilities, as described below:
Design for security. In many cases, security vulnerabilities in a system are present from the start. To
avoid systemic security vulnerabilities, system architects must begin with accurate threat models and
a robust understanding of the intended applications. Further, security tools, policies, and systems must
operate as part of larger sociotechnical systems. This demands design attention to interoperability,
maintainability, and evolvability in the context of other technologies, and to how these tools can be
adopted by and adapted to the human and organizational contexts in which they will be deployed.
Build secure. Implementation errors can undermine the security of well-designed components.
Although common vulnerabilities such as buffer overflows and memory leaks are well understood by
most developers, they remain difficult to eliminate. Existing tools and practices that prevent developers
from creating specific types of security vulnerabilities are imperfect and inefficient. To reduce common
product vulnerabilities, tools and practices for software and hardware development are needed that
significantly improve developer productivity and operational system performance.
Verify security. Even when products are designed for security and are built to be robust,
implementation errors may creep in during system development. In addition to undergoing functional
testing, components should be subjected to rigorous security analysis throughout the development
process. Because adversaries use static analysis tools and fuzzing tools to find previously unknown
(“zero-day”) software vulnerabilities, rigorous application of these tools should be used to identify and
eliminate vulnerabilities before a product goes to market.
Maintain security. Inevitably, even software that is well-designed, implemented by knowledgeable
developers with good tools, and subjected to comprehensive security testing still will have defects.
When errors are identified, the software must be updated. The mechanisms used to update software
can unintentionally introduce vulnerabilities instead of eliminating them. Building in secure mechanisms
for updating software or firmware is essential to securing products throughout their lifecycles.
–7–
Select target paragraph3
Connect to a paragraph
Connect to an entity
Disable highlights
Add to table of contents