Design and implement using C or C++ (preferred) a Non-Signature / Non-DB based virus, trojan, dialer, malware detection engine as a Windows DLL file.
## Deliverables
Design and implement using C or C++ (preferred) a Non-Signature / Non-DB based virus, trojan, dialer, malware detection engine as a Windows DLL file that can be easily used by a separate GUI application.
The interface of the engine should be simple, something like:
function ScanFile(Path : String) : Integer;
Where path contains a full path to the file that the GUI wishes the engine to scan, and the resulting integer is a per cent value (0...100) of how certain the engine thinks that the given file is/contains malware.
The engine does not have to scan inside compressed files, such as zip, rar or cab files.
For the exact method of the malware detection, I'd wish to suggest pre-trained Self Organizing Maps: [login to view URL]
If you have any other ideas, please let me know.
I shall require the engine to have an efficency of at least 90%, and a maximum false positive rate of 5%. So for example, when the component is tested with a set of 1000 malware files, it must detect at least 900 of them, and when testing it with test data of both malware and non-malware files, should the component find 100 potentially dangerous files, at most 5 of them can be false positives, that is, files that do not contain any malware (as verified with e.g. [login to view URL]). If you wish to negotiate about these numbers, please do so before placing a bid.
As for sample data, feel free to use any virus and malware collections you find online. For example, here is 6 GB of known malware (mainly viruses): [login to view URL]