Serializability (Serializabilitas)

advertisement
DATABASE SECURITY
Oleh:
Ir. M. Ramadhan, MT
Sekuritas Basis Data (Database security)
• Definisi: proteksi basis data terhadap ancaman / gangguan melalui
kendali yang bersifat teknis maupun administrasi.
• Sekuritas basis data meliputi hardware, software, orang, data
• Sekuritas basis data berkaitan dengan situasi sbb:
– pencurian
– kehilangan integritas
– kehilangan kerahasiaan – kehilangan ketersediaan
– kehilangan privacy
• Ancaman / gangguan: situasi atau kejadian, baik disengaja atau tidak,
yang merusak sistem sehingga merugikan organisasi:
(a) tangible: kehilangan/kerusakan hardware, software, data
(b) intangible: kehilangan kredibilitas, kehilangan kepercayaan client
• Kerusakan sistem dapat menyebabkan aktivitas terhenti
• Berapa lama aktivitas terhenti dan sampai sejauh mana basis data
dapat dipulihkan bergantung pada:
– apakah ada hardware & software alternativ yang dapat digunakan
– kapan backup terakhir dilakukan
– waktu yang diperlukan untuk me-restore sistem
– apakah data yg hilang dapat dipulihkan
Contoh ancaman gangguan
Pencurian
Wire tapping
Menggunakan
Id & password
orang lain
Kegagaln sw:
akses lebih
dari normal
Blackmail
Penganmbilan
data secara
tidak sah
Pelatihan staf
tdk memadai
Entri ilegal
oleh hacker
Kerahasiaan
Wire tapping
Menggunakan
Id & password
orang lain
Kegagaln sw:
akses lebih
dari normal
Blackmail
Membuka &
melihat data
scr tdk sah
Pelatihan staf
tdk memadai
Entri ilegal
oleh hacker
Pembuatan
program / rutin
yg membypass
mekanisme
keamanan
Prosedur yg
memungkinkan
output rahasia
bercampur dg
output normal
Privacy
Wire tapping
Menggunakan
Id & password
orang lain
Kegagaln sw:
akses lebih
dari normal
Blackmail
Membuka &
melihat data
scr tdk sah
Pelatihan staf
tdk memadai
Integritas
Virus
Data rusak
karena listrik
padam
Kerusakan
fisik pada
peralatan
Kebakaran
Kabel putus
atau tidak
terhubung
Pelatihan staf
tdk memadai
Interferensi
elektronik
Ketersediaan
Virus
Kegagalan hw
seperti disk
head crash
Kerusakan
fisik pada
peralatan
Kebakaran
Kabel putus
atau tidak
terhubung
Banjir
Interferensi
elektronik
Serangan
bom
Pengendalian Keamanan Berbasis Komputer
• otorisasi
• backup & recovery
• enkripsi
• view
• integritas
• teknologi RAID
Otorisasi (authorization)
• pemberian hak yg memungkinkan seseorang secara sah mengakses
sistem atau objek (tabel, view, aplikasi, prosedur, objek lain dl sistem)
• Jenis otorisasi:
–
–
–
–
read authorization, otorisasi u/ mbaca data saja, tdk u/ memodifikasi data
insert authorization, otorisasi u/ me+ data baru, tdk u/ memodifikasi data
update authorization, otorisasi u/ memodifikasi dt, ttp tdk u/ mhapus data
delete authorization, otorisasi untuk menghapus data (record/tuple,
bukan relasi/tabel)
• Jenis otorisasi lainnya:
– index authorization, otorisasi untuk membentuk dan menghapus
pengindekan
– resource authorization, otorisasi untuk membuat tabel baru
– alteration authorization, otorisasi untuk menambah atau menghapus
atribut relasi/tabel
– drop authorization, otorisasi untuk menghapus relasi/tabel
Enkripsi
• Enkripsi: pengkodean data dengan algoritma khusus sehingga data
tidak dapat dibaca oleh program tanpa kunci deskripsi
• Juga memproteksi data yang ditransmisikan melalui jalur komunikasi
• Mentransmisikan data secara aman melalui jaringan menggunakan
cryptosystem yang terdiri atas:
– Kunci enkripsi untuk mengenkripsi data (plaintext)
– Algoritma enkripsi yang, dengan kunci enkripsi, mentransformasikan
plaintext menjadi ciphertext.
– Kunci dekripsi yang mendekripsi ciphertext.
– Algoritma dekripsi yang, dengan kunci dekripsi, mentransformasikan
ciphertext menjadi plaintext.
• Symmetric encription: kunci enkripsi = kunci dekripsi
Contoh: Data Encription Standard (DES) yg dikembangkan oleh IBM
• Asymmetric encription: kunci enkripsi ≠ kunci deskripsi. Contoh: RSA
RAID (Redundant Array of Independen Disks)
• Fault-tolerant: sistem tetap dapat beroperasi walaupun salah satu
komponen hardware rusak atau gagal
• Disk drive adalah komponen yang paling penting karena paling sering
gagal dibandingkan dengan komponen lainnya. Solusi: RAID
• RAID terdiri atas array disk, meningkatkan keandalan dan atau kinerja
• Kinerja ditingkatkan dengan data striping. Data disegmentasi ke partisi
berukuran sama dan didistribusikan ke banyak disk. Kinerja meningkat
karena proses I/O dilakukan secara paralel.
• Keandalan ditingkatkan dengan penyimpanan informasi redundan ke
beberapa disk dengan menggunakan skema paritas dan skema errorcorrecting.
• Dalam skema paritas, setiap byte mempunyai bit paritas yang merekam 1 jika jumlah bit dalam byte itu genap, 0 bila ganjil. Jika jumlah bit
dalam byte rusak, paritas baru menjadi tidak cocok dengan paritas
tersimpan.
• Skema error-correcting memiliki dua bit tambahan atau lebih dan dapat
merekonstruksi data original jika sebuah bit rusak.
Level RAID (Redundant Array of Independen Disks)
Ada sejumlah konfigurasi disk yg berbeda (level RAID) yaitu:
•
•
•
•
RAID 0 Nonredundant
RAID 1 Mirrored
RAID 0+1 Nonredundant dan Mirrored
RAID 2 Memory-style Error Checking
Codes
• RAID 3 Bit-Interleaved Parity
• RAID 4 Block-Interleaved Parity
• RAID 5 Block-Interleaved
Distributed Parity
• RAID 6 P+Q
Prosedur
• Berbagai mekanisme pengamanan data tidak efektif bila tidak
dikendalikan dan digunakan dengan tepat sebagaimana mestinya.
• Oki, diperlukan prosedur berkaitan dengan mekanisme keamanan.
Otorisasi
• Password biasa digunakan untuk memverifikasi pengguna.
Password hendaknya:
– Terjaga kerahasiaannya (tidak mencatatnya di mana pun, tidak
memberitahukannya ke orang lain, dsb).
– Tidak ditampilkan selama prosedur login.
– Dikelola oleh sistem dalam bentuk yang telah dienkripsi.
– Cukup panjang, minimum enam karakter.
– Kombinasi dari huruf dan angka, bahkan simbol.
– Diubah secara reguler dalam interval waktu tertentu.
– Tidak mudah ditebak. Jangan menggunakan nama (isteri, suami,
anak, kekasih, tempat), angka (tgl. lahir, no. telepon/hp, dsb.)
• Jika pekerjaan seorang user berubah, otorisasinya juga diubah
disesuaikan dengan deskripsi pekerjaannya yang baru.
• Bila seorang karyawan berhenti bekerja, maka account dan
otorisasinya harus dihapus.
Backup
• Basis data besar dibackup setiap pekan atau setiap bulan, tetapi
backup secara inkremental dilakukan lebih sering.
• Hari/waktu backup ditentukan bersama dg personel penanggung jawab
• Semua bagian sistem harus dibackup: sistem operasi, aplikasi, data.
• Dibutuhkan beberapa backup, disimpan dalam wadah tahan api di
lokasi yang berbeda.
• Semua detil harus dispesifikasikan dengan jelas dalam prosedur yang
harus diikuti oleh personel.
Recovery
• Prosedur recovery bergantung pd tipe crash: kegagalan media, sw, hw
• Juga bergantung pada metode recovery yang digunakan oleh DBMS.
• Prosedur recovery hendaknya selalu diuji untuk menjamin keberhasilannya, idealnya diuji secara reguler dalam interval waktu tertentu.
Pemasangan Perangkat Lunak Aplikasi Baru
• Aplikasi telah diuji dan di-run dengan sejumlah data uji.
• Sebelum instalasi, backup harus dilakukan.
• Setelah instalasi, sistem harus dimonitor untuk jangka waktu tertentu
Audit
• Auditor mengobservasi prosedur manual, menginvestigasi sistem
komputer dan semua dokumentasi sistem
• Tujuannya adalah untuk:
– Menjamin keakuratan input data.
– Menjamin keakuratan pemrosesan data.
– Mencegah dan mendeteksi error selama eksekusi program.
– Mencegah perubahan program yang tidak sah.
– Memonitor akses data.
– Menjamin dokumentasi up to date.
Instalasi/Upgrade Perangkat Lunak Sistem
• DBA secara periodik menerima upgrade DBMS: minor atau revisi penuh
• Dokumentasi detail perubahan harus ada.
• Perubahan boleh jadi mudah diimplementasikan, misalnya program
aplikasi harus dikompilasi ulang.
• Lainnya mungkin menghabiskan banyak waktu, misalnya konversi data
• Dalam hal sistem harus tersedia selama jam kerja, instalasi/upgrade
dilakukan di luar jam kerja, biasanya di akhir pekan. Sebelumnya,
sistem yang ada telah di-backup secara penuh.
• Setelah di-upgrade, bd & aplikasi diuji sebelum di-run pada data aktual.
Daftar Pustaka
Connolly, Thomas., et.al., 2002. Database System. Wokingham
England, Addison-Wesley Publishing Company.
Date, C.J, 2000. An Introduction to Database System. 7th Edition,
New York, Addison Wesley Publishing Company.
© 2006, M. Ramadhan
Download