BAB 9
KEAMANAN SISTEM
(lanjutan)
9.8 Program-program jahat
Ancaman-ancaman canggih terhadap sistem komputer adalah program yang
mengeksploitasi kelemahan sistem operasi. Kita berurusan dengan program
aplikasi begitu juga program utilitas seperti editor dan kompilator.
Terdapat taksonomi ancaman perangkat lunak atau klasifikasi program jahat
(malicious program), yaitu :
1. Program-program yang memerlukan program inang (host program).
Fragmen program tidak dapat mandiri secara independen dari suatu program
aplikasi, program utilitas atau program sistem.
2. Program-program yang tidak memerlukan program inang.
Program sendiri yang dapat dijadwalkan dan dijalankan oleh sistem operasi.
Pembagian atau taksonomi menghasilkan tipe-tipe program jahat sebagai berikut :
1. Bacteria.
Bacteria adalah program yang mengkonsumsi sumber daya sistem dengan
mereplikasi dirinya sendiri. Bacteria tidak secara eksplisit merusak
file. Tujuan program ini hanya satu yaitu mereplikasi dirinya.
Program bacteria yang sederhana bisa hanya mengeksekusi dua kopian
dirinya secara simultan pada sistem multiprogramming atau menciptakan
dua file baru, masing-masing adalah kopian file program bacteria.
Kedua kopian in kemudian mengkopi dua kali, dan seterusnya.
2. Logic bomb.
Logic bomb adalah logik yang ditempelkan pada program komputer agar
memeriksa suatu kumpulan kondisi di sistem. Ketika kondisi-kondisi yang
dimaksud ditemui, logik mengeksekusi suatu fungsi yang menghasilkan
aksi-aksi tak diotorisasi.
Logic bomb menempel pada suatu program resmi yang diset meledak ketika
kondisi-kondisi tertentu dipenuhi. Contoh kondisi-kondisi untuk memicu
logic bomb adalah ada atau tudak adanya file-file tertentu, hari tertentu
daru minggu atau tanggal, atau pemakai menjalankan aplikasi tertentu.
Begitu terpicu, bomb mengubah atau menghapus data atau seluruh file,
menyebabkan mesin terhenti, atau mengerjakan perusakan lain.
3. Trapdoor.
Trapdoor adalah titik masuk tak terdokumentasi rahasia di satu program
untuk memberikan akses tanpa metode-metode otentifikasi normal.
Trapdoor telah dipakai secara benar selama bertahun-tahun oleh pemogram
untuk mencari kesalahan program. Debugging dan testing biasanya dilakukan
pemogram saat mengembangkan aplikasi. Untuk program yang mempunyai
prosedur otentifikasi atau setup lama atau memerlukan pemakai memasukkan
nilai-nilai berbeda untuk menjalankan aplikasi maka debugging akan lama
bila harus melewati prosedur-prosedur tersebut.
Untuk debug program jenis ini, pengembang membuat kewenangan khusus atau
menghilangkan keperluan setup dan otentifikasi. Trapdoor adalah kode
yang menerima suatu barisan masukan khusus atau dipicu dengan menjalankan
ID pemakai tertentu atau barisan kejahatan tertentu. Trapdoor menjadi
ancaman ketika digunakan pemrogram jahat untuk memperoleh pengkasesan
tak diotorisasi. Pada kasus nyata, auditor (pemeriks) perangkat lunak
dapat menemukan trapdoor pada produk perangkat lunak dimana nama pencipta
perangkat lunak berlakuk sebagai password yang memintas proteksi perangkat
lunak yang dibuatnya. Adalah sulit mengimplementasikan kendali-kendali
perangkat lunak untuk trapdoor.
4. Trojan horse.
Trojan horse adalah rutin tak terdokumentasi rahasia ditempelkan dalam
satu program berguna. Program yang berguna mengandung kode tersembunyi
yang ketika dijalankan melakukan suatu fungsi yang tak diinginkan.
Eksekusi program menyebabkan eksekusi rutin rahasia ini. Program-program
trojan horse digunakan untuk melakukan fungsi-fungsi secara tidak
langsung dimana pemakai tak diotorisasi tidak dapat melakukannya secara
langsung. Contoh, untuk dapat mengakses file-file pemakai lain pada
sistem dipakai bersama, pemakai dapat menciptakan program trojan horse.
Trojan horse ini ketika program dieksekusi akan mengubah ijin-ijin file
sehinga file-file dapat dibaca oleh sembarang pemakai. Pencipta program
dapat menyebarkan ke pemakai-pemakai dengan menempatkan program di
direktori bersama dan menamai programnya sedemikian rupa sehingga
disangka sebagai program utilitas yang berguna. Program trojan horse
yang sulit dideteksi adalah kompilator yang dimodifikasi sehingga
menyisipkan kode tambahan ke program-program tertentu begitu dikompilasi,
seperti program login. Kode menciptakan trapdoor pada program login yang
mengijinkan pencipta log ke sistem menggunakan password khusus.
Trojan horse jenis ini tak pernah dapat ditemukan jika hanya membaca
program sumber. Motivasi lain dari trojan horse adalah penghancuran data.
Program muncul sebagai melakukan fungsi-fungsi berguna (seperti
kalkulator), tapi juga secara diam-diam menghapus file-file pemakai.
Trojan horse biasa ditempelkan pada program-program atau rutin-rutin
yang diambil dari BBS, internet, dan sebagainya.
5. Virus.
Virus adalah kode yang ditempelkan dalam satu program yang menyebabkan
pengkopian dirinya disisipkan ke satu program lain atau lebih.
Program menginfeksi program-program lain dengan memodifikasi program-
program itu. Modifikasi itu termasuk memasukkan kopian program virus
yang kemudian dapat menginfeksi program-program lain. Selain hanya
progasi, virus biasanya melakuka fungsi yang tak diinginkan. Seperti
virus biologis, pada virus komputer terdapat kode intruksi yang dapat
membuat kpian sempurna dirinya. Ketika komputer yang terinfeksi
berhubungan (kontak) dengan perangkat lunak yang belum terinfeksi,
kopian virus memasuki program baru. Infeksi dapat menyebar dari komputer
ke komputer melalui pemakai-pemakai yang menukarkan disk atau mengirim
program melalui jaringan. Pada lingkungan jaringan, kemampuan mengakses
aplikasi dan layanan-layanan komputer lain merupakan fasilitas sempurna
penyebaran virus.
6. Worm.
Adalah program yang dapat mereplikasi dirinya dan mengirim kopian-kopian
dari komputer ke komputer lewat hubungan jaringan. Begitu tiba, worm
diaktifkan untuk mereplikasi dan progasai kembali. Selain hanya propagasi,
worm biasanya melakukan fungsi yang tak diinginkan. Network worm
menggunakan hubungan jaringan untuk menyebar dari sistem ke sistem lain.
Sekali aktif di suatu sistem, network worm dapat berlaku seperti virus
atau bacteria, atau menempelkan program trojan horse atau melakukan
sejumlah aksi menjengkelkan atau menghancurkan. Untuk mereplikasi dirinya,
network worm menggunakan suatu layanan jaringan, seperti :
o Fasilitas surat elektronik (electronic mail facility), yaitu worm
mengirimkan kopian dirinya ke sistem-sistem lain.
o Kemampuan eksekusi jarak jauh (remote execution capability), yaitu
worm mengeksekusi kopian dirinya di sistem lain.
o Kemampuan login jarak jauh (remote login capability), yaitu worm log
pada sistem jauh sebagai pemakai dan kemudian menggunakan perintah
untuk mengkopi dirinya dari satu sistem ke sistem lain.
Kopian program worm yang baru kemudian dijalankan di sistem jauh dan
melakukan fungsi-fungsi lain yang dilakukan di sistem itu, worm terus
menyebar dengan cara yang sama. Network worm mempunyai ciri-ciri yang
sama dengan virus komputer, yaitu mempunyai fase-fase sama, yaitu :
o Dormant phase.
o Propagation phase.
o Trigerring phase.
o Execution phase.
Network worm juga berusaha menentukan apakah sistem sebelumnya telah
diinfeksi sebelum mengirim kopian dirinya ke sistem itu.
9.9 Virus dan antivirus
Virus adalah sama dengan program komputer lain. Perbedaan dengan program
lain adalah virus dapat mencantolkan dirinya ke program lain dan
mengeksekusi kodenya secara rahasia setiap kali program inang berjalan.
Masalah yang ditimbulkan virus adalah virus sering merusak sistem komputer
seperti menghapus file, partisi disk, atau mengacaukan program. Virus
mengalami siklus hidup empat fase (tahap), yaitu :
1. Fase tidur (dormant phase).
Virus dalam keadaan menganggur. Virus akan tiba-tiba aktif oleh suatu
kejadian seperti tibanya tanggal tertentu, kehadiran program atau file
tertentu, atau kapasitas disk yang melewati batas. Tidak semua virus
mempunyai tahap ini.
2. Fase propagasi (propagation phase).
Virus menempatkan kopian dirinya ke program lain atau daerah sistem
tertentu di disk. Program yang terinfeksi virus akan mempunyai kloning
virus. Kloning virus itu dapat kembali memasuki fase propagasi.
3. Fase pemicuan (triggering phase).
Virus diaktifkan untuk melakukan fungsi tertentu. Seperti pada fase tidur,
fase pemicuan dapat disebabkan beragam kejadian sistem termasuk
penghitungan jumlah kopian dirinya.
4. Fase eksekusi (execution phase).
Virus menjalankan fungsinya, fungsinya mungkin sepele seperti sekedar
menampilkan pesan dilayar atau merusak seperti merusak program dan
file-file data, dan sebagainya.
Kebanyakan virus melakukan kerjanya untuk suatu sistem operasi tertentu,
lebih spesifik lagi pada platform perangkat keras tertentu. Virus-virus
dirancang memanfaatkan rincian-rincian dan kelemahan-kelemahan sistem
tertentu.
Infeksi virus
Sekali virus telah memasuki sistem dengan menginfeksi satu program, virus
berada dalam posisi menginfeksi beberapa atau semua file .exe lain di
sistem itu saat program yang terinfeksi dieksekusi. Infeksi virus dapat
sepenuhnya dihindari dengan mencegah virus masuk sistem. Pencegahan ini
sangat luar biasa sulit karena virus dapat menjadi bagian program di luar
sistem. Kebanyakan virus mengawali infeksinya pengkopian disk yang telah
terinfeksi virus. Banyak disk berisi game atau utilitas di rumah dikopikan
ke mesin kantor. Disk berisi virus pun dapat terdapt di disk yang dikirim
produsen aplikasi. Hanya sejumlah kecil infeksi virus yang dimulai dari
hubungan jaringan.
Tipe-tipe virus
Saat ini perkembangan virus masih berlanjut, terjadi perlombaan antara
penulis virus dan pembuat antivirus. Begitu satu tipe dikembangkan
antivirusnya, tipe virus yang lain muncul. Klasifikasi tipe virus adalah
sebagai berikut :
o Parasitic virus.
Merupakan virus tradisional dan bentuk virus yang paling sering.
Tipe ini mencantolkan dirinya ke file .exe. Virus mereplikasi ketika
program terinfeksi dieksekusi dengan mencari file-file .exe lain untuk
diinfeksi.
o Memory resident virus.
Virus memuatkan diri ke memori utama sebagai bagian program yang menetap.
Virus menginfeksi setiap program yang dieksekusi.
o Boot sector virus.
Virus menginfeksi master boot record atau boot record dan menyebar saat
sistem diboot dari disk yang berisi virus.
o Stealth virus.
Virus yang bentuknya telah dirancang agar dapat menyembunyikan diri dari
deteksi perangkat lunak antivirus.
o Polymorphic virus.
Virus bermutasi setiap kali melakukan infeksi. Deteksi dengan penandaan
virus tersebut tidak dimungkinkan.
Penulis virus dapat melengkapi dengan alat-alat bantu penciptaan virus baru
(virus creation toolkit, yaitu rutin-rutin untuk menciptakan virus-virus
baru). Dengan alat bantu ini penciptaan virus baru dapat dilakukan dengan
cepat. Virus-virus yang diciptakan dengan alat bantu biasanya kurang canggih
dibanding virus-virus yang dirancang dari awal.
Antivirus
Solusi ideal terhadap ancaman virus adalah pencegahan. Jaringan diijinkan
virus masuk ke sistem. Sasaran ini, tak mungkin dilaksanakan sepenuhnya.
Pencegahan dapat mereduksi sejumlah serangan virus. Setelah pencegahan
terhadap masuknya virus, maka pendekatan berikutnya yang dapat dilakukan
adalah :
o Deteksi.
Begitu infeksi telah terjadi, tentukan apakah infeksi memang telah terjadi
dan cari lokasi virus.
o Identifikasi.
Begitu virus terdeteksi maka identifikasi virus yang menginfeksi program.
o Penghilangan.
Begitu virus dapat diidentifikasi maka hilangkan semua jejak virus dari
program yang terinfeksi dan program dikembalikan ke semua (sebelum
terinfeksi).
Jika deteksi virus sukses dilakukan, tapi identifikasi atau penghilangan
jejak tidak dapat dilakukan, maka alternatif yang dilakukan adalah menghapus
program yang terinfeksi dan kopi kembali backup program yang masih bersih.
Sebagaimana virus berkembang dari yang sederhana menjadi semakin canggih,
begitu juga paket perangkat lunak antivirus. Saat ini program antivirus
semakin kompleks dan canggih. Perkembangan program antivirus dapat diperiode
menjadi empat generasi, yaitu :
1. Generasi pertama : sekedar scanner sederhana.
Antivirus menscan program untuk menemukan penanda (signature) virus.
Walaupun virus mungkin berisi karakter-karakter varian, tapi secara
esensi mempunyai struktur dan pola bit yang sama di semua kopiannya.
Teknis ini terbatas untuk deteksi virus-virus yang telah dikenal.
Tipe lain antivirus generasi pertama adalah mengelola rekaman panjang
(ukuran) program dan memeriksa perubahan panjang program.
2. Generasi kedua : scanner yang pintar (heuristic scanner).
Antivirus menscan tidak bergantung pada penanda spesifik. Antivirus
menggunakan aturan-aturan pintar (heuristic rules) untuk mencari
kemungkinan infeksi virus.Teknik yang dipakai misalnya mencari fragmen-
fragmen kode yang sering merupakan bagian virus. Contohnya, antivirus
mencari awal loop enkripsi yang digunakan polymorphic virus dan menemukan
kunci enkripsi. Begitu kunci ditemukan, antivirus dapat mendeskripsi
virus untuk identifikasi dan kemudian menghilangkan infeksi virus.
Teknik ini adalah pemeriksanaan integritas. Checksum dapat ditambahkan
di tiap program. Jika virus menginfeksi program tanpa mengubah checksum,
maka pemeriksaan integritas akan menemukan perubahan itu.
Untuk menanggulangi virus canggih yang mampu mengubah checksum saat
menginfeksi program, fungsi hash terenkripsi digunakan. Kunci enkripsi disimpan secara terpisah dari program sehingga program tidak dapat menghasilkan kode hash baru dan mengenkripsinya. Dengan menggunakan fungsi hash bukan checksum sederhana maka mencegah virus menyesuaikan program yang menghasilkan kode hash yang sama seperti sebelumnya.
3. Generasi ketiga : jebakan-jebakan aktivitas (activity trap).
Program antivirus merupakan program yang menetap di memori (memory
resident program). Program ini mengidentifikasi virus melalui aksi-
aksinya bukan dari struktur program yang diinfeksi. Dengan antivirus
semacam in tak perlu mengembangkan penanda-penanda dan aturan-aturan
pintar untuk beragam virus yang sangat banyak. Dengan cara ini yang
diperlukan adalah mengidentifikasi kumpulan instruksi yang berjumlah
sedikit yang mengidentifikasi adanya usaha infeksi. Kalau muncul kejadian
ini, program antivirus segera mengintervensi.
4. Generasi keempat : proteksi penuh (full featured protection).
Antivirus generasi ini menggunakan beragam teknik antivirus secara
bersamaan. Teknik-teknik ini meliputi scanning dan jebakan-jebakan
aktivitas. Antivirus juga mempunyai senarai kapabilitas pengaksesan
yang membatasi kemampuan virus memasuki sistem dan membatasi kemampuan
virus memodifikasi file untuk menginfeksi file.
Pertempuran antara penulis virus dan pembuat antivirus masih berlanjut.
Walau beragam strategi lebih lengkap telah dibuat untuk menanggulangi
virus, penulis virus pun masih berlanjut menulis virus yang dapat melewati
barikade-barikade yang dibuat penulis antivirus. Untuk pengaman sistem
komputer, sebaiknya pengaksesandan pemakaian komputer diawasi dengan
seksama sehingga tidak menjalankan program atau memakai disk yang belum
terjamin kebersihannya dari infeksi virus. Pencegahan terbaik terhadap
ancaman virus adalah mencegah virus memasuki sistem disaat yang pertama.
DAFTAR PUSTAKA
1. Hariyanto, Bambang, Ir., Sistem Operasi, Penerbit Informatika, Bandung,
1999
2. Tanenbaum, Andrew S., Modern Operating Systems, Prentice Hall Inc., 1992
Ke Menu
Last updated : 26 Juni 2000