Keamanan SISTEM BASIS Data
Penyerangan Database
·
Informasi sensitif
yang tersimpan di dalam database dapat terbuka (disclosed) bagi
orang-orang yang tidak diizinkan (unauthorized ).
·
Informasi sensitif
yang tersimpan di dalam database dapat altered in an unacceptable manner
·
Informasi sensitif
yang tersimpan di dalam database dapat inaccessible bagi orang-orang
yang diizinkan.
·
the underlying
operating system may be attacked -- most difficult problem
Database Inference Problem
·
Malicious attacker
may infer sensitive information (that is hidden) from information on a
database that is deemed not sensitive (made public)
·
More difficult
problem: attacker may infer information combining what’s on the database with
what is already known
Database Aggregation Problem
·
Bagian-bagian
informasi tidak sensitive, dan menjadi sensitive ketika digabungkan secara
bersamaan.
·
Controls for the
aggregation problem
o Honeywell
LOCK Data Views (LDV) database system ; pieces of data labeled as nonsensitive,
aggregates labeled as sensitive
o SRI
SeaView database system ; pieces of data labeled as sensitive, aggregates may
then be labeled as non sensitive
Polyinstantiation, a Control
Against Disclosure
·
This approach
involves different views of a database object existing for users with different
security attributes
·
Addresses the aggregation
problem by providing different security labels to different aggregates
separately
·
Addresses the inference
problem by providing a means for hiding information that may be used to
make inferences
Database Applications on Secure
Bases
·
Most database
applications rely on underlying services of an operating system
·
Exporting these
services from a TCB would enhance the security of the database
o
database keys
implemented using security labels from underlying TCB
o
TCB keeps audit
records of operations on database
o
OS file system
protection extended to database
Keamanan
merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh
pemakai yang tidak punya kewenangan.
Penyalahgunaan Database :
1. Tidak
disengaja, jenisnya :
a. kerusakan
selama proses transaksi
b. anomali
yang disebabkan oleh akses database yang konkuren
c. anomali
yang disebabkan oleh pendistribuasian data pada beberapa komputer
d. logika
error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi
database.
2. Disengaja,
jenisnya :
a. Pengambilan
data / pembacaan data oleh pihak yang tidak berwenang.
b. Pengubahan
data oleh pihak yang tidak berwenang.
c. Penghapusan
data oleh pihak yang tidak berwenang.
Tingkatan
Pada Keamanan Database :
1. Fisikal
à
lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik
terhadap serangan perusak.
2. Manusia
à
wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi
kemungkinan adanya manipulasi oleh pemakai yang berwenang
3. Sistem
Operasi à
Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang,
karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
4. Sistem
Database à
Pengaturan hak pemakai yang baik.
Keamanan
Data :
1. Otorisasi
:
- Pemberian
Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek
database
- Kendali
otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2
fungsi :
- Mengendalikan
sistem atau obyek yang dapat diakses
- Mengendalikan
bagaimana pengguna menggunakannya
- Sistem
administrasi yang bertanggungjawab untuk memberikan hak akses dengan
membuat account pengguna.
2. Tabel View
:
- Merupakan
metode pembatasan bagi pengguna untuk mendapatkan model database yang
sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data
yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
- Contoh pada
Database relasional, untuk pengamanan dilakukan beberapa level :
1. Relasi
à
pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2. View
à
pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat
pada view
3. Read
Authorization à
pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4. Insert
Authorization à
pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data
yang sudah ada.
5. Update
Authorization à
pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6. Delete
Authorization à
pengguna diperbolehkan menghapus data.
- Untuk
Modifikasi data terdapat otorisasi tambahan :
1. Index
Authorization à
pengguna diperbolehkan membuat dan menghapus index data.
2. Resource
Authorization à
pengguna diperbolehkan membuat relasi-relasi baru.
3. Alteration
Authorization à
pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4. Drop
Authorization à
pengguna diperbolehkan menghapus relasi yang sudah ada.
- Contoh
perintah menggunakan SQL :
GRANT
: memberikan wewenang kepada pemakai
Syntax
: GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
Contoh
:
GRANT
SELECT ON S TO BUDI
GRANT
SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
REVOKE
: mencabut wewenang yang dimiliki oleh
pemakai
Syntax
: REVOKE <priviledge list> ON <nama relasi/view> FROM
<pemakai>
Contoh
:
REVOKE
SELECT ON S TO BUDI
REVOKE
SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
Priviledge
list : READ, INSERT, DROP, DELETE, INEX, ALTERATION, RESOURCE
3. Backup
data dan recovery :
Backup
: proses secara periodik untuk mebuat duplikat ari database dan melakukan
logging file (atau program) ke media penyimpanan eksternal.
Jurnaling
: proses menyimpan dan mengatur log file dari semua perubahan yang ibuat di
database untuk proses recovery yang efektif jika terjai kesalahan.
Isi Jurnal :
·
Record transaksi
1. Identifikasi
dari record
2. Tipe
record jurnal (transaksi start, insert, update, delete, abort, commit)
3. Item
data sebelum perubahan (operasi update dan delete)
4. Item
data setelah perubahan (operasi insert dan update)
5. Informasi
manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya untuk
semua transaksi
·
Record ceckpoint :
suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau
sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya
kembali, maka untuk membatasi pencarian menggunakan teknik ini.
Recovery :
merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar
setelah terjadinya suatu kegagalan.
Jenis
Pemulihan :
- Pemulihan
terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat
mengubah / memperbarui data pada sejumlah tabel.
- Pemulihan
terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara
mengambil atau memuat kembali salinan basis data (backup)
- Pemulihan
terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus
alirannya.
Fasilitas
pemulihan pada DBMS :
- Mekanisme
backup secara periodik
- fasilitas
logging dengan membuat track pada tempatnya saat transaksi berlangsung dan
pada saat database berubah.
- fasilitas
checkpoint, melakukan update database yang terbaru.
- manager
pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi
lebih konsisten setelah terjadinya kesalahan.
Teknik
Pemulihan :
- defered upate
/ perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai
transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka
tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk
mencegah akibat dari kegagalan tersebut.
- Immediate
Upadte / perubahan langsung : perubahan pada DB akan segera tanpa harus
menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan
diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah
disetujui sebelum terjadi kegagalan.
- Shadow Paging
: menggunakan page bayangan imana paa prosesnya terdiri dari 2 tabel yang
sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai
cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan
selama berlangsung tabel transaksi yang menyimpan semua perubahan ke
database, tabel bayangan akan digunakan jika terjadi kesalahan.
Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya
membuat terjadinya fragmentasi.
4. Kesatuan
data dan Enkripsi :
- Enkripsi :
keamanan data
- Integritas
:metode pemeriksaan dan validasi data (metode integrity constrain), yaitu
berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya
integritas data.
- Konkuren :
mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi
user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan
proses yang akurat (time stamping).
No comments:
Post a Comment