Imagine a world where cyber-criminals include kill switches in all their malware that’s as simple to activate as registering a domain name. While that has a certain appeal, we know it is wishful thinking to believe that hackers will make a similar mistake, so we must turn to other preventive methods to protect against malware.
While there are a number of methods to protect against malware, a critical preventive control is eliminating vulnerabilities in software. This requires, though, a rigorous update regime that is becoming increasingly difficult to prioritize over more direct business activities.
The lack of attention means longer exposure times to vulnerabilities. One report from 2015 stated the average vulnerability goes unpatched for 470 days. Others indicate that it’s closer to 100-120 Days (or roughly a quarter). The average time to patch SCADA systems is 150 days, according to a May 2017 report. Patching systems and applications to close security vulnerabilities isn’t fun for anyone. The result is a growing tension between business growth and risk.
The DevOps Effect
Meanwhile, in an effort to keep pace with competitors and create new opportunities for business growth, a majority of enterprises are now adopting DevOps practices that break down the barriers between development and operations teams. As code deployment has accelerated, operational priorities are shifting from risk mitigation to building automated deployment methods, creating a culture clash for security teams. While they may be concerned that less attention will be paid to the basic pursuit of eliminating vulnerabilities, there is much for security professionals to learn from the DevOps movement.
There’s an old saying, “if you can’t beat ‘em, join ’em.” Regardless of whether security teams become a full partner in a move toward “DevSecOps,” these programs and processes can ultimately improve the organization’s overall security, without impacting the business demand for faster software updates. Let’s explore a few examples.
This one is going to raise concerns, but hear me out. DevOps feeds on continual experimentation to find better ways of serving customers. The culture incorporates ideas like “zero-blame post-mortems” to encourage entrepreneurial solutions to business challenges.
Experimentation can be applied to the security world, for example, in who is involved in updating software. Traditionally, enterprises have relied on skilled system administrators to patch systems in response to known vulnerabilities like Shellshock or Heartbleed. But with a DevOps mindset, servers are less like pets and more like cattle. If one goes down, rather than troubleshoot it to the nth degree, we simply wipe it and clone another in production. That means that more workers with a variety of skill sets could perform updates as long as root or admin access, along with a restriction on the commands that can be executed, are managed through a privileged account management tool.
Lean manufacturing techniques are part of the DevOps mindset. Lean includes the Theory of Constraints, which teaches us to identify bottlenecks in delivering value, and focus on reducing them so that downstream processes are not starved. In DevOps, once we’ve solved development and operational constraints, the focus can turn to security as the bottleneck for release velocity.
The security constraint in question for this article is how to get systems and applications patched faster to eliminate vulnerabilities. To address (or exploit) this constraint, we must reduce the work and shift it upstream where possible.
In the case of patching, it’s already a common practice to shift the work upstream to operations rather than have security teams perform the work. Security, therefore, should be assisting in the reduction of manual labor by looking for and assisting in automation opportunities to achieve the common goal of eliminating vulnerabilities. DevOps entirely drops the pretense that good process can stand in for automation. At the speed and scale that digital transformation demands, manual methods cannot keep pace.
Security can also help reduce constraints in non-automated ways by improving documentation, training on policies, and making adjustments to policies where necessary to balance speed versus risk appropriate to your business.
Ultimately, the DevOps mindset is one of collaboration and breaking down silos between teams to achieve the goals of the overall business. To reduce exposure to malware, which is continuing to see growth due to the success of ransomware in particular, security needs to learn the DevOps techniques that are being adopted across the rest of the IT organization and become part of the team that is focused on helping the business to compete.