This post was written by Chris Romeo during his tenure at Security Journey. This article originally appeared on TechBeacon.com on May 18, 2021. You can access it here.
Developers dislike security but won’t always admit it. They dislike the security function because it doesn’t understand development and often tries to force a process and tool set on them.
The tension between devs and the security teams regarding the security of new features and bug fixes is called “the DevSec disconnect.” If you imagine a developer who is about to push a feature, you can almost read his thoughts: “Security is getting in the way and slowing us down. They have arbitrary requirements and can’t make up their minds. We need to push this feature to production.”
On the flip side, security says, “The developers are lazy and are not applying the guidance we provide via the process and the pipeline. Their code is insecure; our tools blow up when we scan the code. They can’t push this feature to production.” The DevSec disconnect is real, and it stems from a lack of understanding between the parties.
Empathy is the foundation of the answer to closing the DevSec disconnect. Empathy is psychological identification with another person or vicariously experiencing that person’s feelings, thoughts, or attitudes. When security professionals feel empathy for developers, they are able to understand the struggle necessary to implement security while still pushing features and bug fixes into production. With empathy, security teams truly experience developers’ frustrations, which leads to better working relationships.
Here are 10 frustrations that developers have with security, with a resolution and actions that security can take to counter each.
If you take your car for service, do you tell the mechanic how to fix it? It is frustrating for developers to be instructed by those that do not know how to do what they do. But coding skills are one of the 5 core skills every cybersecurity pro should possess. A security person who doesn’t invest the time to learn how to read and write code is saying, “I’m important enough to govern this process, but not concerned enough to understand the work you do.” That is consulting without expertise.
Resolution: Become a developer and learn how to code.
Action items:
Your developers’ knowledge and experience with security may be lacking. Security expects developers to react and do the right thing, but they have no idea what the right thing is and nobody has taken the time to spell it out. If a security person tells a developer, “Stop coding SQL injections!” the developer is likely to think to herself, “What’s a SQL injection?” Developers are frustrated when you do not take the time to teach them the foundational pieces of security.
Resolution: Build a security coaching practice and education program.
Action items:
Developers are compensated in most organizations for producing features and fixing bugs. The security team is always (rightfully) preaching the need and value of building secure things. But security fails when it doesn’t explain the value proposition and the return on investment that comes from shifting left, or moving security to the earliest stages of development.
Resolution: Start with the why and the security ROI.
Action items:
Without clear guidance and a framework, developers are unsure what the process looks like or what the requirements are for them and new-feature development.
Developers crave predictability of the surrounding process. Without that, they won't know how much time they will need to set aside for the security process when marching toward a Friday deadline.
Resolution: Use the secure development lifecycle (SDL) as guardrails.
Action items:
Developers can have this perception if they see security telling two teams different things. From security's perspective, those different answers are entirely appropriate and accurate. But for the developers, the issue is trust.
Developers lose faith when advice isn't consistent, and a developer who loses confidence in security will stop bringing things to security’s attention.
Resolution: Fully explain answers and suggest getting a second opinion.
Action items:
Developers are under pressure every day to fix bugs and deliver features. When their manager has not bought into the corporate requirements for security, they are pulled in two directions. To comply with what security has decreed, they must go against the immediate orders of their manager.
Resolution: Raise awareness about security resource needs.
Action items:
DevOps promotes open communication among everyone on the team; siloed security operations are alien to developers, because they block flow and hamper communication, requiring more status meetings to stay in sync. Security also wants to make all the decisions. Gatekeepers are frustrating because their need to control the process slows down everything to a crawl.
Resolution: Partnership, not gatekeeping.
Action items:
Developers need to see value in the activities that security asks them to perform.
When security requires a risk assessment for every new feature but never reviews the risk assessments, developers will be frustrated that you are wasting everyone’s time. If you are doing anything manually (except for threat modeling), you are wasting some time. It is frustrating for anyone to do busy work of any type.
Resolution: Optimize the process, and no busy work.
Action items:
By its very nature, security is always chasing the next vuln, problem, or bug, taking no time to celebrate or even pat anyone on the back. It is frustrating for developers to work in an environment where things seem to get worse every day.
Resolution: Celebrate security wins.
Action items:
In security, we love our tools. We think they have nearly all the answers. But developers are frustrated when security tools generate thousands of entries and false positives.
Resolution: Tune the tools.
Action items:
Don't try to solve all of these frustrations at once. Review the list, consider which of the items are most applicable to your organization, and then start making programmatic adjustments to improve your security culture.
Spend time getting to know your developers by practicing empathy. Walk a mile in your developers' shoes, and make the changes you need. You’ll have a company where developers and security work together, and when that happens, security culture starts to change.
Chris Romeo will be presenting on this topic at RSA Conference 2021.