Oracle Label Security Pada Oracle Database 10g

40
ORACLE LABEL SECURITY PADA ORACLE DATABASE 10g Tugas EC 7010 Keamanan Sistem Lanjut Disusun oleh : Irawan W : 23202164 Institut Teknologi Bandung

Transcript of Oracle Label Security Pada Oracle Database 10g

Page 1: Oracle Label Security Pada Oracle Database 10g

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

Page 2: Oracle Label Security Pada Oracle Database 10g

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

Page 3: Oracle Label Security Pada Oracle Database 10g

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

Page 4: Oracle Label Security Pada Oracle Database 10g

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

Page 5: Oracle Label Security Pada Oracle Database 10g

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

Page 6: Oracle Label Security Pada Oracle Database 10g

Bab 1

Pendahuluan

1.1 Masalah Keamanan Database

Oracle Label Security pada Oracle Database 10g – Irawan W 5

Page 7: Oracle Label Security Pada Oracle Database 10g

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

Page 8: Oracle Label Security Pada Oracle Database 10g

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

Page 9: Oracle Label Security Pada Oracle Database 10g

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

Page 10: Oracle Label Security Pada Oracle Database 10g

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

Page 11: Oracle Label Security Pada Oracle Database 10g

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

Page 12: Oracle Label Security Pada Oracle Database 10g

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

Page 13: Oracle Label Security Pada Oracle Database 10g

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

Page 14: Oracle Label Security Pada Oracle Database 10g

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

Page 15: Oracle Label Security Pada Oracle Database 10g

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

Page 16: Oracle Label Security Pada Oracle Database 10g

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

Page 17: Oracle Label Security Pada Oracle Database 10g

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

Page 18: Oracle Label Security Pada Oracle Database 10g

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

Page 19: Oracle Label Security Pada Oracle Database 10g

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

Page 20: Oracle Label Security Pada Oracle Database 10g

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

Page 21: Oracle Label Security Pada Oracle Database 10g

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

Page 22: Oracle Label Security Pada Oracle Database 10g

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

Page 23: Oracle Label Security Pada Oracle Database 10g

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

Page 24: Oracle Label Security Pada Oracle Database 10g

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

Page 25: Oracle Label Security Pada Oracle Database 10g

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

Page 26: Oracle Label Security Pada Oracle Database 10g

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

Page 27: Oracle Label Security Pada Oracle Database 10g

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

Page 28: Oracle Label Security Pada Oracle Database 10g

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

Page 29: Oracle Label Security Pada Oracle Database 10g

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