F Secure Security Comes As Standard Whitepaper
F Secure Security Comes As Standard Whitepaper
COMES AS
STANDARD
Building security into
modern software development
An F-Secure Consulting Whitepaper
Security comes as standard
CONTENTS
INTRODUCTION 2
WHAT DOES A SECURE SOFTWARE DEVELOPMENT 3
PROGRAM LOOK LIKE?
KEY PEOPLE IN SOFTWARE PRODUCTION 4
THE IMPACT OF AGILE AND SCRUM ON SECURE 6
DEVELOPMENT
GETTING SECURITY AND DEVELOPMENT TO WORK 7
TOGETHER EARLIER
EMBRACING RAPID CHANGE – DEVOPS AND DEVSECOPS 8
SECURITY IN THE DEVELOPMENT ENVIRONMENT 9
TENSIONS AND CHALLENGES 10
CULTURE CHANGE 11
PLANNING AND MANAGING CHANGE 11
NINE QUESTIONS TO ASK WHEN ACQUIRING SOFTWARE 12
FROM THIRD PARTIES
KEY FACTORS FOR SUCCESSFUL CHANGE 13
CHALLENGES IN SECURING LEGACY CODEBASES 14
POSSIBLE APPROACHES WITH LEGACY SYSTEMS 15
TRANSITION TO SOFTWARE SECURITY 16
MEASUREMENT 17
TECHNOLOGY AND TOOLING 18
TOOLING IN VARIOUS PHASES 20
QUICK WINS 21
ANALYSIS 22
1
Security comes as standard
INTRODUCTION
Over the years, there’s been a quiet revolution in
software development. Software engineers now create
working products that are more secure than ever.
This comes as organizations have had to rethink their
priorities, due to increasing malicious threats and tighter
data protection laws.
2
Security comes as standard
Requirements stage
• Establishing the software security team, security champions,
and other team structures
• Training and education for the development team
• Ensuring security standards and guidelines are widely available
• Establishing processes to support delivery of the requirements
• Choosing and starting provision of secure development
environment and tooling
Design stage
• Identifying security requirements for the business context
• Threat modelling to understand how an attacker would look
at the system
• Reviewing designs from a security perspective
• Initial design of security testing
Implementation and development stage
• Reviewing code for implementation mistakes
• Security testing the various elements of the system, both
independently and as a system
• Automated testing as part of the continuous integration (CI)
development model
• Regression testing against threats or earlier known test
findings
Deployment stage
• Building incident playbooks
Maintenance
• Ongoing testing
• Monitoring
3
Security comes as standard
KEY PEOPLE
IN SOFTWARE
In software production there are three key groups of people - the business
stakeholders, software engineering team, and the IT operations and security
functions. They often have different goals when it comes to security, so understanding
each group’s priorities is important.
4
Security comes as standard
5
Security comes as standard
6
Security comes as standard
7
Security comes as standard
8
Security comes as standard
SECURITY IN THE
DEVELOPMENT ENVIRONMENT
The developer environment is a prime target for a cyber attack. Not only is the
source code itself likely to be at risk of theft, an attacker may modify it to add
a back door.
9
Security comes as standard
So it’s important to build effective and sympathetic culture change into a security
program which addresses these issues.
10
Security comes as standard
CULTURE CHANGE
The most successful organizations encourage a quiet background theme of
security at all levels of the business. They also tend to be more agile in the
marketplace and faster at releasing new software products. On the other
hand, organizations that don’t embrace security are not only facing greater
risks, they’re generally more procedurally restricted, conservative, and
slower to develop solutions.
PLANNING AND
MANAGING CHANGE
Organizations must decide early-on whether to pursue a formal change
methodology or an informal adoption of best practice. Best-practice
activities are openly available and some organizations find adopting these
independently can be effective.
11
Security comes as standard
Over the years, there’s been a quiet revolution in software development. Software
engineers now create working products that are more secure than ever. This comes
as organizations have had to rethink their priorities, due to increasing malicious
threats and tighter data protection laws.
1. Do you specifically mention security in your requirements and are the relevant
contractual terms watertight? If security isn’t specified, it’s likely to be left out
or rushed.
2. Does the code match your standards? Take steps to inspect source code and
any design artifacts.
3. Do they use the frameworks, languages, and libraries you’re familiar with? You
don’t want to have to develop specific procedures to patch or maintain it.
4. If you’re not familiar with the languages or frameworks, will they allow a third
party inspection? Insist on this if you don’t understand their code.
5. Will you have access to the source code? This is important as future security
discoveries may require changes to the software. Consider escrow solutions if
necessary.
6. Do they match (or exceed) your organizational standards? For example, how is
your source code secured and kept separate from other client organizations?
7. Are the staff writing the code trained, permanent, vetted members of staff?
8. Have you used a software composition analysis tool? Inspect the software
supply chain and included libraries with respect to licensing and disclosed
vulnerabilities.
9. Do you have assurance that the development environments are secure? Have
they any evidence of review by a security specialist or have they achieved a
relevant accreditation?
12
Security comes as standard
13
Security comes as standard
CHALLENGES IN
SECURING LEGACY CODEBASES
Adding security to an existing legacy development brings more
challenges than implementing security in a new development. A thorough
job will probably involve a level of change similar to extensive refactoring
or even rewriting. While complete refactoring might not be feasible, there
could be many smaller changes which enhance the security properties of
the application.
Implementation language
The choice of language might not be ideal from a security
viewpoint. Either the language or version of frameworks could
have known security issues.
Supporting systems
Supporting systems with poor security properties may need to be
maintained and connected. This could be due to either being out
of scope or too critical to be modified.
Existing consumers
The legacy application may need to support existing consumers
of APIs or established functionality that could be insecure. Making
changes might break backwards compatibility.
Tight coupling
In tightly coupled systems, changes to support security can have a
major impact through many components of the system.
Lack of original design documentation
Without knowledge of the original design intent and the higher-
level structure, identifying security issues and introducing
structural changes could be difficult.
Out-of-date standards
The application might rely on previous security choices that are
no longer appropriate – for example, MD5 password hashing
without salt.
Out-of-date hardware and server platform
Depending on the nature of the application, it might run on a
hardware or application server environment with undesirable
characteristics.
14
Security comes as standard
POSSIBLE APPROACHES
WITH LEGACY SYSTEMS
A common approach is to focus on new systems and treat the existing
system as an unsalvageable black box, using additive controls around its
perimeter (such as firewalls). However, there are some low-cost approaches
that can improve the security of the legacy system to extend its effective life.
15
Security comes as standard
TRANSITION TO
SOFTWARE SECURITY
A positive transition will help to prevent any potential case
setbacks for software security. A heavy focus on education creates
positive momentum around a security project. And sitting security
personnel side-by-side with developers can help break down
barriers between the teams.
• Experience • Infrastructure
• Product • Geography
• Tooling • Culture
• Legacy
Transition takes time. It’s better to plan the journey to fit with the
existing rhythm of the team, while finding ways to readily report
progress. Both of these are key to retaining management support
and investment in the program.
16
Security comes as standard
MEASUREMENT
Demonstrating a return on investment can help justify an
ongoing software security program. Measuring success isn’t as
straightforward as looking for a reduction in the breaches. Here
are some alternatives:
17
Security comes as standard
• Integrated environments
• Frameworks and tooling to support unit testing
• Continuous integration
• Code coverage
18
Security comes as standard
19
Security comes as standard
If security professionals have previously tested These tools are generally used throughout an
the code, it might be possible to represent operational lifetime to make sure the application
their findings in scripts to prevent inadvertent servers and infrastructure remain current in
regressions. This is the same way a disciplined terms of patching, etc. A development team
test engineering regime will prevent quality can also utilize this tooling as part of a testing
regressions. and deployment chain so they’re not promoting
known vulnerable application servers to a
SPECIFIC SECURITY TESTING live environment. They have the ability to run
For narrow, well-defined interfaces such as web more in-depth analysis than is possible in a live
services, APIs, or file parsing, a technique called environment, where availability could be affected.
fuzzing or fuzz testing can yield effective results.
This involves subjecting an application to a wide
range of inputs and checking for unexpected
behavior, such as crashes. A wide variety of
inputs will typically be tried, each modified either
randomly or with heuristics that have some
understanding of formats or context.
IMPLEMENTATION
• Static analysis
TESTING
• Vulnerability scanning tools
• Dynamic analysis
• Software composition analysis
• Domain-specific testing tools
DEPLOYMENT
OPERATION
20
Security comes as standard
QUICK WINS
ROLLING OUT SECURITY THROUGH THE LIFECYCLE IS COMPLEX AND
TAKES TIME. SOME ACTIVITIES CAN PROVIDE QUICK WINS AND SET
THE STAGE FOR MORE COMPLEX CHANGES AT A LATER DATE.
HERE ARE SOME EXAMPLES OF STEPS YOU CAN TAKE TO GET RESULTS:
21
Security comes as standard
ANALYSIS
Now is an exciting time to be involved in software development. In the
modern economy, software provides digital platforms to run companies
and channels to reach customers. It falls to software engineering teams
to keep the next generation of applications safe from the ever- advancing
skills of threat actors.
Pushing processes from the top down could undermine some of the
positive changes an agile approach allows, inhibiting velocity and
threatening business value. But if the case for moving to a secure
development model isn’t made successfully, internal resistance could
delay its adoption for a number of years, extending the organizations
exposure to risk.
Breaking down established internal walls between teams can provide real
business value, far beyond the obvious security benefits.
If your current processes aren’t working for you, or you’d like to discover
the key areas of security you should focus on, contact us.
We’d love to help!
22