Anda di halaman 1dari 9

Keamanan Basisdata

(Security)

–Model Bell-LaPadula
–Mandatory Access Control (MAC)

1
Keamanan Basisdata (Security)
Discretionary VS Mandatory Access Control
Discretionary Access Control:
– Berdasarkan konsep hak akses atau privilege untuk suatu
objek (table dan view), dan mekanisme untuk memberikan
pengguna hak-hak tersebut (dan menariknya).
– Pembuat table atau view secara otomatis mendapat semua
privilege terhadap objek yang dibuatnya.
– DMBS kemudian memantau siapa yang memperoleh dan
kehilangan privilege, dan menjamin bahwa hanya
permintaan dari pengguna yang memiliki privilege yang
diperlukan saja (pada saat melakukan permintaan) yang
akan dikabulkan.

2
Keamanan Basisdata (Security)
Mandatory Access Control
– Berdasarkan kebijakan (policy) yang berlaku luas di
sistem yang tidak bisa diubah oleh individual user
(masing-masing pengguna).
– Masing-masing objek DB diberikan sebuah security class.
– Masing-masing subjek (user atau user program)
diberikan sebuah izin (clearance) untuk sebuah security
class.
– Peraturannya berdasarkan pada security class dan
clearance yang mengatur siapa yang dapat
menulis/membaca objek yang mana.
– Kebanyakan sistem komersial tidak mendukung
mandatory access control.
– Beberapa versi tertentu dari DBMS komersial
mendukung mandatory access control (e.g. Oracle);
digunakan untuk aplikasi-aplikasi khusus (militer).
.

3
Keamanan Basisdata (Security)
Mengapa Mandatory Control?
– Discretionary control mempunyai beberapa
kelemahan, e.g., permaslahan Trojan horse:
– Dick membuat table Horsie dan memberikan
privilege INSERT kepada Justin (tidak tahu
menahu mengenai pemberian privilege ini).
– Dick mengubah code program aplikasi yang
digunakan oleh Justin untuk menambahkankan
data rahasia yang dipunyai Justin ke table
Horsie (pada saat insert/select ke table yang
dipunyai Justin, maka akan dilakukan insert ke
table Horsie).
– Sekarang Dick bisa melihat isi table yang
dipunyai oleh Justin.

4
Keamanan Basisdata (Security)
Bell-LaPadula Model
– Objek (e.g., table, view, tuple)
– Subjek (e.g., user, user program)
– Security class:
• Top secret (TS), secret (S), confidential (C),
• unclassified (U): TS > S> C > U
– Masing-masing objek dan subjek
diberikan sebuah class.
• Subjek S dapat membaca objek O hanya jika
class(S) >= class(O). (Simple Security
Property)
• Subject S dapat menulis objek O hanya jika
class(S) <= class(O) (*-Property)

5
Keamanan Basisdata (Security)
Bell-LaPadula Model (lanjt)
• Idenya adalah untuk menjamin bahwa informasi
tidak akan pernah mengalir dari tingkat security
yang lebih tinggi ke yang lebih rendah.
• E.g., Jika Dick mempunyai security class C,
sementara Justin mempunyai class S, dan table
rahasia (milik Justin) mempunyai class S:
– Table Dick, Horsie, mempunyai security class sesuai yang
dimiliki oleh Dick, C.
– Aplikasi Justin mempunyai security class sesuai yang
dimilikinya, S.
– Sehingga, program tidak bisa menulis ke table Horsie.
• Aturan-aturan mandatory access control
diterapkan sebagai tambahan untuk discretionary
access control.

6
Keamanan Basisdata (Security)
Multilevel Relation

•Para pengguna dengan S dan TS clearance akan melihat kedua baris


(record);
•Seorang user dengan clearance C hanya akan melihat baris kedua;
seorang user dengan clearance U tidak akan melihat kedua baris
tersebut.
•Jika seorang user dengan clearance C mencoba meng-insert
<101,Pasta, Blue, C>:
– Mengizinkan operasi insert akan melanggar aturan key constraint
– Tidak mengizinkan operasi insert akan memberi tahu kepada user ada
objek lain dengan key 101 yang mempunyai key 101 yang mempunyai
class > C!
– Permasalahan ini dipecahkan dengan memperlakukan field class
sebagai bagian dari key.

7
Keamanan Basisdata (Security)
Statistical DB Security
• Statistical DB: mengandung informasi tentang perseorangan,
tetapi hanya mengizinkan query aggregate (e.g., rata-rata
umur (average age), tetapi tidak secara spesifik
membolehkan query untuk menanyakan berapa umur Joe)
• Permasalahan baru: Dimungkinkan untuk menebak beberapa
informasi rahasia.
• E.g., jika diketahui Joe adalah sailor paling tua, maka dapat
ditanyakan “Berapa banyak sailor yang lebih tua dari X?”
untuk beberapa nilai X yang berbeda sampai diperoleh
jawaban 1; dengan jawaban ini umur Joe bisa ditebak.
• Untuk menanggulangi permasalahan ini: Buatlah rule agar
masing-masing query harus mengembalikan minimal N baris,
untuk nilai N tertentu.

8
Keamanan Basisdata (Security)
Statistical DB Security (lanjt)
•Dengan menyanyakan “Berapa banyak sailor yang
lebih tua dari X?” sampai sistem menolak query,
dapat diketahui ada berapa banyak anggota yang
terdiri dari N sailor, termasuk Joe, yang lebih tua
dari X; misalkan X=55.
•Kemudian, ditanyakan lagi “Berapakah jumlah umur
sailor yang lebih tua dari X?” misalnya hasilnya
adalah S1.
•Kemudian, tanyakan “Berapa jumlah umur sailor
selain Joe yang lebih tua dari X, ditambah umur
saya?” misalnya hasilnya adalah S2.
• Maka umur Joe adalah S1-S2+umur saya

Anda mungkin juga menyukai