1.
Basis
Data (Database)
Basis data adalah suatu koleksi data computer yang
terintegrasi, diorganisasikan dan disimpan dengan suatu cara yang memudahkan
pengambilan kembali. Integrasi logis dari record-record dalam banyak file ini
disebut konsep database yang bertujuan untuk meminimumkan pengulangan data (duplikasi
data artinya data yang sama disimpan dalam beberapa file) dan mencapai
independensi data (kemampuan untuk membuat perubahan dalam struktur data tanpa
membuat perubahan pada program yang memproses data).
Basis data dapat juga diartikan sebagai kumpulan
informasi yang disimpan didalam computer secara sistematik sehingga dapat
diperiksa menggunakan suatu program computer untuk memperoleh informasi dari
basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan
memanggil query basis data disebut system management basis data (DBMS). Hirarki
data dalam konsep system database yaitu database, file, record dan eleman data.
2.
Keamanan
Database
Keamanan merupakan suatu proteksi terhadap
pengerusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.
Untuk menjaga keaman an Basis Data dapat dengan: (1)
Penentuan perangkat lunak database server yang handal (2) Pemberian otoritas
kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang
ada.
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
- 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
- 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.
3. Pengaturan Keamanan Database
a. 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.
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:
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
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 :
·
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
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.
Recovery : merupakan upaya uantuk mengembalikan basis
data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.
Jenis Pemulihan :
1. Pemulihan terhadap kegagalan transaksi :
Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada
sejumlah tabel.
2. Pemulihan terhadap kegagalan media : Pemulihan
karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis
data (backup)
3. Pemulihan terhadap kegagalan sistem : Karena
gangguan sistem, hang, listrik terputus alirannya.
e. 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).
4. Teknik
Pemulihan Database
Teknik Pemulihan :
1. 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.
2. 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.
3. 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.
Pertanyaan
1. 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.