5 keamanan-database
TRANSCRIPT
Andi Dwi Riyanto, M.Kom
Keamanan merupakan suatu proteksi terhadap
pengrusakan data dan pemakaian data oleh
pemakai yang tidak punya kewenangan.
Untuk menjaga keamanan Basis Data dgn :
1. Penentuan perangkat lunak Data Base
Server yang handal.
2. Pemberian Otoritas kepada user mana saja
yang berhak mengakses, serta
memanipulasi data-data yang ada.
Andi Dwi Riyanto, M.Kom
Andi Dwi Riyanto, M.Kom
1. Tidak disengaja, jenisnya :a. kerusakan selama proses transaksi
b. anomali yang disebabkan oleh akses database yang konkuren
c. anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
d. logika error yang mengancam kemampuan transaksiuntuk mempertahankan konsistensi database.
2. Disengaja, jenisnya :a. Pengambilan data / pembacaan data oleh pihak yang
tidak berwenang.
b. Pengubahan data oleh pihak yang tidak berwenang.
c. Penghapusan data oleh pihak yang tidakberwenang.
Andi Dwi Riyanto, M.Kom
1. Fisikal lokasi-lokasi dimana terdapat sistemkomputer haruslah aman secara fisik terhadapserangan perusak.
2. Manusia wewenang pemakai harus dilakukandengan berhati-hati untuk mengurangikemungkinan adanya manipulasi oleh pemakaiyang berwenang
3. Sistem Operasi Kelemahan pada SO inimemungkinkan pengaksesan data oleh pihaktak berwenang, karena hampir seluruh jaringansistem database menggunakan akses jarakjauh.
4. Sistem Database Pengaturan hak pemakaiyang baik.
Andi Dwi Riyanto, M.Kom
Andi Dwi Riyanto, M.Kom
1. Otorisasi :
a. Pemberian Wewenang atau hak istimewa(priviledge) untuk mengakses sistem atauobyek database
b. Kendali otorisasi (=kontrol akses) dapatdibangun pada perangkat lunak dengan 2 fungsi:
c. Mengendalikan sistem atau obyek yang dapatdiakses
d. Mengendalikan bagaimana penggunamenggunakannya
e. Sistem administrasi yang bertanggungjawabuntuk memberikan hak akses dengan membuataccount pengguna.
Andi Dwi Riyanto, M.Kom
2. Tabel View :
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapatmenyembunyikan data yang tidak digunakan atau tidak perlu dilihat olehpengguna.
Contoh pada Database relasional, untuk pengamanan dilakukan beberapalevel :
a. Relasi pengguna diperbolehkan atau tidak diperbolehkan mengakseslangsung suatu relasi
b. View pengguna diperbolehkan atau tidak diperbolehkan mengaksesdata yang terapat pada view
c. Read Authorization pengguna diperbolehkan membaca data, tetapitidak dapat memodifikasi.
d. Insert Authorization pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
e. Update Authorization pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
f. Delete Authorization pengguna diperbolehkan menghapus data.
Andi Dwi Riyanto, M.Kom
Untuk Modifikasi data terdapat otorisasi tambahan:
a. Index Authorization pengguna diperbolehkan
membuat dan menghapus index data.
b. Resource Authorization pengguna
diperbolehkan membuat relasi-relasi baru.
c. Alteration Authorization pengguna
diperbolehkan menambah/menghapus atribut
suatu relasi.
d. Drop Authorization pengguna diperbolehkan
menghapus relasi yang sudah ada.
Andi Dwi Riyanto, M.Kom
3. Backup data dan recovery :
Backup : proses secara periodik untuk mebuat duplikat daridatabase dan melakukan logging file (atau program) ke media penyimpanan eksternal.
Recovery : merupakan upaya uantuk mengembalikan basis data kekeadaaan yang dianggap benar setelah terjadinya suatukegagalan.
3 Jenis Pemulihan :
a. Pemulihan terhadap kegagalan transaksi : Kesatuan proseduralam program yang dapat mengubah / memperbarui data padasejumlah tabel.
b. Pemulihan terhadap kegagalan media : Pemulihan karenakegagalan media dengan cara mengambil atau memuatkembali salinan basis data (backup)
c. Pemulihan terhadap kegagalan sistem : Karena gangguansistem, hang, listrik terputus alirannya.
Andi Dwi Riyanto, M.Kom
Teknik Pemulihan :
a. defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poindisetujui (COMMIT). Jika terjadi kegagalan maka tidak akanterjadi perubahan, tetapi diperlukan operasi redo untukmencegah akibat dari kegagalan tersebut.
b. Immediate Upadte / perubahan langsung : perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebutdisetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujuisebelum terjadi kegagalan.
c. Shadow Paging : menggunakan page bayangan imana paaprosesnya terdiri dari 2 tabel yang sama, yang satu menjaditabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama danselama berlangsung tabel transaksi yang menyimpan semuaperubahan ke database, tabel bayangan akan digunakan jikaterjadi kesalahan. Keuntungannya adalah tidak membutuhkanREDO atau UNDO, kelemahannya membuat terjadinyafragmentasi.
Andi Dwi Riyanto, M.Kom
4. Kesatuan data dan Enkripsi :
Enkripsi : keamanan data
Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuanterlaksananya integritas data.
Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkurenpada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).
Penyerangan Database
a. Informasi sensitif yang tersimpan di dalam database dapat terbuka(disclosed) bagi orang-orang yang tidak diizinkan (unauthorized ).
b. Informasi sensitif yang tersimpan di dalam database dapat altered in an unacceptable manner
c. Informasi sensitif yang tersimpan di dalam database dapat inaccessiblebagi orang-orang yang diizinkan.
d. the underlying operating system may be attacked -- most difficult problem
Andi Dwi Riyanto, M.Kom
SQL Injection attack merupakan salahsatu teknik dalam melakukan web hacking untuk menggapai akses padasistem database berbasis Microsoft SQL Server.
Teknik ini memanfaatkan kelemahandalam bahasa pemograman scripting padaSQL dalam mengolah suatu sistemdatabase yang memungkinkan seseorangtanpa account dapat masuk dan lolosverifikasi dari MS SQL server.Contoh : Memasukkan karakter ‘ OR ‘ ‘= pada username dan password pada suatu situs.
Andi Dwi Riyanto, M.Kom
Untuk mengatasi hal ini, atur agar:
Hanya karakter tertentu yang boleh
diinput.
Jika terdeteksi adanya illegal character,
langsung tolak permintaan.
Contoh Script SQL Injection :
' or 1=1 --
' or '' = '
Andi Dwi Riyanto, M.Kom
Andi Dwi Riyanto, M.Kom