Anda di halaman 1dari 26

Protection

Kelompok 4

M. Harley Adinama Filzi Muhaimin Manan Anissa Atifa Nurul Afifah


1811521004 1811521016 1811522004 1811522020
.
Protection
Apa itu protection?

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).
Siapa yang menjalankan Protection
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.

We Create
Quality Professional
Kenapa harus ada protection

Untuk sistem
meningkatkan
operasi multi- meningkatkan
programming, sehingga
realibitas dari realibilitas dengan
para user bisa dengan sistem kompleks cara
aman membagi logical manapun yang mendeteksi error-
name space, seperti menggunakan error yang tidak
direktori dari file-file, atau model berbagi nampak
membagi physical name sumber daya pada interface dianta
space, seperti memori. ra komponen-
(shared
komponen subsistem
resources).
Bagaimana mekanisme Protection
Secara sederhana, mekanisme proteksi dapat
digambarkan dengan konsep domain. Masing-masing
pasangan domain berisi sebuah objek dan beberapa
akses operasi 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.
Domain

Apa itu domain


Domain dapat
Domain Proteksi yaitu diwujudkan dalam
melindungi objek-objek Bagaimana
mode yang berbeda
pada sistem komputer hubungan antara
sebagai pengguna,
agar tidak terjadi domain Contoh Domain
atau sebagai
kerusakan. Setiap domain -Jika asosiasinya proses, atau UNIX dan Multics
harus memiliki nama yang statis, maka prinsip sebagai prosedur.
unik dan sekumpulan yang perlu diketahui Misalnya, jika setiap
operasi yang dapat di memerlukan cara pengguna
lakukan terhadap domain. mengubah konten berkorespondensi
Domain merupakan domain secara dengan domain,
didefinisikan sebagai satu dinamis. maka domain itu
set pasangan <objek, {hak -Jika asosiasi itu mendefinisikan
akses set}},. dinamis, maka perlu akses pengguna itu,
ada mekanisme dan mengubah
untuk peralihan domain melibatkan
domain. perubahan ID
pengguna.
Domain pada UNIX
Pada sistem operasi UNIX, domain yang ada terasosiasi dengan user. Penggantian
domain berimbas kepada penggantian identifikasi user secara sementara. Perubahan ini
dicapai melalui file system sebagai berikut. Sebuah identifikasi milik owner dan satu bit
domain (lebih dikenal dengan nama setuid bit) diasosiasikan dengan setiap file.
Ketika setuid bit-nya on, dan user mengeksekusi filenya, user ID nya diset ke identifikasi
pemilik file tadi. Ketika setuid bit nya off, user ID-nya tidak berubah. Sebagai contoh,
ketika user A (user yang memiliki userID = A) mulai mengeksekusi file yang dimiliki oleh B,
dimana domain bit yang terasosiasi sedang off, userID dari sebuah proses tadi diset ke A.
Ketika setuid bit-nya on, userID-nya diset ke pemilik file-nya, yakni B. ketika prosesnya
dimulai, proses pengubahan userID bersifat sementara ini berakhir.
Domain pada MUlTICS
- Cincin diberi nomor dari 0 hingga 7, dengan
cincin luar memiliki subset hak istimewa cincin - Setiap proses berjalan dalam cincin, sesuai dengan
dalam. nomor -cincin saat ini, penghitung yang terkait dengan
- Setiap file adalah segmen memori, dan setiap setiap proses.
deskripsi segmen termasuk entri yang - Proses yang beroperasi dalam satu cincin hanya dapat
menunjukkan nomor dering yang terkait dengan mengakses segmen yang terkait dengan cincin yang
segmen itu, serta membaca, menulis, dan lebih tinggi (lebih jauh), dan kemudian hanya sesuai
mengeksekusi hak istimewa. dengan bit akses. Proses tidak dapat mengakses
segmen yang terkait dengan dering lebih rendah.

