BAB 14
KEAMANAN SISTEM OPERASI
Pada bab 13, kita telah membicarakan bermacam-macam ekanisme yang dimana
sistem yang beroperasi dapat menyediakan (dengan pertolongan yang semestinya dari
hardware) yang memungkinkan pemakai dapat melindungi sumber mereka (biasanya
program dan data). Mekanisme ini bekerja dengan baik selama pemakai tidak mencoba
untuk mengelakkan penggunaa semestinya dan akses ke sumber ini. Sayangnya, situasi
ini jarang terwujud. Ketika ini tidak, keamanan memiliki peran. Dpat dikatakan bahwa
sistem aman jika sumbernya dipakai dan diakses sebagaimana semestinya dalam
semua keadaan. Sayangnya, ini tidak mungkin.secara umum untuk mencapai
keamanan total. Jika demikian, mekanisme harus siap untuk membuat pencabangan
keamanan yang tidak biasa dan tidak seperti normalnya.
Kekerasan dalam keamanan (penyalah gunaan) sistem ini dapat dikategorikan
sebagai kekerasan yang disengaja (penyalah gunaan) atau kecelakaan. Mudah untuk
memproteksi melawan penyalah gunaan yang disengaja daripada pengrusakan.
Diantaranya akses yang merusak adalah :
• Pembacaan data yang tidak seharusnya
• Modifikasi data yang tidak semestinya
• Pengrusakan data yang tidak seharusnya
Proteksi absolut pada sistem dari pelanggaran yang merusak tidaklah mungkin,
tapi biaya pelaku kejahatan dapat menjadi sangat tinggi untuk menghalangi sebagian
besar, jika tidak semua usaha pengaksesan tanoa autorisasi yang semestinya, informasi
terletak dalam sistem.
Untuk memproteksi sistem, kita harus mengambil tolak ukur keamanan dalam
dua tahap :
• Fisik : situs atau situs yang berisi sistem computer harus secara fisik
diamankan dari entry yang berbahaya atau entry yang mencuri-curi oleh
pengganggu.
• Manusia : user harus disaring dengan hati hati agar kesempatan
autorisasi seorang user yang kemudian memberi akses dengan sebuah perusakan
(dengan sebagai gantinya adanya suap contohnya) dapat dikurangi.
Keamanan pada kedua tahapan tersebut harus diusahakan jika sistem operasi
keamanannya dapat dipastikan. Sebuah kelemahan pada keamanan tingkat tinggi (fisik
atau manusia) mengijinkan adanya pengelakkan pada tingkat rendahnya (sistem
operasi) pada ukursn keselamatan.
Ini berharga dalam banyak aplikasi, untuk mencurahkan usaha yang seharusnya
bagi keamanan pada sistem computer. Sistem komersial yang besar memiliki giliran
kerja atau data keuangan yang mengundang untuk menjadi incaran pencuri. Sistem
yang terdiri dari data yang menyinggung pada operasi korporat dapat menarik
kompetitor yang jahat. Terlebih lagi, hilangnya data seperti itu apakah melalui
kecelakaan atau penipuan dapat dengan serius menghalangi fungsi korporat tersebut.
Dilain pihak, sistem hardware harus memiliki proteksi (sebagaimana dijelaskan
pada bab 13) untuk membuatnya bisa mengimplementasikan fitur keamanan. Misalnya,
MS-DOS dan Machintosh OS menyediakan keamanan yang kecil karena hardware
yang dalam desain aslinya tidak memiliki memori atau proteksi I/O. sekarang hardware
tersebut telah menjadi cukup menakjubkan dalam penyediaan proteksinya, pendesain
sistem operasinya memperjuangkan untuk menambah keamanan. Sayangnya
penambahan fitur untuk sebuah sistem fungsional lebih sulit dan menjadi tugas yang
menantang dari pada proses desainnya dan pengimplementasian fitur sebelum sistem
dibangun. Sistem operasi yang terakhir, seperti pada Windows NT, telah didesain
untuk menyediakan fitur keamanan dari awal.
Dalam catatan bab ini, kami tegaskan untuk keamanan pada tahapan sistem yang
berjalan. Keamanan pada tahap fisik dan manusia meskipun penting, jauh dari bidang
yang sedang dinicarakan. Keamanan didalam sistem yang sedang berjalan
diimplementasikan dalam beberapa tahapan bertingkat dari kata sandi untuk akses ke
sistem untuk isolasi pada proses tertentu yang sedang berjalan didalam sistem. Sistem
berkas juga menyediakan beberapa tingkatan proteksi.
Masalah keamanan yang utama untuk sistem yang beroperasi adalah masalah
pembuktian keaslian. Sistem proteksi tergantung pada sebuah kemampuan untuk
mengenal program dan akses yang sedang dijalankan. Kemampuan ini nantinya
meskipun tergantung pada kemampuan kita unutk mengenal setiap user sistem. User
biasa mengenalkan dirinya. Bagaimana kita menentukan apakah identitas seorang user
adalah asli? Umumnya pembuktian ini berdasar pada satu atau tiga item : milik user
(kunci atau kartu), pengetahuan user (sebuah pengidentifikasi user atau kata sandi), dan
sebuah atribut user (cap jari tangan,pola retina atau tanda tangan).
(dikenal dengan ‘shoulders surfing’) ketika user mengakses masuk, dan dapat juga
dengan melihat kata sandi dari keyboard. Sebagai kemungkinan lain, setiap orang
dengan akses ke jaringan dimana komputer berada dapat tanpa terlihat menambahkan
sebuah pengawasan pada jaringan, membuat dia dapat melihat semua data yang telah
sedang ditransfer pada jaringan tersebut (‘sniffing/penciuman’), termasuk ID user dan
kata sandinya. Pembongkaran dalah masalah yang kadang sederhana jika kata sandi
tertulis sehingga ini dapat terbaca ataupun hilang. Sebagaimana kita tahu, beberapa
sistem memaksa usernya untuk memilih kata sandi yang susah diingat ataupun kata
sandi yang panjang. Paling buruknya, kebutuhan ini dapat menyebabkan user mencatat
kata sandi, memberikan model keamanan yang sungguh buruk daripada hasilnya
dimana sistem dapat membuat kata sandi yang lebih sederhana!.
Kompromi kata sandi yang terakhir dalah sifat manusia sendiri. Sebagian besar
instalasi komputer memilijki aturan yang user-nya tidak diijinkan untuk membagi
accountnya. Aturan ini kadang dipakai dengan alas an-alasan akuntansi, tapi lebih
sering dipakai untuk membantu keamanannya. Misalnya, lika ID seorang user dibagi
dengan beberapa user, dan penerobosan keamanan terjadi dari para user tersebut, ini
akan menjadi sulit untuk mengetahui siapa yang telah menggunakan ID user pada saat
itu, atau bahkan apakah user tersebut adalah user yang sah. Dengan satu orang satu ID
user, setiap user melanggar aturan pembagian account untuk membantu teman atau
pengelakan account, dan perilaju ini dapat memberikan hasil dimana sistem dapat
diakses oleh user tidak sah – mungkin mereka yang berbahaya.
Kata sandi dapat disederhanakan dengan sistem atau penyeleksian oleh user.
Kata sandi sistem yang disederhakan dapat menjadi sulit unutk diingat, dan secara
umum user akan menuliskannya. Kata sandi yang dipilih user bagaimanapun kadang
sangat mudah untuk ditebak (nama user atau mobil favoritnya misalnya). Pada
beberapa situs, administrator biasanya mengecek kata sandi user dan mengenali user
jika kata sandinya terlalu pendek atau telalu mudah untuk ditebak. Beberapa sistem
termasuk age kata sandi, memaksa user merubah kata sandi mereka dengan onterval
yang regular (tiga bulan sekali misalnya). Metode ini juga bukan metode yang cerdas
juga, karena user biasanya memulai dengan dua kata sandi. Solusinya, sebagaimana
dipakai pada beberapa sistem, adalah dengan mencatat sejarah kata sandi yang kita
pakai untuk setiap user. Misalnya, sistem dapat membaca N terakhir kata sandi dan
tidak mengijinkan penggunaannya.
Beberapa macam pada kata sandi sederhana ini dapat dipakai. Contohnya kata
sandi dapat dirubah secara teratur. Dengan pertimbangan terburuknya, kata sandi dapat
dirubah untuk tiap ssi kita. Sebuah kata sandi baru dipilih (baik sistem maupun user)
pada akhir sesi, dan kata sandi tersebut harus digunakan untuk sesi berikutnya. Ingat
bahwa, meskipun jika kata sandi disalah gunakan, ini hanya dapat dipakai sekali saja,
dan penggunaan seperti ini mencegah user yang sah menemukan kejahatan keamanan
pada sesi berikutnya, ketika ia mencoba untuk m,enggunakan serbuah kata sandi yang
tidak lagi valid. Ini langkah yang bisa diambil untuk memperbau\iki mulainya
keamanan.
suatu sesi mulai, sistem secara acak memilih dan menghadiahi satu bagian dari suatu
kata sandi memasangkan; pemakai harus menyediakan bagian lain . Di dalam sistem
ini pemakai adalah tantangan.
Pendekatan ini dapat disamaratakan kepada penggunaan dari suatu algoritma
sebagai kata sandi. Algoritma boleh jadi suatu fungsi bilangan bulat, sebagai contoh.
Sistem memilih suatu bilangan bulat acak dan menyajikan ia/nya kepada pemakai.
Pemakai menerapkan fungsi itu dan menjawab dengan hasil yang benar. Sistem juga
menerapkan fungsi itu. Jika keduanya menghasilkan pertandingan, akses diijinkan.
Mensupportnya bahwa ada suatu metoda kata sandi yang tidaklah peka ke
ekspose. Sebagai contoh, seorang pemakai bisa mengetik adalah suatu kata sandi, dan
manapun kesatuan yang menginterupsi berusaha dan kata sandi itu untuk
menggunakan kembali ia/nya akan gagal. Sistim yang demikian ada; itu melibatkan
penggunaan dari kata sandi algorithmic. Di dalam variasi ini, sistem dan pemakai
berbagi suatu rahasia. Rahasia tidak pernah dipancarkan di atas suatu medium yang
mengijinkan ekspose. Melainkan, rahasia digunakan sebagai masukan kepada fungsi,
bersama dengan suatu benih bersama. Suatu benih adalah suatu nomor;jumlah acak
atau urutan alphanumeric. Benih adalah pengesahan menghadapi tantangan dari
computer. Rahasia dan benih digunakan suatu masukan kepada fungsi f(secret,
menabur benih). Hasil dari fungsi ini dipancarkan seperti kata sandi kepada komputer
itu. Sebab komputer juga mengetahui rahasia itu dan benih, itu dapat melaksanakan
perhitungan yang sama. Jika hasil temu, pemakai dibuktikan keasliannya. Lain waktu
yang pemakai perlu untuk dibuktikan keasliannya, benih lain dihasilkan dan langkah-
langkah yang sama berakibat/terjadi. Waktu ini, kata sandi adalah berbeda.
Di dalam sekali sistem kata sandi, kata sandi adalah berbeda pada setiap
kejadian. Seseorang yang menangkap kata sandi dari satu sesi dan berusaha untuk
menggunakan kembali ia/nya di dalam sesi lain akan gagal. Sekali kata sandi adalah di
antara satu-satunya cara untuk mencegah pengesahan tidak pantas dalam kaitan dengan
ekspose kata sandi. Ada banyak sekali sistem kata sandi. Implementasi komersil seperti
menjamin/mengamankan kalkulator perangkat keras penggunaan pengamanan ID.
Kebanyakan adalah di dalam bentuk suatu kartu kredit, tetapi mempunyai suatu keypad
dan memajang.
Beberapa penggunaan waktu yang sekarang sebagai benih yang acak. Pemakai
menggunakan keypad untuk masuk rahasia yang bersama, juga mengenal sebagai suatu
nomor; jumlah identifikasi pribadi. Pajangan menunjukkan yang satu kata sandi waktu.
Variasi lain pada sekali kata sandi adalah penggunaan suatu buku kode, atau sekali
mengisi, yang mana [adalah] daftar kata sandi penggunaan tunggal. Di dalam metoda
ini, masing-masing kata sandi pada atas daftar digunakan, dalam urutan, sekali ketika,
dan kemudian ditunda atau dihapus. yang biasanya Digunakan/ Para pemakai Sistem
Kunci baik suatu kalkulator perangkat lunak maupun suatu buku kode berdasar pada
kalkulasi ini sebagai sumber sekali kata sandi.
Di suatu lingkungan di mana suatu program yang tertulis oleh satu pemakai
mungkin digunakan oleh pemakai lain, ada suatu kesempatan untuk penyalah gunaan,
yang boleh mengakibatkan perilaku tak diduga. Dibagian 13.4.1 dan 13.4.2, kita
menguraikan dua metoda umum dengan mana . seperti itu perilaku boleh terjadi:
Trojan kuda dan pintu kolong/trap doors.
14.4.2 Backdoor
Pelanggaran Keamanan jenis ini telah ditunjukkan bioskop " latihan perang". Sebagai
contoh, kode mungkin melihat kemungkinan pemakai spesifik identifier atau kata
sandi, dan kekuatan berbelit-belit prosedur keamanan normal. [Di/Ke] sana telah
(menjadi) kasus para programmer ditangkap untuk menggelapkan dari bank dengan
termasuk membulatkan kesalahan di (dalam) kode mereka, dan mempunyai;nikmati
yang sekali-kali separuh sen yang dihargai kepada rekening/tg-jawab mereka.
Rekening/Tg-Jawab ini yang kredit kaleng menjumlahkan [bagi/kepada] sejumlah
besar uang, mempertimbangkan banyaknya transaksi yang suatu bank besar
melaksanakan. Suatu pintu kolong pandai bisa jadilah tercakup di suatu compiler.
Compiler bisa menghasilkan kode obyek baku seperti halnya suatu pintu kolong,
dengan mengabaikan source program di-compile.
Aktivitas ini terutama sekali jahat, [karena;sejak] suatu pencarian source
program program tidak akan mengungkapkan manapun permasalahan. Hanya source
program compiler akan berisi informasi [itu]. Pintu kolong bersikap suatu masalah sulit
sebab, untuk mendeteksi [mereka/nya], kita harus meneliti semua source program
untuk semua komponen suatu sistem. dengan yang perangkat lunak sistem boleh terdiri
dari berjuta-juta bentuk kode, analisa ini tidaklah dilaksanakan sering. 20.5 ancaman
sistem Kebanyakan sistem operasi menyediakan bermakna untuk memproses untuk
bertelur lain proses. Dalam . yang sedemikian suatu lingkungan, [itu] adalah mungkin
untuk menciptakan suatu situasi [di mana/jika] sumber daya sistem operasi dan berkas
pemakai disalahgunakan. Dua metoda [yang] paling umum untuk menuju keberhasilan
penyalah gunaan ini adalah cacing dan virus.
14.5.1 Worm
Worms adalah sebuah proses yang menggunakan mekanisme pemantauan yang
dapat menggangggu kinerja sistem. Worm pengintai melakukan penggadaan dirinya
sendiri (meng-copy) dengan menggunakan sumber daya system operasi sehingga
menyebabkan system menjadi terkunci untuk semua proses lain yang sedang berjalan..
Pada [atas] jaringan komputer, cacing terutama sekali kuat, [karena;sejak] mereka
boleh reproduksi [mereka/nya] sendiri antar sistem dan [dengan] begitu menutup [itu]
keseluruhan jaringan. Peristiwa seperti itu terjadi 1988 ke waktu programmer dan
sistem UNIX. Internet menghubungkan beribu-ribu pemerintah, akademis, riset, dan
komputer industri [yang] secara internasional, dan bertindak sebagai infrastruktur [itu]
untuk perubahan [yang] elektronik [dari;ttg] informasi ilmiah. Di yang dekat untuk hari
pekerjaan pada [atas] November 2,1988. Robert tappan morris, Jr., suatu tahun pertama
cornel lulus siswa, melepaskan tali seekor program cacing pada [atas] satu atau lebih
penghuni menghubungkan kepada internet [itu]. Arahkan matahari matahari
microsistems' 3 stasiun-kerja dan VAX komputer yang berlari/menjalankan varian
versi 4 BSD UNIX, cacing [yang] dengan cepat menyebar (di) atas jarak besar; di
dalam beberapa jam tentang pelepasan/release nya , [itu] yang telah mengkonsumsi
sumber daya sistem dengan tujuan untuk mengurangi mesin yang terkena
infeksi/tersebar [itu].
Walaupun Robert morris merancang diri [itu] yang replicating program untuk
distribusi dan reproduksi cepat, sebagian dari corak lingkungan networking yang
UNIX menyajikan rata-rata untuk menyebarkan cacing [itu] sepanjang;seluruh sistem
[itu]. [Itu] seperti yang morris memilih untuk infeksi/peradangan awal [adalah] suatu
internet tuan rumah yang masih terbuka untuk dan dapat diakses ke para pemakai (di)
luar. Dari sana, program cacing memanfaatkan kekurangan di (dalam) keamanan
sistem operasi yang UNIX yang rutin dan mengambil keuntungan dari kegunaan UNIX
yang menyederhanakan sumber daya yang berbagi [adalah] suatu jaringan area lokal
untuk memperoleh un memberi hak akses [bagi/kepada] beribu-ribu lain lokasi
dihubungkan. metoda serangan Morris' diuraikan berikutnya.
Cacing telah terdiri dari dua program, suatu bergulat sangkutan ( juga disebut
tali pengikat sepatu boot atau panah/garis vektor) program dan program yang utama
nama l1.c, bergulat sangkutan terdiri dari 99 bentuk C kode meng-compile dan maju
mesin masing-masing [itu] mengakses. Sekali tercipta pada [atas] sistem di bawah
menyerang, bergulat sangkutan menghubungkan kepada mesin [di mana/jika] [itu]
memulai dan uploaded suatu salinan cacing yang utama ke sistem yang bengkok
( menggambarkan 20.1). Program yang utama yang diteruskan mencari-cari lain mesin
[bagi/kepada] yang mana sistem terkena infeksi/tersebar yang baru saja bisa
menghubungkan dengan mudah.
Di (dalam) tindakan ini, morris memanfaatkan kegunaan networking yang
UNIX, rsh, untuk/karena pelaksanaan tugas remote gampang. Dengan pengaturan
berkas khusus atas yang mendaftar tuan rumah [itu] login pasangan nama, para
pemakai dapat menghilangkan memasuki suatu kata sandi setiap kali mereka
mengakses suatu rekening/tg-jawab remote pada [atas] daftar yang dipasangkan [itu].
Cacing mencari berkas [yang] khusus ini untuk nama lokasi yang akan
mengijinkan pelaksanaan remote tanpa suatu kata sandi. [Di mana/jika] kulit/kerang
remote telah dibentuk/mapan, program cacing adalah uploaded dan mulai pelaksanaan
lagi/kembali. Serangan via akses remote adalah salah satu dari tiga metoda
infeksi/peradangan membangun ke dalam cacing [itu]. Lain dua metoda melibatkan
kutu busuk sistem operasi di (dalam) jari yang UNIX dan mengirimkan program pos.
Fasilitas finger berfungsi sebagai direktori telepon elektronik; perintahnya adalah :
figer username@hostname
kembaliannya adalah pengakuan keberadaannya orang tersebut dan nama login,
disertai juga dengan berbagai informasi yang mungkin disiapkan, seperti alamat rumah
dan kantor, dan nomor telepon, bagaimana melakukan pencarian atau penandaan.
Finger bertindak sebagai proses yang membelakangi (daemon) pada tiap BSD site dan
respon mengenai query melalui internet. Titik singgung terhadap masukkan jahil
menyebabkan pembacaan masukkan dengan tanpa mengecek ikatan dari aliran data.
Program Morris meng-query finger dengan keahlian tipu muslihat 536-byte string
untuk melampaui alokasi buffer bagi input dan untuk menulis ulang frame stack.
Bab 14 Kemanan Sistem Operasi 244
Dosen : Arief Andy Soebroto ST., M.Kom.
Mata Kuliah Sistem Operasi (TKE 258) Bagian V – Proteksi & Kermanan Sistem Operasi
Dalam rangka untuk pengembalian kebiasaan utama yang ada sebelum pangggilan
Morris, daemon finger telah diarahkan pada prosedur yang sekarang memiliki
penyerbuan 536-bytes string tersisa pada stack. Prosedur baru memiliki eksekusi
/bin/sh, yang sukses menyediakan penembak terkendali worm pada mesin
penyerangan.
Ledakan serangga pada sendmail juga turut menyebabkan penggunaan proses
daemon untuk masukkan yang jahil. Sendmail mengatur rute elektronik mail pada
jaringan sekitarnya. Kode untuk mendebug fasilitas mengijinkan untuk mencoba
mengecek dan menampilkan letak dari sistem mail. Menu pilihan proses debug
berguna bagi sistem administrator dan hal ini sering tertinggal pada proses yang
mengikuti. Morris menurut sertakan pemanggilan pada debug penyerangan gudang
persenjataan, yang perlu untuk menspesifikasi alamat pengguna, yang akan tetap
nomal dalam pengetesan, membawa satu set perintah yang mengirim dan
mengeksekusi kopi dari program grappling-hook.
Di saat yang bersamaan, worm utama menjamin suatu usaha yang sistematis
untuk menemukan kata sandi pengguna. Ini dimulai dengan mencoba kasus sederhana
mengenai tidak adanya kata sandi atau konstruksional kata sandi yang dimiliki oleh
nama kombinasi pengguna, kemudian menggunakan perbandingan dengan kamus
internal dari 432 pilihan kata sandi favorit, kemudian menuju pada tahap terakhir untuk
mencari arti tiap kata dari kamus standard UNIX on line sebagai kemungkinan kata
sandi. Pengerjaan ini dan algoritma tiga tahap pemecahan kata sandi yang efisien
memungkinkan worm untuk membangun akses yang lebih jauh kepada user account
yang ada pada sistem yang terinfeksi. Kemudian worm mencari berkas data rsh pada
broken account. Berbagai masukan rsh telah dicoba, dan, dengan menjelaskan terlebih
dulu, worm dapat membangun akses kepada account pengguna dan sistem pengendali.
Dengan tiap akses baru, program worm mencari duplikat asli dari dirinya
sendiri. Bila ditemukan satu, duplikat baru menghilang, kecuali untuk tiap tujuh jarak.
Setelah semua duplikat worm terlihat menghilang, dia menjadi tidak dapat dideteksi.
Mempersilahkan tiap tujuh duplikat untuk memproses (dimungkinkan untuk
mencampur usaha untuk menghentikan penyebarannya dengan worm tiruan) membuat
dua keseluruhan infestasi dari sistem SUN dan VAX di internet.
Bagian penting dari lingkungan kerja UNIX yaitu membantu propagasi worm
dan juga untuk menghentikan perkembangannya. Kemudahan dari komunikasi
elektronik, mekanisme untuk membuat duplikat dari sumber dan berkas biner untuk
membuat mesin pengendali, dan akses dari kedua sumber kode dan keahlian manusia
mengijinkan untuk membantu pengerjaan pengembangan solusi untuk memproses
apace. Di sore hari berikutnya, 3 November, metode untuk menghentikan sementara
serbuan program yang mengelilingi sistem administraror melalui internet. Dalam
jangka waktu tertentu, software tertentu menambal kerusakkan sistem keamanan yang
ada.
Satu tanggapan alami adalah pertanyaan apa motif Morris’ dalam
mengendalikan worm. Aksi ini telah dikarakteristikan menjadi suatu peragaan yang tak
berbahaya, cenderung hilang dan pelanggaran kriminal serius. Berdasarkan pada
kompleksitas saat dimulainya penyerangan, hal ini tidak seperti pembebasan worm atau
ruang lingkup penyebaran yang disengaja. Program worm mengerjakan langkah-
langkah dengan teliti untuk menutupi track yang dimilikinya dan menolak usaha untuk
menghentikan penyebaran. Sebelumnya, program tidak terdiri dari kode yang
Bab 14 Kemanan Sistem Operasi 245
Dosen : Arief Andy Soebroto ST., M.Kom.
Mata Kuliah Sistem Operasi (TKE 258) Bagian V – Proteksi & Kermanan Sistem Operasi
menunjukkan adanya perusakan atau pemusnahan pada sistem saat dijalankan. Penulis
sangat mengerti dengan jelas mengenai beberapa perintah; pada kenyataannya,
struktur data disajikan dalam kode bootstrap yang dapat digunakan untuk mentransfer
kuda Trojan atau program virus (lihat bagian 20.5.2). Kenyataan sikap dari program
dapat membawa menuju pengawasan yang menarik, tetapi tidak menyediakan suara
pendukung motif. Apa yang tidak membuka spekulasi, kadang kala, adalah hasil yang
illegal. Pengadilan federal menghukum Morris’ dan memenangkan dengan mudah
kalimat 3 (tiga) tahun masa percobaan, 400 jam layanan komunitas, dan $10,000
kebaikan. Biaya legal Morris’ mungkin lebih dari $100,000.
14.5.2 Virus
Penyerangan terhadap komputer yang lain adalah virus. Seperti worm, virus
didesain untuk menyebar ke program lainnya dan dapat menunjukan kejelekannya
dengan merusak sistem, termasuk merubah atau memusnahkan berkas dan
menyebabkan sistem bertabrakan dan program berjalan buruk (malfunctions). Dimana,
struktur worm adalah lengkap, program yang dapat berdiri, sedangkan virus
merupakan pecahan dari suatu kode pada program yang sah. Virus adalah masalah
utama pada komputer pengguna, terutama mereka yang menggunakan sistem
mikrokomputer. Pada umumnya, komputer multiuser tidak terjangkau oleh virus
karena program yang dieksekusi dilindungi dari penulisan data oleh sistem operasi.
Meski virus tidak menginfeksi program, dayanya tetap terbatas karena aspek
perlindungan lain. Sistem single- user tidak memiliki perlindungan, sebagai hasilnya
virus telah pergi.
Virus biasanya tersebar karena pengguna men-download viral program dari
papan buletin umum atau penukaran floppy disk yang sudah terkena virus. Kasus pada
Februari 1992 yang melibatkan dua mahasiswa Cornell University memberikan
ilustrasi. Mahasiswa terebut telah mengembangkan program game Macintosh dengan
virus terpancang yang didistribusikan ke seluruh dunia dalam bentuk arsip software
melalui internet. Virus dapat dilumpuhkan ketika professor di Wales men-download
permainan tersebut dan program anti virus mengeluarkan peringatan terhadap virus.
Sekitar 200 orang telah men-download permainan itu juga.Walau virus tidak didesin
untuk memusnahkan data, dia tetap dapat menyebar ke berkas aplikasi lain dan
menyebabkan beberapa masalah seperti penundaan dan fungsi program menjadi buruk.
Penulis menjadi dengan mudah mencari jejaknya, sejak permainan telah dikirim
memlalui email dari Cornell Account. Pihak berwajib kota New Yok menangkap
sejumlah siswa saat melakukan pengubahan yang tidak sah pada computer dan telah
mendapatkan penghasilan tambahan dari padanya.
Pada kejadian lain, programmer di California diceraikan oleh istrinya karena
telah memberikan disk istri untuk di masukkan pada computer yang mengalami
sengketa. Disk tersebut berisi virus dan menghapus seluruh berkas pada sistem
komputer. Suaminya ditangkap dan disita seluruh properti miliknya.
Pada saat tertentu, infeksi viral yang akan datang akan diumumkan di media
acara high-proberkas. Seperti saat menghadapi kasus virus Michaelangelo, yang
dijadwalkan untuk menghapus seluruh berkas pada hard disk komputer yang terkena
virus pada tanggal 6 Maret 1992, pada saat pesta ulang tahun ke 17 dan terdapat 500
di masa mendatang. Sayangnya, pencatatan (logs) dapat menjadi sangat besar, dan
sumber sistem penggunaan logging akan menjadi tidak tersedia bagi pengguna.
o Pemberian perlindungan yang kurang tepat bagi pengguna dan sistem direktori
o Pemberian perlindungan yang kurang tepat pada sistem berkas data, seperti
berkas kata sandi, device driver, atau pada sistem operasi kernel itu sendiri
o Perubahan sistem program yang dapat dideteksi juga dengan hasil nilai
pengecekan
Banyak masalah yang ditemukan dengan menggunakan sistem keamanan scan yang
dapat diatur secara otomatis atau dilaporkan terhadap manajer dari sistem.
Jaringan kerja komputer lebih mudah dipengaruhi oleh penyerangan keamanan
daripada menjadi sistem yang dapat berdiri sendiri. Daripada penyerangan dari set
akses point yang telah diketahui, seperti terminal koneksi langsung, kita menghadapi
penyerangan dari set akses point yang lebih besar dan belum diketahui, seperti masalah
keamanan yang berpotensi menjadi tindak kekerasan. Untuk luasan yang lebih kecil,
sistem dikoneksikan ke jaringan telepon dengan menggunakan modems dan juga
menjadi lebih terbuka.
Pada kenyataannya, pemerintah federal U. S. mempertimbangkan sistem yang
dapat sekuat sistem koneksi yang semakin kuat dan jauh jangkauannya. Sebagai
contoh, sistem rahasia yang paling penting hanya dapat diakses dari dalam gedung
yang dipertimbangkan juga sebagai rahasia penting. Sistem ini akan kehilangan
sebutannya sebagai rahasia utama bila ada bentuk komunikasi yang terjadi di luar area
yang ditentukan. Beberapa fasilitas pemerintah mengambil sistem peringatan
keamanan yang ekstrim. Konektor antara terminal-terminal sistem pendukung dengan
komputer utama sistem akan terkunci dalam keadaan yang aman ketika terminal
sedang tidak aktif. Seseorang harus mengetahui kunci kombinasi fisik, sebaik
informasi autentik untuk komputernya, untuk memperoleh akses ke komputer.
Kerugian dari sistem administrator dan computer-security profesional adalah
kadang kala tidak mungkin untuk mengunci mesin di ruangan dan untuk menolak
semua remote akses. Jaringan internet terhubung dengan jutaan komputer. Ini menjadi
tugas yang mendesak, sangat diperlukan sumber daya untuk banyak perusahaan dan
individual. Seperti di sebuah klub yang memiliki banyak member, terdapat banyak
member yang baik tetapi ada juga beberapa member yang tidak baik. Member yang
buruk memiliki banyak alat yang digunakan untuk melintasi internet untuk berusaha
memperoleh akses ke interconnected komputer, seperti yang dilakukan worm Morris
Internet.
Masalahnya adalah, bagaimana kita bisa percaya bahwa komputer bisa
terkoneksi secara aman ke untrustworthy network? Salah satu solusi adalah
menggunaka frewall untuk memisahkan trusted dan untrusted sistem. Firewall adalah
komputer atau router yang tempatnya di antara trusted dan untrusted sistem. Ini
membatasi akses jaringan antara dua security domain, dan mengawasi dan mengunci
semua koneksi. Web server menggunakan protokol http untuk berkomunikasi dengan
web browser. Firewall mungkin perlu mengikuti http untuk masuk. Morris Internet
worm menggunakan protokol finger untuk merusak komputer. Jadi finger tidak akan
dibiarkan masuk. Faktanya, firewall bisa memisahkan jaringan menjadi multiple
domains. Implementasi utamanya adalah menjadikan internet sebagai untrusted
domain, semitrusted dan semisecure network, dinamakan demilitarized zone (DMZ),
sebagai domain ketiga (gambar 14.1). Koneksi diperbolehkan dari internet ke
komputer DMZ dan dari perusahaan komputer ke internet, tetapi tidak diperbolehkan
dari internet atau komputer DMZ ke perusahaan komputer.kontrol komunikasi dapat
terjadi antara DMZ dan satu atau lebih perusahaan komputer. Web server di DMZ
mungkin perlu untuk menanyakan database server di corporate network. Dalam kasus
ini, semua akses terisi dan beberapa sistem DMZ yang rusak berdasarkan komputer
yang dibiarkan melewati firewall masih tidak dapat mengakses perusahaan komputer.
Gambar 14.1 Keamanan jaringan melalui pemisahan daerah asal via firewall
14.7 . Enkripsi
Bahkan jika informasi terenkripsi diakses dengan orang atau perusahaan yang tak
berhak, ini tidak akan berguna kecuali jika didekodekan.tantangan utama dalam
menggunakan pendekatan ini adalah pengelolaan rencana pengenkripsian yang
tidak mungkin (atau sulit sekali) untuk dirusak.
Bermacam-macam metode menghadapi tantangan ini. Yang paling utama
adalah menyediakan enkripsi algoritma umum, E, decripsi algoritma umum, D, dan
kunci rahasia disediakan untuk tiap aplikasi. Biarkan Ek dan Dk menunjukkan
algoritma enkripsi dan decripsi, masing-masing untuk aplikasi partikular dengan
kunci k. kemudian, enkripsi algoritma harus memenuhi beberapa properti untuk
pesan-pesan m berikut:
1. Dk ( Ek (m)) = m
2. Baik Ek dan Dk bisa dihitung dengan efisien.
3. Keamanan sistem hanya bergantung pada kerahasiaan kode, dan tidak
bergantung pada algoritma E dan D
Salah satu pola yang disebut data-encryption standard, dipakai oleh standard
nasional perkantoran. Pola ini bermasalah pada pendistribusian kode. Sebelum
terjadinya komunikasi, kode-kode rahasia harus dikirim dengan aman baik kepada
pengirim maupun penerima. Hal ini tidak dapat dilaksanakan dengan efektif pada
sebuah lingkungan jaringan komunikasi. Solusi untuk masalah ini adalah dengan
menggunakan pola public key-encryption. Setiap pengguna mempunyai baik kode
umum maupun kode pribadi, dan dua pengguna dapat berkomunikasi hanya dengan
saling mengetahui kode umum masing-masing.
Sebuah algoritma berdasarkan pada konsep ini diikuti.algoritma ini dipercaya
hampir tidak dapat dirusakkan. Kode enkripsi umum adalah sebuah pasangan (e,n);
kode pribadi adalah sebuah pasangan (d,n), dengan e, d dan n adalah bilangan bulat
positif. Setiap pesan direpresentasikan sebagai sebuah bilangan bulat antara 0 dan n-1.
(Sebuah pesan yang panjang dipecah menjadi sejumlah pesan yang lebih singkat,
Bab 14 Kemanan Sistem Operasi 250
Dosen : Arief Andy Soebroto ST., M.Kom.
Mata Kuliah Sistem Operasi (TKE 258) Bagian V – Proteksi & Kermanan Sistem Operasi
setiap pesan tersebut dapat direpresentasikan sebagai sebuah bilangan bulat.) Fungsi
dari E dan D adalah
E(m) = me mod n = C,
D(C) = Cd mod n.
Masalah utama adalah pemilihan kode enkripsi dan deskripsi. Bilangan bulat n
dihitung sebagai hasil dari dua buah bilangan utama p dan q yang besar (100 atau
lebih) yang dipilih secara acak dengan
n =p x q.
Jumlah d dipilih untuk menjadi besar, bilangan bulat relative utama yang dipilih
secara acak pada (p-1) x (q-1).d menghasilkan
Akhirnya, bilangan bulat e dihitung dari p, q, dan d menjadi multiplicative inverse dari
modulo d (p-1) x (q-1).e menghasilkan
Perhatikan bahwa, walaupun n telah diketahui, tapi p dan q tidak. Hal ini
diperbolehkan karena, seperti yang kita ketahui, sulit untuk memfaktorkan n.
konsekuensinya bilangan bulat d dan e tidak dapat ditebak dengan mudah.
Marilah kita gambarkan pola ini dengan sebuah contoh. Misal p = 5 dan q = 7.
Kemudian n = 35 dan (p-1) x (q-1) = 24. Karena 11 relatively prime pada 24, kita
dapat memilih d = 11; dan karena 11 x 11 mod 24 = 121 mod 24 = 1, e = 11. Misalkan
m = 3, kemudian
dan
terdiri dari satu kelas, dan digunakan untuk sistem yang dievaluasi, tapi yang gagal
memenuhi persyaratan untuk kelas-kelas keamanan yang lain. Misalnya MS-DOS dan
Windows 3.1 ada pada divisi D.
Divisi C, level keamanan berikutnya, menyediakan perlindungan dengan
kebebasan untuk menentukan atau memilih dan pertanggungjawaban pengguna dan
kegiatan mereka dalam menggunakan kemampuan audit. Divisi C mempunyai dua
level: C1 dan C2. Sistem kelas C1 menggabungkan beberapa bentuk kontrol yang
mengizinkan pengguna untuk melindungi informasi pribadi dan untuk menjaga
pengguna-pengguna lain dari pembacaan atau perusakan data yang tidak disengaja.
Lingkungan C1 adalah salah satu yang menjalankan akses data pengguna pada level
yang sama dengan sensitivitas. Hampir semua versi UNIX adalah kelas C1.
Jumlah total dari semua sistem proteksi pada sebuah sistem komputer (hardware,
software, firmware) yang menjalankan dengan benar kebijakan keamanan dikenal
dengan Trusted Computer Base (TCB). TCB dari sistem C1 mengontrol akses antara
pengguna dan berkas-berkas dengan mengizinkan pengguna untuk menetapkan dan
mengontrol obyek dengan nama individual atau grup yang didefinisikan. Sebagai
tambahan, TCB mensyaratkan bahwa pengguna harus mengidentifikasi dirinya sendiri
sebelum dia memulai aktifitas yang menggunakan TCB. Identifikasi ini disempurnakan
melalui sebuah mekanisme yang terlindung atau kata sandi; TCB melindungi keaslian
data karena data-data tersebut tidak dapat diakses oleh pengguna yang tidak
berwenang.
Sistem kelas C2 ditambahkan pada persyaratan dari sistem C1 melalui sebuah
kontrol akses level individual. Contohnya, hak akses pada sebuah berkas dapat
dispesifikasikan pada level single individual. Sebagai tambahan, administrator sistem
mampu untuk mengaudit secara selektif kegiatan-kegiatan dari semua pengguna
berdasarkan pada identitas individual. TCB juga melindungi diri dari perubahan kode
atau struktur datanya. Sebagai tambahan, tidak ada informasi yang dibuat oleh
pengguna sebelumnya yang dapat diakses oleh pengguna lain yang mengakses obyek
yang tersimpan yang telah dikembalikan pada sistem. Beberapa spesial, versi-versi
keamanan UNIX telah bersertifikasi level C2.
Divisi B sistem proteksi mandatory mempunyai semua kelengkapan sistem kelas
C2, ditambah mereka melihat label sensitivitas pada setiap obyek. TCB kelas B1
mempertahankan label keamanan pada setiap obyek dalam sistem; labeldigunakan
untuk memutuskan hal-hal yang berhubungan dengan kontrol akses mandatory.
Contohnya, sebuah pengguna pada level confidential tidak dapat mengakses sebuah
berkas pada level rahasia yang lebih sensitif. TCB juga menunjukkan level sensitivitas
pada bagian atas dan bawah tiap halaman keluaran yang dapat dibaca semua orang.
Sebagai tambahan untuk informasi normal username-kata sandi autentikasi, TCB juga
meningkatkan kejernihan dan authorisasi dari user-user individual dan akan
mendukung setidaknya dua level sekuriti. Level-level ini bersifat hierarki, seperti
layaknya seorang user dapat mengakses berbagai objek-objek yang membawa
sensitivitas label yang sama dengan atau lebih rendah daripada kejernihan sekuritinya.
Sebagai contoh, seorang user level-rahasia mampu mengakses sebuah berkas pada
level tinggi dalam kontrol akses yang lain. Proses-proses juga terisolasi melalui
penggunaan alamat yang jauh berbeda.
Sebuah sistem kelas B2 memperbesar sensitivitas label-label ke setiap sistem
sumber sebagai objek penyimpan. Physical device diposisikan minimum dan
Bab 14 Kemanan Sistem Operasi 252
Dosen : Arief Andy Soebroto ST., M.Kom.
Mata Kuliah Sistem Operasi (TKE 258) Bagian V – Proteksi & Kermanan Sistem Operasi
back-up berkas dan direktori, shut down komputer, log on secara interaktif, dan
mengubah sistem clock. Setiap proses yang dijalankan NT akan mendapat salinan dari
access token. Sistem menggunakan security ID pada access token untuk mengijinkan
atau menolak akses ke objek sistem ketika user, atau sebuah proses mencoba untuk
mengakses objek tersebut. Authentikasi dari sebuah user account adalah secara
sederhana dilakukan melalui sebuah username dan kata sandi, meskipun desain
modular dari NT mengijinkan pengembangan custom authentication packages. Sebagai
contoh, sebuah retinal scanner dapat digunakan untuk verifikasi pengguna.
NT menggunakan ide dari sebuah subjek untuk memastikan bahwa program-
program yang dijalankan seorang user tidak mendapatkan akses lebih banyak ke sistem
daripada yang diperbolehkan untuk dimiliki user tersebut. Sebuah subjek digunakan
untuk menelaah dan mengatur ijin-ijin untuk setiap program yang dijalankan seorang
user., dan disusun dari user access token dan program tersebut beraksi sebagai wakil
dari user. Karena NT beroperasi dengan sebuah model client-server, dua kelas dari
subjek digunakan untuk mengontrol akses. Sebuah contoh dari subjek sederhana adalah
program aplikasi yang dieksekusi seorang user setelah dia log on. Subjek sederhana
tersebut ditugasi sebuah security context yang didasarkan pada sekuriti access token
milik user. Sebuah server sebjuct adalah sebuah proses yang diimplementasikan
sebagai sebuah server terproteksi yang menggunakan security context dari client ketika
beraksi mewakili client. Teknik yang mengijinkan satu proses untuk mengambil atribut
sekuriti dari lainnya disebut impersonation.
Seperti yang disebutkan pada bagian 20.6, auditing adalah sebuah teknik sekuriti
yang berguna. NT memiliki built in auditing, dan mengijinkan banyak perlakuan
sekuriti umum dimonitor. Contoh-contoh dari auditing yang berguna untuk menelaah
serangan-serangan adalah kegagalan auditing untuk even logon dan logoff untuk
mendeteksi kerusakan kata sandi random, sukses auditing untuk even logon dan logoff
untuk mendeteksi aktifitas logon pada jam-jam yang tidak biasa, sukses dan gagal
menulis akses auditing bagi executable berkas untuk menelaah sebuah serangan virus,
dan sekses dan gagal auditing untuk akses berkas yang digunakan untuk mendeteksi
akses ke berkas-berkas sensitif.
Atribut sekuriti dari sebuah objek dalam NT dideskripsikan oleh sebuah security
descriptor. Security descriptor mengandung security ID dari pemilik objek, digunakan
hanya oleh POSIX subsistem, sebuah discretionary access-control list yang
mengidentifikasi user atau grup yang mana yang diberi akses atau tidak, dan sebuah
sistem access control list yang mengontrol pesan-pesan auditing mana yang akan di-
generate oleh sistem. Sebagai contoh, security descriptor dari berkas foo.bar mungkin
dimiliki avi, dan discretionary access-control list ini :
14.10 Kesimpulan
Latihan
14.1 Sebuah kata sandi mungkin akan diketahui oleh user yang lain dalam berbagai
cara. Apakah ada cara yang sederhana untuk mendeteksi kejadian tersebut? Jelaskan
jawaban anda.
14.2 Daftar dari seluruh kata sandi disimpan di dalam sistem operasi. Untuk itu, jika
seorang user menginginkan untuk membaca daftar tersebut, proteksi kata sandi tidak
lagi disediakan. Berikan saran sebuah skema yang akan menghindari masalah ini. (Hint
: Gunakan internal yang berbeda dan representasi external.)
14.3 Sebuah tambahan eksperimen pada UNIX mengijinkan seorang user untuk
menghubungkan sebuah program watchdog ke sebuah berkas, yang akan muncul setiap
kali sebuah program meminta akses ke berkas tersebut. Program watchdog tersebut
kemudian akan memberi ijin atau menolak akses ke berkas tersebut. Diskusikan dua
keuntungan dan dua kerugian dari penggunaan watchdog untuk sekuriti.
14.4 Program UNIX, COPS, melakukan scan ke sebuah sistem mengenai kemungkinan
lubang sekuriti, dan memperingatkan user untuk masalah ini. Apa saja 2 potensi yang
berbahaya dari penggunaan sistem ini sebagai sekuriti? Bagaimana masalah ini dapat
dibatasi atau diatasi?
14.5 Diskusikan maksud dari para manajer sistem yang terhubung ke Internet mungkin
telah mendesain sistem mereka agar membatasi atau mengatasi kerusakan yang dibuat
oleh worm. Apa saja efek samping dari perubahan yang anda sarankan?
14.6 Beri argumen apakah anda mendukung atau bertentangan dengan pernyataan
hukum telah lepas tangan terhadap Robert Morris, Jr , untuk ciptaannya dan
eksekusinya dari Internet worm.
14.7 Buatlah sebuah daftar dari enam hal sekuriti untuk sistem komputer pada bank.
Untuk setiap hal yang ada pada daftar anda, beri keterangan apakah hal tersebut
berhubungan dengan sekuriti fisik (physical), sekuriti manusia (human), atau sekuriti
sistem operasi.
14.8 Apa saja dua keuntungan dari enkripsi data pada data yang disimpan di sistem
komputer?