PROTEKSI SISTEM OPERASI Marjam 0ngkosaputro* Lenny Wijaya**
Abstract
fhe vortous processes in an operoting system must be protected lrom one anothefs dctivities. For thot purpose, vorious mechonisms exist thot con be used to ensure thot the files, memory segments, CPU, and other resurcr con be operated on by only those proc*su thot hove goined proper outhorizotion ' from the operating system. Protection referc to o mechanism for controlling the occas of prcgmms, pr1oc6st6. or usr,lr to tlie tusr,urces dSned by o computer system. This mechonism must provide o means tor specificotion of the controls to be imposed, together with some meons of enforxement. As computer systems hove become more mphisticoted ond pervosive in their applicotions, the need to protect their integrity hos oko grown, Protedion wos originolly conceived as on adjunct to multi-progmmming opemting systems, so thot untrustwortlry userc
might sofely shore d common logicol nome spoce, such os o directory of
protution system that complu of ony reliability concepts hove evolved to increose the mok* use ol shored resources. fites, or shorc o common plrysical name space such as memoty. lilodem
1.
TUJUAN PROTEKSI Tujuan penyediaan proteki yang pating nyata adalah untuk mencegah pengrusakan
bagian dalam sistem karena dimasuh oleh pemakai yang tidak diinginkan. Tujuan lainnya yaitu untuk lebih menegaskan bahwa program yang diahifkan konsisten dengan pemakai
yang seharusnya memi[iki hak. Proteksi dapat mendeteksi kesatahan antar komponen subsistem. Sumber yang tidak diproteksi tidak dapat mencegah penggunaan komputer oleh pemakai yang tidak salah. Sebuah sistem yang berbasis proteksi memungkinkan pembedaan pemakaian yang berizin dan tidak berizin. Proteksi dapat diLakukan dengan banyak cara. Beberapa ditakukan oleh manajer, ada yang memang sudah terkandung dalam desain sistem itu sendiri, dan ada juga yang
ditakukan ol.eh individu/pribadi untuk melindungi berkas-berkas dan program-program mereka sendiri.
* "
Dosen Tetap jurusan Sistem Informasi Fakultas Teknologi Industri Universitas Pelita Hanpan Mahasiswa jurusan Sistem Informasi Fakultas Teknotogi Industri Universitas Pelita Hanpan
Vot.IV, No.8, Desember 2001
Proteksi Sistem 0perasi ........
5i
2.
DAERAH PROTEKSI
Sebuah sistem komputer mengandung banyak objek yang pertu diproteksi. Objek itu dapat berupa perangkat keras sepeai prosesor, memori, disk dives, tape diva, maupun pinter; dapatjuga berupa perangkat lunak misatnya proses, fite, basis data atau pengiriman
data. Setiap objek memiliki nama yang unik, berbeda satu dengan yang lainnya datam suatu sistem, yang dapat diproses dengan perintah-perintah yang terbatas, dan ada juga yang harus dijalankan dengan perintah-perintah yang tengkap. Reod dan wnte merupakan operasi untuk sebuah fite; sedangkan up dan down merupakan operasi pada pengiriman data. 0bjek merupakan tipe data abstrak. 0perasi-opensi itu tergantung pada objeknya. Contoh, prosesor hanya bisa dijalankan, memori dapat dibaca dan ditulis sementara card reader hanya bisa dibaca. Tope dives dapat dibaca dan ditutis. Berkas data dapat dibuat,
dibuka, ditutis, ditutup dan dihapus; berkas program dapat dibaca, ditulis, dijatankan dan dihapus. Maka, nyatatah bahwa perlu untuk membatasi pengaksesan objek oleh pemakai yang tidak diinginkan. Lebih jauh [agi, mekanisme ini dapatjuga membatasi subbagian
dari operasi yang diinginkan. Contoh: A diperbotehkan untuk membaca berkas tidak boleh menutis pada berkas ini.
3.
F,
tetapi
STRUKTUR DAERAH
Sebuah proses yang beroperasi datam sebuah daerah proteksi menyatakan sumber daya yang bisa diakses. Setiap daerah mengidentifikasikan himpunan objek dan tipe operasi
yang diperbolehkan. Kemampuan untuk menjalankan sebuah operasi disebut hak akses. Sebuah daerah merupakan sekumputan hak-hak akses, masing-masing datam susunan
. Contoh, jika daerah D mempunyai hak akses .fite F,
{baca,tu[is]>, maka proses-proses datam daerah D boleh membaca dan menutis fite F, tetapi operasi yang lain tidak diizinkan. Daerah-daerah tidak perlu dipisah-pisahkan, tetapi bisa diadakan pembagian hak akses. Contoh, ada 3 daerah: D!,02, D3. Hak akses <04,{print}> dibagi ke D2 dan D3, di mana D2 darl D3 boteh melakukan perintah print Objek 4. Sebagai catatan, proses dijatankan di D1 untuk menutis dan membaca 01; di sisi lain proses-proses di daenh D3 yang dapat menjalankan objek 01.
54
Vol..IV, No.8, Desember 2001
Proteksi Sistem Opensi ........
( ( (
0r,{read,write}
[r,{read,write} 0r,{execute}
) )
(
!r,{write}
) (
[r,tnrint]
)
(
)(
0r,{uecute}) [r,tread]
)
Gabungan proses dan daerahnya dapat bersifat statik maupun dinamik. Masatah
pada proteksi dinamik lebih memertukan pemecahan yang serius dibandingkan dengan kasus statik
Jika statik, harus didefinisikan bahwa daerah metiputi hak baca dan tulis. Sususan
ini menyediakan lebih banyak hakyang dibutuhkan oleh setiap 2fase, di mana hta juga memitliki hak baca untuk proses yang hanya mengizinkan kita untuk menutis. Maka kebutuhan untuk mengetahui prinsip dasar terganggu. Kita harus mengizinkan isi daerah untuk dimodifikasi sehingga setatu memungkinkan hak akses yang minima[. Jika dinamis, mekanisme dapat mengizinkan proses untuk sating bertukar dari daerah yang satu ke daenh yang lainnya. Jika tidak dapat mengubah isi daerah, kita dapat menyediakan daenh baru dengan efuk yang sama dengan apa yang ingin ditukar, kemudian
menukarkan
*
*
isi
daerah baru dengan daerah yang ingin dipertukarkan.
Sebuah daerah dapat direatisasikan dengan banyak cara:
Setiap pemakai merupakan daerah. Sekumpulan objek yang dapat diakses tergantung pada identitas user. Pertukann daerah terjadi jika pemakai juga bertukar. Pada umumnya
terjadi pada saat pemakai [ama keluar dan pemakai baru
masuk.
Setiap proses merupakan daerah. Setiap objek yang dapat diakses tergantung pada identitas proses. Pertukann daerah ke suatu proses terjadi ketika sebuah proses mengirim pesan ke proses lain dan menunggu balasannya.
* Setiap prosedur merupakan daenh. Sekumpu[an objek yang dapat diakses berhubungan
dengan variabel [oka[ yang didefinisikan dalam sebuah prosedur. Pertukaran daerah terjadi ketika pemanggilan prosedur dilakukan.
4.
MATRIKS AKSES Matriks akses merupakan modet proteksi yang digambarkan datam bentuk matriks.
Baris mewakili daerah, dan kolom mewakili objek. Setiap etemen pada matriks mewakili sekumputan hak akses. Karena objek didefinisikan dengan kotom, kita dapat mengabaikan nama objek dari hak akses. Etemen akses(ij) mendefinisikan sekumpulan operasi di mana proses berjatan di daerah D1 dapat mempengaruhi objek 0j.
Vot.IV, No.8, Desember 2001
Proteki Sistem 0perasi
........
55
object domain D1
F1
t2
F3
Baca
Baca
Print
D2 D3
D4
printer
Baca Baca
tulis
Execute Baca
tulis
Gambar 1
Ada 4 daerah dan 4 objek: 3 fite (F1, f,2, F3) dan sebuah printer. Ketika sebuah proses berjatan di daerah D1, ia dapat membaca fite F1 dan F3. Proses di D4 mempunyai hak yang sama dengan daerah D1, tapi sebagai tambahan, ia juga dapat menulis ke
file
F1 dan F3. Printer hanya dapat dijatankan oleh proses-proses pada daerah D2. Matriks akses menggambarkan bermacam-macam peratunn. Kita harus yakin bahwa
di Di dapat diakses oteh objek yang terdapat di baris i. Peraturan proteksi dapat diimptementasikan oleh matriks akses. Ini metiputi hak-hak yang seharusnya terkandung dalam etemen ke (i j). Kita juga harus memutuskan di daerah mana setiap proses akan dijalankan. Peraturan ini biasanya diputuskan oleh sistem operasi. Pemakai biasanya memutuskan isi dari matriks akses. Ketika pemakai membuat objek 0j, kotom 0j ditambahkan ke matriks yang tepat, yang disebutkan oleh pembuat. Pemakai juga dapat memutuskan untuk memberikan hak lain ke etemen lain sesuai yang proses yang berjatan
dibutuhkan. Matriks akses menyediakan sebuah mekanisme yang tepat untuk mendefinisikan dan mengimptementasikan pengendatian yang ketat antan gabungan statik dan dinamik antara proses dan daerah. Ketika kita menukar sebuah proses dari sebuah daenh ke daenh [ain, kita sedang menjalankan sebuah operasi (tukar) pada sebuah objek (daerah). Kita
dapat mengendatikan pertukaran daerah dengan menggunakan daerah di antara objekobjek pada matriks. Sama saja dengan ketika kita menukar isi matriks, kita metakukan
hta dapat mengendatikan pertukaran ini dengan itu sendiri sebagai objek. Karena setiap etemen pada matriks dapat dimodifikasi sendiri, kita harus menyadari setiap etemen perlu diproteksi. operasi pada sebuah objek: matriks [agi, menganggap matriks
Proses seharusnya dapat ditukar dari satu daerah ke daerah lainnya. Pertukaran
Di ke Dj ha'nya dapat ditakukan jika dan hanya jika hak aksesnya merupakan etemen akses(ij). Proses di D2 dapat ditukar ke D3 atau ke D4. Proses di D4 dapat ditukar ke D1 dan dari D1 bisa ke D2. Perubahan kendati yang diizinkan terhadap isi matriks memertukan 3 operasi tambahan : penya[inan, kepemitikan, da n pen gendatian.
56
Vot.IV, No.8, Desernber 2001
Proteksi Sistem Operasi ........
0bject
Laser
Domain
F1
F2
Baca
D1
printer
F3
D1
Baca
D3
Baca Baca
D4
tulis
D4
Tukar
Tukar
Tukar
Print
D2
D3
D2
Laksanakan Baca
tulis
Tukar
Gambar 2
Kemampuan untuk menyatin hak akses dari satu daerah (baris) dari matriks yang
satu ke matriks yang [ain ditandai oteh tanda bintang. Tanda bintang ditambah*an ke kotom akses di mana hak tersebut didefinisikan. Contoh sebuah proses yang dijatankan di D2 dapat menyatin operasi baca ke setiap. elemen yang tergabung ke fite F2.
0bject Domain
t2
F7
D1
Laksanakan
D2
Laksanakan
D3
Laksanakan
F3
Tutis * Baca *
Laksanakan
F2
F3
Gambar 3a
0bject
F1
Domain Tutis
D1
Laksanakan
D2
Laksanakan
Baca *
D3
Laksanakan
Baca
*
Lalaanakan
Gambar 3b
Ada 2 varian pada skema rnr: 1. Hak akses disalin dari akses(ij) ke akses(kj), kemudian dipindahkan lagi ke akses(ij).
HaI 2.
ini
tebih merupakan pemindahan hak daripada penyatinan hak.
ini ada batasnya. Maka, ketika hak R* disalin dari akes(ij) hanya hak R (bukan R*) yang terbentuk. Proses yang berjatan di daerah lagi menyatin hak R.
Penyatinan hak
ke
akes(kj),
Dk
tidak bisa
Sebuah sistem boteh memilih satah satu dari ketiga hak tersebut dan bisa juga memakai ketiganya tetapi secara terpisah, yaitu: penyalinan, pemindahan, dan penyatinan
terbatas. Hak untuk menyalin mengizinkan sebuah proses untuk menyatin beberapa hak dari satu etemen pada satu kolom ke etemen tain pada kotom yang sama. Kita juga Vot.IV, N0.8, Desember 2001
Proteksi Sistem 0pensi ........
57
membutuhkan sebuah mekanisme untuk penambahan maupun pengunngan hak. Pemitik hak mengendatikan operasi-operasi ini. Jika akses(ij) metiputi pemitik hak, maka prosesproses yang berjatan di daerah Di dapat menambah maupun menghapus beberapa hak pada elemen maupun pada kolom j. Contoh, daerah D1 adalah pemitik F1 sehingga dapat menambah dan menghapus hak-hak pada kolom F1. Sama saja dengan daerah D2 adalah
pemitik F2 dan F3 maka dapat menambah dan menghapus hak datam kedua kotom ini. Penyalinan dan kepemilikan hak mengizinkan sebuah proses untuk mengubah elemen dalam 1 kotom. Sebuah mekanisme dibutuhkan untuk mengubah elemen-elemen dalam 1 baris. Hak kendati hanya dapat diterapkan ke daerah objek. Jika akses(ij) memitiki hak pengendalian, maka proses-proses di daenh Di dapat menghapus hak akses dari kotom
j.
Contoh, pada gambar, hak pengendatian pada akses(D2,D4); maka proses pada'D2 dapat
memodifikasi daerah D4. Meskipun penyatinan dan kepemitikan hak menyediakan sebuah mekanisme untuk
membatasi propagasi hak akses, tetapi tidak menyediakan fasilitas-fasititas yang sesuai untuk mencegah propagasi informasi. Masalahnya adalah tidak ada informasi yang dapat
dipindahkan dari lingkungan eksekusinya atau disebut masalah pengisolasian.
5.
PENERAPAN MATRIKS AKSES
5.1.
TABEL UMUM
Terdiri dari susunan tripte (daerah asat, objek dan hak). Kapanpun operasi M dilakukan pada objek 0j datam daerah asal Di, tabel umum akan dicari untuk tripte (Di,0j,Rk) di mana M Rk. Jika tripet ini ditemukan, operasi akan di[anjutkan; jika tidak, kondisi tertentu (satah) akan timbu[. Implementasi ini mengatami beberapa kekurangan. Tabetnya biasa besar dan tidak dapat disimpan di memori utama, jadi tambah an l/0 dipertukan. Teknik "virtual memotyt" sering digunakan untuk mengatur tabel ini. Untuk tambahan, sulit untuk mengambil keuntungan dari pengetompokan khusus objek atau daerah asat. Contohnya, jika objek tertentu dapat dibaca oleh semua onng, harus mempunyai etemen yang terpisah pada setiap daerah asat.
5.2.
DAFTAR AKSES UNTUK OBJEK
Setiap kolom pada matriks akses dapat diimptementasikan sebagai daftar akses untuk satu objek. Jetas bahwa etemen yang kosong bisa dibuang. Daftar hasit untuk setiap objek terdiri dari pasangan teratur (daerah asat,hak), yang menjelaskan semua daenh asal dengan hak akses yang tidak kosong untuk objek tersebut.
58
Vot.IV No.8, Desember 2001
Proteksi Sistem Operasi ........
ini bisa diperpanjang dengan mudah untuk menjelaskan sebuah daftar ditambah keadaaan awal dari hak akses. Saat pengoperasian M pada objek 0j diusahakan pada daerah asal Di, kita mencari daftar akses untuk objek 0j, mencari elemen (Di, Rt) dengan M Rk. Jika etemennya ditemukan, kita mengizinkan operasi; jika tidak, kita memeriksa keadaan awa[. Jika M ada pada keadaan awat, kita mengizinkan akses. Selain itu, akses ditol.akkan ke sebuah kondisi tertentu muncut. Perhatikan bahwa untuk efisien, kita mengecek keadaan awaI dahu[u, dan kemudian mencari daftar akses. Pendekatan
5.3.
DAFTAR KUMPULAN UNTUK DAERAH ASAL
Daftar kemampuan untuk daerah asal adalah daftar dari objek bersama dengan operasi yang diizinkan pada objek. Sebuah objek sering direpresentasikan dengan nama fisik dari alamat, disebut kemampuan. Untuk melaksanakan operasi M pada objek-objek proses metakukan operasi M, menentukan kemampuan (penunjuk) untuk objek 0j sebagai parameter. Kepemilikan sederhana dari kemampuan berarti bahwa akses diizinkan.
0j,
Daftar kemampuan diasosiasikan dengan daerah asa[, tetapi tidak pemah langsung bisa diakses ke proses yang berlangsung di daenh asa[. Daftar kemampuan sendiri merupakan
objek yang dilindungi, dijaga oleh sistem operasi dan diakses oleh program secara tidak langsung. Pertindungan berdasarkan kemampuan bergantung pada kewajiban bahwa kemampuan itu tidak pernah diizinkan untuk pindah ke alamat manapun yang bisa diakses oleh pemakai (di mana bisa dilakukan perubahan). Jika semua kemampuan aman, objek
yang ditindungi juga terlindung terhadap akses yang tidak diinginkan. Kemampuan
ini diumpamakan seperti penunjuk yang terjamin, untuk memenuhi
kebutuhan proteksi sumber-sumber daya yang terlihat seperti sistem komputer multifungsi.
Idenya adatah (dari sudut pandang pemakai sistem) menyediakan dasar-dasar proteksi yang bisa digunakan sampai ke [eve[ aplikasi. Untuk menyediakan proteksi yang melekat, kita harus membedakan kamampuan objek-objek yang bertainan dan menginterpretasikannya dengan mesin abstrak di mana program dengan [eve[ lebih tinggi berjatan. Kemampuan ini biasanya dibedakan dengan data yang lain dengan dua cara:
1.
Masing-masing objek memitih tanda untuk menggambarkan jenisnya sebagai kemampuan
ataupun data yang bisa diakses. Tanda itu sendiri harus bisa diakses langsung oleh program-program aplikasi. Perangkat keras yang disediakan dapat digunakan untuk
ini. Meskipun hanya 1 bityang dipergunakan untuk membedakan kemampuan dengan objek tainnya, semua objek dapat ditandai dengan tipe perangkat kerasnya. Karena itu perangkat keras dapat membedakan bi[angan butat, bitangan
memaksakan batasan
floating pornf, penunjuk, Booleans, karakter, instruksi-intruksi, kemampuan dan nitai yang tak dapat dikenali dengan tanda yang dimitiki. Vot.IV, No.8, Desember 2001
Proteki Sistem Opensi
........
59
2.
Lainnya, ruang untuk alamat yang berhubungan dengan prognm dapat dipisah menjadi
dua bagian. Bagian pertama, dapat diakses ke program dan berisi data-data dan perintah-perintah program. Bagian lainnya mengandung daftar kemampuan yang dapat diakses hanya oteh sistem operasi.
5.4.
MEI(ANISME GEMBOK-KUNCI
Skema kunci ini menyesuaikan daftar akses dan daftar kemampuan. Setiap objek memitih bit yang unik yang disebut gembok seperti setiap daerah yang memitiki bit yang unik yang disebut kunci. Sebuah proses datam 1 daerah dapat diakses oteh objdk hanya
jika daerah tersebut memi[iki kunci yang cocok dengan gembok objeknya. Sebagaimana daftar kemampuan seharusnya, daftar kunci untuk setiap daerah harus diatur sistem operasi yang mewakiti daerah
itu.
Pemakai tidak diperbotehkan untuk
memodifikasi daftar kunci dan gembok secara langsung.
5.5.
PERBANDINGAN Daftar kemampuan tidak berhubungan secan langsung dengan kebutuhan pemakai. proses-proses yang umum. Proses
Ini hanya berguna untuk menempatkan informasi bagi
yang mencoba untuk akses harus menunjukkan kemampuannya untuk mengakes. Kemudian,
sistem proteksi memeriksa apakah kemampuan itu sah. Mekanisme gembok-kunci merupakan penengah untuk kedua skema ini. Mekanisme ini efehif dan fleksibel, bergantung pada panjang kunci. Kunci-kunci dapat dipindahkan dari satu daerah ke daerah [ain. Sebagai tambahan, hak akses dapat dicabut secara efektif
dengan teknik yang sederhana yaitu menukar kunci-kunci yang berhubungan dengan objek-
objek. Kebanyakan sistem menggunakan gabungan daftar akses dan kemampuan. Ketika sebuah proses mencoba untuk mengakses sebuah objek, hak akses dicari. Jika hak ditotak,
terjadi kondisi pengecuatian. Jika tidak, sebuah kemampuan terbentuk dan ditumpangkan ke proses. Petunjuk tambahan menggunakan kemampuan untuk mendemonstnsikan dengan
[ancar bahwa sete[ah akses terakhir diperbotehkan, kemampuan dirusak. Sebagai contoh, pikirkan sistem berkas. Setiap berkas mempunyai daftar akses yang terhitung. Pada saat sebuah proses membuka sebuah berkas, struhur direktori dicari untuk menentukan berkasnya, izin akses diperiksa dan penyangga diatokasikan. Semua informasi ini direkam dalam sebuah masukan baru di tabel berkas untuk berkas yang baru dibuka. Masukan tabel berkas dihapus. Karena tabel berkas dirawat oleh sistem opensi, maka tidak akan bisa dirusak oleh pemakai. Oteh karenanya, berkas yang dapat diakses oteh pemakai hanya yang sudah dibuka. Karena akses diperiksa pada saat berkas dibuka,
proteksi terjamin.
60
Vot.IV, No.8, Desember 2001
Proteksi Sistem 0pensi ........
Pertu dicatat bahwa hak untuk diakses harus dicek untuk setiap akses, dan masukan
tabel berkas mempunyai kemampuan hanya untuk operasi yang diizinkan. Jika sebuah berkas dibuka untuk dibaca, maka akses untuk kemampuan membaca diletakkan pada masukan tabel berkas. Jika ada usaha untuk menyalin ke dalam berkas, sistem menentukan pelanggaran proteksi ini metatui perbandingan antara operasi yang diminta dengan kemampuan pada masukan tabel berkas.
6.
KESIMPULAN
Sistem komputer mengandung banyak objek. Objek-objek ini pertu ditin'dungi penggunaan yang satah. Objek bisa berupa perangkat kens (seperti memori, prosesor, dari
I/0) ataupun perangkat [unak (seperti berkas, program, dan tipe data abstrak). Hak akses adalah izin untuk metakukan operasi pada sebuah objek. Daerah adalah satu set hak akses. Proses yang dilakukan di daerah dan boteh menggunakan hak akses di daerah untuk mengakses dan memanuputasi objek. Matriks akses adalah model umum dari proteksi. Matriks akses menyediakan mekanisme untuk pertindungan tanpa memaksakan kebijaksanaan proteksi tertentu pada sistem atupun pemakai. Pemisahan kebijaksanaan dan mekanisme adalah property design atau peratatan
yang utama. Matriks aksesjarang dipakai. Biasanya diimptementasikan sebagai daftar akses yang dihubungkan dengan setiap objek, atau sebagai daftar kemampuan yang dihubungkan dengan setiap daerah. Kita bisa memasukkan proteksi dinamis pada model matriks akses
dengan mempertimbangkan daerah dan matriks akses sendiri sebagai objek. Sistem sebenarnya lebih terbatas, dan lebih mengarah pada penyediaan proteksi untuk berkas saja. Sebagai contoh, UNIX representatif, menyediakan baca, tulis dan petaksanaan proteksi terpisah dari pemitik, grup dan masyarakat umum untuk setiap berkas. MULTICS menggunakan struktur cincin untuk tambahan ke akses berkas. Hydra, sistem CAP Cambridge, dan Mac adatah sistem kemampuan yang meluaskan proteksi ke objek perangkat lunak yang sudah didefinisikan oleh pemakai.
DAFTAR PUSTAKA
1. Mitenkovic, Milan. 0peroting Systems Concepts and Design; McGraw Hi[t, 1992. 2. Sitberschatz, Abraham. L. Peterson, James; 0peroting System ConcepB; AddisonWesley, 1989.
3. Tanenbaun S., Andrew. Modem Opemting Systems; Pretince
Hat[ International Edition,
7992.
4.
Tanenbaum; Woodhult. Operoting Systems, Design and Implementation, Second
Edition. Prentice Ha[t, 1997. VoLIV, N0.8, Desember 2001
Proteksi Sistem
0pensi........
61