Database Security
Click here to load reader
-
Upload
irfan-irawan-cbn -
Category
Documents
-
view
627 -
download
0
description
Transcript of Database Security
Konsep Pemrograman 1 PAGE 10
8 Database Security
Overview
Tindakan backup adalah salah satu aspek penting dari operasi sistem komputer. Mendapatkan data yang valid, complete, up-to-date, adalah hal utama yang diinginkan selalu, saat sebuah basis data sedang diakses. Namun
kesalahan seperti bugs, kecelakaan, malapetaka akibat human-error, dan serangan ke basis data adalah sesuatu hal yang kadangkala sulit untuk diprediksi namun dapat dicegah bila dilakukan tindakan preventif sedini mungkin. Dengan melakukan tindakan back-up data secara periodik, hal-hal
yang sewajarnya bisa dihindari dapat direalisasikan sehingga user dapat melakukan perbandingan antara sistem di saat sekarang sedang berjalan dengan hasil bac-up data sebelumnya. Dengan demikian akan ada tindakan
analisa apakah telah terjadi perubahan data pada sistem ataukah masih berjalan sewajarnya.
Tujuan
1. Mahasiswa memahami aspek terpenting keamanan basis data dan alasan
melindunginya 2. Mahasiswa memahami klasifikasi keamanan basis data 3. Mahasiswa memahami apa yang menjadi aspek kehandalan keamanan
Konsep Pemrograman 2 PAGE 10
basis data
4. Mahasiswa memahami yang dimaksud back-up dan recovery dan manfaatnya untuk keamanan basis data
8.1 Alasan utama aspek keamanan basis data menjadi hal krusial
Mengapa masalah keamanan basis data menjadi penting? Jawaban secara
sederhananya, sebagai berikut: basis data merupakan salah satu komponen yang penting dalam sistem informasi; karena merupakan media utama dalam menyediakan informasi kepada user. Alasan lain, adalah karena menyangkut
informasi yang tersimpan dari sebuah sistem atau organisasi pada media simpanan data itu sehingga sangat penting sekali untuk dijaga keamanannya dari penggunaan orang yang tidak memiliki otoritas.
Informasi yang disimpan bisa dalam bentuk hard-copy, atau dalam bentuk soft-copy. Dalam bentuk soft-copy disebut data-base (basis data); sedangkan penerapan data-base ke dalam sistem informasi disebut dengan database system.
Kesimpulannya, beberapa hal penting mengapa harus menjadi perhatian khusus dalam keamanan basis data adalah sebagai berikut:
Kemampuan menyediakan informasi dengan cepat dan akurat, adalah merupakan kebutuhan dalam information-based society.
Sangat pentingnya informasi sehingga hanya boleh diakses oleh orang yang memiliki otorisas (hak akses).
Adanya trend trade-secret, yaitu jual-beli data, sehingga ada muncul
perilaku untuk mencuri informasi, karena ada nilai ekonomis-nya.
8.1.1. Perubahan paradigma personal-computer menjadi shared-computer 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. Shared-computer
biasanya digunakan untuk menyimpan data yang bersifat classified-information. Shared-computer adalah komputer yang saling dikoneksikan satu dengan yang lain, sehingga user bisa saling berbagi informasi (shared-resources), yang
membentuk sebuah Local Area Network (LAN). Dengan adanya LAN
Konsep Pemrograman 3 PAGE 10
(computer networks) akan mempercepat user untuk melakukan akses ke basis
data. Basis Data yang berada pada komputer dihubungkan ke jaringan komputer
agar proses sharing-information dapat berjalan. Dengan demikian, user dapat mengakses informasi yang diinginkan ke basis data dari mana saja dan kapan saja.
Dengan adanya koneksi ke basis data dari segala arah, menyebabkan beberapa hal baru yang mengkhawatirkan muncul seperti:
Membuka potensi lubang keamanan untuk disusupi oleh penyadap (mata-
mata)
User dihadapkan kepada pilihan: keamanan (secure) atau kenyamanan
(comfortable).
Meningkatnya jumlah host yang digunakan seiring jumlah user yang
memiliki otoritas menyebabkan, lebih banyak server yang harus ditangani; sehingga membutuh lebih banyak SDM yang handal dan tersebar; padahal susah mencari SDM yang diinginkan berdasar kebutuhan, untuk itu
dilakukan desentralisasi server. 8.1.2. Klasifikasi Keamanan Basis Data
Klasifikasi Keamanan Basis Data dapat disebutkan sebagai berikut: Keamanan yang bersifat fisik (physical security), yaitu yang berdasar pada
aspek fisik perangkat. Misalkan ruang server, kunci komputer, kartu
elektronis. Keamanan yang berhubungan dengan orang (personel), yaitu user yang
diberi labelling untuk privillege akses pengguna.
Keamanan dari data dan media serta teknik komunikasi, yaitu bagaimana agar prosedur penyimpanan lebih aman, begitu juga pada media yan digunakan dan teknik untuk mengamankan data tersebut.
Keamanan dalam operasi, yaitu menyusun mekanisme pengoperasian user agar terkontrol sehingga dapat diantisipasi kesalahan yang terjadi saat penyimpanan dan pengambilan data.
Beberapa aspek untuk mendukung Keamanan Basis Data dapat disebutkan
sebagai berikut: Network security, memfokuskan kepada saluran pembawa informasi serta
sistem yang terintegrasi kepadanya (host dan kanal).
Konsep Pemrograman 4 PAGE 10
Application security, memfokuskan kepada aplikasi itu sendiri (yang
digunakan untuk basis data atau yang menjadi antar-muka kepada basis data), beserta aplikasi dukungan lainnya kepada basis data itu sendiri.
Computer security, memfokuskan kepada keamanan dari komputer (end
system) yang digunakan, khususnya hardware pada komputer tersebut. Selanjutnya, aspek kehandalan terhadap Keamanan Basis Data, yaitu: Privacy / confidentiality
Seperti bagaimana memproteksi data bersifat pribadi yang sensitif seperti:nama, tempat tanggal lahir, agama, hobby, penyakit yang pernah diderita, status perkawinan; data pelanggan; dan transaksi pada e-
commerce. Juga khususnya melakukan proteksi terhadap serangan sniffer.
Integrity Tindakan bagaimana agar informasi tidak berubah tanpa ijin seperti:
Tampered (data baru menimpa data lama)
Altered (perubahan terhadap nilai data yang eksis, yakni data ter-edit)
Modified (data yang eksis dapat disisipkan, ditambah, dihapus oleh
data baru) Khususnya melakukan proteksi terhadap serangan: spoof, virus, trojan horse.
Authentication (otentifikasi)
Tindakan otentifikasi dilakukan untuk meyakinkan keaslian data, sumber
data yang diakses, user yang mengakses data, serta server yang digunakan, dengan melakukan cara seperti: penggunaan digital signature, dan biometrics.
Ini dilakukan untuk memproteksi terhadap serangan seperti password palsu.
Availability Artinya, informasi harus dapat tersedia ketika dibutuhkan, dengan menghindari server dibuat hang, down, crash.
Tindakan ini bertujuan untuk proteksi terhadap serangan: Denial of Service (DoS) attack.
Non-repudiation Non-repudiation maksudnya menghindari akses-user agar tidak dapat menyangkal bahwa telah melakukan transaksi; dengan cara setiap akhir
transaksi pada form dilengkapi dengan penggunaan digital signature.
Konsep Pemrograman 5 PAGE 10
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
Hal ini dilakukan untuk proteksi terhadap serangan: deception.
Access control
Dengan adanya access control, maka ada sebuah mekanisme yang
digunakan untuk mengatur user dan akses yang dilakukan oleh user (siapa boleh melakukan apa). Beberapa caranya seperti:
Dengan menggunakan password.
Membuat kelas / klasifikasi privillege user. Ini bertujuan untuk melakukan proteksi terhadap serangan: intruder.
Batasan privillege-user untuk Access Control pada basis data ditunjukkan pada
skema berikut ini:
Konsep Pemrograman 6 PAGE 10
Gambar 8.1 Pembatasan akses pada basis data
8.2 Klasifikasi file (arsip)
Master File (File Induk): dalam sebuah aplikasi, file ini merupakan file yang penting karena berisi record-record yang sangat perlu di dalam organisasi.
Transaction File (File Transaksi): digunakan untuk merekam data hasil dari transaksi yang terjadi. Report File (File Laporan): berisi informasi-informasi yang akan ditampilkan.
History File (File Sejarah): berisi data masa lalu yang sudah tidak aktif lagi, namun masih tetap disimpan sebagai arsip. Backup File (File Pelapis): salinan dari file-file yang masih aktif di dalam basis
data pada suatu saat tertentu
Hirarki organisasi data dapat ditunjukkan sebagai berikut:
Gambar 8.2 Jenjang level data pada Basis Data
Penjelasannya sebagai berikut:
Bit merupakan unit data yang terkecil dan terdiri dari biner 1 atau 0.
Byte yaitu suatu kelompok yang terdiri dari beberapa bit yang
menggambarkan satu angka, karakter atau simbol lainnya.
Field yaitu kelompok karakter, angka atau simbol-simbol menjadi suatu
kata, kelompok huruf atau kelompok angka.
Record yakni kelompok dari suatu field.
Arsip (File) adalah kelompok dari record yang mempunyai tipe yang sama.
Konsep Pemrograman 7 PAGE 10
Database yaitu kelompok dari arsip-arsip yang berhubungan.
8.3 Serangan (attack) terhadap basis data
Jenis-jenis serangan (attack): Interruption, yaitu penghentian sebuah proses yang sedang berjalan. Interception yaitu menyela sebuah proses yang sedang berjalan.
Modification yaitu mengubah data tanpa ijin dari pihak otoritas. Fabrication yaitu serangan yang bersifat destruktif berupa perusakan
secara mendasar pada sistem utama.
Gambar 8.3 Skema Akses dan Prosedur pada Basis Data yang terkoneksi on-
line
Konsep Pemrograman 8 PAGE 10
Perlunya keamanan menyeluruh pada Basis Data disebabkan keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh user yang tidak memiliki otoritas.
Oleh sebab itu untuk menjaga keamanan Basis Data dibutuhkan beberapa cara seperti:
Penentuan perangkat lunak Basis Data Server yang handal.
Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada.
Gambar 8.4 Skema Lapisan pada Basis Data yang dinterkoneksikan dengan
aplikasi sistem utama
Beberapa penyalahgunaan basis data:
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
Konsep Pemrograman 9 PAGE 10
Penghapusan data
Tingkatan entitas pada Keamanan Basis Data, dapat disebutkan sebagai
berikut:
Physical, yaitu lokasi-lokasi dimana terdapat sistem komputer haruslah
aman secara fisik terhadap serangan destroyer.
User, yaitu wewenang user harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh user lain yang otoritas.
Sistem Operasi, yaitu kelemahan entitas ini memungkinkan pengaksesan data oleh user tak berwenang, karena hampir seluruh jaringan sistem basis data berjalan secara on-line.
Sistem Basisdata, yaitu pengaturan hak pengguna yang baik.
Gambar 8.5 Skema Utama Mekanisme Keamanan Basis Data on-line
Alasan mengapa dibutuhkan otoritas pada keamanan basis data, yaitu:
Remote Client
ENKRIPSI
FIREWALL
In-Secure
Eksternal
Network
ENKRIPSI
Server DBMS
Otorisasi
Dan Akses
Local Client
Database
Secure
Internal
Network
(Intranet)
Konsep Pemrograman 10 PAGE 10
Pemberian wewenang atau hak istimewa (privilege) untuk mengakses
sistem basis data.
Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak
dengan 2 fungsi, yaitu: Mengendalikan sistem atau obyek yang dapat diakses Mengendalikan bagaimana user menggunakannya
Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat user account.
Sedangkan yang dimaksud dengan Tabel View pada keamanan basis data adalah
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
seperti: Relasi, yaitu user diperbolehkan atau tidak diperbolehkan mengakses
langsung suatu relasi. View, yaitu user diperbolehkan atau tidak diperbolehkan mengakses data
yang terapat pada view. Read Authorization, yaitu user diperbolehkan membaca data, tetapi tidak
dapat memodifikasi.
Insert Authorization, yaitu user diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
Update Authorization, yaitu user diperbolehkan memodifikasi data, tetapi
tidak dapat menghapus data. Delete Authorization, yaitu user diperbolehkan menghapus data.
Beberapa otorisasi tambahan untuk Modifikasi Data (Update Authorization), seperti: Index Authorization adalah user diperbolehkan membuat dan menghapus
index data. Resource Authorization adalah user diperbolehkan membuat relasi-relasi
baru.
Alteration Authorization adalah user diperbolehkan menambah/menghapus atribut suatu relasi.
Drop Authorization adalah user diperbolehkan menghapus relasi yang
sudah ada.
Konsep Pemrograman 11 PAGE 10
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
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
8.4 Back-up data dan recovery
Tindakan back-up adalah proses secara periodik untuk mebuat duplikat dari basis-data dan melakukan logging-file (atau program) ke media penyimpanan
eksternal. Sedangkan tindakan recovery (pemulihan) adalah merupakan upaya uantuk
mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.
Ada tiga jenis tindakan pemulihan, yaitu:
Pemulihan terhadap kegagalan transaksi : yaitu kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
Pemulihan terhadap kegagalan media : yaitu pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (back-up)
Pemulihan terhadap kegagalan sistem : yakni karena gangguan sistem, hang, listrik terputus alirannya.
Fasilitas pemulihan pada DBMS (Database Management Systems): Mekanisme back-up secara periodik
Konsep Pemrograman 12 PAGE 10
Fasilitas logging (log-book) dengan membuat track pada tempatnya saat
transaksi berlangsung dan pada saat database berubah. Fasilitas checkpoint, melakukan update database yang terbaru. Manager pemulihan, memperbolehkan sistem untuk menyimpan ulang
database menjadi lebih konsisten setelah terjadinya kesalahan.
Rangkuman
1. Kemampuan menyediakan informasi dengan cepat dan akurat, merupakan
kebutuhan dalam information-based society. 2. 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. 3. Back-up adalah proses secara periodik untuk mebuat duplikat dari basis-
data dan melakukan logging file (atau program) ke media penyimpanan eksternal.
4. Recovery merupakan upaya uantuk mengembalikan basis data ke keadaaan
yang dianggap benar setelah terjadinya suatu kegagalan
Kuis Benar Salah
1. Pernyataan 1 2. Pernyataan 2 3. Pernyataan 3 4. l 5. l
Konsep Pemrograman 13 PAGE 10
Pilihan Ganda
Petunjuk: Pilihlah jawaban yang paling tepat! 1.
Komputer yang paling awal di antara komputer berikut adalah
_____________
A. EDVAC D. Pentium
B. ENIAC E. LARC
C. UNIVAC
Latihan
1. Ada berapa generasi komputer hingga saaat ini?
2. Jelaskan perbedaan ENIAC, EDVAC, UNIVAC!
Konsep Pemrograman 14 PAGE 10