Uploaded by User83601

M13 - Proteksi dan Sekuriti Sistem Komputer

advertisement
Sistem Operasi
“ Proteksi dan Sekuriti Sistem Komputer ”
Oleh : Farhat, ST, MMSI, MSc
{ Diolah dari berbagai Sumber }
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
A. Definisi Dan Tujuan
Proteksi adalah mekanisme sistem operasi untuk mengontrol akses terhadap
beberapa objek yang diproteksi dalam sistem operasi. Objek-objek tersebut bisa
berupa perangkat keras (seperti CPU, memori, disk, printer, dll) atau perangkat
lunak (seperti program, proses, berkas, basis data, dll). Di beberapa sistem, proteksi
dilakukan oleh sebuah program yang bernama reference monitor. Setiap kali ada
pengaksesan sumber daya PC yang diproteksi, sistem pertama kali akan menanyakan
reference monitor tentang keabsahan akses tersebut. Reference monitor kemudian
akan menentukan keputusan apakah akses tersebut diperbolehkan atau ditolak.
Secara Garis besar mempunyai tujuan meminimalisir resiko dari kemungkinan
pelanggaran keamanan.
B.
Domain Proteksi
Domain adalah himpunan yang berisi pasangan objek dan hak akses. Masing-masing
pasangan domain berisi sebuah objek dan beberapa akses operasi (seperti read,
write, execute) yang dapat dilakukan terhadap objek tersebut. Dalam setiap waktu,
setiap proses berjalan dalam beberapa domain proteksi. Hal itu berarti terdapat
beberapa objek yang dapat diakses oleh proses tersebut, dan operasi-operasi apa
yang boleh dilakukan oleh proses terhadap objek tersebut. Proses juga bisa
berpindah dari domain ke domain lain dalam eksekusi.Prinsip need-to-know ini
punya tujuan dari proteksi adalah meminimalisir resiko dari kemungkinan
pelanggaran keamanan.
C. Access Matrix
Bentuk dari proteksi secara acak dapat dilihat dalam bentuk matriks, yang sering
disebut dengan access matrix. Baris-baris dari access matrix merepresentasikan
domain, sedangkan kolomnya merepresentasikan objek. Setiap entri pada matriks
terdiri dari satu set hak akses (access rights). Karena kolom-kolomnya
mendefinisikan objek secara eksplisit, kita dapat menghilangkan nama objek dari
hak aksesnya. Sebuah entri access(i,j) mendefinisikan set dari operasi-operasi yang
diekseksusi oleh proses dalam domain Di yang nantinya memanggil objek Oj.
Untuk mengilustrasikan konsep ini, kita menggunakan sampel matriks sebagai
berikut :
1. Ada empat domain dan empat objek, tiga file (F1, F2, F3) dan satu printer
laser. Sebuah proses yang dieksekusi dalam domain D1 dapat meread file F1 dan F3. Sebuah proses yang dieksekusi dalam domain
D4 memiliki privilege yang sama dengan proses yang dieksekusi pada domain
D1, dengan tambahan dapat juga me-write kedalam file F1 dan F3. Perlu
dicatat bahwa printer laser hanya dapat diakses oleh proses yang dieksekusi
dalam domain D2.
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
2. Skema access matrix ini memberi kita tentang penggambaran penggabungan
mekanisme
jenis-jenis
kebijakan
(policy). Access
matrix dapat
mengimplementasikan bagaimana pengambilan keputusan dalam kebijakan
proteksi. Keputusan kebijakan yang melibatkan hak-hak harus dimasukkan
dalam entri ke (i, j) . Kita juga harus menentukan domain di mana setiap
proses mengeksekusi. Kebijakan terakhir ini biasanya ditentukan oleh sistem
operasi.
3. Operasi yang terjadi pada domain dan access matrix sebenarnya tidak begitu
penting. Hal yang lebih penting adalah mereka mengilustrasikan kemampuan
dari model access matrix untuk memungkinkan implementasi dan kontrol
dari kebutuhan proteksi yang dinamis.
D. Access Control
Pendekatan paling umum dalam masalah proteksi adalah untuk membuat akses
tergantung pada identitas pengguna. Saat seorang pengguna meminta untuk
mengakses suatu berkas, sistem operasi akan mengecek daftar akses yang
berhubungan dengan berkas tersebut. Masalah utama dengan pendekatan ini adalah
panjang dari daftar yang harus dibuat. Di sini pengguna dapat diklasifikasikan ke
dalam tiga kelas:
• Owner. Pengguna yang membuat berkas tersebut.
• Group. Sekelompok pengguna yang berbagi berkas dan memiliki akses yang
sama.
• Universe. Semua pengguna yang lain.
Pendekatan lain dalam masalah proteksi adalah dengan memberikan kata kunci
untuk setiap berkas. Proteksi yang lazim digunakan dalam pengoperasian sistem
operasi adalah penggunaan password dalam suatu berkas.
Beberapa tipe operasi yang bisa dikontrol:
• Read. Membaca dari berkas.
• Write. Menulis atau menulis ulang berkas.
• Execute. Me-load berkas ke memori dan mengeksekusinya.
• Append. Menulis informasi baru di akhir berkas.
• Delete. Menghapus berkas dan mengosongkan spacenya untuk kemungkinan
digunakan kembali.
• List. Mendaftar nama dan atribut berkas.
E.
Pencabutan Hak Akses
Dalam sistem proteksi yang dinamis kita mungkin perlu untuk mencabut akses hak
atas objek-objek yang dimiliki oleh user yang berbeda. Berbagai pertanyaan tentang
pencabutan mungkin timbul, seperti yang berikut ini:
•
Segera VS Ditunda. Apakah pencabutan terjadi segera/atau tertunda?
Jika pencabutan tertunda, bisakah kita mengetahui kapan itu akan terjadi?
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
•
•
•
Selektif VS Umum. Ketika sebuah access right untuk obyek dicabut,
apakah itu mempengaruhi semua user yang memiliki hak akses ke objek
itu, atau bisa kita tentukan kelompok user tertentu yang hak aksesnya
seharusnya dicabut?
Parsial VS Total. Dapatkah subset dari hak-hak terkait dengan obyek
dicabut, atau harus kita mencabut hak akses semua untuk objek ini?
Sementara VS Permanen. Dapatkah akses dicabut secara permanen
(akses dicabut berarti tidak akan pernah lagi tersedia kembali), atau akses
dapat dicabut dan kemudian diperoleh lagi?
Dengan skema access-list, pencabutan hak akses adalah mudah. Access list akan
mencari hak akses yang akan dicabut, dan mereka dihapus dari daftar. Pencabutan
bersifat segera dan dapat bersifat umum atau selektif, total atau parsial, ataukah
permanen atau sementara.
Kapabilitas, bagaimanapun, membuat revokasi lebih sulit. Berikut skema yang
menerapkan pencabutan untuk kemampuan meliputi:
•
Reacquisition. Secara berkala, kapabilitas dihapus dari setiap domain.
Jika suatu proses ingin menggunakan kapabilitas, ada kemungkinan untuk
menemukan bahwa kapabilitas telah dihapus. Proses ini kemudian dapat
mencoba untuk reacquire/memperoleh kembali kapabilitas tadi. Jika akses
sudah dicabut, maka proses tidak bisa memperoleh kembali kapabilitasnya.
•
Back-pointers. Sebuah daftar pointer dipertahankan dalam setiap objek,
menunjuk ke semua kapabilitas yang terkait dengan objek tersebut. Ketika
pencabutan diperlukan, kita dapat mengikuti pointer, mengubah
kapabilitas yang diperlukan. Hal ini sangat umum sebenarnya, namun
implementasinya mahal.
•
Indirection. Kapabilitas menunjuk secara tidak langsung ke objek. Setiap
poin kapabilitas untuk entri yang unik dalam global table, yang pada
gilirannya menunjuk ke objek. Penerapan pencabutan dilakukan dengan
mencari global table untuk entri yang diinginkan dan menghapusnya.
Kemudian, ketika akses yang ditemukan, kapabilitas tersebut ternyata
ditemukan menunjuk ke entri tabel ilegal. Entri tabel dapat digunakan
kembali untuk kapabilitas lain tanpa kesulitan, karena kedua kapabilitas
dan entri tabel berisi nama unik dari objek. Namun Tidak memungkinkan
adanya pencabutan selektif.
•
Keys. Kunci adalah pola bit yang unik yang dapat dikaitkan dengan
kapabilitas. Kunci yang didefinisikan ketika kapabilitas dibuat, dan tidak
dapat dimodifikasi atau diperiksa oleh proses yang memiliki kapabilitas.
Sebuah kunci master terkait dengan setiap objek, yang dapat ditentukan
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
atau diganti dengan operasi set-key. Ketika kapabilitas dibuat, nilai saat ini
dari kunci master dikaitkan dengan kapabilitas. Ketika kapabilitas
dilaksanakan, kuncinya dibandingkan dengan master key. Jika sesuai,
operasi ini dibiarkan berlanjut. Jika tidak, kondisi pengecualian dinaikkan.
Skema ini tidak mengizinkan pencabutan selektif, karena hanya satu
master kunci yang terkait dengan setiap objek.
F. Sistem Berbasis Kapabilitas
F.1 Hydra
Hydra adalah sistem proteksi berbasis kapabilitas yang menyediakan
fleksibilitas yang baik. Sistem ini menyediakan sebuah set yang pasti dari access
right yang mungkin dapat diketahui dan diinterpretasikan oleh sistem. Right ini
termasuk bentuk dasar dari accesssebagai right untuk membaca, menulis ataupun
mengeksekusi pada sebuah segmen memori. Dalam kenyataannya, sistem ini
menyediakan cara bagi user untuk mendeklarasikan righttambahan. Interpretasi
dari user-defined right dilaksanakan hanya oleh program dari user, tetapi sistem
menyediakan
proteksi access dalam
penggunaan right ini,
seiring
dengan
penggunaan dari system-defined right.
Operasi dari objek didefinisikan sesuai dengan prosedur. Prosedur yang
mengimplementasikan operasi ini merupakan bentuk dari sebuah objek dan diakses
secara tidak langsung oleh kapabilitas. Nama dari user-defined procedure harus
diidentifikasi kepada sistem proteksi bila hal ini berhubungan dengan objek
dari userdefined- type. Ketika definisi dari sebuah objek yang telah dibuat
diperkenalkan kepada hydra, nama dari operasi yang ada pada tipe ini berubah
dari auxiliary right. Auxiliary right dapat dijabarkan dalam sebuah kapabilitas dari
sebuah tipe.
Konsep lainnya adalah right implification. Skema ini memungkinkan sebuah
sertifikasi dari sebuah prosedur yang aman untuk dapat bergerak pada sebuah
parameter formal dari sebuah tipe yang telah terspesifikasi. Amplifikasi sangat
berguna dalam menjalankan implementasi dari access procedure ke variabel
representasi dari tipe data abstrak.
Sebuah hydra sub system dibuat di atas kernel proteksinya dan mungkin
membutuhkan proteksi dari komponennya sendiri. Sebuah sub sistem berinteraksi
dengan kernel melalui panggilan pada sebuah set dari kernel-defined primitive yang
mendefinisikan access rightkepada resourse yang diimplementasikan selanjutnya
oleh sub sistem.
F.2 Cambridge CAP System
Sebuah pendekatan kepada proteksi berbasis kapabilitas telah dibentuk dalam
sebuah desain dari Cambridge CAP System. Sistem kapabilitas dari CAP lebih
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
sederhana dan tidak lebih baik daripada hydra. Hanya saja ditunjukkan bahwa
sistem ini dapat digunakan untuk menyediakan sebuah proteksi sekuritas dari userdefined object. Pada CAP ada 2 kapabilitas. Yang satu dinamakan data kapabilitas,
yang dapat digunakan untuk menyediakan akses kepada objek tetapi right yang
disediakan hanya right standar seperti membaca, tulis ataupun mengeksekusi
segmen penyimpanan terpisah yang terasosiakan dengan objek. Data kapabilitas
diintepretasikan oleh microcode di dalam mesin CAP.
G. Proteksi Berbasis Bahasa Komputer
Dengan semakin kompleknya sistem operasi seiring dengan mereka
menyediakan high level user interface, tujuan dari proteksi menjadi lebih
berkembang. Dalam perkembangan ini kita mengetahui bahwa designer dari sistem
proteksi telah membuat sebuah ide yang mengacu pada bahasa pemograman
khususnya pada konsep tipe data abstrak dan objek. Dan hal ini memiliki beberapa
keuntungan yang sangat signifikan :
1. Proteksi yang dibutuhkan dapat dibuat dengan mudah daripada
memprogram melaluisequence dari panggilan pada prosedur dari sebuah
sistem operasi
2. Kebutuhan proteksi dapat didefinisikan sendiri-sendiri sesuai dengan sistem
operasi yang ada
3. Cara untuk mengaplikasikannya tidak perlu harus disediakan
oleh designer dari sub system
4. Notasi yang ada sangat alami dikarenakan access dari privilegesnya
memiliki hubungan yang dekat dengan konsep linguist dari tipe data.
Yang kita butuhkan adalah sebuah mekanisme access contol yang dinamis
sekaligus aman untuk mendistribusikan kapabilitas kepada sistem resource di
antara user process. Bila yang kita inginkan adalah reabilitas dari sistem, maka
mekanisme access control adalah merupakan opsi yang terbaik. Tetapi bilamana kita
menginginkan optimalisasi dalam prakteknya, sistem tersebut harus diperhatikan
faktor efisiensivitasnya. Kebutuhan ini telah mengarahkan kepada perkembangan
dari beberapa bahasa pemograman untuk memungkinkan programmer untuk
membuat beberapa restriksi pada penggunaan resouce yang diatur secara spesifik.
Konstruksi ini menyediakan mekanisme kepada 3 fungsi :
1. Menyebarkan kapabilitas aman dan efisien di antara customer process
2. Mengkhususkan tipe dari operasi yang memungkinkan sebuah proses untuk
memanggil sebuah resorce yang teralokasi
3. Mengkhususkan kebutuhan dalam hal ini sebuah proses dapat memanggil
operasi dari sebuah resource
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
Sebagai penutup pentingnya dari notasi bahasa pemograman yang cocok
dimana dalam hal ini adalah untuk mempercepat kebutuhan proteksi akan
ditindaklanjuti lebih lanjut seiring dengan perubahan teknologi yang ada.
Dalam
bahasa
pemrograman
Java,
proteksi
data
dalam
sebuah class dinyatakan dalam sintakspublic, private, dan default. Public artinya
suatu data dalam class dapat diakses dan dimodifikasi dari luar class. Private berarti
data sama sekali tidak dapat terlihat dan tidak dapat diubah dari luar class. Data ini
hanya terlihat oleh class itu sendiri. Default artinya, data hanya bisa dilihat
oleh class-class yang memiliki package yang sama.
Proteksi di handle oleh Java Virtual Machine (JVM). Class yang sudah
dibahas di paragraf sebelumnya diberi domain proteksi ketika class tadi
di load oleh JVM. Domain proteksi mengindikasikan operasi-operasi apa saja yang
dapat dan tidak dapat dijalankan, dan jika sebuah method dalam library meminta
melakukan operasi ber-hak akses (privileged), stackyang ada kemudian diperiksa
untuk memastikan apakah operasi yang bersangkutan dapat dijalankan oleh library.
Pemeriksaan ini disebut dengan stack inspection.
2. A. Masalah – masalah Keamanan Sistem Operasi
Dalam keamanan terdapat dua masalah penting, yaitu :
1. Kehilangan Data (Data Loss)
Kehilangan data dapat disebabkan karena beberapa hal, yaitu :
- Bencana
– Kebakaran
– Banjir
– Gempa Bumi
– Perang
– Kerusuhan
– Binatang
Kesalahan perangkat keras dan perangkat lunak :
–
–
–
–
Tidak berfungsinya pemroses
Disk atau tape yang tidak terbaca
Kesalahan telekomunikasi
Kesalahan program (bugs)
Kesalahan / kelalaian manusia :
–
–
–
–
Kesalahan pemasukan data
Memasang tape atau disk yang salah
Eksekusi program yang salah
Kehilangan disk atau tape
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
2. Penyusup (hacker)
Penyusup atau hacker terdiri dari :
1. Penyusup pasif
2. Membaca data yang tidak diotorisasi
PENYUSUP AKTIF
Mengubah data yang tidak diotorisasi
Kategori penyusupan :




