Keamanan merupakan suatu proteksi terhadap pengerusakan
data dan pemakaian data oleh pemakai yang tidak punya kewenangan. lunak
database server yang handal (2) Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada. Keamanan
merupakan suatu proteksi terhadap pengerusakan data dan pemakaian. Untuk
menjaga keaman an Basis Data dapat dengan: (1) Penentuan perangkat
a. Tujuan Keamanan Basis Data
·
Secrecy/Confidentiality: Informasi tidak boleh diungkapkan kepada pengguna
yang tidak sah. Sebagai contoh, mahasiswa seharusnya tidak
diperbolehkan untuk memeriksa nilai siswa lainnya.
· Integrity: Hanya pengguna yang berwenang harus diizinkan untuk memodifikasi
data. Sebagai contoh, siswa mungkin diperbolehkan untuk melihat nilai
mereka, namun tidak diperbolehkan (jelas) untuk memodifikasi mereka.
·
Availability: Pengguna yang terdaftar tidak boleh ditolak akses. Sebagai
contoh, seorang instruktur yang ingin mengubah kelas harus diizinkan untuk
melakukannya
b. Ancaman terhadap Keamanan Database
·
Interuption: Sumber daya basis data dirusak atau menjadi tidak dapat
dipakai (ancaman terhadap availability).
· Interception: Pemakai atau bagian yang tidak berhak mengakses sumber daya
basis data (ancaman secrecy).
·
Modification: Pemakai atau bagian yang tidak berhak tidak hanya mengakses
tapi juga merusak sumber daya sistem komputer (ancaman
integrity). Fabrication: Pemakai atau bagian yang tidak berhak menyisipkan
objek palsu kedalam sistem (ancaman integrity).
c. Penyalahgunaan Database
1. Tidak disengaja, jenisnya :
·
Kerusakan selama proses transaksi
·
Anomali yang disebabkan oleh akses database yang konkuren
·
Anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
· Logika error yang mengancam kemampuan transaksi untuk mempertahankan
konsistensi database
2. Disengaja, jenisnya :
·
Pengambilan data / pembacaan data oleh pihak yang tidak berwenang
·
Pengubahan data oleh pihak yang tidak berwenang
·
Penghapusan data oleh pihak yang tidak berwenang
d. Tingkatan Penyalahgunaan Database
· Fisikal : lokasi-lokasi dimana terdapat sistem komputer haruslah aman
secara fisik terhadap serangan perusak.
· Manusia : wewenang pemakai harus dilakukan dengan berhati-hati untuk
mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
· Sistem Operasi : Kelemahan pada SO ini memungkinkan pengaksesan data oleh
pihak tak berwenang, karena hampir seluruh jaringan sistem database
menggunakan akses jarak jauh.
· Sistem Database : Pengaturan hak pemakai yang baik.
Pengaturan Keamanan Database
a. Otorisasi :
·
Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses
sistem
·
Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak
dengan 2
·
Mengendalikan sistem atau obyek yang dapat diakses
·
Mengendalikan bagaimana pengguna menggunakannya
· Sistem administrasi yang bertanggungjawab untuk memberikan hak akses
dengan membuat account pengguna.
b. 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:
· Relasi : pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung
suatu relasi
· View : pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang
terapat pada view
· Read Authorization : pengguna diperbolehkan membaca data, tetapi tidak
dapat memodifikasi.
· Insert Authorization : pengguna diperbolehkan menambah data baru, tetapi
tidak dapat memodifikasi data yang sudah ada.
· Update Authorization : pengguna diperbolehkan memodifikasi data, tetapi
tidak dapat menghapus data.
· Delete Authorization : pengguna diperbolehkan menghapus data.
Untuk Modifikasi data terdapat otorisasi tambahan :
·
Index Authorization : pengguna diperbolehkan membuat dan menghapus index
data.
·
Resource Authorization : pengguna diperbolehkan membuat relasi-relasi baru.
· Alteration Authorization : pengguna diperbolehkan menambah/menghapus
atribut suatu relasi.
·
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
c. 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 dibuat di database untuk proses recovery yang efektif
jika terjadi kesalahan.
Isi Jurnal :
1. Record transaksi
·
Identifikasi dari record
·
Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
·
Item data sebelum perubahan (operasi update dan delete)
·
Item data setelah perubahan (operasi insert dan update)
·
Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal selanjutnya
untuk semua transaksi
2. Record checkpoint : 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.
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.
d. 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).
Teknik Pemulihan Database
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 Upadate / 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 dimana para 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.
Pertanyaan:
Salah satu contoh kasus penyalahgunaan database secara tidak sengaja dan
secara di sengaja?
Jawab:
· Contoh kasus penyalahgunaan database secara tidak sengaja. Input data
dengan informasi yang tidak benar misalnya menggunakan e-banking via internet
kita memasukan no rek atau token yang salah dalam melakukan transaksi.
·
Contoh kasus yang di sengaja. Carding adalah penyusun data informasi pada
database untuk mendapatkan hak guna yang bukan miliknya misalkan dengan
menggunakan uang cairan secara digital dalam melakukan sebuah transaksi.