Working Draft

CSA Standard

CSA 20001(wd) : 2018
Agile Security: the intersection of security, development and operations
DevSecOps
CSA Standard
Working Draft
Warning for Drafts

This document is not a CSA Standard. It is distributed for review and comment, and is subject to change without notice and may not be referred to as a Standard. Recipients of this draft are invited to submit, with their comments, notification of any relevant patent rights of which they are aware and to provide supporting documentation.

 


 



Foreword

The Cloud Security Alliance ("CSA") is global non-profit organization with the aim to facilitate and protect user information in the cloud and its ecosystem.

Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. CSA shall not be held responsible for identifying any or all such patent rights. Details of any patent rights identified during the development of the document will be in the Introduction and/or on the CSA list of patent declarations received (see www.cloudsecurityalliance.com/patents).

Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement.

This document was prepared by the Cloud Security Alliance DevSecOps working group.


Introduction

Background

DevOps, the practice of applying developmental practices on infrastructure operations, has been shown to positively impact efficiencies of operation teams today, especially in the cloud environment.

Given its strengthening adoption, it is a logical next step in applying those practices to the arena of security management, as well as considering its impact on security itself.

Application to security

DevOps is now broadly practiced but it has been generally separated from security practices. There is currently no standardized term in industry that cater to this aspect.

To explain the intersection of security and DevOps, as well as the amalgamation of security, development and operations practices, a number of terms have been proposed by members of community, including "DevOpsSec", "DevSecOps", "SecDevOps".

These terms have been used mostly interchangeably, but the meanings they convey can be vastly different. The definitions of these terms can widely conflict with each other depending on the particular understanding of the reader.

Moreover, there is no industry recognized definition for security automation, which is a core concept to the application of DevOps practices to security operations, leading to confusion and misinterpretations.

It is therefore crucial to clarify and standardize such terms for a global and wider industry audience.

External pressure to organizations

Organizations today are faced with a number of security management issues, including:

  • spiralling compliance governance costs;

  • global shortage of cyber security professionals, which forces organizations to more efficiently utilize staff;

  • the notable disconnect between strategic security and operational security.

All of these factors force an organization to deliver more security "bang for the buck".

Purpose

This whitepaper aims to clarify and standardize an authoritative definition of the intersection between the three aspects of security, development and operations, and use it to generalize the principles of a novel security management approach we call "Agile Security".

Several approaches to Agile Security are suggested to resolve the availability gap of cyber security professionals.

Agile Security: the intersection of security, development and operations

1.  Scope

This document:

2.  Normative references

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

ISO/IEC 27001, Information technology — Security techniques — Information security management systems — Requirements

CSA CCM 3.0.1, Cloud Security Alliance Cloud Controls Matrix, v3.0.1

3.  Terms and definitions

No terms and definitions are listed in this document.

4.  Essence of DevOps

4.1. General

While the term "DevOps" has been widely defined by its practices and toolsets, there are several conflicting definitions on what the term really represents.

Some of them are too narrow while some are too broad to be meaningful. For example, the Wikipedia article on DevOps claims it is "a set of practices that emphasize the collaboration and communication of both software developers and information technology (IT) professionals while automating the process of software delivery and infrastructure changes", which is too vague, too broad as well as inaccurate.

"DevOps" practices today have minimal, if any, impact on software application development process itself. Its practices and related tools mainly service infrastructure automation, through concepts made apparent by Agile software development practices, such as continuous integration and delivery and programmatic (software-defined) infrastructure.

4.2. Definition

In this document, we clarify the following definition:

DevOps

The cross-application of software development and methodologies to infrastructure operations, chiefly for automating infrastructure management.

5.  The (right) questions worth answering

Given the strong acclaim of DevOps practices, it is worth understanding how similar concepts affect security.

Here are the important questions we answer below:

6.  DevOpsSec: Impact of DevOps practices on security

6.1. General

What is the impact of DevOps practices on security? Or more specifically, how do organizations ensure that DevOps does not compromise security? This has been called "DevOpsSec": "DevOps" security. DevOps practices bring strong impact on resulting infrastructure and operations. There are inherent security requirements in DevOps processes.

6.2. Definition

DevOpsSec ("DOS")

The embedding of information security principles to protect processes that utilize DevOps practices.

6.3. Implications

