One of the biggest challenges today is the lack of effective vulnerability management. But it doesn't need to be difficult if you follow our step by step guide.
back to BLOG

How to build a vulnerability management program

James Harrison

Cyberattacks are increasing every year. While some are sophisticated and use in-depth knowledge of network and cloud security, the vast majority are simple, automated and indiscriminate. There are a number of reasons why:  

Underpinning all these is the sheer number of vulnerabilities available for exploitation. With billions of dollars lost annually to these attacks, businesses are increasingly recognizing the importance of finding and fixing vulnerabilities – and fast.

However, many business owners and IT teams still take an ad hoc approach to vulnerability management – either because they don’t have the expertise to do it properly, or they don’t think they’re a target for hackers.

In this guide, we’ll provide a step-by-step template to simplify the process of building a comprehensive vulnerability management program to aid compliance and immediately reduce your exposure to risk.

What is a vulnerability management program framework?

A vulnerability management program consists of the processes required to continuously identify, prioritize, and manage cybersecurity vulnerabilities.

Why is vulnerability management important?

Customers, employees and regulators today expect you to have policies and processes in place that protect your services, operations and data from attack and interruption. While quarterly scanning and remediation might sound like enough, new vulnerabilities appear every day. Even a regular monthly scan and patch cycle could leave you exposed for up to 29 days. This is not best practice, and there is zero tolerance for business disruption or slowdowns today. In short, vulnerability management has become business critical.  

What are vulnerabilities?

Security vulnerabilities are coding flaws or system misconfigurations in your digital infrastructure – your networks, web applications, services and databases – that can be hacked and exploited.  

Common coding flaws include failure to implement proper authorization, SQL injection, cross site scripting (XSS) and cloud misconfigurations – like an Amazon S3 bucket without proper permissions. These vulnerabilities open the door to unauthorized users who can then perform actions they shouldn’t be able to or access your most sensitive data.  

Security experts – and hackers – find vulnerabilities like these every day – 25,000 CVE vulnerabilities were disclosed last year alone and no one wants a repeat of last year’s Log4Shell vulnerability. We’ve detailed the latest vulnerabilities in our guide to the top cybersecurity threats in 2023.  

Of course, vulnerabilities can also be introduced into your software accidently by your own developers when they’re building your custom web applications, or in software bought from a 3rd party. These vulnerabilities are potentially just as serious, but fixing them is not the same; when it’s your own code, your developers can fix flaws in the way they see best. If it’s 3rd party, you usually have to download and deploy an update to a newer version.

Find what you have first

You can’t protect what you can’t see, so getting full visibility across your digital estate is the first step in any vulnerability management program. This means creating and maintaining a centralized inventory of the systems you have, and logging any changes to these assets as your business and team grows or changes.

Think of it as an inventory of your personal possessions – if your house is burgled, would you know what’s been stolen? Logging all your IT assets used to be a bit of a drag, but cloud computing has made it a whole lot easier, and vulnerability scanning tools can hook into your cloud accounts to make the process automated and easy. But you will undoubtedly still have some systems outside of this (laptops, edge routers and firewalls at the very least), so it’s still a good idea to keep (and maintain) an asset register.  

This ‘discovery’ phase should be part of any effective attack surface management program. Intruder has baked this in with CloudBot to pull in your cloud assets, and Network View and Smart Recon to find what’s exposed that shouldn’t be.


Find your weaknesses,
before the hackers do

Try Intruder for free

How to build an effective vulnerability management program in 4 steps

It’s important to remember that the ultimate point of your vulnerability management program is to fix any flaws, so one of your KPIs should be how many critical vulnerabilities are fixed or mitigated as quickly as possible to minimize the window of opportunity for hackers. To get there, there are four main steps in any vulnerability management program:

  1. Find: detecting vulnerabilities through scanning and testing
  1. Prioritize: understanding which pose a real and significant risk
  1. Fix: patching, blocking or removing vulnerabilities
  1. Monitor: ongoing scanning for new or returning vulnerabilities

1. Finding the vulnerabilities

The first step to building a vulnerability management program is scanning to find any vulnerabilities. Scanners identify known security weaknesses and provide advice on how to fix them. Because these vulnerabilities are usually publicly reported, there’s a lot of information available about vulnerable software. Scanners use this information to identify vulnerable devices and software in your infrastructure. The scanner will initially send probes to your systems to identify:

It will also send probes to identify individual vulnerabilities that can only be tested by sending a safe exploit that proves the weakness is there. These probes identify common vulnerabilities such as command injection or cross-site scripting (XSS) or check if you’re using default usernames and passwords.

But not all scanners are created equal. Vulnerability scanning is nuanced and one size doesn’t fit all. Some tools are also more specialized, and do a better job of scanning specific scenarios in depth, with more configurable options. You could use different scanners, or use a solution like Intruder that does it all...

