Aspek untuk dukungan keamanan Basis Data

advertisement
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
Keamanan merupakan suatu proteksi terhadap
pengrusakan data dan pemakaian data oleh pemakai
yang tidak punya kewenangan.
Untuk menjaga keamanan Basis Data dgn :
Penentuan perangkat lunak Data Base Server yang
handal.
Pemberian Otoritas kepada user mana saja yang berhak
mengakses, serta memanipulasi data-data yang ada.
Pendahuluan
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
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
(personel).
Keamanan dari data dan
komunikasi.
Keamanan dalam operasi.
dengan
media
serta
orang
teknik
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.
Prinsip pengamanan
kerahasiaan
Security
Principles
Integritas
ketersediaan
Kerahasiaan menjamin perlindungan akses informasi
Keterpaduan menjamin bahwa informasi tidak dapat
diubah
Ketersediaan menjamin kesiapa kesiapan akses informasi
9
contoh
Kerahasiaan: catatan medis pasien harus tertutup
untuk umum
Integritas: catatan medis harus benar
Ketersediaan: catatan medis pasien dapat diakses saat
dibutuhkan untuk pengobatan
10
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
Database
Administrator
• Membuat Password.
• Membuat program
• Kebijakan
yang tidak aman
• Staf yang tidak ditraining.
• Kebijakan
keamanan &
prosedur
• Pemogokan staf
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.
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:
Perangkat keras
Kebakaran, banjir, bom,
pencurian, listrik, gempa, radiasi,
kesalahan mekanisme keamanan
Jaringan
K omunikasi
Kabel yang tidak
terkoneksi, radiasi
Database
Aturan / amandemen
yang tidak diotorisasi,
penduplikatan data,
pencurian data,
kehilangan data akibat
gangguan listrik
DBM S dan Program
Aplikasi
Kesalahan mekanisme
keamanan
Akses yang terlalu luas
Pencurian program
Kesalahan program
Skema Lapisan pada Basis Data yang dinterkoneksikan
dengan aplikasi sistem utama
user
Middle-end units
DBMS
Front-end system
Back-end system
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 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
ENK RIPSI
In-Secure
Eksternal
Network
ENK RIPSI
Remote Client
Server DBM S
FIREW ALL
Otorisasi
Dan Akses
Local Client
Secure
Internal
Network
(Intranet)
Database
Pertahanan
Menggunakan pendekatan berlapis:
Meningkatkan deteksi resiko serangan
Mengurangi kesempatan berhasilnya penyerangan
Data
Aplikasi
Host
Jaringan internal
Perimeter
Kemanan fisik
Kebijakan, Prosedur, &
Kepedulian
enkripsi
Pembakuan aplikasi, antivirus
Pembakuan OS, pengelolaan jalur,
autentikasi
IPSec, NIDS
Firewalls, VPN quarantine
pengawasan, kunci, penandaan
peralatan
Pembelajaran user
26
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.
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
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.
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.
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 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 :
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
Cara mudah menerapkan
keamanan
Memberi semua pengguna akses maksimum, tetapi
kelemahannya adalah adanya kemungkinan kehilangan
atau penyalahgunaan data.
Pengguna basisdata 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 basisdata secara langsung ke dalam
jaringan melalui aplikasi client-server
Novell dapat mengontrol account sistem operasi dan
account basisdata. Sistem Administrator maupun
Administrator Basisdata mempunyai potensi melakukan
kesalahan.
Tingkatan akses ke suatu sistem
informasi:
Pengguna Super (root pada Unix, Admin pada Novell)
Pemilik Basisdata
Pemilik Skema
Pengguna Akhir
Pengguna super adalah account pada sistem operasi
yang mempunyaiPrivilege paling banyak. Pengguna
super memiliki akses ke semua file yang disimpan
pada sistem
Pemilik basisdata memiliki akses ke semua file yang
berhubungan dengan software basisdata dan file data
pada suatu sistem.Meskipun pemilik basisdata
dibatasi pada file-file yang berhubungan dengan
basisdata, tetapi kita perlu mengingat bahwa sebagian
file pada sebagian sistem berhubungan dengan
basisdata
Pemilik skema adalah pembuat dan pemilik objek-
objek basisdata yang digunakan untuk aplikasi
pengguna.Pemilik skema mempunyai akses tak
terbatas ke seluruh objek skema dan
bertanggungjawab mengontrol akses ke account
pengguna lainnya.
Pengguna akhir mempunyai akses paling sedikit
meskipun basisdata dibuat untuk pengguna akhir.
Hubungan pengguna dengan basisdata
Pengguna dalam suatu basisdata dapat pula mengakses basisdata
lainnya dengan menghubungkan dua basisdata. Hubungan
keduanya akan menghubungkan pengguna pada basisdata
pertama ke pengguna pada basisdata kedua.
Kemudian, pengguna pada basisdata pertama dapat mengakses
basisdata kedua dengan privilege yang dimiliki pengguna pada
basisdata kedua. Hubungan basisdata 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, basisdata, dan aplikasi.
Privilege basisdata mengontrol akses pengguna dalam lingkungan
basisdata seperti manipulasi struktur basisdata dan akses ke
objek skem
Privilege dalam basisdata relasional :
Privilege sistem
Sistem terdiri atas hal-hal yang memungkinkan
pengguna melakukan tugasya 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
Lanjutan........
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 basisdata
Download