KEAMANAN SISTEM DATABASE
Keamanan database adalah suatu cara untuk melindungi
database dari ancaman, baikdalam bentuk kesengajaan atau pun bukan. Ancaman
adalah segala situasi atau kejadian baik secara sengaja maupun tidak yang
bersifat merugikan dan mempengaruhi system serta secara konsekuensi terhadap
perusahaan/organisasi yang memiliki system database.Keamanan database tidak
hanya berkenaan dengan data yang ada pada database saja, tetapi juga meliputi
bagian lain dari system database, yang tentunya dapat mempengaruhi database
tersebut. Hal ini berarti keamanan database mencakup perangkat keras, perangkat
lunak, orang dan data.
Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seseorang yang mempunyai hak untuk mengontrol dan mengatur database biasanya disebut Administrator database. Seorang administratorlah yang memegang peranan penting pada suatu system database, oleh karena itu administrator harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur suatu system database Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.
System yang aman memastikan kerahasian data yang
terdapat didalamnya. Beberapa aspek keamanan yaitu :
( Mambatasi akses ke data dan servis •
( Melakukan autentifikasi pada user
( Memonitor aktivitas-aktivitas yang mencurigakan
( Mambatasi akses ke data dan servis •
( Melakukan autentifikasi pada user
( Memonitor aktivitas-aktivitas yang mencurigakan
Keamanan database dapat dikelompokan sebagai berikut
:
¯ Pencurian dan penipuan.
Pencurian dan penipuan database tidak hanya mempengaruhi lingkungan database
tetapi juga seluruh perusahaan/organisasi. Keadaan ini dilakukan oleh orang, dimana seseorang ingin melakukan pencurian data atau manipulasi data, seperti saldo rekening,transaksi,transfer dan lain-lain. Untuk itu fokus harus dilakukan pada kekuatan system agar menghindari akses oleh orang yang tidak memiliki kewenangan.
¯ Pencurian dan penipuan.
Pencurian dan penipuan database tidak hanya mempengaruhi lingkungan database
tetapi juga seluruh perusahaan/organisasi. Keadaan ini dilakukan oleh orang, dimana seseorang ingin melakukan pencurian data atau manipulasi data, seperti saldo rekening,transaksi,transfer dan lain-lain. Untuk itu fokus harus dilakukan pada kekuatan system agar menghindari akses oleh orang yang tidak memiliki kewenangan.
¯
Hilangnya kerahasiaan dan privasi
Suatu data dapat memiliki nilai kerahasiaan, karena data tersebut merupakan
sumber daya yang strategis pada perusahaan, maka pada kasus ini data tersebut
harus diamankan dengan memberikan hak akses pada orang tertentu saja.
Suatu data dapat memiliki nilai kerahasiaan, karena data tersebut merupakan
sumber daya yang strategis pada perusahaan, maka pada kasus ini data tersebut
harus diamankan dengan memberikan hak akses pada orang tertentu saja.
¯
Hilangnya integritas
Integritas ini berkaitan dengan akurasi dan kebenaran data dalam database, seperti
data korup.Hal ini akan secara serius mempengaruhi perusahaan/organisasi.
Integritas ini berkaitan dengan akurasi dan kebenaran data dalam database, seperti
data korup.Hal ini akan secara serius mempengaruhi perusahaan/organisasi.
¯
Hilangnya ketersediaan
Hilangnya ketersediaan berarti data, system, keduanya tidak dapat diakses,servis
mati, yang tentunya secara serius sangat mempengaruhi perusahaan/organisasi.
Saat ini banyak perusahaan yang membutuhkan kemampuan system yang aktif 7
x 24 , 7 hari 1 minggu.
Hilangnya ketersediaan berarti data, system, keduanya tidak dapat diakses,servis
mati, yang tentunya secara serius sangat mempengaruhi perusahaan/organisasi.
Saat ini banyak perusahaan yang membutuhkan kemampuan system yang aktif 7
x 24 , 7 hari 1 minggu.
Berdasarkan pengelompokan tersebut, tentunya banyak
aspek yang harus kitaperhatikan demi terciptanya keamanan database. Bisa saja
seseorang mencuri computer kita yang berisi data penting, mungkin juga karyawan
yang diberi hak untuk mengakses data melakukan kejahatan dengan menjual
informasi tersebut pada pihak lain demi kepentingan pribadi. Hal-hal tersebut
memang termasuk kendala keamanan database yang harus mendapat perhatian, tetapi
seorang administrator tidak dapat mengawasi kelemahan tersebut. Seorang
administrator hanya fokus pada sistem database itu sendiri, dan hal inilah yang
akan kita bicarakan. Tentunya perkembangan teknologi mengharuskan suatu
perusahaan untuk mengimplementasikan system database yang bukan hanya aman
tetapi juga mudah diakses dan handal, menyala 7×24 jam, 7 hari 1 minggu
tanpaoff.
Penyebaran informasi secara global sangat menguntungkan semua pihak. Dengan adanya internet, komunikasi antar cabang, perusahaan, konsumen dan sebagainya semakin mudah. Pemberian informasi mengenai perusahaan kepada masyarakat melalui internet merupakan salah satu strategi komunikasi, marketing, public relation perusahaan tersebut,adanya transaksi on line yang meningkatkan gaya hidup masyarakat dan lainlain. Semua itu tidak terlepas dari suatu perkembangan system database dan tentunya membuat keamanan menjadi rentan. Sangatlah mudah dalam suatu lingkungan database diciptakan suasana yang menakutkan, tanpa kepastian dan keraguan. Sebagai seorang administrator sangat perlu memperhatikan kondisi tersebut. Tentukan resiko yang sebenarnya dan selidiki apa yang dapat dilakukan terhadap kondisi itu. Sebenarnya kebanyakan database terkonfigurasi dalam keadaan yang mudah ditembus, akan tetapi hal ini bukan berarti database tidak dapat dibuat aman sebagaimana mestinya.
Penyebaran informasi secara global sangat menguntungkan semua pihak. Dengan adanya internet, komunikasi antar cabang, perusahaan, konsumen dan sebagainya semakin mudah. Pemberian informasi mengenai perusahaan kepada masyarakat melalui internet merupakan salah satu strategi komunikasi, marketing, public relation perusahaan tersebut,adanya transaksi on line yang meningkatkan gaya hidup masyarakat dan lainlain. Semua itu tidak terlepas dari suatu perkembangan system database dan tentunya membuat keamanan menjadi rentan. Sangatlah mudah dalam suatu lingkungan database diciptakan suasana yang menakutkan, tanpa kepastian dan keraguan. Sebagai seorang administrator sangat perlu memperhatikan kondisi tersebut. Tentukan resiko yang sebenarnya dan selidiki apa yang dapat dilakukan terhadap kondisi itu. Sebenarnya kebanyakan database terkonfigurasi dalam keadaan yang mudah ditembus, akan tetapi hal ini bukan berarti database tidak dapat dibuat aman sebagaimana mestinya.
5.1. 1 Acaman terhadap database
Serangan terhadap database
Secara garis besar keamanan database dikategorikan
sbb:
?
Keamanan Server
Perlindungan Server adalah suatu proses pembatasan akses yang sebenarnya pada database dalam server itu sendiri. Menurut Blake Wiedman ini adalah suatu sisi keamanan yang sangat penting dan harus direncanakan secara hati-hati. Ide dasarnya adalah kita tidak dapat mengakses apa yang kita tidak dapat lihat, atau apakah kita ingin database server kita dapat dilihat diseluruh dunia? Database kita bukanlah suatu web server,koneksi yang tidak dikenali tidak diijinkan.
Perlindungan Server adalah suatu proses pembatasan akses yang sebenarnya pada database dalam server itu sendiri. Menurut Blake Wiedman ini adalah suatu sisi keamanan yang sangat penting dan harus direncanakan secara hati-hati. Ide dasarnya adalah kita tidak dapat mengakses apa yang kita tidak dapat lihat, atau apakah kita ingin database server kita dapat dilihat diseluruh dunia? Database kita bukanlah suatu web server,koneksi yang tidak dikenali tidak diijinkan.
?
Trusted Ip Access
Setiap server harus dapat mengkonfigurasikan alamat ip yang diperbolehkan mengakses dirinya. Kita tidak mengijinkan semua orang dapat mengakses server kita sebagaimana kita tidak mengijinkan orang lain memasuki rumah kita tanpa ijin. Jika server melayani suatu web server maka hanya alamat web server itu saja yang dapat mengakses server database tersebut.Jika server database melayani jaringan internal maka hanya alamat jaringanlah yang boleh menghubungi server. Sangat perlu diperhatikan bahwa jangan pernah menggabungkan server database web dengan server database informasi internal perusahaan anda, ini adalah suatu mental yang buruk untuk seorang admin. Trusted Ip Access merupakan server database terbatas yang hanya akan memberi respon pada Ip yang dikenali saja.
Setiap server harus dapat mengkonfigurasikan alamat ip yang diperbolehkan mengakses dirinya. Kita tidak mengijinkan semua orang dapat mengakses server kita sebagaimana kita tidak mengijinkan orang lain memasuki rumah kita tanpa ijin. Jika server melayani suatu web server maka hanya alamat web server itu saja yang dapat mengakses server database tersebut.Jika server database melayani jaringan internal maka hanya alamat jaringanlah yang boleh menghubungi server. Sangat perlu diperhatikan bahwa jangan pernah menggabungkan server database web dengan server database informasi internal perusahaan anda, ini adalah suatu mental yang buruk untuk seorang admin. Trusted Ip Access merupakan server database terbatas yang hanya akan memberi respon pada Ip yang dikenali saja.
?
Koneksi Database
Saat ini semakin banyaknya aplikasi dinamis menjadi sangat menggoda untuk melakukan akses yang cepat bahkan update yang langsung tanpa authentifikasi. Jangan pernah berpikir demikian, ini hanya untuk seorang pemalas. Jika kita ingin mengijinkan pemakai dapat mengubah database melalui web page, pastikan anda memvalidasi semua masukan untuk memastikan bahwa inputan benar, terjamin dan aman.Sebagai contoh, pastikan anda menghilangkan semua code SQL agar tidak dapat dimasukan olehuser.Jika anda seorang admin yang membutuhkan koneksi ODBC,pastikan koneksi yang digunakan unik.
Saat ini semakin banyaknya aplikasi dinamis menjadi sangat menggoda untuk melakukan akses yang cepat bahkan update yang langsung tanpa authentifikasi. Jangan pernah berpikir demikian, ini hanya untuk seorang pemalas. Jika kita ingin mengijinkan pemakai dapat mengubah database melalui web page, pastikan anda memvalidasi semua masukan untuk memastikan bahwa inputan benar, terjamin dan aman.Sebagai contoh, pastikan anda menghilangkan semua code SQL agar tidak dapat dimasukan olehuser.Jika anda seorang admin yang membutuhkan koneksi ODBC,pastikan koneksi yang digunakan unik.
?
Kontrol Akses Tabel
Kontrol akses table ini adalah salah satu bentuk keamanan database yang sering diabaikan,karena cukup sulit penerapannya. Penggunaan control akses table yang benar dibutuhkan kolaborasi antara system administrator dengan pengembang database. Hal inilah yang sulit dilakukan. Pemberian ijin user untuk mengakses informasi dapat membuat informasi terbuka kepada public. Jika seorang user mengakses informasi apakah akan dilihat menggunakan session yang sama? Atau jika table digunakan sebagai referensi system mengapa ia diberikan ijin selain hak membaca saja.
Kontrol akses table ini adalah salah satu bentuk keamanan database yang sering diabaikan,karena cukup sulit penerapannya. Penggunaan control akses table yang benar dibutuhkan kolaborasi antara system administrator dengan pengembang database. Hal inilah yang sulit dilakukan. Pemberian ijin user untuk mengakses informasi dapat membuat informasi terbuka kepada public. Jika seorang user mengakses informasi apakah akan dilihat menggunakan session yang sama? Atau jika table digunakan sebagai referensi system mengapa ia diberikan ijin selain hak membaca saja.
5.2. PERLINDUNGAN TERHADAP DATA YANG SENSITIF
Penyalahgunaan Database :
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 transaksi untuk 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 tidak berwenang.
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 transaksi untuk 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 tidak berwenang.
Tingkatan Pada Keamanan Database :
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.
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.
Keamanan Data :
1. Otorisasi :
o Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database
o Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
• Mengendalikan sistem atau obyek yang dapat diakses
• Mengendalikan bagaimana pengguna menggunakannya
• Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
2. Tabel View :
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model
database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
1. Relasi adalah pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2. View adalah pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
3. Read Authorization adalah pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4. Insert Authorization adalah pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
5. Update Authorization adalah engguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6. Delete Authorization adalah pengguna diperbolehkan menghapus data.
o Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database
o Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
• Mengendalikan sistem atau obyek yang dapat diakses
• Mengendalikan bagaimana pengguna menggunakannya
• Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.
2. Tabel View :
Merupakan metode pembatasan bagi pengguna untuk mendapatkan model
database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
1. Relasi adalah pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2. View adalah pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
3. Read Authorization adalah pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4. Insert Authorization adalah pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
5. Update Authorization adalah engguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6. Delete Authorization adalah pengguna diperbolehkan menghapus data.
Untuk Modifikasi data terdapat otorisasi tambahan :
1. Index Authorization adalah pengguna diperbolehkan membuat dan menghapus index data.
2. Resource Authorization adalah pengguna diperbolehkan membuat relasi-relasi baru.
3. Alteration Authorization adalah pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4. Drop Authorization adalah pengguna diperbolehkan menghapus relasi yang
sudah ada.
1. Index Authorization adalah pengguna diperbolehkan membuat dan menghapus index data.
2. Resource Authorization adalah pengguna diperbolehkan membuat relasi-relasi baru.
3. Alteration Authorization adalah pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4. Drop Authorization adalah pengguna diperbolehkan menghapus relasi yang
sudah ada.
Contoh perintah menggunakan SQL :
GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT ON TO
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 ON FROM
Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION,
RESOURCE
GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT ON TO
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 ON FROM
Contoh :
REVOKE SELECT ON S TO BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI
Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION,
RESOURCE
3. Backup data dan recovery :
Backup : proses secara periodik untuk mebuat
duplikat ari database dan melakukan
logging file (atau program) ke media penyimpanan eksternal.
logging file (atau program) ke media penyimpanan eksternal.
Jurnaling : proses menyimpan dan mengatur log file
dari semua perubahan yang dibuat di
database untuk proses recovery yang efektif jika terjadi kesalahan.
database untuk proses recovery yang efektif jika terjadi kesalahan.
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 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.
dianggap benar setelah terjadinya suatu kegagalan.
3 Jenis Pemulihan :
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.
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.
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.
2. Immediate Upadate / 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. Kesatuan data dan Enkripsi :
Enkripsi : keamanan data
Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data. •
Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pad •a database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).
Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data. •
Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pad •a database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).
Fasilitas Keamanan Database
Keamanan database tersedia pada versi Educator ke
atas. Keamanan database diatur olehProperti Database. Berikut ini adalah
properti database yang digunakan untuk keamanan database BOCSoft eQuestion.
Properti Keterangan
1. Publikasi Apakah database dipublikasikan? Database yang telah dipublikasikan tidak bisa dipublikasikan ulang. Proses publikasi adalah mempublikasikan database untuk konsumsi publik. Proses ini meliputi pengaturan properti lain: Proteksi; Hanya Baca; Dapat Dibaca eQuestion Lain; dan Dapat Diimpor.
2. Proteksi Jika database diproteksi, setiap menggunakan database, pengguna akan dimintai password/kata kunci sebagai pengaman database. Password ditentukan oleh pembuat database.
3. Hanya Baca (Read-Only)
Data dalam database yang “Hanya Baca” tidak bisa ditambah, diedit, atau dihapus.
4. Dapat Dibaca eQuestion Lain
Jika properti ini diset “Tidak” maka database hanya bisa dibaca oleh BOCSoft eReader dan tidak bisa dibaca oleh BOCSoft eQuestion lain.
5. Dapat Diimpor Jika properti ini diset “Ya” maka data dari database eQuestion bisa digabungkan dengan database eQuestion lain dengan versi yang sama.
Tingkatan Pada Keamanan Database
Properti Keterangan
1. Publikasi Apakah database dipublikasikan? Database yang telah dipublikasikan tidak bisa dipublikasikan ulang. Proses publikasi adalah mempublikasikan database untuk konsumsi publik. Proses ini meliputi pengaturan properti lain: Proteksi; Hanya Baca; Dapat Dibaca eQuestion Lain; dan Dapat Diimpor.
2. Proteksi Jika database diproteksi, setiap menggunakan database, pengguna akan dimintai password/kata kunci sebagai pengaman database. Password ditentukan oleh pembuat database.
3. Hanya Baca (Read-Only)
Data dalam database yang “Hanya Baca” tidak bisa ditambah, diedit, atau dihapus.
4. Dapat Dibaca eQuestion Lain
Jika properti ini diset “Tidak” maka database hanya bisa dibaca oleh BOCSoft eReader dan tidak bisa dibaca oleh BOCSoft eQuestion lain.
5. Dapat Diimpor Jika properti ini diset “Ya” maka data dari database eQuestion bisa digabungkan dengan database eQuestion lain dengan versi yang sama.
Tingkatan Pada Keamanan Database
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. 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.
Enkripsi Untuk Keamanan Database
Salah satu hal yang penting dalam komunikasi
menggunakan computer untuk menjamin kerahasian data adalah enkripsi. Enkripsi
dalah sebuah proses yang melakukan perubahan sebuah kode dari yang bisa
dimengerti menjadi sebuah kode yang tidak bisa dimengerti (tidak terbaca).
Enkripsi dapat diartikan sebagai kode atau chiper. Sebuah sistem pengkodean
menggunakan suatu table atau kamus yang telah didefinisikan untuk mengganti
kata dari informasi atau yang merupakan bagian dari informasi yang dikirim.
Sebuah chiper menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unitelligible). Karena teknik cipher merupakan suatu sistem yang telah siap untuk di automasi, maka teknik ini digunakan dalam sistem keamanan komputer dan network. Pada bagian selanjutnya kita akan membahas berbagai macam teknik enkripsi yang biasa digunakan dalam sistem security dari sistem komputer dan network.
Sebuah chiper menggunakan suatu algoritma yang dapat mengkodekan semua aliran data (stream) bit dari sebuah pesan menjadi cryptogram yang tidak dimengerti (unitelligible). Karena teknik cipher merupakan suatu sistem yang telah siap untuk di automasi, maka teknik ini digunakan dalam sistem keamanan komputer dan network. Pada bagian selanjutnya kita akan membahas berbagai macam teknik enkripsi yang biasa digunakan dalam sistem security dari sistem komputer dan network.
A. Enkripsi Konvensional.
Informasi asal yang dapat di mengerti di simbolkan
oleh Plain teks, yang kemudian oleh algoritma Enkripsi diterjemahkan menjadi
informasi yang tidak dapat untuk dimengerti yang disimbolkan dengan cipher
teks. Proses enkripsi terdiri dari dua yaitu algoritma dan kunci. Kunci
biasanya merupakan suatu string bit yang pendek yang mengontrol algoritma.
Algoritma enkripsi akan menghasilkan hasil yang berbeda tergantung pada kunci
yang digunakan. Mengubah kunci dari enkripsi akan mengubah output dari
algortima enkripsi. Sekali cipher teks telah dihasilkan, kemudian
ditransmisikan. Pada bagian penerima selanjutnya cipher teks yang diterima
diubah kembali ke plain teks dengan algoritma dan dan kunci yang sama. Keamanan
dari enkripsi konvensional bergantung pada beberapa factor. Pertama algoritma
enkripsi harus cukup kuat sehingga menjadikan sangat sulit untuk mendekripsi
cipher teks dengan dasar cipher teks tersebut. Lebih jauh dari itu keamanan
dari algoritma enkripsi konvensional bergantung pada kerahasian dari kuncinya
bukan algoritmanya. Yaitu dengan asumsi bahwa adalah sangat tidak praktis untuk
mendekripsikan informasi dengan dasar cipher teks dan pengetahuan tentang
algoritma diskripsi / enkripsi. Atau dengan kata lain, kita tidak perlu menjaga
kerahasiaan dari algoritma tetapi cukup dengan kerahasiaan kuncinya.
Manfaat dari konvensional enkripsi algoritma adalah kemudahan dalam penggunaan secara luas. Dengan kenyataan bahwa algoritma ini tidak perlu dijaga kerahasiaannya dengan maksud bahwa pembuat dapat dan mampu membuat suatu implementasi dalam bentuk chip dengan harga yang murah. Chips ini dapat tersedia secara luas dan disediakan pula untuk beberapa jenis produk. Dengan penggunaan dari enkripsi konvensional, prinsip keamanan adalah menjadi menjaga keamanan dari kunci.
Model enkripsi yang digunakan secara luas adalah model yang didasarkan pada data encrytion standard (DES), yang diambil oleh Biro standart nasional US pada tahun 1977. Untuk DES data di enkripsi dalam 64 bit block dengan menggunakan 56 bit kunci. Dengan menggunakan kunci ini, 64 data input diubah dengan suatu urutan dari metode menjadi 64 bit output. Proses yang yang sama dengan kunci yang sama digunakan untuk mengubah kembali enkripsi.
Manfaat dari konvensional enkripsi algoritma adalah kemudahan dalam penggunaan secara luas. Dengan kenyataan bahwa algoritma ini tidak perlu dijaga kerahasiaannya dengan maksud bahwa pembuat dapat dan mampu membuat suatu implementasi dalam bentuk chip dengan harga yang murah. Chips ini dapat tersedia secara luas dan disediakan pula untuk beberapa jenis produk. Dengan penggunaan dari enkripsi konvensional, prinsip keamanan adalah menjadi menjaga keamanan dari kunci.
Model enkripsi yang digunakan secara luas adalah model yang didasarkan pada data encrytion standard (DES), yang diambil oleh Biro standart nasional US pada tahun 1977. Untuk DES data di enkripsi dalam 64 bit block dengan menggunakan 56 bit kunci. Dengan menggunakan kunci ini, 64 data input diubah dengan suatu urutan dari metode menjadi 64 bit output. Proses yang yang sama dengan kunci yang sama digunakan untuk mengubah kembali enkripsi.
B. Enkripsi Public-Key
Salah satu yang menjadi kesulitan utama dari
enkripsi konvensional adalah perlunya untuk mendistribusikan kunci yang
digunakan dalam keadaan aman. Sebuah cara yang tepat telah diketemukan untuk
mengatasi kelemahan ini dengan suatu model enkripsi yang secara mengejutkan
tidak memerlukan sebuah kunci untuk didistribusikan. Metode ini dikenal dengan
nama enkripsi public-key dan pertama kali diperkenalkan pada tahun 1976.
Algoritma tersebut seperti yang digambarkan pada gambar diatas. Untuk enkripsi
konvensional, kunci yang digunakan pada prosen enkripsi dan dekripsi adalah
sama. Tetapi ini bukanlah kondisi sesungguhnya yang diperlukan. Namun adalah
dimungkinkan untuk membangun suatu algoritma yang menggunakan satu kunci untuk
enkripsi dan pasangannya, kunci yang berbeda, untuk dekripsi. Lebih jauh lagi
adalah mungkin untuk menciptakan suatu algoritma yang mana pengetahuan tentang
algoritma enkripsi ditambah kunci enkripsi tidak cukup untuk menentukan kunci
dekrispi. Sehingga teknik berikut ini akan dapat dilakukan :
1. Masing – masing dari sistem dalam network akan menciptakan sepasang kunci yang digunakan untuk enkripsi dan dekripsi dari informasi yang diterima.
2. Masing – masing dari sistem akan menerbitkan kunci enkripsinya ( public key ) dengan memasang dalam register umum atau file, sedang pasangannya tetap dijaga sebagai kunci pribadi ( private key ).
3. Jika A ingin mengisim pesan kepada B, maka A akan mengenkripsi pesannya dengan kunci publik dari B.
4. Ketika B menerima pesan dari A maka B akan menggunakan kunci privatenya untuk mendeskripsi pesan dari A.
Seperti yang kita lihat, public-key memecahkan masalah pendistribusian karena tidak diperlukan suatu kunci untuk didistribusikan. Semua partisipan mempunyai akses ke kunci publik ( public key ) dan kunci pribadi dihasilkan secara lokal oleh setiap partisipan sehingga tidak perlu untuk didistribusikan. Selama sistem mengontrol masing – masing private key dengan baik maka komunikasi menjadi komunikasi yang aman. Setiap sistem mengubah private key pasangannya public key akan menggantikan public key yang lama. Yang menjadi kelemahan dari metode enkripsi publik key adalah jika dibandingkan dengan metode enkripsi konvensional algoritma enkripsi ini mempunyai algoritma yang lebih komplek. Sehingga untuk perbandingan ukuran dan harga dari hardware, metode publik key akan menghasilkan performance yang lebih rendah. Tabel berikut ini akan memperlihatkan berbagai aspek penting dari enkripsi konvensional dan public key.
1. Masing – masing dari sistem dalam network akan menciptakan sepasang kunci yang digunakan untuk enkripsi dan dekripsi dari informasi yang diterima.
2. Masing – masing dari sistem akan menerbitkan kunci enkripsinya ( public key ) dengan memasang dalam register umum atau file, sedang pasangannya tetap dijaga sebagai kunci pribadi ( private key ).
3. Jika A ingin mengisim pesan kepada B, maka A akan mengenkripsi pesannya dengan kunci publik dari B.
4. Ketika B menerima pesan dari A maka B akan menggunakan kunci privatenya untuk mendeskripsi pesan dari A.
Seperti yang kita lihat, public-key memecahkan masalah pendistribusian karena tidak diperlukan suatu kunci untuk didistribusikan. Semua partisipan mempunyai akses ke kunci publik ( public key ) dan kunci pribadi dihasilkan secara lokal oleh setiap partisipan sehingga tidak perlu untuk didistribusikan. Selama sistem mengontrol masing – masing private key dengan baik maka komunikasi menjadi komunikasi yang aman. Setiap sistem mengubah private key pasangannya public key akan menggantikan public key yang lama. Yang menjadi kelemahan dari metode enkripsi publik key adalah jika dibandingkan dengan metode enkripsi konvensional algoritma enkripsi ini mempunyai algoritma yang lebih komplek. Sehingga untuk perbandingan ukuran dan harga dari hardware, metode publik key akan menghasilkan performance yang lebih rendah. Tabel berikut ini akan memperlihatkan berbagai aspek penting dari enkripsi konvensional dan public key.
Enkripsi Konvensional •
Yang dibutuhkan untuk bekerja :
1. Algoritma yang sama dengan kunci yang sama dapat digunakan untuk proses dekripsi–enkripsi. Pengirim dan penerima harus membagi algoritma dan kunci yang sama.
Yang dibutuhkan untuk keamanan :
1. Kunci harus dirahasiakan.
2. Adalah tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi.
3. Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untu menentukan kunc.
Yang dibutuhkan untuk bekerja :
1. Algoritma yang sama dengan kunci yang sama dapat digunakan untuk proses dekripsi–enkripsi. Pengirim dan penerima harus membagi algoritma dan kunci yang sama.
Yang dibutuhkan untuk keamanan :
1. Kunci harus dirahasiakan.
2. Adalah tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi.
3. Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untu menentukan kunc.
Enkripsi Public Key •
Yang dibutuhkan untuk bekerja :
1. Algoritma yang digunakan untuk enkripsi dan dekripsi dengan sepasang kunci, satu untuk enkripsi satu untuk dekripsi.
2. Pengirim dan penerima harus mempunyai sepasang kunci yang cocok.
Yang dibutuhkan untuk keamanan :
1. Salah satu dari kunci harus dirahasiakan.
2. Adalah tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi.
3. Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untu menentukan kunci.
Yang dibutuhkan untuk bekerja :
1. Algoritma yang digunakan untuk enkripsi dan dekripsi dengan sepasang kunci, satu untuk enkripsi satu untuk dekripsi.
2. Pengirim dan penerima harus mempunyai sepasang kunci yang cocok.
Yang dibutuhkan untuk keamanan :
1. Salah satu dari kunci harus dirahasiakan.
2. Adalah tidak mungkin atau sangat tidak praktis untuk menerjemahkan informasi yang telah dienkripsi.
3. Pengetahuan tentang algoritma dan sample dari kata yang terenkripsi tidak mencukupi untu menentukan kunci.
5. 3 RANGKUMAN PERMASALAHAN DALAM DATABASE
Basis data yang kurang matang atau yang tidak
disiapkan dengan baik tentunya akan menghasilkan beberapa masalah, karena dalam
berinteraksi dengan basis data kita tidak hanya berhadapan pada masalah
perancangan, pengaksesan dan penginputan data saja. Masalah-maslah tersebut
diantaranya adalah :
1. Redudansi dan Inkonsistensi Data
Redudansi data berhubungan dengan banyaknya data pada sebuah tabel, sehingga sering meimbulkan duplikasi data, artinya data yang tersedia akan tersaji atau tercetak secara berulang-ulang. Hal ini akan mengakibatkan kesulitan pada saat melakukan manipulasi data yang berupa pengubahan dan penghapusan data, karena akan menimbulkan inkonsistensi data. Redudansi ini bisa disebabkan karena basis data yang ada belum memenuhi aturan-aturan dalam normalisasi basis data. Hal ini dapat dicontohkan pada tabel dengan 3 field, yaitu NIM, nama_mhs, dan alamat, pada tabel tersebut yang menjadi key adalah NIM, jika nama dan alamat merupakan field non key, dan field alamat mempunyai ketergantungan fungsional pada field non key lainnya dalam hal ini adalah nama_mhs, sedangkan nama_mhs mempunyai ketergantungan fungsional terhadap NIM, maka akan mudah dijumpai redudansi pada field alamat dimana pada nama alamat yang sama akan selalu hadir pada record nama_mhs yang sama pula, hal ini sangat berpengaruh ketika kita melakukan manipilasi data pada salah satu record alamat sehingga akan ditemui record alamat yang yang berbeda untuk record nama_mhs yang sama dalam satu tabel.
Redudansi juga umum terjadi untuk menyatakan hubungan (relationship) antar tabel dalam sebuah basis data relasional. Pada basis data relasional redudansi data sering terjadi pada saat terjadi operasi penghapusan data, jika data pada satu tabel yang mempunyai relasi pada tabel lain dihapus sedangkan data data pada tabel lain tetap dibiarkan eksis maka akan terjadi inkonsistensi data.
1. Redudansi dan Inkonsistensi Data
Redudansi data berhubungan dengan banyaknya data pada sebuah tabel, sehingga sering meimbulkan duplikasi data, artinya data yang tersedia akan tersaji atau tercetak secara berulang-ulang. Hal ini akan mengakibatkan kesulitan pada saat melakukan manipulasi data yang berupa pengubahan dan penghapusan data, karena akan menimbulkan inkonsistensi data. Redudansi ini bisa disebabkan karena basis data yang ada belum memenuhi aturan-aturan dalam normalisasi basis data. Hal ini dapat dicontohkan pada tabel dengan 3 field, yaitu NIM, nama_mhs, dan alamat, pada tabel tersebut yang menjadi key adalah NIM, jika nama dan alamat merupakan field non key, dan field alamat mempunyai ketergantungan fungsional pada field non key lainnya dalam hal ini adalah nama_mhs, sedangkan nama_mhs mempunyai ketergantungan fungsional terhadap NIM, maka akan mudah dijumpai redudansi pada field alamat dimana pada nama alamat yang sama akan selalu hadir pada record nama_mhs yang sama pula, hal ini sangat berpengaruh ketika kita melakukan manipilasi data pada salah satu record alamat sehingga akan ditemui record alamat yang yang berbeda untuk record nama_mhs yang sama dalam satu tabel.
Redudansi juga umum terjadi untuk menyatakan hubungan (relationship) antar tabel dalam sebuah basis data relasional. Pada basis data relasional redudansi data sering terjadi pada saat terjadi operasi penghapusan data, jika data pada satu tabel yang mempunyai relasi pada tabel lain dihapus sedangkan data data pada tabel lain tetap dibiarkan eksis maka akan terjadi inkonsistensi data.
2. Kesulitan Pengaksesan Data
Pengaksesan data akan sulit dilakukan apabila terjadi permintaan data yang tidak lazim dan di luar yang telah disediakan suatu program aplikasi, atau apabila data yang aka diakses berasal dari basis data yang berbeda. Pengaksesan data ini dapat diatasi dengan penyediaan program aplikasi yang dapat menunjuang sebuah keperluan tersebut.
Pengaksesan data akan sulit dilakukan apabila terjadi permintaan data yang tidak lazim dan di luar yang telah disediakan suatu program aplikasi, atau apabila data yang aka diakses berasal dari basis data yang berbeda. Pengaksesan data ini dapat diatasi dengan penyediaan program aplikasi yang dapat menunjuang sebuah keperluan tersebut.
3. Isolasi Data Untuk Standarisasi
Basis data yang baik adalah basis data yang letak datanya berada pada satu tempat. Isolasi data terjadi biasanya disebabkan oleh data yang ada ditempatkan dalam berbagai file dengan format yang berbeda dan menggunakan DBMS yang berbeda pula. Perbedaan DBMS dalam pengelalaan data menyebabkan terjadinya perbedaan pada setiap pengaksesan data walaupun sangat kecil.
Basis data yang baik adalah basis data yang letak datanya berada pada satu tempat. Isolasi data terjadi biasanya disebabkan oleh data yang ada ditempatkan dalam berbagai file dengan format yang berbeda dan menggunakan DBMS yang berbeda pula. Perbedaan DBMS dalam pengelalaan data menyebabkan terjadinya perbedaan pada setiap pengaksesan data walaupun sangat kecil.
4. Multiple User
Perkembangan dan kebutuhan sebuah informasi yang disajiakan semakin lama maka akan semakin meningkat, untuk itu peningkatan sistem basis data dalam menyajikan sebuah informasi perlu ditingkatkan, hal ini untuk memenuhi kebutuhan banyak pemakai dalam pengaksesan data. Pengaksesan data yang dilakukan oleh banyak pemakai terutama dalam melaukan perubahan data atau updating dapat mengakibatkan inkonsistensi data. Selain itu performasi sebuah sistem juga akan terpengaruh. Sebagai contoh, perubahan data yang dilakuakan oleh pemakai lalu menimpannya kedalam basis data dan pada saat yang bersamaan terjadi pengubahan data yang sama oleh pemakai lain sehingga menjadikan data tersebut tidak konsisten.
Perkembangan dan kebutuhan sebuah informasi yang disajiakan semakin lama maka akan semakin meningkat, untuk itu peningkatan sistem basis data dalam menyajikan sebuah informasi perlu ditingkatkan, hal ini untuk memenuhi kebutuhan banyak pemakai dalam pengaksesan data. Pengaksesan data yang dilakukan oleh banyak pemakai terutama dalam melaukan perubahan data atau updating dapat mengakibatkan inkonsistensi data. Selain itu performasi sebuah sistem juga akan terpengaruh. Sebagai contoh, perubahan data yang dilakuakan oleh pemakai lalu menimpannya kedalam basis data dan pada saat yang bersamaan terjadi pengubahan data yang sama oleh pemakai lain sehingga menjadikan data tersebut tidak konsisten.
5. Masalah Keamanan Data
Keamanan data biasanya dengan cara melakukan penerapan sebuah password pada saat pengaksessan data, karena tidak semua pemakai boleh bersentuhan dengan sebuah sistem basisdata, hanya pemakai yang terdaftar yang dapat memanfaatkan basisdata, namun pemakai tersebut belum tentu dapat melakukan pengubahan data pemakai tersebut hanya dapat melakukan pengaksesan data tanpa melakukan proses manipulasi data, pemakai yang dapat melakukan manipulasi data hanyalah pemakai yang telah terdaftar dan mendapat rekomendasi dari administrator basis data tersebut. Agar terhindar dari campur tangan orang yang tidak bertanggung jawab sehingga mengakibatkan kerusakan basis data.
Keamanan data biasanya dengan cara melakukan penerapan sebuah password pada saat pengaksessan data, karena tidak semua pemakai boleh bersentuhan dengan sebuah sistem basisdata, hanya pemakai yang terdaftar yang dapat memanfaatkan basisdata, namun pemakai tersebut belum tentu dapat melakukan pengubahan data pemakai tersebut hanya dapat melakukan pengaksesan data tanpa melakukan proses manipulasi data, pemakai yang dapat melakukan manipulasi data hanyalah pemakai yang telah terdaftar dan mendapat rekomendasi dari administrator basis data tersebut. Agar terhindar dari campur tangan orang yang tidak bertanggung jawab sehingga mengakibatkan kerusakan basis data.
6. Masalah Integrasi Data
Data yang terdapat dalam basisdata seharusnya memenuhi berbagai batasan yang sesuai dengan aturan nyata yang berlaku dimana basis data tersebut diimplementasikan, lain halnya jika aturan tersebut bersifat situasional dan tidak bersifat tetap sehingga tidak didefinisikan pada DBMS, hal ini akan menimbulkan perbedaan antar data yang ada pada basis data dengan keadaan yang sesungguhnya.
Data yang terdapat dalam basisdata seharusnya memenuhi berbagai batasan yang sesuai dengan aturan nyata yang berlaku dimana basis data tersebut diimplementasikan, lain halnya jika aturan tersebut bersifat situasional dan tidak bersifat tetap sehingga tidak didefinisikan pada DBMS, hal ini akan menimbulkan perbedaan antar data yang ada pada basis data dengan keadaan yang sesungguhnya.
7. Masalah Independence Data
Kebebasan yang sebebas-bebasnya terkadang justru membuat masalah tidak hanya pada dunia nyata namun pada penerapan basis data hal tersebut dapat menjadi sebuah masalah, kebebasan data pada sebuah basis data berakibat pada kesulitan dalam pengelompokan data, dan akan menimbulkan data yang tidak teratur serta tidak konsisten.
Kebebasan yang sebebas-bebasnya terkadang justru membuat masalah tidak hanya pada dunia nyata namun pada penerapan basis data hal tersebut dapat menjadi sebuah masalah, kebebasan data pada sebuah basis data berakibat pada kesulitan dalam pengelompokan data, dan akan menimbulkan data yang tidak teratur serta tidak konsisten.
5.4 ARSITEKTUR DAN PROTOTIPE KEAMANAN DATABASE
MULTILEVEL
Database multilevel merupakan sistem yang kompleks.
Dalam database multilevel terdapat relasi-relasi. Relasi-relasi ini mengikuti
aturan-aturan tertentu. Multilevel yang melekat pada database disini
menunjukkan bahwa database memiliki level-level yang membedakan satu obyek
database dengan obyek database lainnya. Level-level ini diperlukan untuk
menentukan subyek yang boleh mengaksesnya.
Untuk menjamin akses database multilevel oleh subyek-subyek yang berhak diperlukan mekanisme keamanan tertentu. Banyak penelitian telah dilakukan dan menghasilkan arsitektur-arsitektur dan prototipe-prototipe keamanan database multilevel yang unik.
Untuk menjamin akses database multilevel oleh subyek-subyek yang berhak diperlukan mekanisme keamanan tertentu. Banyak penelitian telah dilakukan dan menghasilkan arsitektur-arsitektur dan prototipe-prototipe keamanan database multilevel yang unik.
Arsitektur Keamanan Database Multilevel
Arsitektur keamanan database multilevel dapat dibagi ke dalam dua jenis utama. Jenis pertama adalah arsitektur yang menggunakan trusted computing base (TCB) eksternal untuk mengendalikan akses obyek database. Jenis ini disebut juga sebagai arsitektur kernelized, Hinke-Schaefer, atau TCB subset DBMS (Database Management System). Arsitektur ini berbeda dari arsitektur-arsitektur yang mendelegasikan mandatory access control (MAC) kepada sistem manajemen database internal. Jenis kedua ini disebut juga sebagai arsitektur trusted subject DBMS. Setiap database memiliki sekumpulan aturan sensitivitas data yang mengatur relasi antar data. Dalam pendekatan Hinke-Schaefer relasi ini didekomposisikan ke dalam fragmen-fragmen single-level atau system-high. Keamanan sistem manajemen database multilevel (Multilevel Secure Database Management System atau MLS DBMS) menyimpan fragmen-fragmen ini secara fisik ke dalam obyek single-level (sebagai contohnya, file-file, segmen-segmen, atau perangkat-perangkat keras yang terpisah). MLS DBMS memaksakan mandatory access control (MAC) pada setiap permintaan untuk mengakses obyek single-level atau sistem-high ini.
Pendekatan yang kedua menggunakan trusted network untuk pemisahan perijinan selain mengandalkan pada sistem operasi multilevel. Variasi ini juga mendekomposisikan database multilevel ke dalam fragmen-fragmen system-high. Tetapi dalam kasus ini DBMS mereplikasi data tingkat rendah dibawah fragmen-fragmen yang lebih tinggi tingkatannya. Pada jaringan multilevel MLS DBMS memisahkan data secara fisik dengan mendistribusikannya ke host sistem DMBS yang lainnya. Prototipe Unisys Secure Distributed DBMS (SD-DBMS) menggunakan pendekatan ini dan digunakan dalam proyek riset NRL Trusted DBMS (TDBMS).
Arsitektur keamanan database multilevel dapat dibagi ke dalam dua jenis utama. Jenis pertama adalah arsitektur yang menggunakan trusted computing base (TCB) eksternal untuk mengendalikan akses obyek database. Jenis ini disebut juga sebagai arsitektur kernelized, Hinke-Schaefer, atau TCB subset DBMS (Database Management System). Arsitektur ini berbeda dari arsitektur-arsitektur yang mendelegasikan mandatory access control (MAC) kepada sistem manajemen database internal. Jenis kedua ini disebut juga sebagai arsitektur trusted subject DBMS. Setiap database memiliki sekumpulan aturan sensitivitas data yang mengatur relasi antar data. Dalam pendekatan Hinke-Schaefer relasi ini didekomposisikan ke dalam fragmen-fragmen single-level atau system-high. Keamanan sistem manajemen database multilevel (Multilevel Secure Database Management System atau MLS DBMS) menyimpan fragmen-fragmen ini secara fisik ke dalam obyek single-level (sebagai contohnya, file-file, segmen-segmen, atau perangkat-perangkat keras yang terpisah). MLS DBMS memaksakan mandatory access control (MAC) pada setiap permintaan untuk mengakses obyek single-level atau sistem-high ini.
Pendekatan yang kedua menggunakan trusted network untuk pemisahan perijinan selain mengandalkan pada sistem operasi multilevel. Variasi ini juga mendekomposisikan database multilevel ke dalam fragmen-fragmen system-high. Tetapi dalam kasus ini DBMS mereplikasi data tingkat rendah dibawah fragmen-fragmen yang lebih tinggi tingkatannya. Pada jaringan multilevel MLS DBMS memisahkan data secara fisik dengan mendistribusikannya ke host sistem DMBS yang lainnya. Prototipe Unisys Secure Distributed DBMS (SD-DBMS) menggunakan pendekatan ini dan digunakan dalam proyek riset NRL Trusted DBMS (TDBMS).
Pendekatan TCB subset DBMS
Arsitektur ini pertama kali didokumentasikan oleh
Thomas Hinke dan Marvin Schaever di System Development Corporation. DBMS ini
dirancang untuk sistem operasi Multics dengan tujuan agar sistem operasi
tersebut menyediakan semua kendali akses. Rancangan ini mendekomposisikan
database multilevel ke dalam beberapa atribut dan kolom single-level -atribut
yang memiliki sensitivitas yang sama tersimpan bersama pada segmen-segmen
sistem operasi single-level. Sebagai contohnya, untuk memenuhi permintaan
request, proses DBMS diselenggarakan pada level user yang mengoperasikannya.
Karena adanya aturan mandatory access control (MAC) dari sistem operasi, DBMS
hanya memiliki akses yang sama levelnya atau dibawahnya. Kemudian DBMS
menggabungkan elemen-elemen dari relasi yang sama untuk merekonstruksi tuple
yang dikembalikan ke user.
Pendekatan Hinke-Schaefer memiliki dua karakteristik utama, yaitu:
1. DBMS multilevel sebenarnya merupakan sekumpulan DBMS single-level yang bekerja secara bersamaan
2. Database multilevel dapat didekomposisikan ke dalam sekumpulan database single-level atau system-high, dan masing-masing merupakan bagian dari database multilevel secara konseptual
Pendekatan Hinke-Schaefer memiliki dua karakteristik utama, yaitu:
1. DBMS multilevel sebenarnya merupakan sekumpulan DBMS single-level yang bekerja secara bersamaan
2. Database multilevel dapat didekomposisikan ke dalam sekumpulan database single-level atau system-high, dan masing-masing merupakan bagian dari database multilevel secara konseptual
Ada dua variasi dari arsitektur ini:
tersentralisasi, dan terdistribusi. Pada pendekatan tersentralisasi tiap-tiap
DMBS single-level adalah proses-proses terpisah yang berjalan pada suatu
trusted operating system, dan database multilevel didekomposisikan ke dalam
fragmen-fragmen single-level yang masing-masing disimpan di dalam obyek sistem
operasi single-level (sebagai contohnya, file-file atau segmen-segmen).
Sementara DBMS memungkinkan untuk dipercaya melakukan beberapa fungsi kendali
akses, trusted operating system dapat memaksakan aturan kendali akses secara
penuh kepada semua akses yang dilakukan DBMS terhadap obyek-obyek DBMS. Gambar
1 mengilustrasikan pendekatan ini.
Pada arsitektur ini user tidak beroperasi dalam mode multilevel tetapi pada level sesi yang terselenggara dengan trusted operating system. Setiap user berinteraksi dengan DBMS pada tingkat sesi user, dan banyak DBMS yang berlainan berjalan pada tingkat-tingkat sensitivitas yang berlainan pula boleh beroperasi pada saat yang bersamaan.
Ada dua prototipe yang dikembangkan menggunakan konsep Hinke-Schaefer, yaitu SeaView DBMS dan LDV DBMS.
Pada arsitektur ini user tidak beroperasi dalam mode multilevel tetapi pada level sesi yang terselenggara dengan trusted operating system. Setiap user berinteraksi dengan DBMS pada tingkat sesi user, dan banyak DBMS yang berlainan berjalan pada tingkat-tingkat sensitivitas yang berlainan pula boleh beroperasi pada saat yang bersamaan.
Ada dua prototipe yang dikembangkan menggunakan konsep Hinke-Schaefer, yaitu SeaView DBMS dan LDV DBMS.
Secure Distributed Data Views (SeaView) DBMS
Dalam pendekatan SeaView sebuah relasi multilevel
didekomposisikan ke dalam relasi-relasi single-level yang didasarkan pada
penamaan tingkat elemen (elemen-level labelling). Setiap tuple (catatan)
didekomposisikan dan disimpan ke dalam fragmen-fragmen single-level tertentu.
Fragmen-fragmen dengan jenis relasi dan level yang sama dimasukkan ke dalam
segmen sistem operasi yang sama. Jika ada request user, DBMS menggabungkan
fragmen-fragmen single-level pada level yang sama atau yang dibawah level sesi
user dan mengembalikan tuple sesuai dengan kriteria yang diinginkan user.
Karena setiap user berinteraksi dengan proses DBMS single-level, DBMS tidak
mengetahui data-data yang berada di atas levelnya.
Arsitektur SeaView didasarkan pada satu pendekatan yang disebut sebagai TCB subsets. Pendekatan ini secara hirarkis membuat lapisan-lapisan komponen software. Oracle adalah salah satu contoh database yang menggunakan pendekatan ini. Gambar 2 dan 3 memperlihatkan lapisan-lapisan pada arsitektur SeaView.
Arsitektur SeaView didasarkan pada satu pendekatan yang disebut sebagai TCB subsets. Pendekatan ini secara hirarkis membuat lapisan-lapisan komponen software. Oracle adalah salah satu contoh database yang menggunakan pendekatan ini. Gambar 2 dan 3 memperlihatkan lapisan-lapisan pada arsitektur SeaView.
Lock Data Views (LDV) DBMS
Rancangan LDV didasarkan pada kontrol akses dan type
enforcement khusus dari sistem operasi LOCK (Logical Coprocessing Kernel).
Sebagai tambahan terhadap mandatory access control (MAC) yang didasarkan pada
level sensitivitas dan discretionary access control (DAC) yang didasarkan pada
daftar kendali akses (access control lists), LOCK juga melakukan kendali akses
didasarkan pada domain (atau tugas). LOCK menyelenggarakan sebuah domain dan
tabel jenis yang disebut sebagai Domain Definition Table (DDT). Dalam tabel ini
domain-domain diiriskan dengan jenis-jenis data. Pada bagian irisan access
priviledges direkam (sebagai contoh, read, write, execute). DDT adalah
mekanisme yang digunakan untuk mengeset rangkaian-rangkaian translasi obyek
yang benar yang disebut juga sebagai pipelines. Pipelines ini digunakan untuk
mengisolasi jalur-jalur eksekusi kepada sistem. Jadi, LDV DBMS merupakan
sekumpulan pipelines yang mempunyai tanggung jawab terhadap manipulasi data
multilevel. Tiga jenis pipelines utama dalam LDV adalah response pipeline,
update pipeline, dan metadata pipeline. Response pipeline memproses permintaan
untuk mengambil data. Update pipeline mengatur semua permintaan untuk mengubah
database, termasuk operasi insert, update, dan delete. Metadata pipeline
menangani semua perintah administrator untuk memanipulasi database metadata.
Mirip dengan pendekatan TCB subset, LDV berada diatas sistem operasi LOCK, dan database multilevel disimpan sebagai sekumpulan obyek-obyek single-level yang diproteksi oleh sistem operasi LOCK. Gambar 4 dan 5 mengilustrasikan arsitektur LDV.
Mirip dengan pendekatan TCB subset, LDV berada diatas sistem operasi LOCK, dan database multilevel disimpan sebagai sekumpulan obyek-obyek single-level yang diproteksi oleh sistem operasi LOCK. Gambar 4 dan 5 mengilustrasikan arsitektur LDV.
Arsitektur Terdistribusi dengan Replikasi Data
secara Penuh
Arsitektur ini menggunakan distribusi secara fisik
dari database multilevel untuk mendapatkan mandatory separation dan kendali
akses yang kuat. Arsitektur ini menggunakan banyak pengolah database back-end
untuk memisahkan database ke dalam fragmen-fragmen sistem-high. Pengolah
front-end menjadi media semua akses user kepada database multilevel dan kepada
pengolah database back-end single-level.
Pengolah front-end bertanggung jawab untuk mengarahkan queries ke pengolah database yang benar, memastikan tidak ada arus informasi yang salah, menjaga konsistensi data antara fragmen-fragmen database yang direplikasi, dan memberikan respon query pada user yang tepat. Sebagai tambahan pengolah front-end juga bertanggung jawab terhadap identifikasi dan audit. Arsitektur Terdistribusi dengan Replikasi Data secara Variabel
Berbeda dengan arsitektur sebelumnya, arsitektur ini membolehkan data untuk didistribusikan dan direplikasikan menurut kebutuhan penggunaan aktual. Pendekatan ini digunakan dalam proyek Unisys Secure Distributed DBMS (SD-DBMS).
Pendekatan arsitektural yang diambil untuk mendapatkan trusted operation adalah dengan mendistribusikan relasi-relasi multilevel ke dalam fragmen-fragmen single-level dan memasukkan semua fragmen single-level ini banyak pengolah DBMS back-end. Gambar 7 mengilustrasikan arsitektur SD-DBMS yang disederhanakan menjadi dua level keamanan: high dan low. Arsitektur ini terdiri dari tiga jenis komponen: user front end (UFE), trusted front end (TFE), dan interkoneksi.
Perangkat UFE disini adalah dapat berupa workstation yang menjalankan mode single-level atau trusted workstation yang menjalankan mode multilevel di dalam suatu jangkauan tingkat-tingkat keamanan tertentu. UFE digunakan sebagai tempat aplikasi yang menyediakan antarmuka antara end user dan TFE.
Komponen TFE mengendalikan eksekusi semua perintah DBMS dan berlaku sebagai monitor referensensi untuk akses database. TFE terdiri dari fungsi-fungsi trusted dan untrusted yang dibangun pada sistem operasi yang trusted dan high-assurance. Banyak host DBMS back-end berhubungan dengan TFE. Setiap host DBMS back-end beroperasi dalam mode system high pada kelas akses dalam jangkauan kelas akses TFE. Semua DBMS back-end ini memasukkan data pada kelas akses tertentu dan merespon request yang dibangkitkan oleh TFE.
Pengolah front-end bertanggung jawab untuk mengarahkan queries ke pengolah database yang benar, memastikan tidak ada arus informasi yang salah, menjaga konsistensi data antara fragmen-fragmen database yang direplikasi, dan memberikan respon query pada user yang tepat. Sebagai tambahan pengolah front-end juga bertanggung jawab terhadap identifikasi dan audit. Arsitektur Terdistribusi dengan Replikasi Data secara Variabel
Berbeda dengan arsitektur sebelumnya, arsitektur ini membolehkan data untuk didistribusikan dan direplikasikan menurut kebutuhan penggunaan aktual. Pendekatan ini digunakan dalam proyek Unisys Secure Distributed DBMS (SD-DBMS).
Pendekatan arsitektural yang diambil untuk mendapatkan trusted operation adalah dengan mendistribusikan relasi-relasi multilevel ke dalam fragmen-fragmen single-level dan memasukkan semua fragmen single-level ini banyak pengolah DBMS back-end. Gambar 7 mengilustrasikan arsitektur SD-DBMS yang disederhanakan menjadi dua level keamanan: high dan low. Arsitektur ini terdiri dari tiga jenis komponen: user front end (UFE), trusted front end (TFE), dan interkoneksi.
Perangkat UFE disini adalah dapat berupa workstation yang menjalankan mode single-level atau trusted workstation yang menjalankan mode multilevel di dalam suatu jangkauan tingkat-tingkat keamanan tertentu. UFE digunakan sebagai tempat aplikasi yang menyediakan antarmuka antara end user dan TFE.
Komponen TFE mengendalikan eksekusi semua perintah DBMS dan berlaku sebagai monitor referensensi untuk akses database. TFE terdiri dari fungsi-fungsi trusted dan untrusted yang dibangun pada sistem operasi yang trusted dan high-assurance. Banyak host DBMS back-end berhubungan dengan TFE. Setiap host DBMS back-end beroperasi dalam mode system high pada kelas akses dalam jangkauan kelas akses TFE. Semua DBMS back-end ini memasukkan data pada kelas akses tertentu dan merespon request yang dibangkitkan oleh TFE.
Integrity-lock DBMS
Arsitektur integrity-lock, seperti yang
diperlihatkan dalam gambar 6, terdiri dari tiga komponen: proses front-end
untrusted, proses trusted filter, dan proses data manager untrusted. Proses
front-end untrusted berinteraksi dengan end user. Proses ini bertanggung jawab
untuk melakukan query parsing dan memproses respon yang akan dikirimkan kepada
end user. Proses trusted filter bertanggung jawab untuk melakukan enkripsi dan
dekripsi obyek-obyek dan label-labelnya, melakukan identifikasi data-data yang
dikembalikan oleh proses data management, dan melakukan downgrading obyek-obyek
yang dikembalikan kepada end user. Misalkan disini obyek database merupakan
sekumpulan tuple. Dalam kasus ini trusted filter akan membangkitkan
cryptographic checksum dengan melakukan proses enkripsi kepada setiap tuple dan
label sensitivitas dari tiap tuple, sehingga tuple terkunci. Residu proses
enkripsi dikaitkan dengan tuple sebagai checksumnya. Database multilevel
disimpan dibawah proses data management.
Ketika end user melakukan operasi seleksi terhadap database, trusted filter akan mengarahkan data manager untuk mengambil semua tuple sesuai dengan kriteria seleksi. Tuple ini dikembalikan ke trusted filter. Trusted filter memeriksa label sensitivitasnya dan membuang tuple yangt tidak lolos pengecekan mandatory access policy. Lalu proses ini memeriksa kembali apakah checksumnya benar. Tuple yang lolos dikembalikan ke end user yang melakukan operasi seleksi ini.
Ketika end user melakukan operasi seleksi terhadap database, trusted filter akan mengarahkan data manager untuk mengambil semua tuple sesuai dengan kriteria seleksi. Tuple ini dikembalikan ke trusted filter. Trusted filter memeriksa label sensitivitasnya dan membuang tuple yangt tidak lolos pengecekan mandatory access policy. Lalu proses ini memeriksa kembali apakah checksumnya benar. Tuple yang lolos dikembalikan ke end user yang melakukan operasi seleksi ini.
Trusted Subject-Monolithic DBMS
Pendekatan berdasarkan kernel-kernel trusted
operating system untuk melakukan access control enforcement mengorbankan
beberapa fungsionalitas DBMS untuk mendapatkan mandatory assurance yang lebih
tinggi. Dengan perkecualian pada sistem database Oracle yang menggunakan
pendekatan TCB subset, semua produk DBMS yang dijual atau dibangun saat ini
mengandalkan kepada sistem database itu sendiri untuk mengatur kendali akses
terhadap obyek database.
Dengan pendekatan ini software DBMS berjalan di atas trusted operating system. Sistem operasi menyediakan isolasi kode DBMS dan mengendalikan akses terhadap database sehingga setiap akses terhadap database harus melewati trusted DBMS. DBMS menyimpan database multilevel dalam satu atau lebih file. DBMS mengkaitkan suatu label sensitivitas dengan setiap tuple. Label ini diperlakukan sebagai atribut relasi, meskipub dalam kenyataannya label itu merupakan atribut virtual yang tidak perlu dimasukkan.
Dengan pendekatan ini software DBMS berjalan di atas trusted operating system. Sistem operasi menyediakan isolasi kode DBMS dan mengendalikan akses terhadap database sehingga setiap akses terhadap database harus melewati trusted DBMS. DBMS menyimpan database multilevel dalam satu atau lebih file. DBMS mengkaitkan suatu label sensitivitas dengan setiap tuple. Label ini diperlakukan sebagai atribut relasi, meskipub dalam kenyataannya label itu merupakan atribut virtual yang tidak perlu dimasukkan.
Prototipe Keamanan Database Multilevel
Ada tiga macam prototipe yang dibahas disini, yaitu:
SeaView, LVD, dan ASD (Advance Secure DBMS). Tetapi yang akan dibahas berikut
ini adalah prototipe ASD karena dua prototipe lainnya sudah dibahas sebelumnya
Advance Secure DBMS (ASD)
Arsitektur ASD dapat dibagi menjadi dua bagian, yaitu: arsitektur internal dan arsitektur network. Arsitektur ini dapat dilihat pada gambar 10.
Arsitektur ASD dapat dibagi menjadi dua bagian, yaitu: arsitektur internal dan arsitektur network. Arsitektur ini dapat dilihat pada gambar 10.
Arsitektur Internal ASD
Berbeda dengan SeaView dan LDV, ASD mengambil
pendekatan yang memuat mandatory access control (MAC) dan discretionary access
control (DAC) dalam aturan arsitektur internalnya. Aturan ini disebut juga
sebagai ASD TCB (Trusted Computing Base). Sementara arsitektur SeaView dan LDV
secara umum mengandalkan sistem operasinya untuk memuat MAC, dan DBMS internal
untuk memuat DAC.
Meskipun ASD TCB berjalan sebagai proses dibawah kendali TCB dari sistem operasi, tetapi ini tidak dapat dikatakan bahwa ASD TCB berada di dalam TCB dari sistem operasi. ASD TCB tidak berbagi domain proteksi dengan sistem operasi.
Seperti juga DBMS lainnya, ASD terdiri dari trusted code dan untrusted code. Untrusted code melakukan operasi-operasi DBMS yang tidak relevan dengan keamanan. Kode ini berjalan pada kelas akses dari proses yang dijalankan oleh user.
TCB dari sistem operasi memproteksi ASD TCB dari proses-proses lain yang berjalan dalam sistem operasi. TCB ini juga menjamin bahwa tidak ada proses yang dapat mengakses data DBMS kecuali melewati ASD TCB.
Secara konseptual semua tuple berada dalam satu file sistem operasi. File ini dikategorikan pada bagian terbawah dari tuple yang ada di dalam file. Setiap tuple yang dimasukkan ke file ini mengandung klasifikasi yang ditentukan oleh ASD TCB berdasarkan tingkat keamanannya. Karena file data ASD berisi tuple yang diberi label dengan klasifikasi yang berlainan, file ini harus diproteksi dari modifikasi oleh proses-proses untrusted yang mungkin saja memiliki klasifikasi yang sama dengan file data ASD. Pendekatan yang digunakan ASD adalah dengan menggunakan sistem operasi yang mendukung aturan intergritas Biba. Aturan ini menentukan label-label integritas kepada subyek dan obyek. Label-label ini adalah analogi label-label keamanan yang berkaitan dengan pengklasifikasian. Dengan berlakunya aturan integritas ini suatu subyek dapat menulis ke suatu obyek yang diproteksi hanya jika tingkat integritas dari subyek mendominasi tingkat integritas dari obyek. Untuk memproteksi data ASD obyek sistem operasi yang berisi data tersebut diberikan label DBMS integrity compartment. Label ini membatasi akses tulis ke obyek tersebut hanya kepada subyek yang memiliki DBMS integrity compartment yang lebih dominan. Karena hanya ASD TCB yang memiliki integrity compartment ini, tidak ada subyek lain yang dapat menulis secara langsung ke dalam obyek sistem operasi yang berisi data ASD. Tentunya, subyek-subyek lain dapat menggunakan fasilitas-fasilitas ASD TCB untuk memasukkan data tuple ke dalam obyek, tetapi hanya dibawah kendali ASD TCB.
Meskipun ASD TCB berjalan sebagai proses dibawah kendali TCB dari sistem operasi, tetapi ini tidak dapat dikatakan bahwa ASD TCB berada di dalam TCB dari sistem operasi. ASD TCB tidak berbagi domain proteksi dengan sistem operasi.
Seperti juga DBMS lainnya, ASD terdiri dari trusted code dan untrusted code. Untrusted code melakukan operasi-operasi DBMS yang tidak relevan dengan keamanan. Kode ini berjalan pada kelas akses dari proses yang dijalankan oleh user.
TCB dari sistem operasi memproteksi ASD TCB dari proses-proses lain yang berjalan dalam sistem operasi. TCB ini juga menjamin bahwa tidak ada proses yang dapat mengakses data DBMS kecuali melewati ASD TCB.
Secara konseptual semua tuple berada dalam satu file sistem operasi. File ini dikategorikan pada bagian terbawah dari tuple yang ada di dalam file. Setiap tuple yang dimasukkan ke file ini mengandung klasifikasi yang ditentukan oleh ASD TCB berdasarkan tingkat keamanannya. Karena file data ASD berisi tuple yang diberi label dengan klasifikasi yang berlainan, file ini harus diproteksi dari modifikasi oleh proses-proses untrusted yang mungkin saja memiliki klasifikasi yang sama dengan file data ASD. Pendekatan yang digunakan ASD adalah dengan menggunakan sistem operasi yang mendukung aturan intergritas Biba. Aturan ini menentukan label-label integritas kepada subyek dan obyek. Label-label ini adalah analogi label-label keamanan yang berkaitan dengan pengklasifikasian. Dengan berlakunya aturan integritas ini suatu subyek dapat menulis ke suatu obyek yang diproteksi hanya jika tingkat integritas dari subyek mendominasi tingkat integritas dari obyek. Untuk memproteksi data ASD obyek sistem operasi yang berisi data tersebut diberikan label DBMS integrity compartment. Label ini membatasi akses tulis ke obyek tersebut hanya kepada subyek yang memiliki DBMS integrity compartment yang lebih dominan. Karena hanya ASD TCB yang memiliki integrity compartment ini, tidak ada subyek lain yang dapat menulis secara langsung ke dalam obyek sistem operasi yang berisi data ASD. Tentunya, subyek-subyek lain dapat menggunakan fasilitas-fasilitas ASD TCB untuk memasukkan data tuple ke dalam obyek, tetapi hanya dibawah kendali ASD TCB.
Arsitektur Network ASD
ASD diimplementasikan sebagai trusted server,
seperti yang ada pada gambar 7. Dibawah pendekatan ini, ASD beroperasi pada
nodenya sendiri dalam network. ASD node melayani node-node lainnya yang mirip
single-level tetapi beroperasi pada klasifikasi-klasifikasi keamanan yang
berbeda. ASD menyediakan multilevel engine yang memberikan fasilitas sharing
antar level. Node top secret dapat mengambil data dari ASD trusted server yang
memiliki data dikategorikan sebagai node unclassified.
Penyediaan akses network perlu mempertimbangkan protokol network yang aman. Protokol network yang didukung oleh ASD server adalah TCP, IP, dan SLIP (Serial Line IP). SLIP memperbolehkan protokol TCP/IP digunakan pada kabel serial, seperti kabel telepon. Ini membolehkan ASD untuk digunakan dalam lingkungan taktis.
Karena software protokol network secara aktual menangani data, software ini akan menjadi relevan terhadap keamanan jika secara kongkuren atau sekuensial software menangani data yang digolongkan pada banyak kelas akses. Sebagai contohnya, pesan top secret dikirimkan ke node top secret, kemudian pesan unclassified dikirimkan ke node unclassified. Kebocoran data dapat terjadi karena software ini. Tentu saja hal ini melanggar mandatory security policy.
Solusi yang diambil terhadap masalah ini adalah dengan menggunakan protokol network secara terpisah untuk tiap tingkat keamanan. Sesuai dengan konsep ini jika suatu host memiliki dua port serial, setiap port serial dikaitkan dengan software network protokol yang terpisah, dan port-port serial ini berhubungan dengan node yang beroperasi pada kelas akses yang berbeda, maka kebocoran data dapat dihilangkan.
Penyediaan akses network perlu mempertimbangkan protokol network yang aman. Protokol network yang didukung oleh ASD server adalah TCP, IP, dan SLIP (Serial Line IP). SLIP memperbolehkan protokol TCP/IP digunakan pada kabel serial, seperti kabel telepon. Ini membolehkan ASD untuk digunakan dalam lingkungan taktis.
Karena software protokol network secara aktual menangani data, software ini akan menjadi relevan terhadap keamanan jika secara kongkuren atau sekuensial software menangani data yang digolongkan pada banyak kelas akses. Sebagai contohnya, pesan top secret dikirimkan ke node top secret, kemudian pesan unclassified dikirimkan ke node unclassified. Kebocoran data dapat terjadi karena software ini. Tentu saja hal ini melanggar mandatory security policy.
Solusi yang diambil terhadap masalah ini adalah dengan menggunakan protokol network secara terpisah untuk tiap tingkat keamanan. Sesuai dengan konsep ini jika suatu host memiliki dua port serial, setiap port serial dikaitkan dengan software network protokol yang terpisah, dan port-port serial ini berhubungan dengan node yang beroperasi pada kelas akses yang berbeda, maka kebocoran data dapat dihilangkan.
Referensi
Sistem Keamanan Database
Keamanan Database :
Keamanan merupakan suatu proteksi terhadap
pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.
untuk menjaga keamanan Basis Data dengan :
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.
Klasifikasi User
pengguna Akhir :
1. Menggunakan hak akses orang lain.
2. Melihat & menutup data yang tidak
diotorisasi .
3. Staf tidak di-training.
4. Pemasukan data yang dilakukan oleh yang
tidak berhak.
5. Virus.
6. Pemerasan
Programmer / Operator :
1. Membuat Password.
2. Membuat program yang tidak aman .
3. Staf yang tidak di-training.
4. Kebijakan keamanan &
prosedur .
5. Pemogokan staf.
Database Administrator :
Kebijakan keamanan & prosedur .
Penyalahgunaan Database :
a. Tidak disengaja, jenisnya :
· kerusakan selama proses
transaksi .
· anomali yang disebabkan oleh akses database
yang konkuren .
· anomali yang disebabkan oleh pendistribuasian
data pada beberapa komputer .
· logika error yang mengancam kemampuan
transaksi untuk mempertahankan konsistensi database.
b. Disengaja, jenisnya :
· Pengambilan data / pembacaan data oleh pihak
yang tidak berwenang.
· Pengubahan data oleh pihak yang tidak
berwenang.
· Penghapusan data oleh pihak yang tidak
berwenang.
Keamanan Data :
1. Otorisasi
· Pemberian Wewenang atau hak istimewa
(priviledge) untuk mengakses sistem atau obyek database.
· Kendali otorisasi (=kontrol akses) dapat
dibangun pada perangkat lunak dengan 2 fungsi 1.
1. Mengendalikan sistem atau obyek yang dapat
diakses.
2. Mengendalikan bagaimana pengguna
menggunakannya.
· Sistem administrasi yang bertanggungjawab
untuk memberikan hak akses dengan membuat account
pengguna.
2. Tabel View
· Merupakan metode pembatasan bagi pengguna
untuk mendapatkan model database yang sesuai
dengan kebutuhan perorangan.
· Contoh pada Database relasional, untuk
pengamanan dilakukan beberapa level :
· Read Authorization à pengguna
diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
· Insert Authorization à pengguna
diperbolehkan menambah data baru, tetapi tidak dapat
memodifikasi data yang sudah ada.
· Update Authorization à pengguna
diperbolehkan memodifikasi data, tetapi tidak dapat menghapus
data.
· Delete Authorization à pengguna
diperbolehkan menghapus data.
3. Backup data dan recovery :
· Backup
Proses secara periodik untuk mebuat duplikat dari
database 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.
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 tujuan
terlaksananya integritas data.
· Konkuren : mekanisme untuk menjamin bahwa
transaksi yang konkuren pada database multi user
tidak saling menganggu operasinya masing-masing.
3 Jenis Pemulihan :
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.
Teknik Pemulihan :
1) Defered upate / perubahan yang ditunda :
Perubahan pada DB tidak akan berlangsung sampai
transaksi ada pada poin disetujui (COMMIT).
2) Immediate Update / perubahan langsung :
Perubahan pada DB akan segera tanpa harus menunggu
sebuah transaksi tersebut disetujui.
3) Shadow Paging :
Menggunakan page bayangan dimana paa prosesnya
terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain
digunakan sebagai cadangan.
Referensi
http://khaliy.blogspot.com/2010/12/sistem-keamanan-database.html
No comments:
Post a Comment