“Not all scanners are created equal. Vulnerability scanning is nuanced and one size doesn’t fit all”

2. Prioritize what matters most

Effective prioritization is key to building a successful vulnerability management program. Your scanner should produce a report, but not every vulnerability poses the same level of risk, and not all reports are easy to interpret and action. While it’s important to consider the business impact when deciding what to focus on first, there will inevitably be a trade-off between factors like severity, exposure, fixability, and compliance.

For example, it’s usually best to focus on the most severe vulnerabilities first, but don’t ignore the rest forever. It’s not uncommon for hackers to chain several mild vulnerabilities to create an exploit.

If you build your own web applications which contain sensitive information, you should prioritize in-depth scanning which reaches past the login page or use manual penetration testing. Not all vulnerabilities are on public-facing systems either. Internet-facing systems can also be exploited by a random attacker scanning the internet, making them a higher priority for remediation. You’ll want to prioritize employee workstations and servers with vulnerable software. Additionally, any systems that host particularly sensitive data or could adversely affect your business may need to be prioritized ahead of others.  

Advanced scanners like Intruder will do the hard work of prioritizing vulnerabilities for you, highlighting the issues that could leave your infrastructure exposed, using language that non-experts can understand but with enough detail for developers to action effectively. See it in action by trying our interactive demo below.

Intruder's reports make it much easier to prioritize threats and therefore minimize your exposure to risk, so you have more time to focus on what really matters. You can deep dive into prioritization in the NCSC guide with details on triaging issues for remediation.

3. Fixing the vulnerabilities

In most cases, there will be a publicly-released patch to correct a detected vulnerability. It can require a configuration change or other workaround, such as rewriting custom code written by your developers. Your dev team will be able to correct and fix these issues as part of their DevOps process.

But if you’re not a tech business with an inhouse engineering team, deploying patches isn’t always easy, and testing and rolling out upgrades can take time, expertise and resources. Business-critical systems may have to be shut down during deployment, and there’s always the risk that the patch itself could impact the application or its dependencies.

To make this easier, there are a number of patch management solutions on the market to help you monitor, manage, and support your devices and simplify remediation. Some are super powerful and complex, aimed squarely at the enterprise market. But, of course, these aren’t for everyone. If you’re looking for a simple but equally effective device management (MDM) tool for your vulnerability management program, we recommend Kandji for Mac and NinjaOne for Windows, Windows Server, Mac and Linux.

Alternatively, you can buy time while a patch is prepared by disabling the vulnerable process, or removing the component that’s not actually in use. You may also want to set defined SLAs which can help you to prove compliance.

If you have an SLA, keep in mind how your compliance framework aligns to your goals, because most have a specific remediation timeline. For example, under PCI DSS, any vulnerability with a CVSS score of four or more must be fixed within 30 days of notification.

In practice, you want to put processes in place that take into account how exposed the affected device is, and how sensitive is the data it contains. A vulnerability rated 'medium' on your most critical systems may be far more important to fix than one rated 'high' on an informational service that’s not connected to any highly sensitive data.  

4. Keep monitoring  

After applying a fix, you should rescan to check it’s been applied correctly, or the system may still be vulnerable. Although rare, the patch could also introduce more security issues, and this scan will uncover them so you can fix them as well.

These scans provide a point-in-time snapshot of the vulnerabilities present in your digital infrastructure. But new deployments, configuration changes and vulnerabilities can quickly make you vulnerable again. For this reason alone, you should make monitoring continuous and ongoing, rather than a one-time exercise.  

The tool(s) you need to do this will automatically monitor your network and systems for newly discovered and returning vulnerabilities, with real-time alerts via your chosen channels. If possible, integrate monitoring with your fix process by hooking up your vulnerability management solution to bug trackers so that you get real time tracking of your remediation efforts.

Ideally, the tool will also prioritize threats by business context, helping with steps 1 and 2 of the vulnerability management process. Otherwise, your developers or security team can quickly be overwhelmed by an influx of low-priority vulnerabilities. It’s important to filter out this noise so it doesn’t slow down your fix process – or drive your security team mad!

While monitoring is step 4 in the process, once your program is up and running, it’s worth thinking of your continuous vulnerability management program as a circular flow, with monitoring leading back into the finding phase. You can read more about vulnerability scanning frequency best practices here. It's also worth checking out our guide to vulnerability management metrics to ensure you can measure the success of your program.

Kickstart your vulnerability management program with Intruder

Understanding the four steps of a vulnerability management program is just the start. You also need to have the right tools in place to simplify and manage them through automation. An automated vulnerability management program will significantly reduce the burden on your security team and make vulnerability remediation so much quicker and easier.

Intruder automates a number of vulnerability management tasks, from vulnerability scanning to cloud asset discovery, data aggregation and prioritization, so you spend less time trying to figure out what to do, and more time improving your security. Why not try it for free for 14-days and kickstart your own vulnerability management program?

