Hash-AV: Fast Virus Signature Scanning by Cache-Resident Filters
Ozgun Erdogan and Pei Cao
Fast virus scanning is becoming increasingly important in today's Internet.
While Moore's law continues to double CPU cycle speed, virus scanning
applications fail to ride on the performance wave due to their frequent
random memory accesses.
This paper proposes Hash-AV, a virus scanning ``booster'' technique that
aims to take advantage of improvements in CPU performance.
Using a set of hash functions and a bloom filter array that fits
in CPU second-level (L2) caches, Hash-AV determines the majority of
``no-match'' cases without accesses to main memory.
Experiments show that Hash-AV improves the performance of
the open-source virus scanner Clam-AV by a factor of 2 to 10.
The key to Hash-AV's success lies in a set of ``bad but cheap'' hash functions
that are used as initial hashes.
The speed of Hash-AV makes it well suited for ``on-access'' virus scanning,
providing greater protections to the user.
Through intercepting system calls and wrapping glibc libraries,
we have implemented an ``on-access'' version for Hash-AV+Clam-AV.
The on-access scanner can examine input data at a throughput of
over 200Mb/s, making it suitable for network-based virus scanning.
The paper in PDF is here.
The PowerPoint presentation will be online soon.