Kali saya akan berbagi cara Memanfaatkan Engine Antivirus ClamAV untuk membuat Antivirus sendiri. Langsung saja ke tutorial berikut ya
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 tiga ratus ribu lebih saat ini.
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
Catatan: Trik ini hanya trik sederhana agar Antivirus yang anda buat dapat melakukan scan bersamaan dengan ClamAV, anda juga tidak harus mempelajari engine ClamAV untuk trik ini.. just a simple trick
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
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
–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
–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
–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 anda, anda hanya perlu menggunakan parameter-parameter tersebut supaya Antivirus anda dapat bergabung dan bekerja sama dengan ClamAV saat proses scanning file.
Contoh codingnya 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 menampilkan file yang diduga terinfeksi,dan –log membuat log laporan hasil scan ClamAV pada drive C dengan nama clamreport.txt */
/*membuat variabel konstanta untuk menampung parameter clamscan parameter tersebut berarti : -r kita melakukan scan secara recursive (scan folder dan sub foldernya, -i menampilkan 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\\Antivirus_Anda\\ClamAV\\clamscan.exe”, (parameters), (ScanPath), SW_SHOWNORMAL);
Arti perintah shell execute diatas adalah melakukan eksekusi clamscan.exe yang berada di direktori C:\Program Files\Antivirus_Anda\ClamAV kemudian mengatur parameternya dan menentukan lokasi folder yang akan discan (scanpath).
Pada Antivirus yang saya buat, fungsi scanpath adalah fungsi untuk melakukan scanning pada folder dan subfolder.
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.
Pada Antivirus yang saya coba diatas, saya menampilkan hasil log scan ClamAV pada sebuah textbox, sehingga “terlihat duet enginenya“.
Semoga bisa menjadi referensi anda dan selamat mencoba^^
Komentar
Posting Komentar