Internal vs external vulnerability scanning
Vulnerability scans can be external or internal, depending on which part of your digital assets they’re focused on. External scans target externally-facing IP addresses and their open ports to find vulnerabilities in your perimeter and cloud systems.
Internal scans check inside your firewall to find weaknesses in your internal devices such as outdated or unpatched software. For example, MS Office is a big entry point for attackers and can be vulnerable to phishing attacks, which an external scan wouldn’t find.
Think of it in terms of your home. External vulnerabilities are the open windows, unlocked doors and CCTV blind spots that burglars can exploit to get into your property. Internal vulnerabilities allow the burglar to move from room to room to find and steal your prized possessions.
In practice, this means you might want to scan an IP for external vulnerabilities to see what could be exploited by an attacker, but you also need to see what the attacker could access on the machine locally. Let’s look at both in more detail.
What is an external vulnerability scan?
External vulnerability scans look for gaps and weaknesses in your internet-facing systems that attackers can exploit to break in and attack your network. Like a penetration test, external scanning discovers open ports or any assets that are exposed to the internet so you can close any gaps that could be exploited.
Why is external vulnerability scanning important?
- Verifies the security posture of your externally-facing systems
- Discovers known weaknesses in internet-facing systems that could lead to a breach
- Prioritizes the most significant threats and risks
- Identifies new devices or services and any changes that could be exploited
- Discovers and monitors new cloud services, and scans when anything changes
What are examples of external vulnerabilities?
- Security misconfigurations
- Unsecured APIs
- Cross site scripting
- Open ports
- Injection flaws
- Broken authentication
What is authenticated vs unauthenticated scanning?
- Monitors web applications externally without using user credentials
- Relies on the public-facing interface and information that it can grab from the web server, network, and application
- Searches for vulnerabilities like injection flaws, cross site scripting, broken authentication and misconfigurations
- Uses user credentials to test the security of a web application and its infrastructure
- Scans in front and behind login pages for vulnerabilities that may not be visible from the outside
- Recommended for apps that have high user interaction and customization, sensitive or regulated data, or have strict security standards and compliance requirements
Which is better? The simple answer is both. While automated attacks are likely to hit your external systems at some point, a targeted attack using login credentials can’t be ignored.
If your software or application allows users on the internet to sign up, you could be exposed.
The best way is to combine both so you cover more ground and gain more insight into your strengths and weaknesses.
What is an internal vulnerability scan?
While your external network is the often easiest to access for hackers, your internal systems can also be reached with little extra effort today with the rise in remote and hybrid working.
Internal vulnerability scanning helps you protect these internal systems and dispersed workforce so you can keep your attack surface secure, wherever your devices are. These checks are run from the perspective of an attacker with access to systems behind your external security perimeter.
Why is internal vulnerability scanning important?
- Provides a second layer of defence against attackers
- Keeps devices secure, wherever they are
- Identifies and prioritizes vulnerabilities
- Keeps software and patching up to date
- Helps meet compliance and security standards
What are examples of internal vulnerabilities?
- Missing third-party and operating system patches
- Weak, default or duplicated passwords
- Vulnerabilities in intranet applications
- Local software with known vulnerabilities
How are internal and external vulnerability scans different?
How often should scans be performed?
Internal and external scans can be ‘one-and-done' but are often performed at least quarterly, especially for compliance to show your security posture to customers or auditors.
While running one-time scans give you a point-in-time snapshot of your vulnerability status, they’re not so good for ongoing visibility or robust attack surface management. With a new CVE created every 20 minutes, you run the risk of having an outdated view of your security at any given time.
Continuous vulnerability scanning provides 24/7 monitoring of your IT environment, and automation to reduce the burden on your IT team. This means issues can be found and fixed faster, closing the door on hackers and potential breaches. You can read more about how often you should scan in our comprehensive guide.
How to scan with Intruder
Intruder is an automated vulnerability management tool designed to check your internal and external infrastructure for over 140,000 known weaknesses. It saves you time by proactively running scans, monitoring network changes and synchronizing cloud systems.
With new threats discovered every day, Intruder’s proactive threat response features have you covered. Emerging threat scans notify you as soon as new vulnerabilities are discovered. Rapid response automatically checks your systems for the latest issues being exploited in the wild before automated scanners can.
Intruder generates a report outlining the issues and offering actionable remediation advice – so you can find and fix your vulnerabilities before hackers reach them. Start your 14 day free trial today.
- Raw CVE Coverage
- Risk Rating Coverage
- Remote Check Types
- Check Publication Lead Time
- Local/Authenticated vs Remote Check Prioritisation
- Software Vendor & Package Coverage
- Headline Vulnerabilities of 2021 Coverage
- Analysis Decisions
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%.
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%.
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%.
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%.
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:
- Have CVSSv2 rating of 10
- Are exploitable over the network
- Require no user interaction
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.
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.
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?
- We can see that between 2011 and 2014 Greenbone’s release delay was better than that of Tenable, by between 5 and 10 days.
- In 2015 things reverse and for 3 years Tenable is considerably ahead of Greenbone by a matter of weeks.
- But, then in 2019 things get much closer and Greenbone seem to be releasing on average about a day earlier than Tenable.
- For both the trendline over an 11-year period is very close, with Tenable marginally beating Greenbone.
- We have yet to have any data for 2021 for OpenVAS checks for critical show-stopper CVEs.
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.