- Pergantian domain dilakukan dengan - Jika suatu proses yang beroperasi di dering i memanggil segmen yang
proses dalam satu dering memanggil proses braketnya sedemikian rupa sehingga b1 <= i <= b2, maka panggilan
yang beroperasi di dering bawah, yang
berhasil dan proses tetap di ring i.
dikendalikan oleh beberapa faktor yang
- Jika tidak, jebakan ke OS terjadi, dan ditangani sebagai berikut:
disimpan dengan setiap segmen deskriptor:
a. Jika i <b1, maka panggilan diperbolehkan, karena transfer ke
a. Braket akses , ditentukan oleh
prosedur dengan hak istimewa lebih sedikit. Namun jika salah satu
bilangan bulat b1 <= b2.
b. Batas b3> b2 parameter yang dilewatkan seperti segmen di bawah b1, maka
c. Daftar gerbang, harus disalin ke area yang dapat diakses oleh prosedur yang
yang mengidentifikasi titik masuk dipanggil.
tempat segmen dapat dipanggil. b. Jika i> b2, maka panggilan hanya diperbolehkan jika i <= b3 dan
panggilan diarahkan ke salah satu entri pada daftar gerbang.
- Secara keseluruhan pendekatan ini lebih kompleks dan kurang efisien
Prinsip perlindungan dalam sistem komputer
modern
Apa

Prinsip penting yang Bagaimana kerja


sudah teruji adalah prinsip ini?
Dimana prinsip ini di
Least Privilege. Prinsip
ini dapat “mendikte” implementasikan? Ada sistem operasi yang
program, user, bahkan menyediakan system call
sistem untuk Sistem operasi yang dan servis yang
memberikan sebuah mengikuti prinsip least mengizinkan aplikasi-
privileges (hak akses privilege aplikasi di-write
khusus) untuk mengimplimentasikannya menggunakan akses
menjalankan task-task dalam program-program, kontrol yang sudah disusun
yang ada. system call, dan struktur dengan rapi. Karena servis-
data mereka, jadi ketika servis ini mempunyai
ada mekanisme untuk
error/failure/compromise mengaktifkan privileges
pada komponen tertentu ketika dibutuhkan, dan
hanya akan menghasilkan menonaktifkan privileges
kerusakan minimum dan ketika tidak dibutuhkan.
kemudian mengatasi Prinsip least privilege ini
kerusakan tadi. dapat membantu
menyediakan lingkungan
berkomputer yang jauh
lebih aman. Tapi tidak
untuk beberapa kasus.
Language-based Protection
Kenapa Language-based
Protection penting?
Apa itu Language-based
Protection?
Hal ini dibutuhkan untuk membatasi
Yaitu suatu mekanisme akses elemen-elemen yang perlu
keamanan berdasarkan mendapatkan proteksi, seperti class,
bahasa yang digunakan dalam function ataupun property misalnya
membangun suatu Software pada bahasa java.
Application.
Mekanisme ini berupa
pengaturan hak akses pada
class-class ataupun elemen
bahasa pemmrograman yang
lain menggunakan Private,
Public maupun Default.
Kenapa butuh Language-based Protection? Keuntungan Penggunaan Language-
based Protection

Language-based Protection dibutuhkan


untuk menciptakan lingkungan program yang
mampu mendistribusikan resource pada
proses yang berjalan dengan tetap Menyebarkan kapabilitas aman dan
01 efisien di antara customer process
memperhatikan aspek keamanan.

Mengkhususkan tipe dari operasi yang


memungkinkan sebuah proses untuk
memanggil sebuah resorce yang
02 teralokasi

Mengkhususkan kebutuhan dalam hal ini


sebuah proses dapat memanggil operasi
03 dari sebuah resource
Contoh Language-based Protection pada bahasa Java.

Dalam bahasa pemrograman Java, proteksi data dalam sebuah class dinyatakan
dalam sintaks public, 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), stack yang ada kemudian diperiksa untuk memastikan
apakah operasi yang bersangkutan dapat dijalankan oleh library. Pemeriksaan ini
disebut dengan stack inspection.
Access
Access Matrix
Semua informasi yang dibutuhkan untuk administrasi kontrol
akses dapat dimasukkan kedalam sebuah matriks dengan
baris yang mewakili domain dankolom mewakili objek.

