View
98
Download
1
Category
Tags:
Preview:
Citation preview
ORACLE LABEL SECURITY PADA ORACLE
DATABASE 10g
Tugas EC 7010 Keamanan Sistem Lanjut
Disusun oleh :
Irawan W : 23202164
Institut Teknologi Bandung
Fakultas Teknologi Industri
Jurusan Teknik Elektro
Bandung
2004
Abstrak
Oracle Label Security memungkinkan kontrol akses mencapai baris yang spesifik
dari database sehingga user dapat mengakses ke data yang perlu saja. User dengan
berbagai level privilege dapat memiliki hak untuk melihat atau mengubah baris data
yang dilabeli.
Daftar Isi
Abstrak ...............................................................................................................................1
Oracle Label Security pada Oracle Database 10g – Irawan W 1
Daftar Isi ............................................................................................................................2
Daftar Gambar ..................................................................................................................4
Daftar Tabel .....................................................................................................................5
Bab 1 Pendahuluan ..........................................................................................................6
1.1 Masalah Keamanan Database ...........................................................................6
1.2 Mengapa Digunakan Oracle Label Security ? ………………………………..6
1.3 Sistematika Pembahasan Masalah ....................................................................7
Bab 2 Dasar Teori ............................................................................................................8
2.1 Mitos pada Keamanan Data ..............................................................................8
2.2 Ruang Lingkup Keamanan Data .......................................................................8
2.3 Aspek Keamanan Data ......................................................................................9
2.3.1 Confidentiality …………………………………………………………9
2.3.2 Integritas ……………………………………………………………...10
2.3.3 Availability …………………………………………………………...10
Bab 3 Oracle Label Security ..........................................................................................11
3.1 Konsep Oracle Label Security ........................................................................11
3.1.1 Discretionary Access Control ...............................................................11
3.1.2 Label .....................................................................................................12
3.1.3 Virtual Private Database ......................................................................12
3.2 Arsitektur Oracle Label Security ……………………………………………13
3.3 Komponen Oracle Label Security ...................................................................14
3.3.1 Level ………………………………………………………………….15
3.3.2 Kompartemen …………………………………………………………15
3.3.3 Grup …………………………………………………………………..16
3.3.4 Kombinasi Komponen OLS …………………………………………..17
3.4 Sintaks dan Tipe Label ………………………………………………………17
3.5 Bagaimana Data Label dan User Label Bekerja ? …………………………..18
3.6 Kontrol Akses ……………………………………………………………….20
3.6.1 Propagasi Authorisasi Read / Write pada Grup ………………………21
3.6.2 Algoritma OLS untuk Akses Read ……………...……………………22
3.6.3 Algoritma OLS untuk Akses Write …………………..……………….23
Oracle Label Security pada Oracle Database 10g – Irawan W 2
3.7 Privilege …………………………………………………….……………….24
3.7.1 Special Access Privileges …………………………….………………24
3.7.2 Special Row Label Privileges ………………………………………...26
Bab 4 Kesimpulan ………………………………………….…………….…………….28
Daftar Pustaka …………………………………………………………………………29
Daftar Gambar
Gambar.1 Lingkungan dari Kebutuhan Keamanan Data…………………………...……..9
Oracle Label Security pada Oracle Database 10g – Irawan W 3
Gambar.2 Teknologi VPD Oracle……………………………………………………….13
Gambar.3 Arsitektur Oracle Label Security……………………………………………..13
Gambar. 4 Klasifikasi Data Secara Logis………………………………………………..14
Gambar.5 Contoh Hirarki Grup………………………………………………………….16
Gambar.6 Hubungan Antara Data Label dan User Label………………………………..18
Gambar.7 Hubungan Komponen Label………………………………………………….19
Gambar.8 Hubungan Antara User, Data, dan Label……………………………………..20
Gambar.9 Propagasi Akses Read/Write pada Grup……………………………………...21
Gambar.10 Proses Evaluasi Label pada Akses Read…………………………………….22
Gambar.11 Proses Evaluasi Label pada Akses Write……………………………………23
Gambar.12 Proses Evaluasi Label pada Akses Read untuk Privilege COMPACCESS…25
Gambar.13 Proses Evaluasi Label pada Akses Read untuk Privilege COMPACCESS…26
Daftar Tabel
Tabel.1 Contoh Level………………………………………………………………...…..15
Tabel.2 Contoh Kompartemen…………………………………………………………...15
Tabel.3 Contoh Grup…………………………………………………………………….16
Oracle Label Security pada Oracle Database 10g – Irawan W 4
Bab 1
Pendahuluan
1.1 Masalah Keamanan Database
Oracle Label Security pada Oracle Database 10g – Irawan W 5
Keperluan keamanan database timbul dari kebutuhan untuk melindungi data.
Pertama, dari kehilangan dan kerusakan data. Kedua, adanya pihak yang tidak diijinkan
hendak mengakses atau mengubah data. Permasalahan lainnya mencakup perlindungan
data dari delay yang berlebihan dalam mengakses atau menggunakan data, atau
mengatasi gangguan denial of service.
Kontrol akses terhadap terhadap informasi yang sensitif merupakan perhatian
terutama oleh manajer, pekerja di bidang informasi, application developer, dan DBA.
Kontrol akses selektif berdasarkan authorisasi keamanan dari level user dapat menjamin
kerahasiaan tanpa batasan yang terlalu luas. Level dari kontrol akses ini menjamin rahasia
informasi sensitif yang tidak akan tersedia untuk orang yang tidak diberi ijin (authorisasi)
bahkan terhadap user umum yang memiliki akses terhadap informasi yang dibutuhkan,
kadang-kadang pada tabel yang sama.
Mengijinkan informasi dapat dilihat atau digunakan oleh orang yang tidak tepat
dapat menyulitkan, merusak, atau membahayakan individu, karir, organisasi, agensi,
pemerintah, atau negara. Namun untuk data tertentu seringkali bercampur dengan data
lainnya, informasi yang kurang sensitif yang secara legal dibutuhkan oleh berbagai user.
Membatasi akses terhadap semua table atau memisahkan data sensitive ke database
terpisah dapat menciptakan lingkungan kerja yang tidak nyaman yang membutuhkan
biaya besar pada hardware, software, waktu user, dan administrasi.
1.2 Mengapa Digunakan Oracle Label Security ?
Oracle Label Security meniadakan kebutuhan untuk tindakan tersebut dengan
meng-enable kontrol akses row-level berdasarkan teknologi Virtual Private Database dari
Oracle9i Enterprise Edition. Oracle Label Security mengontrol akses terhadap isi suatu
baris dengan membandingkan label baris tersebut dengan label dan hak (privilege) user.
1.3 Sistematika Pembahasan Masalah
Pada makalah ini hal yang ditinjau adalah :
Bab 1 Pendahuluan, berisi tinjauan mengenai masalah yang terjadi pada
keamanan data dan alasan digunakannya Oracle Label Security.
Oracle Label Security pada Oracle Database 10g – Irawan W 6
Bab 2 Dasar Teori, membahas mitos, ruang lingkup dan aspek yang
berhubungan dengan keamanan data
Bab 3 Oracle Label Security, membahas konsep Oracle Label Security, data
label, user label, kontrol akses dan privilege.
Bab 4 Kesimpulan dan Saran
Bab 2
Dasar Teori
2.1 Mitos pada Keamanan Data
Oracle Label Security pada Oracle Database 10g – Irawan W 7
Secara umum desain solusi kemanan pada bidang keamanan data tidak efektif
karena prinsip yang salah. Berikut ini adalah beberapa mitos keamanan yang sering
digunakan :
Hackers menyebabkan sebagian besar pembobolan keamanan.
Pada kenyataannya 80% data hilang karena orang dalam.
Enkripsi dapat mengamankan data.
Kenyataannya enkripsi hanyalah salah satu pendekatan untuk mengamankan data.
Keamanan juga mensyaratkan kontrol akses integritas data, ketersediaan sistem,
dan audit.
Firewall dapat mengamankan data
Kenyataannya 40% Internet break-ins terjadi karena digunakannya firewall.
2.2 Ruang Lingkup Keamanan Data
Keamanan pada komputer mencakup perlindungan data yang terkomputerisasi
dan proses modifikasi, perusakan, atau delay yang tidak diijinkan. Pada masa internet,
ancaman terhadap data meningkat secara eksponensial. Gb.1 dibawah ini menunjukkan
lingkungan komputasi kompleks yang harus tercakup dalam perencanaan keamanan data.
Gb.1 Lingkungan dari Kebutuhan Keamanan Data(Sumber : http://download-west.oracle.com/)
Oracle Label Security pada Oracle Database 10g – Irawan W 8
Staff keamanan, administrator, dan programmer aplikasi harus melindungi
database dan server dimana database berada. Mereka harus mengatur dan melindungi hak
user pada database internal, dan menjamin privasi electronic commerce sebagaimana
pelanggan yang mengakses database tersebut.
2.3 Aspek Keamanan Data
Dalam mengamankan data, standard yang harus dipenuhi ialah :
2.3.1 Confidentiality
Confidentiality berarti sistem mengijinkan user hanya untuk melihat data yang
diperbolehkan. Beberapa aspek yang tercakup didalamnya ialah :
Privacy komunikasi.
Mengamankan data yang sensitif.
Autentikasi user. Metode autentikasi menjamin identitas user didalam sistem.
Kontrol akses sampai ke tingkat terkecil (granule). Granularity berarti kontrol
akses dapat dibedakan untuk tabel, view, baris, dan kolom tertentu dari database.
2.3.2 Integritas
Sistem yang aman menjamin data yang terkandung valid. Integritas data berarti
data diproteksi dari penghapusan dan kerusakan ketika berada dalam database dan
ketika ditransmisikan pada jaringan. Beberapa aspek yang tercakup didalamnya
ialah :
Pengaturan hak kontrol akses sehingga hanya user tertentu yang diijinkan
mengubah data.
Menjaga hubungan yang valid diantara nilai dalam database sesuai dengan aturan
yang telah didefinisikan.
Perlindungan terhadap virus.
Traffic jaringan harus dijaga dari penghapusan, perusakan, dan pembajakan data.
2.3.3 Availability
Oracle Label Security pada Oracle Database 10g – Irawan W 9
Sistem yang aman mampu menyediakan data ke user yang diijinkan tanpa delay.
Serangan denial of service berusaha untuk menahan user untuk mengakses dan
menggunakan sistem ketika dibutuhkan. Beberapa aspek yang terkandung didalam
ketersediaan sistem ialah :
Ketahanan. Sistem didesain untuk dapat bertahan dari serangan yang dapat
mengubah kuasa. Misalnya profil user harus dibatasi dalam menggunakan
resource. Dengan cara ini sistem dapat dilindungi dari user yang mengkonsumsi
memori terlalu banyak.
Scalability. Kinerja sistem harus selalu memadai tanpa menghiraukan jumlah user
atau proses yang harus dijalankan.
Fleksibilitas. Administrator harus memilik cara yang memadai untuk mengatur
populasi user.
Mudah digunakan. Implementasi keamanan tidak boleh mengurangi kemampuan
user yang valid untuk melaksanakan tugasnya.
Bab 3
Oracle Label Security
3.1 Konsep Oracle Label Security
Oracle Label Security (OLS) memungkinkan administrator untuk mengubah
aturan akses kontrol berdasarkan label ketika kontrol akses standard tidak memadai. OLS
menghubungkan akses terhadap baris pada tabel berdasarkan label yang terdapat didalam
baris. Suatu label berhubungan dengan setiap session database, dan OLS memberi hak
terhadap session tersebut. Secara ringkas, berikut ini dijelaskan bagaimana OLS bekerja :
1. Dibuat aturan keamanan untuk mengidentifikasi bagaimana data harus diamankan
dengan memberi spesifikasi komponen keamanan.
2. User label mendefinisikan aturan keamanan tingkat baris apa yang mungkin untuk
setiap user.
Oracle Label Security pada Oracle Database 10g – Irawan W 10
3. Pada setiap tabel yang membutuhkan keamanan tingkat baris, ditambahkan kolom
khusus yang disebut kolom label.
4. Selama akses data, suatu proses yang disebut access mediation menentukan ijin
yang dibutuhkan untuk mengakses baris, dan tindakan apa yang dapat dilakukan
ketika baris itu diakses.
Untuk memenuhi kebutuhan kontrol akses tersebut dilakukan pendekatan sebagai
berikut :
3.1.1 Discretionary Access Control
Oracle menyediakan Discretionary Access Control (DAC) pada setiap tabel yaitu
kontrol akses terhadap informasi melalui privilege (SELECT, INSERT, UPDATE,
DELETE) yang mengijinkan operasi Structured Query Language (SQL) yang
berhubungan pada tabel.
DAC mengontrol akses terhadap data dalam cara biner satu dimensi, yang berarti
akses diberikan atau ditolak kepada seluruh objek. Administrator memberikan privilege
pada user yang menentukan operasi terhadap data yang dapat mereka jalankan. Untuk
mengakses objek, seperti tabel atau view, user atau proses harus memiliki privilege yang
sesuai seperti SELECT. Misalnya, ketika administrator memberi GRANT pada user
SCOTT untuk melakukan operasi SELECT, INSERT, atau UPDATE pada tabel
SALES_HISTORY. Maka SCOTT memiliki full permission untuk view, create, dan
update semua baris pada tabel tersebut, tetapi tidak dapat menghapusnya (delete). Jenis
kontrol seperti ini masih terlalu luas untuk membatasi user melihat isi SALES_HISTORY
untuk grup bagian sales, daerah geografik, atau sensitivitas tertentu.
3.1.2 Label
Label memungkinkan aturan kontrol akses yang kompleks diluar apa yang
tercakup dalam DAC dengan menggunakan data dalam baris. Ketika aturannya
diterapkan, satu kolom baru ditambahkan pada setiap baris data. Kolom ini menyimpan
label yang menandakan sensitivitas setiap baris. Akses level ditentukan dengan
membandingkan identitas dan label user dengan sensitivitasnya di baris tersebut. DAC
Oracle Label Security pada Oracle Database 10g – Irawan W 11
dan Oracle Label Security (OLS) menentukan kriteria apakah akses pada suatu baris
diijinkan atau ditolak.
3.1.3 Virtual Private Database
OLS bergantung pada konsep Virtual Private Database (VPD) untuk memperluas
keamanan pada level baris. Secara esensial, ketika aturan bisnis dipersiapkan melalui
OLS, VPD menambahkan kriteria seleksi tambahan yang perlu ke setiap pernyataan SQL
yang dikeluarkan untuk membatasi akses user ke hanya data yang perlu. Kelebihan dari
VPD ialah aplikasi aturan ditangani “dibalik layar” tanpa diketahui user. Misalnya,
diterapkan aturan sehingga user SCOTT hanya dapat melihat baris pada tabel ORDERS
yang ditandai USERID-nya saja, VPD menambahkan kriteria seleksi (WHERE
ORDERS.USERID = ‘SCOTT’) pada query. Hal ini dapat diterapkan pula pada user
lainnya yang hanya dapat melihat data yang diperbolehkan seperti yang digambarkan
berikut ini :
Gb.2 Teknologi VPD Oracle(Sumber : http://download-west.oracle.com/)
3.2 Arsitektur Oracle Label Security
Aplikasi user dalam session Oracle menghasilkan SQL Request. Oracle mengecek
privilege DAC, menjamin bahwa user memiliki privilege SELECT pada tabel. Kemudian
dicek apakah aturan VPD telah diterapkan pada tabel untuk menjamin bahwa tabel
tersebut diproteksi. Pernyataan SQL diubah pada proses selanjutnya. Hal tersebut
digambarkan dalam arsitektur Oracle Label Security sebagai berikut :
Oracle Label Security pada Oracle Database 10g – Irawan W 12
Gb.3 Arsitektur Oracle Label Security(Sumber : http://download-west.oracle.com/)
3.3 Komponen Oracle Label Security
Keamanan dengan label menambah perlindungan data diluar DAC yang
menentukan operasi yang dapat dilakukan user terhadap data dalam suatu objek, seperti
tabel atau view. Aturan OLS mengontrol akses terhadap data dalam tiga dimensi :
Data Label : menunjukkan level dan karakteristik sensitivitas baris dan kriteria
tambahan yang harus dipenuhi user untuk mengakses baris tersebut.
User Label : menunjukkan level sensitivitas user ditambah kompartemen dan grup
yang membatasi akses user ke data yang diberi label.
Aturan Privilege : user diberi hak spesifik untuk menjalankan operasi khusus atau
untuk mengakses data diluar authorisasi label mereka.
OLS menggunakan tiga dimensi untuk mendefinisikan user’s permission untuk
mengakses data dalam baris, yaitu level, kompartemen dan grup. Gambar dibawah ini
mengilustrasikan ketiga dimensi tersebut.
Oracle Label Security pada Oracle Database 10g – Irawan W 13
Gb. 4 Klasifikasi Data Secara Logis(Sumber : http://download-west.oracle.com/)
3.3.1 Level
Level adalah tingkatan yang menyatakan sensitivitas informasi. Semakin sensitif
informasi, semakin tinggi pula levelnya. Setiap label harus memiliki satu level. Untuk
setiap level, administrator mendefinisikan bentuk numerik dan karakter, misalnya :
Bentuk Numerik Bentuk Panjang Bentuk Pendek40302015
HIGHLY_SENSITIVESENSITIVECONFIDENTIALPUBLIC
HSSCP
Tabel.1 Contoh Level
Walaupun administrator mendefinisikan kedua bentuk panjang dan pendek, hanya
bentuk pendek yang terlihat oleh user ketika hendak memanipulasi label. Label lain yang
umum didefinisikan ialah TOP_SECRET, SECRET, CONFIDENTIAL, dan
Oracle Label Security pada Oracle Database 10g – Irawan W 14
UNCLASSIFIED, atau TRADE_SECRET, PROPRIETARY,
COMPANY_CONFIDENTIAL, dan PUBLIC_DOMAIN. Jika hanya level yang
digunakan, user dengan level 40 (pada contoh ini) dapat mengakses atau mengubah data
apapun yang memiliki level 40 atau dibawahnya.
3.3.2 Kompartemen
Kompartemen mengidentifikasi daerah yang menggambarkan sensitivitas data
label, memberikan tingkatan yang lebih halus/detil dalam satu level. Kompartemen
berhubungan dengan data dengan satu atau lebih daerah keamanan. Semua data yang
berhubungan dengan proyek tertentu dapat dilabeli dengan kompartemen yang sama.
Berikut ini diberikan contoh dari satu set kompartemen :
Bentuk Numerik Bentuk Panjang Bentuk Pendek856535
FINANSIALCHEMICALOPERASIONAL
FINCLCHEMOP
Tabel.2 Contoh Kompartemen
3.3.3 Grup
Grup mengidentifikasi organisasi yang memiliki atau mengakses data, seperti
EASTERN_REGION, WESTERN_REGION, WR_SALES. Semua data yang
berhubungan dengan departemen tertentu dapat memiliki grup departemen dalam label.
Grup berguna untuk mengontrol distribusi data, dan sebagai reaksi terhadap perubahan
organisasi. Grup bersifat hirarki dimana data label dibuat berdasarkan infrastruktur
organisasi. Grup dapat dihubungkan dengan grup parent. Misalkan :
Oracle Label Security pada Oracle Database 10g – Irawan W 15
Gb.5 Contoh Hirarki Grup(Sumber : http://download-west.oracle.com/)
Pada Gb.3, grup WESTERN_REGION terdiri dari tiga subgrup : WR_SALES,
WR_HUMAN_RESOURCES, dan WR_FINANCE. Subgrup WR_FINANCE dibagi lagi
menjadi WR_ACCOUNTS_RECEIVABLE dan WR_ACCOUNTS_PAYABLE. Tabel
dibawah ini menunjukkan struktur organisasi diatas dalam bentuk grup OLS.
Bentuk numerik Bentuk Panjang Bentuk Pendek Grup Orang Tua
100011001200130013101330
WESTERN_REGIONWR_SALESWR_HUMAN_RESOURCESWR_FINANCEWR_ACCOUNTS_PAYABLEWR_ACCOUNTS_RECEIVABLE
WRWR_SALWR_HRWR_FINWR_APWR_AR
WRWRWRWR_FINWR_FIN
Tabel.3 Contoh Grup
3.3.4 Kombinasi Komponen OLS
Setiap komponen keamanan label dapat dibuat mencapai 10.000 nilai yang
berbeda. OLS mensyaratkan minimal satu level keamanan dicantumkan dalam setiap
kolom label, bahkan jika kolom itu mengijinkan akses unrestricted. Komponen
kompartemen dan grup bersifat opsional, tidak harus tercantum dalam kolom label. Setiap
baris dan user dapat diberi multiple access permissions untuk kompartemen dan grup.
3.4 Sintaks dan Tipe Label
Setelah mendefinisikan komponen label, administrator membuat data label
dengan menggabungkan set level, kompartemen, dan grup tertentu. Dari semua permutasi
komponen label yang mungkin, administrator menspesifikasi kombinasi yang sering
digunakan sebagai data label yang valid. Hal ini dapat digunakan dengan graphical user
interface Oracle Policy Manager, atau menggunakan prosedur command line.
Representasi karakter string dari label menggunakan sintaks sebagai berikut :
Oracle Label Security pada Oracle Database 10g – Irawan W 16
LEVEL:COMPARTMENT1,…,COMPARTMENTn:GROUP1,…,GROUPn
String dapat mencapai maksimum 4000 karakter, termasuk alphanumeric,
karakter, space, dan underscore. Label bersifat case-insensitif, tetapi string yang
disimpan dalam data dictionary diperlihatkan dalam bentuk uppercase. Tanda “:”
digunakan sebagai pemisah komponen. Misalkan administrator dapat membuat label
yang valid sebagai berikut :
SENSITIVE:FINANCIAL,CHEMICAL:EASTERN_REGION,WESTERN_REGION
CONFIDENTIAL:FINANCIAL:VP_GRP
SENSITIVE
HIGHLY_SENSITIVE:FINANCIAL
SENSITIVE::WESTERN_REGION
Ketika data label yang valid dibuat, terjadi dua hal :
1. Label secara otomatis ditandai sebagai data label yang valid. Fungsionalitas ini
membatasi label yang dapat diberikan ke data. OLS juga dapat membuat data
label yang valid secara dinamik pada saat runtime dari yang telah didefinisikan di
Oracle Internet Directory.
2. Label tag numerik dihubungkan dengan teks string yang merepresentasikan label.
Label tag ini disimpan dalam aturan kolom label dari tabel yang diproteksi.
3.5 Bagaimana Data Label dan User Label Bekerja ?
User hanya dapat mengakses data dalam lingkup authorisasi labelnya. User
memiliki :
Level maksimum dan minimum.
Satu set kompartemen yang sudah diauthorisasi.
Satu set grup yang sudah diauthorisasi (dan secara implisit authorisasi untuk
subgrup).
Dibawah ini ditunjukkan bagaimana data label dan user label bekerja bersama
untuk memberikan kontrol akses dalam OLS.
Oracle Label Security pada Oracle Database 10g – Irawan W 17
Gb.6 Hubungan Antara Data Label dan User Label(Sumber : http://download-west.oracle.com/)
Pada Gb.4 tersebut, User 1 dapat mengakses baris 2, 3, dan 4 karena level
maksimumnya adalah HS. Dia dapat mengakses kompartemen FIN, dan akses ke grup
WR secara hirarki mencakup grup WR_SAL. Dia tidak dapat mengakses baris 1 karena
tidak memiliki kompartemen CHEM.
User 2 dapat mengakses baris 3 dan 4. Maksimum levelnya adalah S, yaitu lebih
kecil daripada HS di baris 2. Karena dia hanya memiliki akses ke kompartemen FIN,
maka baris 1 tidak dapat diakses walaupun levelnya sama.
Dibawah ini dijelaskan bagaimana komponen label berhubungan dengan hirarki
organisasi.
Oracle Label Security pada Oracle Database 10g – Irawan W 18
Gb.7 Hubungan Komponen Label(Sumber : http://download-west.oracle.com/)
Pada Gb.5 tersebut grup UNITED_STATES terdiri dari tiga subgrup :
EASTERN_REGION, CENTRAL_REGION, dan WESTERN_REGION. Grup
WESTERN_REGION dibagi lagi menjadi CALIFORNIA dan NEVADA. Untuk setiap
grup dan subgrup, terdapat data kompartemen dan level yang valid. Maka untuk subgrup
CALIFORNIA terdapat data dengan level SENSITIVE yaitu Chemical, Financial, dan
Operational. Secara umum data dilabeli dengan satu grup, dimana user label membentuk
suatu hirarki. Jika user tercakup dalam satu grup, maka secara implisit juga tercakup
dalam grup child-nya. User yang termasuk dalam WESTERN_REGION memiliki akses
ke data di CALIFORNIA dan NEVADA. Tetapi user yang termasuk dalam
CALIFORNIA hanya memilik akses ke data yang berhubungan dengan subgrup tersebut.
3.6 Kontrol Akses
Oracle Label Security pada Oracle Database 10g – Irawan W 19
Untuk dapat mengakses data yang diproteksi OLS, user harus memiliki
authorisasi berdasarkan label yang didefinisikan. Dibawah ini ditunjukkan hubungan
antara user, data, dan label.
Gb.8 Hubungan Antara User, Data, dan Label(Sumber : http://download-west.oracle.com/)
Data label menspesifikasi sensitivitas baris data.
User label memberikan authorisasi ke user yang benar.
Access mediation antara user dan baris data bergantung pada label.
Selama access mediation, OLS membandingkan nilai yang tersimpan didalam
kolom label dengan label permission user. Jika user diberi hak yang memadai untuk
mengakses baris, maka transaksi berlanjut. Untuk menjalankan perintah SELECT, user
harus diberi akses read mode. Untuk menjalankan perintah Data Manipulation Language
(INSERT, UPDATE, DELETE, atau MERGE), user harus diberi akses write mode.
3.6.1 Propagasi Authorisasi Read / Write pada Grup
Jika grup disusun secara hirarki, user yang terdapat dalam grup memiliki semua
authorisasi pada subgrupnya. Dalam hal ini, authorisasi read/write pada grup parent
menurun ke semua subgrup. Dibawah ini diilustrasikan propagasi tersebut .
Oracle Label Security pada Oracle Database 10g – Irawan W 20
Gb.9 Propagasi Akses Read/Write pada Grup(Sumber : http://download-west.oracle.com/)
Jika user memiliki akses read pada WESTERN_REGION, maka hal ini berlaku
juga untuk ketiga subgrup dibawahnya. Administrator dapat memberikan user akses write
ke subgrup WR_FINANCE, tanpa harus memberikannya ke grup parent
WESTERN_REGION atau subgrup lainnya. Disisi lain, jika user memiliki akses
read/write pada WESTERN_REGION, maka dia juga memiliki akses read/write
kesemua subgrupnya. Authorisasi write pada grup tidak memberikan authorisasi ke grup
parent. Jika user memiliki akses read-only pada WESTERN_REGION dan
WR_FINANCE, administrator dapat memberikan akses write ke
WR_ACCOUNTS_RECEIVABLE tanpa mempengaruhi akses read-only pada grup
dengan level yang lebih tinggi.
3.6.2 Algoritma OLS untuk Akses Read
READ_CONTROL menentukan kemampuan user untuk membaca data dalam
baris. Secara berurutan digunakan aturan berikut ini :
1. Level user harus lebih besar atau sama dengan level data.
Oracle Label Security pada Oracle Database 10g – Irawan W 21
2. Label user harus mencakup paling sedikit salah satu grup dari data.
3. Label user harus mencakup semua kompartemen dari data.
Jika label user melewati uji ini, maka dikatakan “mendominasi” label baris.
Dibawah ini digambarkan proses evaluasi label dari level ke grup ke kompartemen. Jika
label data null atau invalid, maka akses user ditolak.
Gb.10 Proses Evaluasi Label pada Akses Read(Sumber : http://download-west.oracle.com/)
Jika jawaban dari setiap tahap adalah tidak, maka OLS menolak akses ke baris,
dan berpindah untuk mengevaluasi baris data berikutnya. Aturan OLS memungkinkan
user session untuk membaca baris pada labelnya dan label dibawahnya, yang disebut
reading down. Session tidak dapat membaca baris label yang tidak mereka dominasi.
Misalnya, jika user log in pada SENSITIVE:ALPHA,BETA, user dapat membaca baris
dengan label SENSITIVE:ALPHA, tetapi tidak dapat membaca baris dengan label
SENSITIVE:ALPHA,GAMMA. Dapat atau tidaknya user mengakses baris bergantung
dari privilege OLS yang dimilikinya.
3.6.3 Algoritma OLS untuk Akses Write
WRITE_CONTROL memungkinkan pengontrolan akses data sampai tingkat yang
lebih detil (granularity). Granularity meningkat ketika kompartemen ditambahkan ke
level; dan meningkat lagi ketika grup ditambahkan ke kompartemen. Kontrol akses
Oracle Label Security pada Oracle Database 10g – Irawan W 22
bahkan dapat lebih detil lagi user dapat menulis data yang dia baca. Berikut ini diberikan
aturannya secara berurutan:
1. Level harus lebih besar atau sama dengan level minimum user dan lebih kecil atau
sama dengan level session user.
2. Jika label tidak memiliki grup, maka user harus memiliki akses write pada semua
kompartemen untuk menulis data.
3. Jika label memiliki grup, dan user memiliki akses write ke salah satu grup, dia
hanya membutuhkan akses read pada kompartemen untuk menulis data.
User tidak dapat menulis data apapun dibawah level minimumnya, atau diatas
level sessionnya. User selalu dapat membaca dibawah level minimumnya. Berikut ini
digambarkan bagaimana operasi INSERT, UPDATE, dan DELETE bekerja. Jika label
data null atau invalid, maka akses user ditolak.
Gb.11 Proses Evaluasi Label pada Akses Write(Sumber : http://download-west.oracle.com/)
Misalkan jika label session user adalah S:ALPHA,BETA tetapi user tersebut
hanya memiliki akses write pada kompartemen ALPHA., maka label S:ALPHA,BETA
dapat dibaca tetapi tidak dapat diupdate.
Oracle Label Security pada Oracle Database 10g – Irawan W 23
3.7 Privilege
Privilege adalah authorisasi yang diberikan pada user untuk mengakses data. OLS
membagi privilege menjadi 2 bagian, yaitu :
3.7.1. Special Access Privileges
Authorisasi user dapat diubah dengan salah satu dari privilege berikut ini :
READ
User dengan privilege READ dapat membaca semua data yang diproteksi, tanpa
menghiraukan authorisasinya atau label session. User dengan privilege ini juga dapat
menulis baris data jika dia memiliki akses write berdasarkan authorisasi labelnya.
Privilege ini berguna bagi sistem administrator yang harus mengekspor data, tetapi tidak
diijinkan untuk mengubah data. Hal ini juga berguna untuk membuat report dan meng-
compile informasi, tetapi tidak mengubah data.
FULL
Privilege ini mengijinkan akses READ dan WRITE ke semua data yang
diproteksi. Algoritma READ dan WRITE tidak dipaksakan. Tetapi authorisasi Oracle
SYSTEM dan OBJECT dipaksakan. Misalkan, user masih harus melakukan operasi
SELECT ke tabel aplikasi. Authorisasi FULL mematikan uji access mediation pada level
baris individual.
COMPACCESS
Privilege ini mengijinkan akses ke data yang diauthorisasi baris kompartemen,
tanpa bergantung dari baris grup. Jika suatu baris tidak memiliki kompartemen, maka
akses ditentukan oleh authorisasi grup. Namun jika terdapat kompartemen, maka
authorisasi grup di-bypass. Dibawah ini ditunjukkan proses evaluasi label untuk akses
READ dengan privilege COMPACCESS.
Oracle Label Security pada Oracle Database 10g – Irawan W 24
Gb.12 Proses Evaluasi Label pada Akses Read untuk Privilege COMPACCESS(Sumber : http://download-west.oracle.com/)
Dibawah ini ditunjukkan proses evaluasi label untuk akses WRITE dengan
privilege COMPACCESS.
Oracle Label Security pada Oracle Database 10g – Irawan W 25
Gb.13 Proses Evaluasi Label pada Akses Read untuk Privilege COMPACCESS(Sumber : http://download-west.oracle.com/)
PROFILE_ACCESS
Privilege ini mengijinkan akses session untuk mengubah label dan privilege user
lain. Privilege ini sangat kuat, karena user dapat memiliki privilege FULL. Privilege ini
tidak dapat diberikan ke unit program yang penting.
3.7.2 Special Row Label Privileges
Ketika label baris diset, dibutuhkan privilege OLS untuk mengubah label. Opsi
LABEL_UPDATE harus tercakup pada label ini. Ketika user meng-update label baris,
label baru dan lama dibandingkan, kemudian ditentukan privilege yang dibutuhkan.
Privilege ini mencakup :
WRITEUP
Privilege ini mengijinkan user untuk menaikkan level data dalam baris tanpa
menghiraukan kompartemen atau grup. User dapat menaikkannya sampai level
authorisasi maksimumnya. Misalkan, jika level suatu baris adalah UNCLASSIFIED dan
level maksimum user adalah SENSITIVE, dia dapat menaikkan level baris sampai
SENSITIVE, tetapi tidak dapat mengubah kompartemen.
WRITEDOWN
Privilege ini mengijinkan user untuk menurunkan level data dalam baris, tanpa
menghiraukan kompartemen atau grup. User dapat menurunkan level suatu baris sampai
sama dengan atau lebih besar dari level authorisasi minimumnya.
WRITEACROSS
Privilege ini mengijinkan user mengubah kompartemen dan grup data tanpa
mengubah level sensitivitasnya. Hal ini menjamin data SENSITIVE tetap pada level
SENSITIVE , tetapi pada waktu yang bersamaan dapat mengatur distribusi data. User
dapat mengubah kompartemen dan grup ke bentuk lain yang valid dengan level yang
Oracle Label Security pada Oracle Database 10g – Irawan W 26
sama. Dengan privilege ini, user dengan akses read ke satu grup (atau lebih) dapat
memiliki akses menulis ke grup lain tanpa diberikan akses itu secara eksplisit.
Bab 4
Kesimpulan dan Saran
Dari uraian diatas, maka dapat ditarik kesimpulan sebagai berikut :
OLS dan DAC mengontrol akses user untuk menentukan apakah akses ke suatu
baris ditolak atau tidak. VPD membatasi akses user untuk data yang perlu saja.
Untuk mendefinisikan user permission, OLS menggunakan tiga dimensi yaitu
level, kompartemen dan grup.
Data label dan user label berhubungan dengan level maksimum dan minimum
label dengan juga memperhatikan kompartemen dan grup yang sudah
diauthorisasi.
Authorisasi user dapat berubah bergantung pada privilege yang diberikan.
Saran untuk tindak lanjut dari penulisan makalah ini ialah :
Oracle Label Security pada Oracle Database 10g – Irawan W 27
Dibahas mengenai bagaimana mengatur aplikasi Oracle Label Security dan cara
mengkonfigurasinya.
Daftar Pustaka
http://download-west.oracle.com/docs/cd/B13789_01/network.101/b10774.pdf
http://download-west.oracle.com/docs/cd/B13789_01/network.101/b10777.pdf
Jim Czuprynski, Oracle Label Security Part 1: Overview, online at
http://www.databasejournal.com/features/oracle/article.php/3065431
http://download-west.oracle.com/docs/cd/B13789_01/network.101/b10773.pdf
http://otn.oracle.com/deploy/security/pdf/ds_security_db_labelsecurity_10r1_0104.pdf
Oracle Label Security pada Oracle Database 10g – Irawan W 28
Recommended