Public DNS malware filters tested in September 2024

How do the top public DNS resolvers that guard against malware domains fare in September 2024? We’ve put them to the test!

Public DNS malware filters tested in September 2024

Preventing malware infections in your network requires a multi-layered defense strategy. One of these layers is DNS filtering. However, with new malware domains emerging daily, maintaining your own blacklist is impractical. Instead, you can rely on public DNS resolvers that block malicious domains.

In January 2024, we conducted this test for the final time. Now, eight months later, we are eager to see how the public DNS resolvers perform this time around.

List of malicious domain names

Once again we downloaded a list of 231,497 malicious domains from the CERT Poland website. CERT Poland continues to update this list daily. We have also downloaded a list of malicious domains from URLhaus, representing 2,042 domains. In total, this resulted in a list of 233539 unique rogue hosts. More than enough to get a good idea of how well or poorly the DNS resolvers are performing.

Tested DNS resolvers

We subjected the same providers to this test as we did last time.

How we performed the test

We used our simple Bash script for this test. This script did:

  • 10 pings to each DNS resolver to get an average ping time.
  • A test of 5 known websites that are definitely not in the malicious list to confirm the correctness of the DNS resolvers.
  • A check of each malicious domain against the unfiltered DNS resolver 1.1.1.1 (Cloudflare) to verify that the domain has at least 1 A-record.
  • If at least 1 A-record was found, the domain was tested against all DNS resolvers.
  • If the tested DNS resolver returned a valid IP address, it was stored in a CSV. If the DNS resolver returned no value or the IP address 0.0.0.0 or 127.0.0.1, then no value was stored in the CSV.

If the DNS resolver returned no value or the value 0.0.0.0 or 127.0.0.1, that was a sign that it was not resolving the domain. In that case, we assume that the domain is known to the provider as 'malicious'.

Results

Cloudflare found an A-record among 47,016 hosts. These hosts were offered to all DNS resolvers. The table below shows how many hosts with a valid IP address have been resolved (not blocked) and not resolved (blocked) by the DNS resolver.

Provider Resolved Blocked Blocked %
Google Public DNS 46907 102 0,22%
ControlD Malware 5 47004 99,97%
Quad9 897 46112 98,08%
Cloudflare for Families 45163 1846 3,93%
UltraDNS Threat Protection 46993 16 0,03%
dns0.eu 407 46602 99,12%
dns0.eu ZERO 395 46614 99,14%
CleanBrowsing Security Filter 1036 45973 97,78%
Comodo Secure DNS 46939 70 0,15%

In the graph below, we have included the results from May 2023 and January 2024 for comparison.

Conclusion

ControlD, with its 'Malware filter,' remains in the lead. What stands out the most is the significant improvement from Quad9, which increased its detection rate from 84% to 98%, an impressive achievement. CleanBrowsing also shows strong progress, moving from 85% to nearly 98%. We also observe a small but notable improvement in the DNS0 filters.

Unfortunately, Cloudflare for Families continues to decline, now blocking only 4% of malware domains. This was also the last time we included UltraNDS and Comodo Secure DNS in the test, as their malware filters appear to no longer be active.

💡
Do you have suggestions for other DNS malware filters to include in the next test? Feel free to drop us a message at hello@nexxwave.eu. Only public DNS resolvers that are free to use without any registration.

The danger of false positives

Working with third-party malware lists has the drawback that some domains might be incorrectly blocked, resulting in what are known as 'false positives.' We downloaded the 'top 1,000' domains from Cloudflare Radar. This list represents the top 1,000 globally requested domains on the Cloudflare unfiltered DNS resolver over the past 7 days. While we can't be 100% certain that these domains are free from malware, given that they are among the largest websites, we can reasonably assume they are safe. Therefore, DNS resolvers should not block these domains.

Out of the 1,000 domains, 692 were tested with all DNS resolvers. The outcome? Only a few were not resolved, which is nearly negligible and an excellent result.

Provider Resolved Not resolved
Google Public DNS 692 0
ControlD Malware 690 2
Quad9 692 0
Cloudflare for Families 692 0
UltraDNS Threat Protection 692 0
dns0.eu 692 0
dns0.eu ZERO 691 1
CleanBrowsing Security Filter 691 1
Comodo Secure DNS 691 1

Why couldn’t all 1,000 domains be tested? Some domains did not return an A-record because they use only subdomains, such as a 'CDN' or 'tracker' service.