Virtualization Technology News and Information
Article
RSS
Shift-Left Is Only One Piece of the Secure Software Delivery Puzzle

By Anna Belak of Sysdig and Effi Goldstein of Snyk

We're living in the age of accelerated consumption and delivery. You can get a seemingly infinite selection of products delivered to your door within 2 days, for free, from thousands of miles away. You can access an endless variety of services online within mere seconds: movies, music, games, education, and even healthcare. These modern marvels are afforded to us by relatively recent advances in software development, delivery, and operation.

Among those advances are the adoption of DevOps practices, continuous integration and continuous deployment (CI/CD) pipelines, and automating everything from infrastructure provisioning to testing and quality assurance. These advances enable developers to deliver software faster and think about security earlier in design and development to ship safer software.

What is "shift-left" and why does it matter?

"Shift left" is a philosophy for addressing the pitfalls of traditional waterfall-style development. In waterfall, a number of IT teams work over the course of many weeks or months, culminating in a big and beautiful software release. Of course, people make mistakes, forget things, and maybe don't communicate well with each other. When it turns out that application elements don't interoperate well, the teams frantically attempt to fix what's possible, and jettison what isn't, with a very serious deadline staring them in the face. Products inevitably ship late, still somewhat broken, and with security bolted on as an afterthought.

To "shift-left" means to introduce security process and tooling earlier into design and development phases. Security should be just as critical as functionality and quality. It's a great idea because discovering a critical, build-failing vulnerability in a critical dependency after you've built dozens of functionalities on top of it hurts a lot more than it does before you built anything at all. Maybe fixing the problem is as simple as using a newer version of a dependency, but now you have to make sure everything you've customized still works as intended.

There are a number of forms of application security testing (AST) that aim to detect code-level issues early in the SDLC. Two commonly found when "shifting left" are software composition analysis (SCA) and static application security testing (SAST). Put simply, SAST tests the custom code your developers write; SCA tests dependencies you include in code.

Assessing security of modern applications requires both testing types. If you believe "shift-left" means not only finding problems but also fixing them, then developer-friendly tooling is necessary. Exactly what that means can be subjective depending on developer workflows in the organization, but at the very least, developers need self-service, seamless integration into their existing CI/CD toolchains, and actionable results. Because most developers aren't security experts, security findings must prioritize the riskiest problems, point to the source of the issue, and provide contextualized fixes, rather than making the developer hunt on their own.

Augmenting AST With Runtime Intelligence

One challenge with doing a lot of early testing, especially security testing, is that the more you test, the more findings you discover. Unfortunately, some of the results will be false positives and others may be true positives that pose a relatively low risk. Development teams with a high degree of security expertise must sift through and vet findings to prioritize flaws that are severe and actionable, but such practitioners are in short supply and this type of work is tedious.

Addressing the pitfalls of security testing isn't simple, and it involves gathering as much contextual information as possible to begin to reason about the risk associated with each finding, usually expressed by what exploitable code is actually exercised.

Reasoning about vulnerability risk is not easy. We try to rank the criticality of issues to decide on an action. We can split the problem into two parts:

  • The context of the vulnerability itself includes metrics of severity, like the CVSS score, and threat intelligence, like whether exploits are publicly available or attacks are prevalent in the wild. This information is readily available from scanning tools and third party sources like NVD, MITRE, and CISA.
  • The afflicted asset's environmental context, however, is specific to your application and your infrastructure. Only your organization can really fill this part in. For example, is the impacted application protected by mitigating security controls? Is it exposed to the Internet? Does the vulnerable component even get used at all? This is difficult or impossible to know until the application is running in its intended production environment.

Shift-left is a way forward for modern cybersecurity, but the approach can be vastly enriched by pulling in runtime intelligence. This helps to prioritize what to fix first, removes friction, saves cycles of numerous IT teams, and reduces your organization's vulnerability risk.

What happens after release?

The whole point of "shift-left" is to release secure software faster, but what happens next? Your flawless, beautiful code is delighting your customers with its stunning feature set and impressive performance. Then, on some idle Friday afternoon, right before what should have been a long holiday weekend, you get hit with a horrendous zero-day that you could never have predicted even if you tried.

When that happens, you need to respond by quickly identifying all of the affected workloads running in your environment and prioritizing them for remediation. You may need to take those workloads offline to patch immediately, limit network access to them, or otherwise mitigate the problem if a patch is either unavailable or taking too long to deploy. The point is that in real life, shift left is only one part of a successful security program, and the protective, detective, and remediation activities for your production environments on the "right" are also critically important to your organization's safety and success.

Conclusion

Shift-left alone was never going to solve all security problems, but it does create foundations for reliable, fast, and secure software delivery pipelines. Security and development teams alike often suffer from a deluge of noise and few useful signals. What they really need are consistent and prescriptive ways to make sound decisions about risk. Gathering context from multiple sources through multiple layers of the stack, including runtime signals, substantially improves the quality of the information that DevSecOps teams receive from their tools and must act on.

##

***To learn more about containerized infrastructure and cloud native technologies, consider joining us at KubeCon + CloudNativeCon Europe 2022, May 16-20.

ABOUT THE AUTHORS

Anna Belak, Director of Thought Leadership, Sysdig

Anna-Belak 

Anna has nearly ten years of experience researching and advising organizations on cloud adoption with a focus on security best practices. As a Gartner Analyst, Anna spent six years helping more than 500 enterprises with vulnerability management, security monitoring, and DevSecOps initiatives. Anna's research and talks have been used to transform organizations' IT strategies and her research agenda helped to shape markets. Anna is the Director of Thought Leadership at Sysdig, using her deep understanding of the security industry to help IT professionals succeed in their cloud-native journey. Anna holds a PhD in Materials Engineering from the University of Michigan, where she developed computational methods to study solar cells and rechargeable batteries.

Effi Goldstein, Director of Product Management, Snyk

Effi-Goldstein 

Effi is Director of products at Snyk, focused on building a container security solution that developers love. Before joining Snyk, Effi held different product lead roles at Dropbox, ForeScout & AT&T, focused mainly on cyber security, IoT and network security, but started his career as a SW engineer in the early days of instant messaging & video conferencing technologies. At his spare time Effi is an open-waters swimming enthusiast and an avid family hiker.

Published Tuesday, May 10, 2022 7:35 AM by David Marshall
Comments
There are no comments for this post.
To post a comment, you must be a registered user. Registration is free and easy! Sign up now!
Calendar
<May 2022>
SuMoTuWeThFrSa
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234