Database Security BY NUR HIDAYA BUKHARI 102904037 PRODI TEKNIK INFORMATIKA DAN KOMPUTER UNIVERSITAS NEGERI MAKASSAR 2012 1 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 2 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 sharedcomputer digunakan untuk menyimpan classified-information. • Dengan adanya LAN (computer networks) akan mempercepat akses. • Basis Data mulai terhubung ke jaringan komputer 3 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. 4 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. 5 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. 6 Aspek kehandalan keamanan Basis Data: • • • • • • Privacy / confidentiality Integrity Authentication Availability Non-repudiation Access control 7 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. 8 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. 9 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. 10 Aspek kehandalan : Authentication • Meyakinkan keaslian data, sumber data, orang yang mengakses data, server yang digunakan: – penggunaan digital signature, biometrics. • Proteksi terhadap serangan: password palsu. 11 Aspek kehandalan : Availability • Informasi harus dapat tersedia ketika dibutuhkan: – server dibuat hang, down, crash. • Proteksi terhadap serangan: Denial of Service (DoS) attack. 12 Aspek kehandalan : Non-repudiation • Tidak dapat menyangkal (telah melakukan transaksi): – menggunakan digital signature. • Proteksi terhadap serangan: deception. 13 Aspek kehandalan : Access Control • Mekanisme untuk mengatur siapa boleh melakukan apa: – biasanya menggunakan password. – adanya kelas / klasifikasi privillege user. • Proteksi terhadap serangan: intruder. 14 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 Database Administrator · Membuat Password. · Membuat program yang tidak aman · Staf yang tidak ditraining. · Kebijakan keamanan & prosedur · Pemogokan staf · Kebijakan keamanan & prosedur 15 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. 16 Skema Akses dan Prosedur pada Basis Data yang terkoneksi on-line: 17 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. 18 Skema Lapisan pada Basis Data yang dinterkoneksikan dengan aplikasi sistem utama user Middle-end units DBMS Front-end system Back-end system 19 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: …. 20 Penyalahgunaan Database : • Disengaja oleh pihak yang tidak ada otoritas, seperti misalnya: – Pengambilan data / pembacaan data – Pengubahan data – Penghapusan data 21 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 baik. Pengaturan hak pengguna yang 22 Skema Utama Mekanisme Keamanan Basis Data on-line ENKRIPSI In-Secure Eksternal Network ENKRIPSI Remote Client Server DBMS FIREWALL Otorisasi Dan Akses Local Client Secure Internal Network (Intranet) Database 23 Alasan dibutuhkan keamanan basis data: otoritas pada • 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. 24 Yang dimaksud Tabel keamanan basis data: View pada • 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. 25 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. 26 Untuk pengamanan pada Basis Data Relasional dilakukan beberapa level: • Insert Authorizationuser menambah data baru, tetapi memodifikasi data yang sudah ada. diperbolehkan tidak dapat • Update Authorization user diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data. • Delete Authorization user diperbolehkan menghapus data. 27 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 menghapus relasi yang sudah ada. diperbolehkan 28 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 29 Contoh perintah menggunakan SQL : REVOKE : mencabut wewenang yang dimiliki oleh pemakai Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai> Contoh : 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 30 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 31