Tiensuu_Tuomas (2)
Tiensuu_Tuomas (2)
DevSecOps adoption
Improving visibility in application security
Master’s thesis
2022
Author (authors) Degree title Time
Commissioned by
Vilma Blomberg
Supervisor
Kimmo Kääriäinen
Abstract
For organizations to be able to build digital products that are as secure as possible for their
customers, security must be implemented in every phase of the software development life
cycle. Good application security management and security improvements require good
visibility of security activities in the SDLC. This research studied visibility in application
security, and what factors are important to consider when aiming to improve visibility.
The action research method was used in this study. The theoretical part consists of an
introduction to modern software development, DevOps practices and security automation,
where visibility is needed. The section also demonstrates the standards and certifications
widely used in the field, as well as various activities during the secure software
development lifecycle.
The primary goal of this study was to amplify the most important issues that should be
considered when developing application security visibility. The secondary goal was to
define the key roles in the organization that need visibility, so that software development
could be performed securely and following best practices.
The research showed that when improving application security visibility, it is necessary to
pay attention to the impact of the security findings provided by the visibility, and how the
situation can be enhanced during the entire software development life cycle. It is very
important to provide visibility to the various stakeholders in the organization, so that any
actions can be taken to improve application security. However, the focus should be on the
business impact, the most accurate situational awareness, and clear guidelines, that can
be used to improve application security.
Keywords
devsecops, application security, visibility, security tooling, security automation, paved road
Contents
1 INTRODUCTION .......................................................................................................... 7
4.4 Assessing DevSecOps objective and key results for development teams ............ 43
5 RESULTS ................................................................................................................... 45
6 DISCUSSION ............................................................................................................. 52
6.1 Which factors should be considered effective to improve application security visibility
in a large organization? .................................................................................................. 53
6.2 Who are the stakeholders in the large organizations that need visibility to application
security and how the organization benefits from it? ....................................................... 54
6.3 Which application security metrics must be visible to different stakeholders? ...... 55
REFERENCES .................................................................................................................. 59
CI Continuous Integration
PO Product Owner
QA Quality Assurance
Several different parties benefit from good visibility to application security. Lack of
visibility makes it difficult for product owners to make decisions in the software
development lifecycle because there is not always a proper understanding of
security risks. For both application security and incident response team, the lack
of visibility prevents from getting an overview on potential impacts and where to
look for malicious actors. In large organizations there is need for good
compliancy and risk management. Lack of visibility makes it hard to provide, e.g.,
auditors evidence on how controls are being implemented. In the target
organization that is a particularly important factor because one of the goals in
improving visibility is to get an ISO 27001 certificate for the company's digital
products. Without aggregated views on the security risks of the whole
environment, organizations cannot make a proper risk analysis and decisions to
mitigate or accept the risks.
In December 2021 a severe vulnerability was found in Java library called Log4j.
This started a chain of large investigations in most companies. One thing that
internal security people were struggling with was that in many cases they did not
know how many systems were impacted and what applications were using Java
and this particular library. As DevOps and Agile development practices
emphasizes a working software over exhausting documentation, the
documentation created is often made only for team itself to use and supporting
functions in the company have to find other ways to collect important and up-to-
date information about the systems. Security tools in the target organization were
also not very functional for this purpose and did not offer proper visibility to solve
the problem very effectively.
The goal of this study is to help product development teams, application security
team, and other stakeholders by providing visibility to security status of the
different products and applications and make application security practices a little
bit easier by bundling a security toolchain of many different testing tools and how
these capabilities could be used to improve visibility in a meaningful way. There
is also a greater need for security visibility towards different stakeholders since
security issues can have a detrimental effect on the business and especially if the
company is not aware of the security risks that can have a major impact. This
study will also focus on how to enhance the visibility for risk management and
compliancy purposes. (DevSecOps Community Survey 2020.)
The objective of this thesis is to study security visibility in the modern software
development lifecycle where development, security and operations try to work
together seamlessly to achieve a common goal – usually referenced as
DevSecOps - as well as what is the visibility status currently in commissioner’s
application security domain and how it could be improved. This thesis focuses on
the visibility of security in large corporations that have shifted mainly to DevOps
tools and practices in their engineering and development work. In this context,
the main focus will be on the R&D functions of the target organization, although
the research can also be continued to cover other functions, such as Enterprise
IT. The reason why this topic is worth researching is because modern software
engineering has taken significant leaps forward past years and at the same time
as the complexity has increased, so has the need to understand the technologies
and the security risks associated with them. One of the most challenging factors
from security perspective is variety and number of programming languages,
frameworks, tools, and platforms that different product development teams use.
Even though DevOps principles strive for seamless collaboration between
development and operations teams, and even unite those two, it is often the case
in software engineering that teams do a lot of work in silos. This is a reason why
security teams find it difficult to actually improve the level of security in software
development lifecycle because they do not always know what and how things are
done in the specific team. (Ribeiro 2022.)
Often, large organizations have need for a high-quality and clear application
security guardrails, policies, and guidelines. Naturally, having a good application
security program can protect an organization’s business assets and property, but
there may also be external requirements for companies to adhere to strict
standards and have security policies followed. However, from the application
security team’s perspective, it can often be the problem that it is unknown how
different teams do their day-to-day work and how security guidelines are followed
in different software development teams. It is not necessarily only a matter of
controlling the working methods and the technologies used, in order to operate
with them as securely as possible, but rather to gain an understanding of how the
security of development work could be supported the best way, and what are the
factors in visibility that need to be improved so that development teams can take
security into account, while in parallel, building functional solutions to customers
to achieve important business goals. It is not uncommon for large corporations to
have twenty different product and software development teams, hundreds of
applications and only one application security team trying to take care of security
practices. To track what is the security status in each team, product and
application is a major challenge. (Ribeiro 2022.)
The first goal can be set as trying to find important factors that affect visibility in
application security and how things could be improved. This also requires an
investigation of the current state of the organization to gain a generic
understanding of how application security practices are implemented with
different teams. From this, the research can be continued with the following
research questions:
RQ2: Who are the stakeholders in the large organizations that need visibility to
application security and how the organization benefits from it?
The purpose is to find out which stakeholders are the ones who benefit from
increasing the visibility of application security, and who can effectively affect
prioritization if the visibility is improved.
The research was studied by using the action research approach. The action
research is usually carried out as a participatory and cooperative study. All
community members act as active participants and influencers in change and
research processes (Lapan 2011). Information and data related to the study is
gathered and analyzed using observation, surveys and reports from security,
orchestration, and reporting systems. One reason behind choosing an action
research method is Jean McNiff’s idea that if we are not happy with current
practices, we should strive to influence and push strongly towards change, and
always to challenge the current understanding of the situation (McNiff, 2002). In
the longer term, the research's main idea is to influence things that are not at the
level they should be.
The different phases of action research provided by McNiff (2002) are listed
below:
• Surveying the situation and finding out what are the starting points
• Ideation and conceptualization of the activities
• Initiating and implementing the activity
• Monitoring the effects and making observations
• Evaluation
• Possible implementation or correction of a new form of activity
Research methods may change along with the study if new and better ways are
found to be useful. The first half and theoretical part of the study includes
explanation of the terminology and an introduction to basic concepts of
DevSecOps and modern application security engineering. At this stage, a
methodology assessment for application development teams was also carried
out. This assessment included 25 different questions that were divided into 3
categories: culture and collaboration, velocity and process efficiency and tools
and automation. Third party assessment tool GitLab’s DevSecOps Methodology
Assessment was used to help gather questions and categorize them accordingly.
This part of the thesis is going to try to cover as recent literature of the topics as
possible. During this phase problems are identified, and data is collected using
quantitative research methods.
Information for this research phase was gathered from books in the information
technology field, electronic publications, Internet articles and studies and surveys
from global IT and security companies. The majority of the books for this study
were acquired from O’Reilly online book service as they offer up-to-date material
and most of their writers are well-known pioneers in their field. Modern
application security engineering is moved on at such a pace that most books
released a few years ago are clearly and irretrievably outdated. (Farley 2021.)
The second part of the work includes empirical research using empirical evidence
to find answers to research questions. This stage involves analysis and process
development itself, including a survey that was sent to people in different
positions in the IT and software development field:
Visibility is an important term in this study and will be closely examined during
this study. Visibility is often defined as “the state of being able to see or be seen”,
and in this research context it can be defined as the ability of a process and
system to produce high quality information for the needs of different stakeholders
and is always available, regardless of time and place. The goal of good visibility
is to have as complete picture of security status as possible. The probabilities of
security success are reduced when there is no precise visibility into security
activities and therefore security issues cannot be effectively addressed or
developed. It is impossible to control or protect devices, applications, data, or
processes related to these if visibility is not enforced. Thomas and Tabassum
concluded that security training for software developers helped create visibility
into an organization’s security issues, although the training was not otherwise
considered relevant (Thomas & Tabassum 2018). Studies have shown that
maturity and methodology assessments have improved security visibility in
various organizations and thus positively influenced change and risk
management. (Mohammed 2015.)
The search string "application security visibility" or "security visibility" did not
directly give that many results. In several books dealing with application security
or cloud security though, there were chapters that discussed how visibility can be
improved. However, these were mostly related either to the visibility offered by
the tools, which is a very relevant topic, or to security operations, which this work
does not really focus on. It seems that application security from the visibility point
of view has not yet been studied at least very widely, so this study feels very
timely.
There are several concerns related to visibility in application security context. The
adoption of API centric software development weakens the visibility in traditional
sense compared to the previous development model, when you could still test the
functionalities of the application in practice by going to check the application
running in production and testing it dynamically. With an API centric approach or
single page architecture, gaining appropriate visibility to running applications in
production environments becomes more complex. However, good management
of APIs can improve the visibility and comprehensibility of systems. If the
essential assets are known and the architecture is clear, a well-planned and
documented, visibility into the functionalities can even improve and thus the
needs and possible gaps of security are easier to understand. Today, API-based
integrations are de facto between different IT applications, be it a client-server
relationship or process-to-process communications. Modern companies rely
heavily on API’s and microservices not only to build but also to connect
applications and data flow. (Chatterjee 2021.)
Another major trend in software development and the cloud native approach is
Infrastructure-As-Code (IaC). In the IaC methodology, operations workload is
largely automated, and the configuration of the environments is handled in
roughly the same way as the application code. IaC configurations are usually
defined according to template file and with the help of these files, the information
about environment variables can often be seamlessly transferred to other
systems by using various integration methods. This improves security visibility
because security issues related to misconfigurations can be easily detected
through these files, and automatic testing targeting these files is therefore a
relatively reliable way to make sure that the environments are sufficiently secure.
According to Podjarny (2021), Infrastructure as Code came roughly in two
different phases. At first, the transition was led by tools that enabled commanding
several different servers and other systems, usually virtual machines, at the same
time and set different types of information security settings and controls easily for
many computers at once. Examples of these tools are e.g., Puppet, Chef and
Ansible. The second wave was led by the "cloud native" transition and the
configuration of cloud services and the setting up of cloud infrastructure. This
wave was led by Terraform, which made it possible to tune the infrastructure to
match the applications used in it. The tools of the first wave later developed to
meet the needs of the second wave, and today popular and widely used solutions
are tools such as Kubernetes Helm charts, AWS CloudFormation and Azure
ARM. Infrastructure as Code brings new challenges to security professionals
because new tools and existing IaC syntaxes must be learned. However, it also
enables security automation and potentially improves visibility into the security of
the infrastructure because it is possible to observe and scan the configurations
directly from the template files that define the infrastructure settings.
Security teams are trying to solve problems regarding lack of asset management
and securing services what their organization is exposing while not making too
much noise and maintaining high accuracy testing on their digital assets.
Organizations need to concentrate more on the complete attack surface
management, discovering and assessing their Internet-facing assets and
scanning for known vulnerabilities or anomalies. In particular, by combining the
DAST scan during software development and attack surface management, the
overall visibility can be significantly improved, and an understanding of the
correct attack surface can be gained, which is not always seen from within the
organization, but actually from outside it. Attack surface management is
considered as top challenge in the application security field in 2022 and is rising
to be even more relevant as companies shift to greater use of public cloud.
Security teams must continuously analyze outputs, define severities for security
defects and prioritize and govern remediation efforts while all these vulnerabilities
and defects are discovered from various sources. (Detectify 2022.)
In this thesis, visibility mostly means visibility in the context of application security
and not in the broader context of cybersecurity, although the same principles and
techniques presented in the work can also help in achieving wider visibility in the
organization.
3.2 DevSecOps
Although DevSecOps aims to combine people, processes, and tools into one
well-functioning entity, the term often refers to only one domain of this principle,
e.g., testing tools and how the integration of different application security tools
and other DevOps tools is done smoothly and without disrupting the developer’s
workflow.
3.3 DevOps
Products that are built using modern software development techniques and
technologies like microservices, containers, CI/CD, declarative APIs and
immutable infrastructure are known as cloud native applications. The name
suggests that these applications are really born in the cloud and are also
managed and maintained there as they try to leverage the cloud capabilities to
the max.
The research aimed to find out reasonable metrics that would benefit different
stakeholders and improve the visibility of the application security posture. It is
important to understand the purpose of collecting metrics and for which groups
certain metrics are interesting and useful.
The framework also defines four different value adding capacities (National
Institute of Standards and Technology 2021). DevSecOps:
Many organizations and teams use NIST frameworks even without knowing it,
because a large part of the security tools map security findings according to
the NIST framework. The different test cases that the tools perform are based
on these frameworks and the best practices presented in them.
The ISO27000 family of standards is very well known and respected in the world,
which is why companies often aim to achieve ISO certification for their selected
products. The standard is very comprehensive, and the preparation of the
certification is often a very tedious project. In the commissioner organization, an
ISO 27001 certification project was carried out for a large product family, as part
of which application security visibility had to be improved, in order to know at
what level the security capabilities and maturity of the product and teams were
and what would be the possible problem areas that should be addressed well in
advance of the audit. Information Security Management System (ISMS) is an
essential part of ISO27001 implementation. The purpose of ISMS is to create risk
management processes that ensure that risk, continuity, and information security
management is at an appropriate level in the organization. This management
system contributes to improving visibility and processes for secure working
methods, which is not a one-time project, but a process subject to continuous
change.
6.A.10 Cryptography
14.A.18 Compliance
These 14 control categories consist totally of 114 different security controls that
organizations can apply to improve their security posture. On a general level, an
organization implementing the ISO 27001 standard must implement an
information security management system, as well as maintain and improve it
continuously in accordance with the requirements. This implementation must be
easily demonstrable when requested by the auditor.
The purpose of the standard is to ensure the safe use of industrial automation
systems. It has a sub-part 62443-4 which in general describes the requirements
of product development, and system requirements for components but also
includes a standard for secure product development lifecycle requirements. It
specifies a set of secure development lifecycle requirements related to industrial
automation and control systems environment, and also guidelines to meet the
very same requirements. It is very important that the implementation of these
controls and requirements are well visible because they are a key matter for the
safety and security of the organization's products.
3.8.3 SAST
One of the first automated CI/CD security technologies was SAST (Static
Application Security Testing), also known as automated source code analysis. A
SAST tool called Coverity has been implemented in the target company, and the
goal is to use Coverity to scan the source code of every SRD application,
automatically in the CI/CD pipeline, giving more visibility to security errors in the
source code. One of the key benefits of SAST-tools is that they are relatively
easy to setup and these scans usually do not take too much time to finish,
making them ideal tools for agile teams and CI/CD pipelines. The downside of
these tools is that they frequently produce false positive findings. SAST tools run
security scans against source code, byte code, and assembled code for known
vulnerabilities. SAST tools come in various forms, including plug-ins, libraries,
and SaaS solutions (e.g., Snyk IDE plug-ins, Checkmarx SAST, Security Code
Scan), and can be integrated with CI pipelines natively to run against every
commit. It is also possible to use SAST tools as part of an IDE (Integrated
Development Environment), in which case the tool's plugin is installed directly in
the code editor, and security checks are run at the same time as the application
is being developed. This is the earliest stage when technical security testing can
be brought into the software development lifecycle. SAST is a big part of shifting
security left, as it helps you discover issues during development. (Gayathri
2022.)
3.8.4 DAST
Dynamic Application Security Testing (DAST) technologies are one of the most
popular ways to ensure the security of products during application development.
In this testing method, the security testers, examine the application while it is "up
and running". It usually must be run in the test and production environment of the
application in order to have most or all of the functionalities available. Dynamic
security testing is part of black box testing, meaning that the tools try to study the
software's behavior and response to simulated attacks by the testing tool. Based
on the application's responses, the DAST tool aims to determine whether the
application could contain security issues and be vulnerable to real cyberattacks.
Due to the black box methodology, the DAST scanner doesn't really need to
access the software code and in-app functions. In fact, it seeks to automate what
a hacker would do in the "live situation" without excessive inside information
about the target. Thus, finding a vulnerability usually means that the vulnerability
can indeed be exploited. This also distinguishes dynamic security scanning from
static application security testing (SAST) in that it does not produce as many so-
called "false positive" findings.
When talking about DAST products, it is good to clarify what it means in which
contexts. Dynamic testing can be talked about, for example, when performing
largely manual penetration testing on the target system and launching a
vulnerability scan with a testing tool such as Burp Suite or Nmap by a tester. In
general, DAST is more often talked about nowadays when it refers to an
automated security audit in the development phase of an application, e.g., in a
CI/CD pipeline. An example workflow might look like it’s shown in the Figure 12.
DAST is not a good solution for CI/CD environments in every situation. The
downside of dynamic automated testing is that large-scale testing of an
application can take several hours, making it very poorly suited to a DevOps
workflow that is agile in nature. If DAST tools are intended to be used in the
CI/CD pipeline, the scan settings should be configured carefully, so that the test
stage includes only the essential and most important checks, while taking as little
time as possible to complete.
3.8.5 SCA
In terms of the security visibility, the checks and scans made by SCA tools are
vital because they give visibility into which components the applications consist
of. Most commercial SCA tools include the ability to generate an SBOM
(Software Bill of Materials). SBOM is practically a "recipe" used for the
application, i.e., a list of all the ingredients that the application consists of. Target
company has implemented an SCA tool called Black Duck in SRD. The goal is
that static composition analysis is connected to every application in their CI/CD
pipelines, and their 3rd party components are scanned for known vulnerabilities
automatically. This creates visibility into how applications are built, what their
Software Bill of Materials is, and what different libraries they use. The majority of
all application security vulnerabilities are reported from SCA tools, so this is an
important view to have.
3.8.6 IAST
• Because of the detailed information available to the sensors, IAST can pinpoint
• Because of the integration in the IDE, IAST can be part of agile development
IAST is the application security tool that most requires a genuine security culture
in the organization. Especially from quality assurance (QA) team, they must have
a real desire to also start security tests as part of the QA teams’ manual and
automated testing. IAST will not find anything if the application is not used as it is
intended to be used, thus it is suitable for use side by side with, e.g., unit and
integration tests, but not very well for use by the application security team. (Hsu
2018.)
3.8.8 AVC
• Usability. The target users of the code scanning tools are developers. The
usability includes the capability to scan parts of the source code,
differential scans, scanning reports, tracing back to original source code,
and so on.
• Detection rate. It is common for any scanning tools to have false positive
rates, depending on the scanning engine and rules. A high false positive is
not a bad thing, and it can also mean the scanner takes a more
conservative approach. Find the tool that best fits the projects instead of
the most well-known. To evaluate the detection rate, we may use known
vulnerable projects.
One of the most important elements of any application security program is design
of the good vulnerability management process and make sure that those
vulnerabilities are triaged properly. Some of the clear advantages of automating
vulnerability management are the following:
• It helps in driving security and compliance programs by bringing enhanced
visibility of security status to different stakeholders.
• It helps in prioritizing security defects from different sources, based on for
example the Common Vulnerability Scoring System (CVSS).
• It provides greater visibility to effectiveness of any security program.
• It improves visibility in real time with the faster feedback from CI/CD.
• Improved visibility provides needed proof to both internal and external
auditors.
There are many ways to improve security visibility to certain targets such as
products, development teams, processes, and cultural aspects. In the target
company there were several different practices to enhance the visibility in the
application security during the study, which will be covered in this chapter. Those
ways included improving security toolchain and vulnerability management
processes and technics, automated security requirements management and
communication throughout the organization to improve security awareness
between the security team, product development teams and other important
stakeholders.
Regarding testing tools, the plan is to create a unified pipeline that covers
different types of tests and activities from the initial stages of development to
production. The task of the testing pipeline is to cover all phases of the software
development life cycle and, in addition, the entire attack surface of the product.
This security testing pipeline cannot give very good visibility as it is, but for that
purpose to improve visibility there is a need to create a separate platform from
which the orchestration of tools takes place and security defects are mapped
centrally. The commissioner has chosen CodeDx as a centralized vulnerability
management and correlation system, which is currently owned by Synopsys.
With the help of the CodeDx platform, the overall visibility of the commissioner’s
digital products can be significantly improved in terms of application security. The
platform offers ready-made dashboards from which, with the help of graphic
illustrations, the trend and evolution of application security defects can be seen
over time. The platform collects data from different sources of security defects,
such as SAST, SCA, DAST, penetration testing or bug bounty platform and
compiles the data into one dashboard either for one team or application, or it can
be viewed for the entire organization if there is a need to get a security view, for
example, for the top management. Potentially, security visibility can be improved
enormously with such systems, but the prerequisite for the effective use of these
platforms is that the defects have first been triaged and it has been ensured that
there are no so-called false positive findings that can easily distort data with
dashboards.
As the commissioner’s target has been to obtain ISO27001 certification for a few
important digital products, and in the preparation of this certification process, it
has been essential to improve the visibility of the teams' security activities,
workflows and working methods. When evaluating working methods,
cybersecurity plan was divided into different domains, which were
• application security
• asset management
• cloud security
• continuity
• governance
• human resource security
• identity & access management
• information protection
• information security event management
• network security
• secure configuration
• supplier relationships security
• threat vulnerability management
The objective of this study was to analyze the current status of commissioner’s
application security visibility and find ways to improve application security visibility
at the product and also at the company level. A total of two different surveys were
carried out in connection with this research. The first of which was a survey
focusing on methodologies and working methods and the second survey on how
the visibility of application data security could be further improved. Both
questionnaires were built using Microsoft Forms tool and Microsoft Excel and
PowerPoint was used with analysis and presentation of the research data.
As one part of this thesis’ work, a DevSecOps maturity assessment was prepared
to gain information about the baseline of DevSecOps methodologies. Its purpose
was to gain visibility into the working methods, technologies used and application
security practices of different development teams. GitLab's DevSecOps
methodology assessment was used as the basis of this questionnaire, from which
the areas and groups of questions were selected to suit our own situation. The
survey was divided into three different areas: culture and collaboration, velocity
and process efficiency and tools and automation. There were 7-10 questions
from each area and a total of 27 application development teams responded to the
survey.
The first conclusions from the maturity assessment are that most of the
development teams understand the importance of application security and that
the company-level information security requirements and policies have been
clearly communicated and enforced. Baseline security requirements are
considered very important, and the existence of the application security team is
known, and help can be requested when it is needed. In their own opinion, the
development teams have moved away from the waterfall development model to
agile development and DevOps ways of working, which is important for the
application security team to understand because there will be more challenges
for several application security activities in the software development lifecycle,
and the importance of security automation must be taken into account. One
aspect that is clearly worrying is, according to the survey, software developers
practically spend most of their time implementing new functionalities, and there is
not much time left for fixing bugs and technical debt. 22 out of 27 teams
answered that they spend more time developing new functionalities than fixing
things, for example related to application security. From business development
perspective this can lead to profits in the short term, but in the long run, increases
the security risks and business continuity to a large extent. This is also
understandable because the target company is under great pressure to develop
digital products for its customers and the industry is just at the transition of
digitalization, so the innovation level is meant to kept very high.
Based on the survey, there is much room for improvement in the level of
automation. 17 teams out of 27 answer that deployments and releases are
automated either completely or partially, but 20 teams say that tickets are not
created for security tests, nor the build is stopped when issues found or DAST
analysis is performed after the build. In terms of visibility, a good solution would
probably be to have the tasks from the security tests in the same place where the
other tasks of the team are and where the teams' backlog is located, so that the
security responsibilities and activities are not separated from the rest of the daily
work.
This section explains how much different teams have adapted DevSecOps to
their practical working culture. It aims to study how well security issues are made
known in the team, how important security actions are considered, and whether
communication regarding security issues works clearly enough. The cultural
aspect also takes a stand on the more demanding and advanced security
activities, such as game days and chaos tests, which usually require a
particularly active approach and the desire to do application security testing well.
Figure 16. Culture and collaboration
As shown in Figure 16, a clear trend can be seen that teams have moved away
from the waterfall model towards agile development methods. Most people seem
to have an idea of who to report security incidents or concerns and where to ask
for help. Security policies exist and they have been enforced to some extent,
although not everyone had accurate information about what these policies are
and where they can be found. Most of them have not yet adopted more advanced
testing techniques, such as chaos testing.
The Velocity & process efficiency category aims to practically measure how far
the organization has moved to the left in security testing and secure application
development design. The purpose is to investigate whether appropriate
application security requirements have been collected for the piece of software,
whether threat modeling has been done or static and dynamic security tests have
been automated from the beginning in the CI/CD pipeline. It also examines how
the processes work in practice and whether security is integrated into the
processes in such a way that it remains involved even when new functionalities
are introduced in the application.
Figure 17. Velocity and process efficiency
From Figure 17 it can be stated that almost every team has some level of
orientation process where information security topics and some basic activities
from the application security area are also reviewed. Activities such as threat
modeling and the collection of information security requirements are done quite
actively. One clear point, however, is that the deployment to production is not
forced to fail due to security findings, and the infrastructure is not very
comprehensively and continuously scanned, at least not for security
misconfigurations. Penetration testing is not done at all in half of the cases. At
target company, a form called security summary must be filled in at the start of
each project. This document is used to ensure certain security steps during
development, such as security design, security requirements, risk assessment
and security guidelines. It also includes things that may be necessary, depending
on the project, such as supplier cybersecurity, which aims to ensure that partners
also operate sufficiently securely. Most of the survey respondents had gone
through this phase and several even updated the document as needed, which
indicates that the security processes work well, at least in this respect.
5.1.3 Tools and automation
This category gathers the findings that have come from measuring the level of
tools and automation. The category includes DAST, SAST and SCA tests and
measures how automated deployments to production are. In practice, it is about
whether continuous deployment or continuous delivery is used.
Here, as shown in Figure 18, the purpose was to find out how automated
workflows are in detecting security findings in the tool, and how they end up in
the teams' backlog. In practice, the most significant observation from this
category was that dynamic security testing is not done basically at all, and no
hard failures are used in the pipeline. The reason for this may be that DAST
scans, especially in the CI/CD pipeline, require the presence of the security team
during the onboarding. To be an effective CI/CD test, the scan must complete its
tasks in a few minutes. This requires configuring the scanner in such a way that it
can crawl and spider the most important areas of the application and perform
tests that are relevant to the target application, but not any additional measures
that could delay the completion of the CI/CD pipeline. Also, the creation of tickets
for backlogs is not automated, so if teams want security findings to go to the
backlog to be fixed, they must be sent there manually. This is possibly the result
of the fact that some security scanners give so many false positives and provide
findings that are not fully understood. Consequently, if automated, this process
could create a large number of tickets that nobody in the development team
would not know how to solve.
▪ RQ2: Who are the stakeholders in the large organizations that need
visibility to application security and how the organization benefits from it?
The purpose of RQ2 was to find out which stakeholders are the ones
who benefit from increasing the visibility of application security and
who can effectively change things if the visibility is improved.
The survey was sent to total of 35 people in several different positions at the
target company working mainly in the Research & Development (R&D) unit or
global cybersecurity unit:
• What is your role or current job function? You can just add the position you
are in or more detailed explanation of key responsibilities in your role.
• Who are the key stakeholders in the large organizations that need visibility
to application security and why?
• Are you familiar with IriusRisk (automated threat modeling and security
requirements management) platform?
• What type of data would you like to see in monthly security dashboard
from point of your personal interest?
• Are you familiar with the services and tools provided by cybersecurity
team?
6 DISCUSSION
The purpose of this chapter is to go through the results for the research
questions, to try to solve at least partially the research problem and to discuss the
topic in a general way. The detailed answers to the survey are not included in this
work as such, because some of the answers contain information that is only
intended for internal use of the organization, but the findings and conclusions
from the answers are reviewed in a way that they are generic enough and do not
violate the organization's information sharing policy.
The main purpose of the study was to understand which factors are important to
consider, when aiming to improve application security visibility. The answers from
the questionnaire varied a lot depending on the roles of the respondents. More
than a third highlighted the importance of processes and the fact, that visibility is
not improved with any specific tool, dashboard, or system, such as CVMS, but by
creating good processes and making sure that everyone knows what the
expectations are. Processes and current security status must be communicated
clearly between different stakeholders. Being able to present exactly what the
security status is, what the potential impact of different threats are, and what
exactly needs to be done to improve the situation seems to be most important
factor. How the security posture is presented, and which technologies or tools are
used to achieve visibility, does not seem to matter that much.
If the development teams are not given a sufficiently accurate picture of the
security problems of their own applications, but instead driving them to take more
responsibility for the investigations of vulnerabilities and their remedial measures,
the tools must be easy enough to use and they must give clear instructions on
what needs to be done to implement the security fix. 70% of respondents feel that
the CVMS platform improves visibility and makes it easier to understand the
security status of applications, but at the same time they feel that the view it
offers is not accurate enough. A few problems that emerged in the answers were
the poor prioritization of findings, their duplication and insufficient guidance on
how to fix the issues. It was pointed out that the system still has a lot of potential,
if it is developed into a more mature solution in the future. For software
development teams, visibility must be created for the tools and processes that
developers can use when building secure software by default. These must be
very close to the developers' workflow, so that they are truly adopted and become
part of the work culture. When providing visibility to application security, it is not
enough to create a view of vulnerability list, and how many security issues each
team has in their product. The security team must demand more from itself and
focus on building security paved roads, which are designed secure-by-default.
The security team cannot assume that the development teams will suddenly
become security professionals and use a large part of their working time to
understand findings and alerts from different sources. The security team must set
clear expectations, guardrails, and step-by-step instructions on how to reach the
most important goals and desired levels.
6.2 Who are the stakeholders in the large organizations that need visibility
to application security and how the organization benefits from it?
On the other hand, the answers also showed that when developers want to be
given visibility into the application security, for example through security tooling,
the tools should be good in terms of usability and the learning threshold should
not be very high. This makes sense because developers already must learn
several different tools and technologies and the time to learn and use application
security tools is very limited. For this reason, the tools should be able to provide
the information that is being sought rather quickly, and the security team should
prepare certain secure frameworks that are configured secure-by-default. In this
case, the developers' workflow is not broken, and the maximum possible benefit
can be obtained from the toolchain. This is something that organizations should
keep in mind when choosing new application security tools, because
organizations do want to allow development teams to be autonomous with no
bottlenecks from application security team.
The answers to the survey vary a lot, and the question of which metrics are the
most necessary seems to depend entirely on the respondent's role in the
organization. In general, all information was considered interesting and useful but
practical metrics usually depend on application, hosting method, infrastructure
used, policies, regulation and so on. One clear metric that stood out for several
respondents was the criticality of security findings, and they were especially
interested in the findings with the greatest possible business impact. Another
clear metric that several respondents brought up was the number of days it takes
to fix a certain security vulnerability after it is discovered. Inability to fix security
vulnerabilities immediately after they appear reflects the organization's security
culture and the precision at which the processes are designed. The answers also
showed that metrics alone are not always perceived as very important, but one
should be able to present what can be done about the security problems behind
the metrics, and preferably at an accurate level. It can be assumed that until now
the guidelines have been too imprecise or high-level guidelines, so they should
be developed to better meet the needs and expectations of development teams.
7 CONCLUSION AND FURTHER RESEARCH
Visibility alone does not improve the application security if the visibility provided is
not tied to the context. When improving application security visibility, it is
necessary to pay attention to the impact of the security findings provided by the
visibility, and how the situation can be enhanced during the entire software
development life cycle. It is very important to provide visibility to the various
stakeholders in the organization, so that any actions can be taken to improve
application security. However, the focus should be on business impact, the most
accurate situational awareness, and clear guidelines, that can be used to improve
application security.
The research problem was the lack of visibility into the activities in secure
software development lifecycle. That included working methods of different
development teams, used tools and technologies, the utilization rate of security
tools and the security posture of the products. During the research process, it
was noticed that methodology and maturity assessments are effective ways to
enhance visibility and get a high-level view of the DevSecOps practices of an
organization, or specific part of an organization. Methodology and maturity
assessment gives an understanding of the state of different sub-areas, and
different trends that should be paid attention to. However, it alone does not help
to improve and develop application security in a team level, because genuine
improvement and development requires interest and attention to details. One
thing worth noting in this or similar questionnaires are methods where “you get
what you measure”, meaning that by using closed-ended questions and partially
self-administered questionnaires, quality of these assessment may vary. In some
answers, it was noticeable that the question was not completely understood, and
therefore some of the answers can be considered a bit unreliable and some of
them should perhaps have been interpreted between the lines. However, this did
not apply to a large part of the answers, thus did not affect the results too much.
Almost every one of the respondents were familiar with the different security tools
offered by the application security team, although not all of them had used these
tools themselves. A conclusion can be drawn from this observation, that the
visibility has been improved outside the security team as well, and the capabilities
offered by the security team have been communicated successfully. This study
helped indeed to improve the visibility of the target company's application security
activities, and the security posture of digital products. Some clear shortcomings
were noticed though, such as the fact that dynamic testing is not done very
widely in R&D teams, or at least it has not been made visible. In modern
application security, it is not enough just to implement shift left and move security
testing to the beginning of the software development lifecycle. It is also crucial to
be able to test production environment and applications in the state where
customers use them, because that is exactly the view that potential malicious
intruders and hackers get as well.
Calder, A. 2020. The Cyber Security Handbook. Prepare for, respond to and
recover from cyber attacks with the IT Governance Cyber Resilience Framework
(CRF). Cambridgeshire: IT Governance Publishing.
Farley, D. 2021. Modern Software Engineering: Doing what works to build better
software faster. Boston: Addison-Wesley Professional.
Gayathri, M. 2022. Full Stack Testing. A Practical Guide for Delivering High
Quality Software. O’Reilly Media, Inc.
Hsu, T. 2019. Practical Security Automation and Testing. Tools and techniques
for automated security scanning and testing in DevSecOps. Birmingham: Packt
Publishing.
Schein, P. & Schein, E. 2016. Organizational Culture and Leadership, 5th Edition.
New Jersey: Wiley.
Thomas, T., Tabassum, M., Chu, B. & Lipford, H. 2018. Security During
Application Development: An Application Security Expert Perspective.
https://dl.acm.org/doi/pdf/10.1145/3173574.3173836
Why visibility is critical to your security management program. Check Point.
WWW document. Available at: https://blog.checkpoint.com/2016/03/07/why-
visibility-is-critical-to-your-security-management-program/
2021)
Services, 2022)