Lirikan mata pemakai non teknis
Pada sistem time-sharing, kerja pemakai dapat diamati orang sekelilingnya.
Bila dengan lirikan itu dapat mengetahui apa yang diketik saat pengisian
password, maka pemakai non teknis dapat mengakses fasilitas yang bukan
haknya.
Penyadapan oleh orang dalam
Usaha hacker dalam mencari uang
Spionase militer atau bisnis
B. Ancaman – ancaman Keamanan
Sasaran pengamanan adalah menghindari, mencegah, dan mengatasi ancaman
terhadap sistem. Kebutuhan keamanan sistem komputer dikategorikan dalam tiga
aspek, yaitu :
1. Kerahasiaan (secrecy)
Keterjaminan bahwa informasi di sistem komputer hanya dapat diakses oleh
pihak – pihak yang diotorisasi dan modifikasi tetap menjaga kosistensi dan
keutuhan data di sistem.
2. Integritas (integrity)
Keterjaminan bahwa sumber daya sistem komputer hanya dapat dimodifikasi
oleh pihak – pihak yang diotorisasi.
3. Ketersediaan (availability)
Keterjaminan bahwa sumber daya sistem komputer tersedia bagi pihak –
pihak yang diotorisasi saat diperlukan.
Tipe – tipe ancaman terhadap keamanan sistem dapat dimodelkan dengan
memandang fungsi sistem komputer sebagai penyedia informasi. Berdasarkan fungsi
ini, ancaman terhadap sistem komputer dapat dikategorikan menjadi empat
ancaman, yaitu :
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
-
Interupsi (interuption)
Sumber daya sistem komputer dihancurkan atau menjadi tak tersedia atau
tak berguna.Interupsi merupakan ancaman terhadap ketersediaan. Contoh
: penghancuran bagian perangkat keras, seperti harddisk, pemotongan
kabel komunikasi.
-
Intersepsi (interception)
Pihak tak diotorisasi dapat mengakses sumber daya. Interupsi merupakan
ancaman terhadap kerahasiaan. Pihak tak diotorisasi dapat berupa orang
atau program komputer. Contoh : penyadapan untuk mengambil data
rahasia, mengetahui file tanpa diotorisasi.
-
Modifikasi (modification)
Pihak tak diotorisasi tidak hanya mengakses tapi juga merusak sumber
daya. Modifikasi merupakan ancaman terhadap integritas. Contoh :
mengubah nilai-nilai file data, mengubah program sehingga bertindak
secara berbeda, memodifikasi pesan-pesan yang ditransmisikan pada
jaringan.
-
Fabrikasi (fabrication)
Pihak tak diotorisasi menyisipkan/memasukkan objek-objek palsu ke
sistem. Fabrikasi merupakan ancaman terhadap integritas. Contoh :
memasukkan pesan-pesan palsu ke jaringan, penambahan record ke file.
C. Autentikasi Pemakai
 Suatu yang diketahui pemakai :
 passsword
 kombinasi kunci
 nama kecil ibu, dsb
 Sesuatu yang dimiliki pemakai :
 badge
 kartu identitas
 kunci, dsb
 Sesuatu mengenai (merupakan ciri) pemakai :
 sidik jari
 sidik suara
 foto
 tanda tangan, dsb
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
D. Countermeasures (Tindakan Balasan)
1.
2.
3.
4.
5.
Pembatasan waktu ketika seseorang login
Panggilan otomatis pada nomor yang disiapkan
Pembatasan upaya melakukan login
Ketersediaan database login
Penggunaan simple login sebagai perangkap
E. Sekuriti Sistem Operasi
1. Logic Bomb
Logik yang ditempelkan pada program komputer, dimana pada saat program
menjalankan kondisi tertentu logik tersebut menjalankan fungsi yang
merusak.
2. Trap Door
Kode yang menerima suatu barisan masukan khusus atau dipicu dengan
menjalankan ID pemakai tertentu.
F. Serangan Pengamanan Umum
1. Permintaan page memori
2. Mencoba system calls
3. Mencoba login dan langsung menekan DEL, RUBOUT atau BREAK
4. Mencoba memodifikasi struktur sistem operasi
5. Mencari informasi yang tidak boleh dilakukan pada manual book
6. Menggunakan kelemahan sifat manusia
Farhat, ST., MMSI., MSc
Sistem Operasi
Universitas Gunadarma
Download