Abstract
Information security is playing big role in the computer technologies. Its job is to detect unauthorized violation of the information integrity, secure it and also recover it, if the integrity was violated. One of the things that can alter an information are computer viruses. One of the task of the information security is also to detect these malicious applications and prevent their goal. This can be achieved in various techniques and one of them is signature based virus scanning. This technique uses a virus database (virus signatures) to detect if a file or application is infected with a specific virus. In this paper we are going to see in more details how is this implemented, which algorithm are mostly used and also try to improve its performance by parallelizing it on GPU by using CUDA. We are also going to see how CUDA utilizes large number of threads to solve a specific problem and use it to implement a parallel signature based virus scanner. Later we are going to see the performance benchmarks of the conducted experiments and discuss them and give a final conclusions for the usage of a GPU in signature based virus scanning.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Aho, A.V., Corasick, M.J.: Efficient string matching: an aid to bibliographic search. Commun. ACM 18, 333–340 (1975)
Vicente Dias, A.N.: Detecting Computer Viruses using GPUs
New Virus Scanning Solution Uses NVIDIA CUDA. https://blogs.nvidia.com/blog/2009/12/15/new-virus-scanning-solution-uses-nvidia-cuda/
Chapter 35: Fast Virus Signature Matching on the GPU. https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch35.html
Intel offloads virus scanning to the GPU for better battery life and performance. https://www.pcworld.com/article/3268985/security/microsoft-intel-virus-scanning-gpu.html
GPGPU. https://en.wikipedia.org/wiki/General-purpose_computing_on_graphics_processing_units
NVIDIA Inc.: CUDA. https://developer.nvidia.com/cuda-zone
NFA (Nondeterministic finite automata). https://en.wikipedia.org/wiki/Nondeterministic_finite_automaton
ClamAV. https://www.clamav.net/about
Gao, D., Yin, G., Dong, Y., Kou, L.: A Research on the Heuristic Signature Virus Detection Based on the PE Structure
Alberto, C., Gonzlez, N.: Polymorphic Virus Signature Recognition via Hybrid Genetic Algorithm. https://github.com/carlosnasillo/Hybrid-Genetic-Algorithm/blob/master/README.markdown
Pungila, C., Negru, V.: A highly-efficient memory-compression approach for GPU-accelerated virus signature matching. In: Gollmann, D., Freiling, F.C. (eds.) ISC 2012. LNCS, vol. 7483, pp. 354–369. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-33383-5_22. https://link.springer.com/chapter/10.1007/978-3-642-33383-5_22
Big Data. https://en.wikipedia.org/wiki/Big_data
Panigrahi, C.R., Tiwari, M., Pati, B., Prasath, R.: Malware detection in big data using fast pattern matching: a hadoop based comparison on GPU. In: Prasath, R., O’Reilly, P., Kathirvalavakumar, T. (eds.) MIKE 2014. LNCS (LNAI), vol. 8891, pp. 407–416. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-13817-6_39. https://link.springer.com/chapter/10.1007/978-3-319-13817-6_39
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering
About this paper
Cite this paper
Dimitrioski, A., Gusev, M., Zdraveski, V. (2019). Parallelism in Signature Based Virus Scanning with CUDA. In: Poulkov, V. (eds) Future Access Enablers for Ubiquitous and Intelligent Infrastructures. FABULOUS 2019. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 283. Springer, Cham. https://doi.org/10.1007/978-3-030-23976-3_36
Download citation
DOI: https://doi.org/10.1007/978-3-030-23976-3_36
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-23975-6
Online ISBN: 978-3-030-23976-3
eBook Packages: Computer ScienceComputer Science (R0)