Question

I am a student of computer science and engineering. I have deep interest in the internal workings of the operating systems. I have some knowledge of Linux kernel and x64 assembly.

I want to learn the inner workings of an anti virus program, and afterwards make one as well for learning purposes, preferably for Linux platform. I googled about it but couldn't come up with any good result.

Can anyone point me to some resources of the knowledge/skills are required for this, and how to get started with an anti-virus development.

Était-ce utile?

La solution

One of the first thing to do is to look for open source antivirus projects from sourceforge or github, read the documentation, take a look to their structure and components and follow their evolution.

One of the most interesting project at the moment is Clam AV, the last stable version is the 0.97.8 and you can find the source code and documentation in Github Page.

There are a lot of components in an antivirus software like engine, detection module (signature vs heuristic), knowledge base and many other elements, so I think it can be difficult to find documents that are focused on overall antivirus development, while it can be simpler to find documentatios and tutorials on particular components.

For example there is an interesting document about antivirus engine development. Even though is old (2002) it provides a lot of informations about the high-level structure of the engine, his components and his behavior in general and particular situations.

About the skills: I think is very important to have a strong background in OS, Machine-learning algorithms, computer security and OOP languages obviously. A project like an antivirus is not trivial in my opinion.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top