PENGAMANAN BASIS DATA
Sistem Keamanan Teknologi Informasi
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
Mengapa Masalah Keamanan Basis Data Menjadi Penting?
Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.
Untuk menjaga keamanan Basis Data dengan :
• Penentuan perangkat lunak Data Base Server yang handal.
• Pemberian Otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada.
Latar Belakang
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
Latar Belakang
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.
Potensi Ancaman
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 keamanan basis data:
Privacy /
confidentiality Integrity Authentication
Availability Non-
repudiation Access control
Prinsip Pengamanan
Kerahasiaan menjamin perlindungan akses informasi
Keterpaduan menjamin bahwa informasi tidak dapat diubah Ketersediaan menjamin kesiapa kesiapan akses informasi
10
Kerahasiaan
Integritas Ketersediaan
Security Principles
11
Contoh Prinsip Pengamanan
• Catatan medis pasien harus tertutup untuk umum
Kerahasiaan
• Catatan medis harus benar
Integritas
• Catatan medis pasien dapat diakses saat dibutuhkan untuk pengobatan
Ketersediaan
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
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 (Penipuan).
Aspek Kehandalan : Access Control
Mekanisme untuk mengatur siapa boleh melakukan apa :
• Biasanya menggunakan password.
• Adanya kelas/klasifikasi/levelisasi privillege user.
Proteksi terhadap serangan
• Intruder (Penyusup).
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)
• Penghentian sebuah proses yang sedang berjalan.
Interruption
• Menyela sebuah proses yang sedang berjalan.
Interception
• Mengubah data tanpa ijin dari pihak otoritas.
Modification
• Pengrusakan secara mendasar pada sistem utama.
Fabrication
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 Akses Dan Prosedur Pada Basis Data Yang Terkoneksi On-line
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
• 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 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 DBM S Otorisasi Dan Akses
Local Client
Database Secure
Internal Network (Intranet)
Pertahanan
¨ Menggunakan pendekatan berlapis:
¤ Meningkatkan deteksi resiko serangan
¤ Mengurangi kesempatan berhasilnya penyerangan
KEBIJAKAN, PROSEDUR, & KEPEDULIAN
PEMBAKUAN OS, PENGELOLAAN JALUR, AUTENTIKASI
FIREWALLS, VPN QUARANTINE PENGAWASAN, KUNCI,
PENANDAAN PERALATAN IPSEC, NIDS
PEMBAKUAN APLIKASI, ANTIVIRUS ENKRIPSI
PEMBELAJARAN USER
KEAMANAN FISIK
PERIMETER
JARINGAN INTERNAL HOST
APLIKASI DATA
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 bertanggung jawab untuk memberikan hak akses dengan membuat user account.
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 Beberapa Tingkat Pengamanan Pada Basis Data Relasional
• User diperbolehkan atau tidak diperbolehkan mengakses
langsung suatu relasi.
Relasi
• User diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view.
View
• User diperbolehkan membaca data, tetapi tidak dapat
memodifikasi.
Read
Authorization
Untuk Beberapa Tingkat Pengamanan Pada Basis Data Relasional
• User diperbolehkan menambah data baru, tetapi tidak dapat
memodifikasi data yang sudah ada.
Insert
Authorization
• User diperbolehkan memodifikasi
data, tetapi tidak dapat menghapus data.
Update
Authorization
• User diperbolehkan menghapus data.
Delete
Authorization
Otorisasi Tambahan Untuk Modifikasi Data (Update Authorization)
• User diperbolehkan membuat dan menghapus index data.
Index
Authorization
• User diperbolehkan membuat relasi-relasi baru.
Resource Authorization
• User diperbolehkan menambah/menghapus atribut suatu relasi.
Alteration Authorization
• User diperbolehkan menghapus relasi yang sudah ada.
Drop
Authorization
Contoh Perintah Menggunakan SQL :
GRANT à Memberikan wewenang kepada pemakai
• Syntax :
• GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
• GRANT SELECT ON S TO BUDI
• Contoh :
• GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
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
Back-up Data Dan Recovery :
• Proses secara periodik untuk membuat duplikat dari basis data dan melakukan logging file (atau program) ke media penyimpanan eksternal.
Back-up
• Merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan
Recovery
Cara Mudah Menerapkan Keamanan
Memberi semua pengguna akses maksimum, tetapi kelemahannya adalah adanya kemungkinan kehilangan atau penyalahgunaan data.
Pengguna basis data harus mempunyai akses yang cukup untuk melaksanakan pekerjaannya.
• Dengan kata lain, akses yang diberikan kepada pengguna harus sekecil mungkin untuk menghindari masalah.
Tingkatan Akses
Apabila pengguna diberi identitas pengguna, mereka dapat mengakses basis data secara langsung ke dalam jaringan melalui aplikasi client-server
Novell dapat mengontrol account sistem operasi dan account basis data.
• Sistem Administrator maupun Administrator Basis data mempunyai potensi melakukan kesalahan.
Tingkatan Akses Ke Suatu Sistem Informasi
Pengguna Super (root pada Unix, Admin pada
Novell)
Pemilik Basisdata
Pemilik Skema
Pengguna Akhir
Tingkatan Akses Ke Suatu Sistem Informasi
Pengguna super adalah account pada sistem operasi yang mempunyai Privilege paling banyak.
• Pengguna super memiliki akses ke semua file yang disimpan pada sistem
Pemilik basis data memiliki akses ke semua file yang berhubungan dengan software basis data dan file data pada suatu sistem.
• Meskipun pemilik basis data dibatasi pada file-file yang berhubungan dengan basis data, tetapi kita perlu mengingat bahwa sebagian file pada sebagian sistem berhubungan dengan basis data
Tingkatan Akses Ke Suatu Sistem Informasi
Pemilik skema adalah pembuat dan pemilik objek-objek basis data yang digunakan untuk aplikasi pengguna.
• Pemilik skema mempunyai akses tak terbatas ke seluruh objek skema dan bertanggung jawab mengontrol akses ke account pengguna lainnya.
Pengguna akhir mempunyai akses paling
sedikit meskipun basis data dibuat untuk
pengguna akhir.
Hubungan Pengguna Dengan Basis Data
Hubungan Pengguna Dengan Basis Data
Pengguna dalam suatu basis data dapat pula mengakses basis data lainnya dengan menghubungkan dua basis data.
• Hubungan keduanya akan menghubungkan pengguna pada basis data pertama ke pengguna pada basis data kedua.
Kemudian, pengguna pada basis data pertama dapat mengakses basis data kedua dengan privilege yang dimiliki pengguna pada basis data kedua.
• Hubungan basis data merupakan tool yang sangat berguna, tetapi harus diatur untuk memastikan tool tidak disalahgunakan
Privilege
Privilege digunakan untuk mengontrol akses pengguna.
• Privilege terdapat pada tingkatan sistem operasi, basis data, dan aplikasi.
Privilege basis data mengontrol akses pengguna dalam lingkungan basis data seperti manipulasi struktur basis data dan akses ke objek skema
Privilege Dalam Basis Data Relasional
Privilege sistem
• Sistem terdiri atas hal-hal yang memungkinkan pengguna melakukan tugasnya pada ruang lingkup basisdata
• Privilege sistem meliputi kemampuan membuat tabel, menghapus tabel, mengubah struktur tabel, membuat indeks dan view, dan memanipulasi account pengguna
• Privilege sistem berbeda-beda antara satu perangkat lunak basisdata relasional dengan yang lainnya
Privilege Dalam Basis Data Relasional
Privilege sistem (lanj ...)
• Privilege objek memungkinkan pengguna melakukan tugasnya pada ruang lingkup skema
• Privilege objek meliputi kemampuan mengambil data dari tabel dan memanipulasi data tabel
• Privilege objek :
• SELECT - memungkinkan data diambil dari table.
• INSERT - memungkinkan pembentukan baris data baru pada tabel.
• UPDATE - memungkinkan data yang sudah ada dalam tabel untuk dimodifikasi.
• REFERENCES - memungkinkan kolom dalam tabel untuk diacu kolom lain (seperti melalui kunci tamu).
• USAGE - memungkinkan penggunaan domain tertentu.
Proses Pengaturan Akses Pengguna Akhir Melalui Privilege Basis Data