Kemampuan untuk menyalin hak akses dari satu domain (atau


baris) dari akses matriks yang lain dilambangkan dengan tanda
bintang (*) yang ditambahkan ke hak akses.
Hak copy memungkinkan untuk menyalin hak akses hanya dalam
kolom (yaitu untuk objek) yang haknya telah didefinisikan.

Skema ini memiliki dua varian:


1.      Sebuah hak/rights disalin
dari access(i,j) ke access(k,j), yang kemudian dihapus dari akses
yang lama yakni access(i,j). Tindakan ini merupakan
pengalihan/transfer hak, bukan salinan.
2.      Perbanyakan untuk hak copy bisa saja terbatas. Artinya,
ketika hak R* disalin dari access(i,j) ke access(k,j),  hanya R yang
tepat (bukan R ") dibuat. Sebuah proses mengeksekusi dalam
domain Dk tidak bisa menyalin hak R.
Access Matrix
Hak copy (salin) dan o
wner (pemilik)
memungkinkan proses
untuk mengubah entri
dalam kolom. Sebuah
mekanisme juga
diperlukan untuk
mengubah entri
secara berturut-turut.
Hak control (kontrol)
berlaku hanya untuk
obyek domain.
Jika access(i,j) termas
uk hak kontrol, maka
proses mengeksekusi
dalam domain Di
dapat menghapus Access Matrix dengan Owner Right Access Matrix dengan Copy Right
akses hak dari baris.
Implementasi Access Matrix
Access List untuk Objek
Setiap kolom dalam access
matrix dapat diimplementasikan
Secara umum, matriks akan sebagai access list untuk satu objek,
dihilangkan, yang artinya, sebagian dan entri kosong dapat dibuang. Daftar
masukan akan kosong. Walaupun ada yang dihasilkan untuk setiap objek
teknik dari data-structure yang dapat terdiri dari pasangan secara urut
merepresentasikan hal ini, tetapi yakni <domain, rights-set>, yang
kenyataannya mereka tidak mendefinisikan semua domain dengan
digunakan. set yang tidak kosong dari access
rights untuk objek tersebut.

Global Table
Bentuk implementasi paling sederhana Capability List untuk Domain
dari access matrix adalah global
table yang terdiri satu set tiga hal yang Daripada menghubungkan kolom
disusun berurutan yakni <domain, dari access matrix dengan objek
object, rights-set>. Implementasi ini sebagai pengakses daftar, kita dapat
mempunyai beberapa kelemahan. mengaitkan setiap baris dengan
Tabel biasanya besar dan dengan domainnya. Capability list untuk
demikian tidak dapat disimpan dalam domain adalah daftar objek bersama
memori utama, sehingga dengan operasi diperbolehkan pada
membutuhkan adanya tambahan I / O. objek mereka. Sebuah objek sering
diwakili oleh nama atau alamat fisik,
yang dikenal dengan kapabilitas
(capability).
Klasifikasi Capabillity List Mekanisme Lock-key

Skema lock-key adalah kompromi
Setiap benda memiliki tag untuk menunjukkan
antara access list dan capability lists. Setiap
jenisnya baik sebagai kapabilitas atau sebagai
benda memiliki daftar pola bit yang unik, yang
data yang dapat diakses. Tag sendiri tidak
disebut locks. Demikian pula, masing-masing
harus langsung dapat diakses oleh program
domain memiliki daftar pola bit yang unik,
aplikasi. Hardware atau
yang disebut key. Sebuah proses yang
dukungan firmware dapat digunakan untuk
dieksekusi dalam domain dapat mengakses
menegakkan pembatasan ini. Meskipun hanya
objek hanya jika domain memiliki key yang
diperlukan 1 bit untuk membedakan antara
cocok dengan salah satu locks dari objek.
kemampuan
Secara alternatif, address space yang terkait
dengan program dapat dibagi menjadi dua
bagian. Salah satu bagian dapat diakses oleh
program dan berisi program data normal dan
instruksi.
Perbandingan / Komparasi

Access list berhubungan langsung dengan kebutuhan user.


Ketika user membuat sebuah objek, ia dapat menspesifikasikan domain mana
yang dapat mengaksesnya, sejalan dengan operasi yang terjadi. Sebagian besar
sistem menggunakan combinasi dari access list dan kapabilitas. Ketika sebuah
proses mencoba untuk mengakses sebuah objek, access list akan dicari.
Ketika akses ditolak maka error akan terjadi. Bila tidak, sebuah kapabilitas
dibuat dan terpasang pada proses tersebut. Referensi tambahan menggunakan
kapabilitas untuk mendemonstrasikan akses yang masuk. Setelah akses terakhir
maka kapabilitas akan dihancurkan. Strategi ini digunakan oleh MULTICS didalam
sistem CAL.
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.

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.
User Access Control
Owner
Pengguna yang membuat berkas tersebut

Group
Sekelompok pengguna yang berbagi berkas dan memiliki
akses yang sama

Universe
Semua pengguna yang lain
Solaris 10 mengoprek lebih dalam sistem proteksi yang ada pada
Solaris sistem operasi berbasis Sun Microsystem dengan menambahkan
secara eksplisit prinsip least privilege melalui role-based access
10
control (RBAC). Fasilitas ini menyelesaikan masalah yang terkait
dengan privileges.

Privileges adalah hak untuk mengeksekusi system call atau


menggunakan pilihan pada panggilan sistem (seperti
membuka file dengan akses write saja). Privileges dapat
Privileges dijalankan pada proses, membatasi mereka untuk secara tepat
mengakses hal yang mereka butuhkan untuk menjalankan tugas
mereka. Privileges dan program juga dapat dijalankan
untuk roles. 
Capability-Based
System

Sistem Perlindungan berbasis


kemampuan terdiri dari dua
jenis yaitu :
1. Hydra
2. Cambridge CAP system

Portfolio Presentation
Sistem Perlindungan berbasis kemampuan
Sistem Perlindungan berbasis
01 Hydra
02 kemampuan

Hydra merupakan suatu sistem proteksi berbasis kapabilitas yang


menyediakan serangkaian hak akses yang memungkinkan yang diketahui dan
Sistem CAP lebih sederhana dan dangkal kurang kuat dibandingkan dengan
ditafsirkan oleh sistem. Hak-hak ini termasuk bentuk akses dasar seperti hak
untuk membaca, menulis atau mengeksekusi segmen memori. Hydra. CAP memiliki dua jenis kemampuan:
Operasi pada objek didefinisikan secara prosedural. prosedur yang Kemampuan Data
Kemampuan perangkat lunak
melaksanakan operasi semacam itu sendiri merupakan bentuk objek dan
diakses secara tidak langsung oleh kemampuan. ketika definisi suatu objek Kemampuan data dapat digunakan untuk menyediakan akses ke
diketahui hydra, nama-nama operasi pada tipe menjadi hak bantu. objek, tetapi satu-satunya hak yang diberikan adalah standar baca, tulis
Hydra juga menyediakan amplifikasi yang tepat. skema ini memungkinkan eksekusi segmen penyimpanan individu yang terkait dengan objek.
sertifikasi suatu prosedur sebagai kepercayaan yang layak untuk bertindak kemampuan data diinterpretasikan oleh mikrokode di mesin CAP.
berdasarkan parameter formal dari jenis tertentu, atas nama proses apa pun Kemampuan Perangkat Lunak dilindungi, tetapi tidak ditafsirkan oleh
yang memegang hak untuk menjalankan prosedur. mikrokode CAP. itu ditafsirkan oleh prosedur yang dilindungi, yang dapat
ditulis oleh programmer aplikasi sebagai bagian dari subsistem.
Amplifikasi memungkinkan akses prosedur implementasi ke variabel
representasi dari tipe data abstrak.Subsistem hydra dibangun di atas
perlindungan Kernel dan mungkin memerlukan perlindungan komponennya
sendiri. Subsistem berinteraksi dengan kernel meskipun memanggil
sekumpulan primitif terdefinisi Kernel yang mendefinisikan hak akses ke
sumber daya yang ditentukan oleh subsistem.
THANK YOU
Any Question?

Anda mungkin juga menyukai