Menggabungkan Clamav dengan AntiVirus Kita
Clamav adalah sebuah AntiVirus open source yang cukup ampuh dalam mendeteksi malware (Virus,Worm dan teman-temannya)dan dengan jumlah database malware yang dimiliki Clamav sangat besar,kira-kira satu juta dua ratus ribu
Banyak AntiVirus lokal (AntiVirus Indonesia) yang ingin menggabungkan AntiVirusnya dengan Clamav namun banyak juga yang memikirkan lisensi Clamav yang bersifat open-source tersebut.Tidak masalah jika AntiVirus yang ingin digabungkan dengan Clamav tersebut ingin open source,tapi bagaimana jika tidak mau ikut-ikutan open source?
Dalam dokumentasi Clamav (clamdoc.pdf) tertulis bahwa: "Segala program yang menggunakan library Clamav haruslah bersifat open source" namun jika kita memakai trik dibawah ini,mudah-mudahan AntiVirus kita tidak harus terlibat lisensi open source tersebut :)
untuk project ini,kita harus mempersiapkan:
1. file pendukung clamav seperti clamscan.exe,libclamav.dll,database clamav seperti main.cvd dan sebagainya
2. sebelumnya,kita harus tahu parameter clamscan.exe,tapi apa itu clamscan.exe?? clamscan.exe adalah scanner clamav yang mempunyai parameter-parameter yang bisa kita gunakan pada AntiVirus kita dalam mendeteksi malware,parameter-parameter tersebut adalah:
--help -h Print this help screen
--version -V Print version number
--verbose -v Be verbose
--debug Enable libclamav's debug messages
--quiet Only output error messages
--stdout Write to stdout instead of stderr
--no-summary Disable summary at end of scanning
--infected -i Only print infected files
--bell Sound bell on virus detection
--show-progress Print progress indicator for each file
--tempdir=DIRECTORY Create temporary files in DIRECTORY
--leave-temps Do not remove temporary files
--database=FILE/DIR -d FILE/DIR Load virus database from FILE or load
all .cvd and .db[2] files from DIR
--log=FILE -l FILE Save scan report to FILE
--recursive -r Scan subdirectories recursively
--remove Remove infected files. Be careful!
--move=DIRECTORY Move infected files into DIRECTORY
--copy=DIRECTORY Copy infected files into DIRECTORY
--exclude=PATT Don't scan file names containing PATT
--exclude-dir=PATT Don't scan directories containing PATT
--include=PATT Only scan file names containing PATT
--include-dir=PATT Only scan directories containing PATT
--detect-pua Detect Possibly Unwanted Applications
--exclude-pua=CAT Skip PUA sigs of category CAT
--include-pua=CAT Load PUA sigs of category CAT
--detect-structured Detect structured data (SSN, Credit Card)
--structured-ssn-format=X SSN format (0=normal,1=stripped,2=both)
--structured-ssn-count=N Min SSN count to generate a detect
--structured-cc-count=N Min CC count to generate a detect
--no-mail Disable mail file support
--keep-mbox Don't delete/rename mailboxes
--memory Scan loaded executable modules
--kill -k Kill/Unload infected loaded modules
--unload -u Unload infected modules from processes
--no-phishing-sigs Disable signature-based phishing detection
--no-phishing-scan-urls Disable url-based phishing detection
--heuristic-scan-precedence Stop scanning as soon as a heuristic match is found
--phishing-ssl Always block SSL mismatches in URLs (phishing module)
--phishing-cloak Always block cloaked URLs (phishing module)
--no-algorithmic Disable algorithmic detection
--no-pe Disable PE analysis
--no-elf Disable ELF support
--no-ole2 Disable OLE2 support
--no-pdf Disable PDF support
--no-html Disable HTML support
--no-archive Disable archive support
--detect-broken Try to detect broken executable files
--block-encrypted Block encrypted archives
--mail-follow-urls Download and scan URLs
--max-filesize=#n Files larger than this will be skipped and assumed clean
--max-scansize=#n The maximum amount of data to scan for each container file (*)
--max-files=#n The maximum number of files to scan for each container file (*)
--max-recursion=#n Maximum archive recursion level for container file (*)
--max-dir-recursion=#n Maximum directory recursion level
pada project AntiVirus kita,kita hanya perlu menggunakan parameter-parameter tersebut supaya AntiVirus kita dapat bergabung dan bekerja sama dengan Clamav.
contohnya dalam bahasa C adalah:
/*membuat variabel konstanta untuk menampung parameter clamscan parameter tersebut berarti : -r kita melakukan scan secara recursive (scan folder dan sub foldernya, -i menampilakn file yang diduga terinfeksi,dan --log membuat log laporan hasil scan clamav pada drive C dengan nama clamreport.txt */
const char parameters[] = "-r -i --log=C:\\clamreport.txt";
pada engine Scan AntiVirus anda tambahkan fungsi ShellExecute berikut ini:
ShellExecute(NULL,"open","C:\\Program Files\\ByteCode AntiVirus 1.0.4\\Clamav\\clamscan.exe", (parameters), (ScanPath), SW_SHOWNORMAL);
arti perintah shell execute diatas adalah melakukan eksekusi clamscan.exe yang berada di direktori kemudian mengatur parameternya dan menentukan lokasi folder yang akan discan (scanpath)
Jadi ketika AntiVirus yang kita buat melakukan scan pada folder misalkan C:\WINDOWS,maka secara otomatis
ClamAV akan ikut melakukan scanning di folder C:\WINDOWS tersebut..
ini hasilnya pada AntiVirus saya:
referensi:
http://en.wikipedia.org/wiki/Clam_AntiVirus
http://www.clamav.net/lang/en/doc/
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
Semoga Bermanfaat =)
Artikel ini dibuat oleh Yudha Tri Putra,segala macam bentuk pengcopyan atau menyalin sebagian atau seluruh halaman ini,dapat dikenakan sanksi dan melanggar Hak Cipta Yudha Tri Putra sebagai Blogger
Subhanallah :D
BalasHapus