Release Date
Level of Ideal
Before CVE details are published
Limited public information is available about the vulnerability.

Red teamers, security researchers, detection engineers, threat actors have to actively research type of vulnerability, location in vulnerable software and build an associated exploit.

Tenable release checks for 47.43% of the CVEs they cover in this window, and Greenbone release 32.96%.
Day of CVE publish
Vulnerability information is publicly accessible.

Red teamers, security researchers, detection engineers and threat actors now have access to some of the information they were previously having to hunt themselves, speeding up potential exploit creation.

Tenable release checks for 17.12% of the CVEs they cover in this window, and Greenbone release 17.69%.
First week since CVE publish
Vulnerability information has been publicly available for up to 1 week.

The likelihood that exploitation in the wild is going to be happening is steadily increasing.

Tenable release checks for 10.9% of the CVEs they cover in this window, and Greenbone release 20.69%.
Between 1 week and 1 month since CVE publish
Vulnerability information has been publicly available for up to 1 month, and some very clever people have had time to craft an exploit.

We’re starting to lose some of the benefit of rapid, automated vulnerability detection.

Tenable release checks for 9.58% of the CVEs they cover in this window, and Greenbone release 12.43%.
After 1 month since CVE publish
Information has been publicly available for more than 31 days.

Any detection released a month after the details are publicly available is decreasing in value for me.

Tenable release checks for 14.97% of the CVEs they cover over a month after the CVE details have been published, and Greenbone release 16.23%.

With this information in mind, I wanted to check what is the delay for both Tenable and Greenbone to release a detection for their scanners. The following section will focus on vulnerabilities which:

These are the ones where an attacker can point their exploit code at your vulnerable system and gain unauthorised access.

We’ve seen previously that Tenable have remote checks for 643 critical vulnerabilities, and OpenVAS have remote checks for 450 critical vulnerabilities. Tenable release remote checks for critical vulnerabilities within 1 month of the details being made public 58.4% of the time, but Greenbone release their checks within 1 month 76.8% of the time. So, even though OpenVAS has fewer checks for those critical vulnerabilities, you are more likely to get them within 1 month of the details being made public. Let’s break that down further.

In Figure 10 we can see the absolute number of remote checks released on a given day after a CVE for a critical vulnerability has been published. What you can immediately see is that both Tenable and OpenVAS release the majority of their checks on or before the CVE details are made public; Tenable have released checks for 247 CVEs, and OpenVAS have released checks for 144 CVEs. Then since 2010 Tenable have remote released checks for 147 critical CVEs and OpenVAS 79 critical CVEs on the same day as the vulnerability details were published. The number of vulnerabilities then drops off across the first week and drops further after 1 week, as we would hope for in an efficient time-to-release scenario.

Figure 10: Absolute numbers of critical CVEs with a remote check release date from the date a CVE is published

While raw numbers are good, Tenable have a larger number of checks available so it could be unfair to go on raw numbers alone. It’s potentially more important to understand the likelihood that OpenVAS or Tenable will release a check of a vulnerability on any given day after a CVE for a critical vulnerability is released. In Figure 11 we can see that Tenable release 61% their checks on or before the date that a CVE is published, and OpenVAS release a shade under 50% of their checks on or before the day that a CVE is published.

Figure 11: Percentage chance of delay for critical vulnerabilities

So, since 2010 Tenable has more frequently released their checks before or on the same day as the CVE details have been published for critical vulnerabilities. While Tenable is leading at this point, Greenbone’s community feed still gets a considerable percentage of their checks out on or before day 0.

I thought I’d go another step further and try and see if I could identify any trend in each organisations release delay, are they getting better year-on-year or are their releases getting later? In Figure 12 I’ve taken the mean delay for critical vulnerabilities per year and plotted them. The mean as a metric is particularly influenced by outliers in a data set, so I expected some wackiness and limited the mean to only checks released 180 days prior to a CVE being published and 31 days after a CVE being published. These seem to me like reasonable limits, as anything greater than 6 months prior to CVE details being released is potentially a quirk of the check details and anything after a 1-month delay is less important for us.

What can we take away from Figure 12?

Figure 12: Release delay year-on-year (lower is better)

With the larger number of checks, and still being able to release a greater percentage of their remote checks for critical vulnerabilities Tenable could win this category. However, the delay time from 2019 and 2020 going to OpenVAS, and the trend lines being so close, I am going to declare this one a tie. It’s a tie.

The takeaway from this is that both vendors are getting their checks out the majority of the time either before the CVE details are published or on the day the details are published. This is overwhelmingly positive for both scanning solutions. Over time both also appear to be releasing remote checks for critical vulnerabilities more quickly.

Written by

James Harrison

Recommended articles

Ready to get started with your 14-day trial?
try for free