Minggu, 24 Juni 2012

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

1 komentar:

(C) 2018. Diberdayakan oleh Blogger.

Categories

Followers