A software-defined infrastructure is highly beneficial (or a wet dream) for the experienced infrastructure engineer, where virtual instances, containers, and virtual network devices are spin up or down through fingertips on the keyboard.

Yet, as best put by Spiderman, power bring responsibility. It is equally true that the novice engineer armed with some development skill could have his fingertips spin things out of control. Very often, create security vulnerabilities due to lack of consideration of all aspects surrounding the infrastructure. E.g. lax firewall rulesets, default credentials or increased attack surface.

This happens more often than one thinks. As ironic it may be, software development and infrastructure administration are generally separate skill sets that doing one well does not necessary translate to the other. Anecdotes of novice developers attempting to use "DevOps" in running infrastructure causing moments of reflection abound.

In this document, we will describe the crucial security practices for protecting DevOps processes and preventing DevOps from being a threat.

7.  DevSecOps: providing security through DevOps

7.1. General

How do we provide security through DevOps? Despite this question containing similar keywords with the previous one, it is an even more important question. Is it possible to apply DevOps concepts, where development practices can and have enhanced operations efficiency, onto security? Some have called this "DevSecOps" for "Security DevOps".

7.2. Definition

DevSecOps ("DSO")

The automation of information security processes through DevOps practices.

7.3. Implications

On a tactical level, DSO represents the "integration and automation of security controls through DevOps using automated toolchains". The CSO sets the policies following business requirements and risk management, which could be applied programmatically.

Examples of DSO practices:

  • Infrastructure

    • Immutable infrastructures

  • QA

    • Implementation of data masking of data used in development for testing

  • Containers

    • Vulnerability scanning during building of container images

    • Patch management of applications and libraries inside containers

    • Hardening / secure configuration, self-healing

    • PKI / Digital signatures

    • Anti-virus scan during building of container images

    • Certify container images

    • Scan for embedded keys, hardcoded credentials, push for role based access technology

    • Cryptographically sign and certify container images

  • Operating systems / VM images

    • Vulnerability scanning during building of VM images

    • Patch management of applications and libraries of the operating system

    • Hardening / secure configuration, self-healing

    • Anti-virus scan during building of VM images

    • Cryptographically sign and certify VM images

  • Code / applications

    • Static code analysis after code commits, builds or releases

    • Scanning for embedded keys, hardcoded credentials, push for role based access

  • Release management

    • Create new public/private keys for each release

    • Only accept signed/certified container and OS images

    • Revocation of older SSL certificates / private keys / PKI after each release

8.  DevSec: Automating security practices

8.1. General

How do organizations implement security using automation? This is a generalized question from the previous one about security automation, no longer limited to DevOps. DevOps practices generally only helps with infrastructure automation. What should an organization do to fully utilize automation in achievement of security?

8.2. Definition

DevSec, security automation

The use of automation in place of manual processes for the achievement of information security management.

8.3. Implications

"Security as Code" is not equivalent to security automation because it does not require the "programmatic" ability.

EXAMPLE

A scripted application of the DOD Security Technical Implementation Guides (STIG) may still have to be run manually during the installation of a server.

Examples of security automation:

  • Business Continuity

    • Automatic business continuity plan testing through Infrastructure as Code (IaC)

    • Continuous backup and restore testing with data masking

  • SSL Certificates and Public Key Infrastructure

    • Monitoring and auto renewal of SSL certificates

    • Testing of expiry dates of SSL certificates

    • Private and public key rotation

  • Identity and Access management

  • Infrastructure

    • Vulnerability scanning of servers, VMs, containers, appliances during runtime

    • Anti-virus scan during runtime

9.  Agile Security: the new paradigm

Problem: CSO’s do not have sufficient number of security staff.

Agile Security is a new paradigm for information security management, that emphasizes embodiment of security across organizational roles, reactive to external and internal threats in an agile and dynamic way.

NOTE  Agile Security compares to Agile Software Development, similar to how the traditional ISMS approach compares to the Waterfall mindset.

Agile Security is about dynamic information exchange within the organization. Like the immune system of the human body, information is immediately propagated to adjacent, potentially vulnerable functions given detection of a threat. A traditional ISMS approach will require that threat information to be reported back to the higher functions before any response can be made. With Agile Security, the business functions themselves are integrated security functions and can provide an immediate response to block potential impact. A centralized response is important, but should not prohibit an immediate tactical approach.

