O'Reilly logo

Core Software Security by Anmol Misra, James Ransome

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

325
Chapter 10
Pulling It All Together:
Using the SDL
to Prevent Real-
World Threats
Cyber threats result from software flaws, which are weakness that can
be exploited by cyber attack or exploitation of a software application
or system. In this book, we have covered strategies for implementing
specific aspects of software security in the form of SDL best practices
to assist software development organizations in avoiding and reducing
software flaws as an essential element of effective core software security by
providing security at the source.
Although achieving a vulnerability-free product is exceedingly diffi-
cult, maybe even impossible, it should always be your goal. By apply-
ing the best practices in this book, the software you develop will be as
free from security vulnerabilities as possible. The fewer the number of
vulnera bilities, the harder it will be for an attacker to exploit a given appli-
cation. By no means are we going to stop all threats through the use
of software security best practices, but maximizing the reduction of the
326 Core Software Security
attack surface is our ultimate goal in that it makes our job as software
security professionals easier and that of our adversaries more difficult. By
implementing the practices outlined in this book, you will be able to a
large extent mitigate most threats coming from non-state threat actors.
In this chapter, we will break down the threats into three major catego-
ries, specifically, strategic, tactical, and user-specific. We will then provide
examples of attacks in each category and how the application of the SDL
best practices outlined in this book will assist you in developing software
that is resistant to these threats and attack methodologies.
10.1 Strategic, Tactical, and User-Specific
Software Attacks
Now that we have described secure software development practices, it is
important to finish this book by reminding the reader of the importance
of using these practices to protect against todays cyber threats. After a
few quotes from industry leaders, we will give a high-level overview of the
type of cyber threats that secure software development practices provide a
baseline protection against at the core.
Organizations are implementing policies to address secure
software development practices, and beyond using software
scanning tools, finding it important to integrate secure software
practices into the culture of the organization. Some firms have
found that using judicious secure software development processes
can reduce vulnerabilities associated with mission critical
software by 70%.
1
—Jeff Snyder, Vice President, Cyber Programs,
Raytheon Company, 2012
Cyber attacks take advantage of software errors, such as not
properly validating user input, inconsistencies in the design
assumptions among system components, and unanticipated
user and operator actions. Software errors can be introduced
by disconnects and miscommunications during the planning,
development, testing, and maintenance of the components.
Although an application development team may be expert
Pulling It All Together: Using the SDL to Prevent Real-World Threats 327
in the required business functionality, that team usually has
limited or no applicable security expertise. The likelihood of
disconnects and miscommunications increases as more system
components have to satisfy security requirements. The necessary
communications and linkages among the life-cycle activities,
among multiple development teams, and between the system
development and eventual usage should be reflected in project
management. Project managers should consider the additional
communications requirements, linkage among life-cycle
activities, and the potential usage environment as these items
relate to security needs.
2
—Robert J. Ellison, “Security and
Project Management,” 2006
By promoting the best software security practices industry-wide,
there is a significant opportunity to improve the overall security
of the technology ecosystem.
3
—Howard Schmidt, Former U.S. Cybersecurity Czar, 2013
The importance of an organization understanding its application
security maturity level and the impact it has on their overall
IT security profile is critical. Research has shown that the
application layer is responsible for over 90 percent of all
security vulnerabilities, yet more than 80 percent of IT security
spending continues to be at the network layer, primarily focused
on perimeter security. The findings of this study reveal the need
for making greater investment in application security programs
to reduce overall organizational exposure to cybercrime.
4
The State of Application Security—A Research Study by
Ponemon Institute LLC and Security Innovation, 2013
Strategic attacks are typically planned and controlled to target infor-
mation assets including specifications, technologies, plans, capabilities,
procedures, and guidelines to gain strategic advantage. They are typi-
cally conducted by state sponsors (or by entities supported by states),
organized crime, or competitors. Tactical attacks are typically random
and opportunistic; they target information assets for prestige or financial

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required