14
2.2 Kontrol Berbasis Komputer
Tipe dari countermeasures tindakan balasan untuk threat pada sistem komputer terdiri dari kontrol secara fisik sampai prosedur administratif. Jenis
penanggulangan ancaman pada sistem komputer terdiri dari kontrol fisik sampai prosedur administratif. Keamanan DBMS yang baik harus
dihubungkan dengan sistem operasi.
2.2.1 Tingkatan pada keamanan basis data sebagai berikut : 1.
Fisikal lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
2. Manusia wewenang pemakai harus dilakukan dengan berhati-hati untuk
mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang 3.
Sistem Operasi Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database
menggunakan akses jarak jauh. 4.
Sistem Database Pengaturan hak pemakai yang baik.
2.2.2 Pengaturan keamanan basis data sebagai berikut : 1.
Authorization Otorisasi
15
Memberi hak atau priviledge yang dapat membuat subjek melakukan akses yang sah ke dalam sebuah objek sistem. Kontrol otorisasi tidak hanya
mengatur pengaksesan ke suatu objek, tetapi juga apa yang dapat dilakukan subjek terhadap objek. Proses otorisasi meliputi authentikasi dari user
program yang meminta akses ke obyek database tabel, view, strored procedure, trigger, atau objek lain yang bisa dibuat menggunakan sistem.
Autentifikasi merupakan suatu mekanisme untuk menentukan apakah user adalah user seperti yang diklaim. Tanggung jawab Sistem
administrator yaitu mengijinkan pengguna untuk mengakses sistem komputer. Tanggung jawab dari Database Administrator DBA untuk
mengijinkan user mengakses DBMS. 2.
Access Control Kontrol Akses Kontrol akses ke sistem basisdata berdasarkan pemberian grant dan
pengambilan revoke priviledge. Privilege diberikan untuk memungkinkan user membuat atau mengakses database read, write, atau modify dan
sekaligus membuat objek database seperti relation, view, index atau menjalankan berbagai keperluan dari DBMS. Privilege diberikan grant ke
user untuk melakukan tugas yang diperlukan untuk pekerjaannya. Pengguna yang membuat objek pada database seperti relation, atau view secara otomatis
akan memperoleh hak istimewa pada objek tersebut.
16
3. Views View adalah hasil dinamis yang diperoleh dari satu atau lebih operasi relasi
yang dioperasikan pada relasi terbaik untuk menghasilkan relasi lain. View adalah virtual relasi yang tidak secara aktual ada dalam database, tetapi
dihasilkan berdasarkan permintaan khusus dari user, pada saat waktu diminta. Mekanisme view memberikan mekanisme keanaman yang kuat dan flexsibel
dengan menyembunyikan bagian database dari user tertentu. View dapat didefinisikan dengan menggunakan beberapa relasi yang dilakukan oleh user
yang diberi grant privilege untuk menggunakannya. Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level
: 1.
Relasi pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2. View pengguna diperbolehkan atau tidak diperbolehkan mengakses
data yang terapat pada view 3.
Read Authorization pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4. Insert Authorization pengguna diperbolehkan menambah data baru,
tetapi tidak dapat memodifikasi data yang sudah ada. 5.
Update Authorization pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
17
6. Delete Authorization pengguna diperbolehkan menghapus data.
Untuk Modifikasi data terdapat otorisasi tambahan : 1.
Index Authorization pengguna diperbolehkan membuat dan menghapus index data.
2. Resource Authorization pengguna diperbolehkan membuat relasi-
relasi baru. 3.
Alteration Authorization pengguna diperbolehkan menambahmenghapus atribut suatu relasi.
4. Drop Authorization pengguna diperbolehkan menghapus relasi
yang sudah ada.
3. Backup and Recovery
Backup adalah proses secara periodic membuat copy database dan log file ke media penyimpanan offline. DBMS harus mempunyai fasilitas untuk
melakukan backup yang akan membantu untuk melakukan recovery database jika terjadi kegagalan failure database. Back up terhadapat database dan log
file secara periodic ditempat yang aman sehingga, dapat digunakan untuk mengembalikan database dalam keadaan konsisten yang terakhir.
Journaling: proses menjaga dan memelihara sebuah file log atau jurnal dari semua perubahan yang dibuat ke database untuk memungkinkan pemulihan
18
yang akan dilakukan secara efektif dalam hal kegagalan. Keuntungan dari journaling adalah jika terjadi failure, database dapat direcover pada kondisi
terakhir dengan menggunakan backup copy database dan informasi yang terdapat dalam log file.
Isi Jurnal :
Record transaksi 1.
Identifikasi dari record 2.
Tipe record jurnal transaksi start, insert, update, delete, abort, commit
3. Item data sebelum perubahan operasi update dan delete
4. Item data setelah perubahan operasi insert dan update
5. Informasi manajemen jurnal misal : pointer sebelum dan record jurnal
selanjutnya untuk semua transaksi Record checkpoint : suatu informasi pada jurnal untuk memulihkan database
dari kegagalan, kalau sekedar redo, akan sulit penyimpanan sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi pencarian
menggunakan teknik ini.
Recovery : merupakan upaya uantuk mengembalikan basis data ke keadaaan
yang dianggap benar setelah terjadinya suatu kegagalan. 3 Jenis Pemulihan :
19
1. Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program
yang dapat mengubah memperbarui data pada sejumlah tabel. 2.
Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data backup
3. Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik
terputus alirannya.
Fasilitas pemulihan pada DBMS : 1.
Mekanisme backup secara periodik 2.
fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah.
3. fasilitas checkpoint, melakukan update database yang terbaru.
4. manager pemulihan, memperbolehkan sistem untuk menyimpan ulang
database menjadi lebih konsisten setelah terjadinya kesalahan. Teknik Pemulihan :
1. defered upate perubahan yang ditunda : perubahan pada DB tidak akan
berlangsung sampai transaksi ada pada poin disetujui COMMIT. Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo
untuk mencegah akibat dari kegagalan tersebut.
20
2. Immediate Update perubahan langsung : perubahan pada DB akan segera
tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang
telah disetujui sebelum terjadi kegagalan. 3.
Shadow Paging : menggunakan page bayangan imana paa prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain
digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua
perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya
adalah tidak
membutuhkan REDO
atau UNDO,
kelemahannya membuat terjadinya fragmentasi. 4.
Integrity Integrity constrain memberi kontribusi dalam melakukan pemeliharaan
terhadap keamanan sistem database dengan melakukan pencegahan data dari
bentuk yang tidak valid yang mengakibatkan hasil yang tidak benar. Integrity
didefinisikan oleh Clark and Wilson adalah : “No user of the system, even if
authorized, may be permitted to modify data items in such a way that asses or a accounting records of the company are lost or corrupted
”. Tidak ada user
dari sistem, bahkan jika yang berwenang, dapat diizinkan untuk memodifikasi item data sedemikian rupa sehingga akses atau catatan akuntansi sebuah
perusahaan hilang atau rusak
21
5. Enkripsi
Enkripsi adalah pengkodean data dengan algoritma khusus yang membuat data tidak terbaca oleh program apapun tanpa deksripsi kunci. Teknik unutuk
melindungi data yang sensitive dalam sistem database. Enkripsi dimaksudkan untuk melindungi informasi agar tidak terlihat oleh orang atau pihak yang
bukan seharusnya. Informasi ini dapat berupa nomor kartu kredit, catatan penting dalam komputer, maupun password untuk mengakses sesuatu.
Enkripsi juga dapat digunakan untuk melakukan proteksi pada saat data ditransmisikan melalui jalur komunikasi.
Ada beberapa teknik untuk encoding data dalam penyembunyian informasi, diantaranya :
a. Reversible
Teknik reversible lebih umum digunakan. Untuk mentranformasikan data yang secure ke dalam sistem yang tidak secure digunakan
Cryptosystem yang terdiri dari: -
An encryption key : Untuk enkripsi data. -
An encryption algorithm dengan encryption key mentransformasikan plaintext ke dalam chipertext.
- A decryption key untuk mendekrip chipertext.
22
- A decryption algorithm, dengan decryption key mengubah chipertext
kembali ke plaintext. Teknik yang digunakan untuk cryptosystem ada dua yaitu symmetric
encryption dan asymmetric encryption. Teknik enkripsi symmetric menggunakan encryption dan decryption key yang sama tergantung
pada jalur komunikasi yang aman. Teknik enkripsi asimmetris menggunakan encryption dan decryption key yang berbeda.
b. Irreversible
Pada teknik ini tidak mengijinkan data asli untuk diketahui oleh orang lain.
6. RAID Technology
Redundant Array of Inexpensive Disks. Hardware dimana DBMS yang berjalan harus fault-tolerant, yang berarti DBMS seharusnya terus beroperasi
jika salah satu komponen hardware gagal. Menggunakan komponen redundan yang terintegrasi ke dalam sistem yang bekerja kapanpun , satu atau lebih
komponen gagal. Salah satu pemecahan solusi untuk menyediakan sebuah array disk yang besar yang terdiri dari susunan beberapa disk yang
independent yang diorganisasi untuk meningkatkan keandalan dan pada saat yang bersamaan meningkatkan unjuk kerja.
23
2.3 SQL Data Manipulation