Database SecurityBYNUR HIDAYA BUKHARI102904037
PRODI TEKNIK INFORMATIKA DAN KOMPUTERUNIVERSITAS NEGERI MAKASSAR
2012
Mengapa masalah keamanan basis data menjadi penting?
• Kemampuan menyediakan informasi dengan cepat dan akurat, merupakan kebutuhan dalam information-based society.
• Sangat pentingnya informasi hanya boleh diakses oleh orang yang terotorisasi.
• Adanya trend trade-secret; curi informasi ada nilai ekonomis
Pendahuluan dan Pengantar
• Awalnya sebuah komputer disebut PC (Personal Computer), namun seiring dengan perkembangan bidang jaringan komputer, maka sebuah komputer tidak tepat lagi disebut PC, melainkan shared-computer digunakan untuk menyimpan classified-information.
• Dengan adanya LAN (computer networks) akan mempercepat akses.
• Basis Data mulai terhubung ke jaringan komputer
Pendahuluan dan Pengantar
• Membuka potensi lubang keamanan.•Security vs kenyamanan (comfortable).• Lebih banyak server yang harus ditangani
dan butuh lebih banyak SDM yang handal dan tersebar; padahal susah mencari SDM, untuk itu dilakukan desentralisasi server.
Klasifikasi Keamanan Basis Data:
• Keamanan yang bersifat fisik (physical security).
• Keamanan yang berhubungan dengan orang (personel).
• Keamanan dari data dan media serta teknik komunikasi.
• Keamanan dalam operasi.
Aspek untuk dukungan keamanan Basis Data:
•Network security fokus kepada saluran pembawa informasi.
•Application security fokus kepada aplikasi itu sendiri.
•Computer security fokus kepada keamanan dari komputer (end system) yang digunakan.
Aspek kehandalan keamanan Basis Data:
• Privacy / confidentiality• Integrity• Authentication• Availability• Non-repudiation• Access control
Aspek kehandalan : Privacy / confidentiality
• Proteksi data bersifat pribadi yang sensitif seperti:– Nama, tempat tanggal lahir, agama, hobby, penyakit
yang pernah diderita, status perkawinan– Data pelanggan– Transaksi pada e-commerce
• Proteksi terhadap serangan sniffer.
Aspek kehandalan : Integrity
• Informasi tidak berubah tanpa ijin seperti:– Tampered (menimpa data lama)– Altered (perubahan nilai data edited)– Modified (disisipkan, ditambah, dihapus)
• Proteksi terhadap serangan sniffer.
Aspek kehandalan : Integrity
• Informasi tidak berubah tanpa ijin seperti:– Tampered (menimpa data lama)– Altered (perubahan nilai data edited)– Modified (disisipkan, ditambah, dihapus)
• Proteksi terhadap serangan: spoof, virus, trojan horse.
Aspek kehandalan : Authentication
• Meyakinkan keaslian data, sumber data, orang yang mengakses data, server yang digunakan:– penggunaan digital signature, biometrics.
• Proteksi terhadap serangan: password palsu.
Aspek kehandalan : Availability
• Informasi harus dapat tersedia ketika dibutuhkan:– server dibuat hang, down, crash.
• Proteksi terhadap serangan: Denial of Service (DoS) attack.
Aspek kehandalan : Non-repudiation
• Tidak dapat menyangkal (telah melakukan transaksi):– menggunakan digital signature.
• Proteksi terhadap serangan: deception.
Aspek kehandalan : Access Control
• Mekanisme untuk mengatur siapa boleh melakukan apa:– biasanya menggunakan password.– adanya kelas / klasifikasi privillege user.
• Proteksi terhadap serangan: intruder.
Batasan Privillege-user untuk Access Control pada Basis Data:
Pengguna Akhir Menggunakan hak
akses orang lain. Melihat & menutup
data yang tidak diotorisasi
Staf tidak di-training Pemasukan data
yang dilakukan oleh yang tidak berhak.
Virus pemerasan
Programmer / Operator Membuat Password. Membuat program
yang tidak aman Staf yang tidak di-
training. Kebijakan
keamanan & prosedur
Pemogokan staf
Database Administrator Kebijakan
keamanan & prosedur
Jenis Serangan (attack)
• Interruption: penghentian sebuah proses yang sedang berjalan.
• Interception: menyela sebuah proses yang sedang berjalan.
• Modification: mengubah data tanpa ijin dari pihak otoritas.
• Fabrication: perusakan secara mendasar pada sistem utama.
Skema Akses dan Prosedur pada Basis Data yang terkoneksi on-line:
Perangkat keras Kebakaran, banjir, bom, pencurian, listrik, gempa, radiasi, kesalahan mekanisme keamanan
DBMS dan Program Aplikasi Kesalahan mekanisme keamanan Akses yang terlalu luas Pencurian program Kesalahan program
Jaringan Komunikasi
Kabel yang tidak terkoneksi, radiasi
Database Aturan / amandemen yang tidak diotorisasi, penduplikatan data, pencurian data, kehilangan data akibat gangguan listrik
Perlunya keamanan menyeluruh pada Basis Data: • Keamanan merupakan suatu proteksi
terhadap pengrusakan data dan pemakaian data oleh user yang tidak memiliki otoritas.
• Untuk menjaga keamanan Basis Data dibutuhkan:– Penentuan perangkat lunak Basis Data Server yang
handal.– Pemberian otoritas kepada user mana saja yang berhak
mengakses, serta memanipulasi data-data yang ada.
Skema Lapisan pada Basis Data yang dinterkoneksikan dengan aplikasi sistem
utama
DBMS
Back-end system
Middle-end units
Front-end system
user
Penyalahgunaan Database :
• Tidak disengaja, misalnya sebagai berikut:– kerusakan selama proses transaksi– keadaan yang disebabkan oleh akses database
yang konkuren– keadaan yang disebabkan oleh pendistribuasian
data pada beberapa komputer– logika error yang mengancam kemampuan
transaksi untuk mempertahankan konsistensi database.
• Disengaja, seperti misalnya: ….
Penyalahgunaan Database :
• Disengaja oleh pihak yang tidak ada otoritas, seperti misalnya:– Pengambilan data / pembacaan data– Pengubahan data – Penghapusan data
Tingkatan Pada Keamanan Basis Data
• Physical lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan destroyer.
• User wewenang user harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh user lain yang otoritas.
• Sistem Operasi kelemahan entitas ini memungkinkan pengaksesan data oleh user tak berwenang, karena hampir seluruh jaringan sistem basis data berjalan secara on-line.
• Sistem Basisdata Pengaturan hak pengguna yang baik.
Skema Utama Mekanisme Keamanan Basis Data on-line
Remote Client
ENKRIPSI
FIREWALL
In-Secure Eksternal Network
ENKRIPSI
Server DBMS
Otorisasi Dan Akses
Local Client
Database
Secure Internal Network
(Intranet)
Alasan dibutuhkan otoritas pada keamanan basis data:• Pemberian wewenang atau hak istimewa
(privilege) untuk mengakses sistem basis data.• Kendali otorisasi (=kontrol akses) dapat dibangun
pada perangkat lunak dengan 2 fungsi :– Mengendalikan sistem atau obyek yang dapat diakses– Mengendalikan bagaimana user menggunakannya
• Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat user account.
Yang dimaksud Tabel View pada keamanan basis data:
• Merupakan metode pembatasan bagi user untuk mendapatkan model basis data yang sesuai dengan kebutuhan pengguna.
• Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh user.
Untuk pengamanan pada Basis Data Relasional dilakukan beberapa level:
•Relasi user diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi.
•View user diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view.
•Read Authorization user diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
Untuk pengamanan pada Basis Data Relasional dilakukan beberapa level:
• Insert Authorizationuser diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
•Update Authorization user diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
•Delete Authorization user diperbolehkan menghapus data.
Otorisasi tambahan untuk Modifikasi Data (Update Authorization):• Index Authorization user diperbolehkan
membuat dan menghapus index data.
• Resource Authorization user diperbolehkan membuat relasi-relasi baru.
• Alteration Authorization user diperbolehkan menambah/menghapus atribut suatu relasi.
• Drop Authorization user diperbolehkan menghapus relasi yang sudah ada.
Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakaiSyntax : 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
Contoh perintah menggunakan SQL :
Contoh :
REVOKE : mencabut wewenang yang dimiliki oleh pemakaiSyntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
REVOKE SELECT ON S FROM BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S FROM ALI,BUDI
Priviledge list : READ, INSERT, DROP, DELETE, INDEX,
ALTERATION, RESOURCE
Back-up data dan recovery :
•Back-up : proses secara periodik untuk mebuat duplikat dari basisdata dan melakukan logging file (atau program) ke media penyimpanan eksternal.
•Recovery : merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan