01 Februari 2010 Presentasi Tugas Akhir - KI 1391 1
PRESENTASI TUGAS AKHIR – KI 1391
IMPLEMENTASI APLIKASI ANTI-VIRUS
BERBASIS PYTHON-FUSE DAN CLAMAV
PADA SISTEM OPERASI UNIX
Penyusun Tugas Akhir :
Farchan Abdi Pahar
(NRP : 5104 100 048)
Dosen Pembimbing :
Wahyu Suadi, S.Kom, MM, M.Kom.
Bagus Jati Santoso, S.Kom
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 2
Duh..
Komputer aku
kok lemot ya??
Kena virus
yah??
Atau ga service
program yang
jalan di komp
kamu kebanyakan Kayaknya dua-
duanya deh..
Mana ada data
penting lagi
Mau install atau
tapi komputerku ga kuat..
soalnya service
di komputernya
itu jalan terus
Trus gmn ??
Pake ajaEnteng kok..
Open source
lagi..
Selain itu bisa di
implementasikan
menggunakan
PythonFUSE
Beneran..
Serius ???
LATAR BELAKANG
Jadi butuh
resource memory
cukup banyak
Emang berat sih..
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 3
Bagaimana mengimplementasikan aplikasi anti-virus yang memanfaatkan library
ClamAV di lingkungan UNIX
Bagaimana mengkomunikasikan antara FUSE dan ClamAV daemon
1.
2.
Bagaimana merancang dan menerapkan algoritma dalam proses scanning dan
caching di dalam sistem3.
PERUMUSAN PERMASALAHAN
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 4
Clam File System (ClamFS) : Aplikasi yang berfungsi sebagai
filesystem dimana memberikan fasilitas kepada penggunanya
berupa setiap pengaksesan file yang berada pada filesystem
tersebut akan di scan terlebih dahulu oleh daemon dari anti-virus
SOLUSI
Aplikasi ini berbasis PythonFUSE (Filesystem in Userspace) dan
menggunakan ClamAV sebagai anti-virus scanner-nya
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 5
FUSE
Fuse merupakan sebuah kerangka filesystem pada area pengguna.
Terdiri dari sebuah modul kernel, sebuah library pada area
pengguna, dan sebuah utilitas untuk melakukan proses mount /
fusermount
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 6
ClamFS
ARSITEKTUR SISTEM
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 7
Check Timestamp
is Modified or not
Is Path
Exist on
Cache
Start
Scan File with
Clamd
Add/Update to
Cache
Check Status Block
on Cache
Is File
Modified
Return/Aborting
File Operation
Is File
Blocked
End
ALGORITMA OPERASI SCAN
no
yes
yes
no
no
yes
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 8
Ketika fungsi open file dilakukan
KAPAN APLIKASI INI DILAKUKAN
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 9
CACHE
Pembuatan cache disini ditujukan agar hasil dari setiap file yang
telah di-scan dapat disimpan dalam sebuah block memory.
Tujuannya adalah untuk meningkatkan performa, agar tidak perlu
terjadi pengecekan ganda terhadap satu file yang sudah pernah
ter-scan sebelumnya.
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 10
CACHE
Path File Timestamp Block Status
Path absolute dari file yang diaksesWaktu terakhir file dibuat/dimodifikasiHasil scan dari clamd (terblok/tidak)
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 11
OPERASI-OPERASI PADA CACHE
1.
4.
3.
2.
5.
Pencarian Path File dalam Cache
Penambahan Attribute File dalam Cache
Pengecekan Timestamp File dalam Cache
Update Attribute File dalam Cache
Pengecekan Block Status File dalam Cache
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 12
(Path, timestamp, block status)A 1 T
Pencarian Path File dalam Cache
(C, 1, T)
B 2 T
C 3 T
… … …
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 13
A 1 T
Penambahan Attribut File dalam Cache
(D, 1, T)
B 2 T
C 3 T
D 1 T
tidak ditemukan path yang cocok,
maka tambahkan attribut file dalam cache
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 14
A 1 T
Pengecekan Timestamp File dalam Cache
(D, 1, T)
B 2 T
C 3 T
D 1 T
Cek kedua timestamp, apakah masih sama
atau sudah berubah
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 15
A 1 T
Update Attribut File dalam Cache
(D, 4, T)
B 2 T
C 3 T
D 1 T
Set ftimestamp = timestamp
4
Fblock status = block status
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 16
A 1 T
Pengecekan Block Status File dalam Cache
(C, 3, T)
B 2 T
C 3 F
D 1 T
if Block Status = False False
If Block Status = True Allowed
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 17
Komunikasi Antara ClamFS dan Clamd
ClamFS Clamd
1. Get Absolute Path of File
4. Grab Respond from Clamd
3. Sending Command Protocol
2. Contact Clamd via Unix Socket
5. Check Respond OK or Not
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 18
UJI COBA
1.
3.
2.
Uji coba baca file yang terinfeksi virus
Uji coba baca file yang sudah termodifikasi
Uji coba baca file yang sama sebanyak 2 kali
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 19
UJI COBA
Log Filesystem saat ditemukan virus
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 20
UJI COBA
Log Filesystem saat file yang ada di cache dimodifikasi
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 21
UJI COBA
Log Filesystem saat pembacaan pertama
Log Filesystem saat pembacaan kedua
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 22
KELEBIHAN
1.
2.
Program ini hanya melakukan operasi scan ketika dilakukan
fungsi open file. Sehingga kebutuhan akan resource memory
dapat berkurang.
Adanya fitur cache, yang bertujuan untuk menghindari
pengecekan ganda terhadap suatu file yang yang telah ter-scan.
Sehingga pengaksesan file dapat dilakukan dengan cepat tanpa
perlu khawatir akan adanya virus.
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 23
KEKURANGAN
1.
2.
Proses update Anti-Virus dilakukan secara manual
Tampilan program masih berupa console
3. Daftar file yang telah di-scan tidak bisa dilihat
4. Tidak dapat melakukan proses scan secara keseluruhan
5.Operasi scan hanya dapat dilakukan dalam ruang lingkup
filesystem yang sama
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 24
KESIMPULAN
1.
2.
3.
Implementasi aplikasi anti-virus yang memanfaatkan library
ClamAV di lingkungan UNIX dapat diterapkan
Penggunaan fitur cache pada aplikasi dapat meningkatkan waktu
yang dibutuhkan untuk mengeksekusi sebuah file.
Komunikasi antara filesystem yang dibangun dengan daemon
dari ClamAV dapat diimplementasikan.
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 25
SARAN
1.
2.
Penyimpanan cache sebaiknya dilakukan dengan menggunakan
database agar daftar-daftar file yang telah di-scan dapat dilihat.
Disediakan interface yang lebih baik dan menarik, misal dengan
menambahkan fitur GUI untuk memudahkan user dalam
penggunaannya.
01 Februari 2010 Presentasi Tugas Akhir - KI 1391 26
TERIMA KASIH