BY
Andy Dharmalau
STMIK SWADHARMA
Jakarta Kota
2016
1
Mengapa masalah keamanan basis data
menjadi penting?
Sangat pentingnya informasi hanya boleh diakses
oleh orang yang terotorisasi.
Adanya trend trade-secret; curi informasi ada nilai
ekonomis
Kemampuan menyediakan informasi dengan cepat
dan akurat, merupakan kebutuhan utama dalam
information-based society.
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 pertukaran informasi.
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 dan tersebar; padahal sulit mencari
SDM yang handal, untuk itu dilakukan desentralisasi
server.
4
Klasifikasi Keamanan Basis Data:
Keamanan yang bersifat fisik (physical security).
Keamanan
yang
berhubungan
(personel).
Keamanan dari data dan
komunikasi.
Keamanan dalam operasi.
dengan
media
serta
orang
teknik
5
Aspek untuk dukungan keamanan Basis
Data:
pembawa informasi.
Network
security
fokus
kepada
saluran
Application security fokus kepada aplikasi itu
sendiri.
Computer security fokus kepada keamanan dari
komputer (end system) yang digunakan.
6
Prinsip pengamanan
Kerahasiaan menjamin perlindungan akses informasi
Integritas/Keterpaduan menjamin bahwa informasi
tidak dapat diubah
Ketersediaan menjamin kesiapa kesiapan akses
informasi
7
Contoh:
Kerahasiaan: catatan medis pasien harus tertutup
untuk umum.
Integritas: catatan medis harus benar.
Ketersediaan: catatan medis pasien dapat diakses saat
dibutuhkan untuk pengobatan.
8
Aspek keamanan Basis Data:
Privacy / confidentiality
Integrity
Authentication
Availability
Non-repudiation
Access control
9
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.
10
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.
11
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.
12
Aspek kehandalan : Authentication
Meyakinkan keaslian data, sumber data, orang yang
mengakses data, server yang digunakan:
penggunaan digital signature, biometrics.
Proteksi terhadap serangan: password palsu.
13
Aspek kehandalan : Availability
Informasi harus dapat tersedia ketika dibutuhkan:
server dibuat hang, down, crash.
Proteksi terhadap serangan: Denial of Service (DoS)
attack.
14
Aspek kehandalan : Non-repudiation
Tidak dapat menyangkal (telah melakukan transaksi):
menggunakan digital signature.
Proteksi terhadap serangan: deception(Penipuan).
15
Aspek kehandalan : Access Control
Mekanisme untuk mengatur siapa boleh melakukan
apa:
biasanya menggunakan password.
adanya kelas / klasifikasi privillege user.
Proteksi terhadap serangan: intruder.
16
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
17
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.
18
Skema Akses dan Prosedur pada Basis Data
yang terkoneksi on-line:
19
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.
20
Skema Lapisan pada Basis Data yang
dinterkoneksikan dengan aplikasi sistem utama
user
Middle-end units
DBMS
Front-end system
Back-end system
21
Penyalahgunaan Database :
Tidak disengaja, misalnya sebagai berikut:
kerusakan selama proses transaksi
keadaan yang disebabkan oleh akses database yang
konkuren (proses 2x)
keadaan yang disebabkan oleh pendistribusian data
pada beberapa komputer.
logika error yang mengancam kemampuan transaksi
untuk mempertahankan konsistensi database.
Disengaja, seperti misalnya: ….
22
Penyalahgunaan Database :
Disengaja oleh pihak yang tidak memiliki otoritas,
seperti misalnya:
Pengambilan data / pembacaan data
Pengubahan data
Penghapusan data
23
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 Basis data Pengaturan hak pengguna yang
baik.
24
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
25
Alasan dibutuhkan otoritas pada keamanan
basis data:
Pemberian wewenang atau hak istimewa
(privilege) untuk mengakses sistem basis data.
Kendali otorisasi 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.
26
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.
27
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 terdapat pada view.
Read Authorization user diperbolehkan membaca
data, tetapi tidak dapat memodifikasi.
28
Untuk pengamanan pada Basis
Relasional dilakukan beberapa level:
Data
Insert Authorization user 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.
29
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.
30
3 Tingkat otoritas user dalam
mengakses database
1. CONNECT
- Dapat menampilkan dan merubah data
- Membuat View dari table/ralasi yang diijinkan
- Dapat menggunakan pernyataan ALTER, DROP TABLE, INDEX
- Membeikan ijin kepada user lain untuk menggunakan table/relasi
yang diijinkan.
2. RESOURCE
- Merubah struktur table
- Membuat table baru, view baru
- Hak yang sama dengan CONNECT
3. DBA
- Memberikan grant dengan level privilege kepada user
- Melakukan DROP DATABASE
- Hak yang sama dengan RESOURCE
31
Grant
Perintah pemberian wewenang user untuk
menggunakan table dalam database
WITH GRANT OPTION menyebabkan user dapat
memberi wewenang kepada user lain atas table yang
diijinkan.
Syntax: GRANT {privilege list} ON { nama_relasi atau
nama_view} TO user_list [WITH GRANT OPTION]
Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
32
Contoh perintah menggunakan SQL :
Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>
33
REVOKE
Perintah untuk menghapus wewenang user dalam menggunakan
database :
REVOKE {privilege list} ON { nama_relasi atau nama_view}
FROM user_list
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>
34
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
35
Back-up data dan recovery :
Back-up : proses secara periodik untuk membuat
duplikat dari basis data 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
36
Sekian
Terimakasih
37