The ISMS approach is about adopting best practices. However, often best practices that work in larger organizations do not work with smaller ones, and create an unnecessary burden for the smaller organizations, which takes away precious time and effort from daily work and hence negatively affects their security stances.

Agile Security solves the security skill shortage paradox by promoting the idea of "hybrid-domain-security-experts".

A "commitment" of top leadership (as in ISMS) is not enough. Top leadership must understand the nature of security and is committed to integrating security into each and every aspect of the organization. Top leadership must fully understand the risks and threats the organization faces (its risk profile) with regards to security, and set clear bounds and requirements for personnel to adhere to.

Humans, it is often said, are the weakest link in security. Phishing, social engineering are all techniques to trick an unsuspecting individual to voluntarily compromise security of an organization. Without full participation (not just "awareness") of all involved people, security cannot be achieved.

10.  Six pillars of Agile Security

10.1. Collectively responsible

Everyone is responsible towards the security stance of the organization. The CSO plays a leadership and shepherding role for information security within an organization, but each person has their own security responsibility, and they must be aware of their own contribution (and potential problems) towards the organization’s security stance. Edge users are not just "security-aware", but are the first line of defence.

10.2. Collaborate

Security can only be achieved through collaboration, not confrontation. A security aware and collaborative culture is necessary for the foot soldiers to report potential anomalies. The human factor is often the weakest link and remember that most security incidents are caused by simple human error.

10.3. Pragmatic

Security should provide value, not hindrance. For every security initiative or adopted security control, a cost-benefit should be considered to allow transparency on the value of security. Without this pragmatic approach, it is too easy for persons unaware of the benefits of security to dismiss security practices as mere overhead or unnecessary. This provides the necessary business case to convince stakeholders for security and therefore confidence to execute plans faithfully.

Traditional ISMS can create overhead, need to balance tailoring to an organization and adoption of best practices. Documentation requirements should be based on clearly thought out value brought to the organization, not a hard requirement.

10.4. Integrate

Security must be integrated in every aspect of business. Dedicated security personnel rarely have in-depth domain expertise as your business domain experts, and they are the wrong way of solving the problem no matter how many are hired. The truth is, no one else will know your domain, as well as its risks, as well as yourself. A team of dedicated security experts will most likely be oblivious of your domain-specific security issues. Domain knowledge and security knowledge must be fused and co-exist in every organizational process for effective security management.

10.5. Automate

Automated security practices are the core of optimizing process efficiency. Processes that can be automated should be automated, and those that can’t should be transformed. Automation also creates its own set of problems but automated approaches to those problems are often possible. There is a saying in software development: if you do the same thing thrice, it’s time to program it, and this applies squarely with Agile Security.

10.6. Measure

Performance that cannot be measured cannot be improved. Without measurements, there is no understandable evidence whether an information security management is effective. Agile Security is about achieving results, and even as vague as they might be, the results must be measurable for transparency and improvement.

11.  Benefits of Agile Security

12.  Conclusion

Agile Security provides a set of wide-implicating and easily understandable principles that affect an organization’s cybersecurity posture, especially suitable for today’s fast-paced and challenging cybersecurity landscape.


Appendix A
(normative)
Guidelines for implementing Agile Security

A.1. Approach A: Cross-train

Form an operational security function by selecting 1 or 2 persons that have an interest or background in security from each team and delegate security related tasks to those individuals. Make these persons a representative of the operational security teams.

The operational security teams know exactly what types of operating systems are used, applications are supported for the business, etc. In some organizations, this collaboration involves embedding IT operations specialists within software development teams, thus forming a cross-functional team. This effort may also be combined with a skills matrix.

A.2. Approach B: Delegate

Delegate risk management, maintenance of BCPs etc. to department heads. Freeing up resources of the dedicated security team so they can focus on the security process management and providing the framework(s). The department heads know exactly what they have in house, what risks there are.

DevOps is process neutral. Organizations can use Agile or Scrum. Have security engineers attend daily scrum meetings, make them part of the DevOps team.


Appendix B
(normative)
What Agile Security is not

TODO: Placeholder if we need it.


Bibliography

[1]  ISO/IEC 27000:2018, Information technology — Security techniques — Information security management systems — Overview and vocabulary

[2]  ISO/IEC 27002, Information technology — Security techniques — Code of practice for information security controls

[3]  ISO 31000, Risk management — Guidelines