• Tidak ada hasil yang ditemukan

STUDI IMPLEMENTASI KEAMANAN BASIS DATA DENGAN DATABASE VAULT PADA ORACLE DATABASE 10G RELEASE 2. Laporan Tugas Akhir

N/A
N/A
Protected

Academic year: 2021

Membagikan "STUDI IMPLEMENTASI KEAMANAN BASIS DATA DENGAN DATABASE VAULT PADA ORACLE DATABASE 10G RELEASE 2. Laporan Tugas Akhir"

Copied!
109
0
0

Teks penuh

(1)

STUDI IMPLEMENTASI KEAMANAN BASIS DATA DENGAN DATABASE VAULT

PADA ORACLE DATABASE 10G RELEASE 2

Laporan Tugas Akhir

Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Oleh:

RETNO MAROETI 4150411-061

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA

JAKARTA 2009

(2)

1 1.1 Latar Belakang

Keamanan basis data adalah mekanisme yang melindungi basis data dari ancaman yang disengaja maupun tidak disengaja. Keamanan tidak hanya untuk data pada basis data saja, kegagalan keamanan juga berakibat pada bagian lain dari sistem yang pada akhirnya berakibat pada basis data. Sehingga keamanan basis data juga merupakan keamanan pada hardware, software, orang dan data.

1.2 Identifikasi Masalah

Kebutuhan akan keamanan basis data bersifat dinamis, praktek dan teknologi baru terus-menerus menyediakan arena bagi exploitasi unauthorized, dan juga cara-cara baru penyalahgunaan untuk mempengaruhi bahkan juga terhadap lingkungan dan produk yang telah stabil. Evolusi yang terjadi saat ini melibatkan lingkungan kultural dan teknologi yang berubah secara global, dimana perhatian terhadap keamanan perlu mempengaruhi baik dari penggunaan solusi yang telah ada maupun pengembangan hal-hal baru.

Jenis penyalahgunaan basis data baik yang tidak disengaja maupun disengaja: a. Tidak disengaja

- Kerusakan selama proses transaksi.

(3)

- Anomali yang disebabkan oleh pendistribusian data pada beberapa komputer.

- Logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi basis data.

b. Disengaja

- Pengambilan data / pembacaan data oleh pihak yang tidak berwenang - Perubahan data oleh pihak yang tidak berwenang.

- Penghapusan data oleh pihak yang tidak berwenang.

Berikut ini adalah pengelompokan isu-isu keamanan berdasarkan kategori, sebagai usaha untuk menciptakan operasi secure didalam lingkungan yang secure:

- Fisik

Komputer harus dibuat tak bisa diakses secara fisik dari pemakai yang tidak berwenang dengan menempatkannya di dalam lingkungan yang terjamin.

- Personel

Pihak yang bertanggungjawab bagi keamanan fisik, administrasi sistem, dan keamanan data harus terpercaya.

- Prosedural

Prosedur dan kebijakan yang dipergunakan dalam operasi pada sistem harus menjamin data yang reliable (terpercaya). Dengan memisahkan role-role fungsional dari pemakai di dalam manajemen data. Sebagai contoh, satu orang bertanggungjawab untuk backup database. Rolenya hanyalah memastikan database up dan jalan. Orang lain bertanggungjawab untuk pelaporan aplikasi menyangkut data daftar gaji

(4)

atau data penjualan. Kewajibannya memeriksa data dan memverifikasi integritasnya. Membuat kebijakan yang melindungi tabel dan schema terhadap pengguna unauthorized maupun malicious.

- Teknikal

Penyimpanan, akses, manipulasi, dan transmisi data harus betul-betul dijaga dengan teknologi yang menegakkan kebijakan kontrol informasi. Pencegahan gangguan keamanan dari luar pada basis data telah banyak diterapkan dimulai dari penggunaan firewall, aplikasi anti spam e-mail, anti spyware, anti virus dan masih banyak lagi.

Namun bagaimana dengan ancaman dari pihak dalam pada basis data, kemungkinan adanya karyawan yang tak setia atau korup. Salah satu cara untuk mengantisipasi gangguan seperti tersebut diatas dapat menggunakan oracle database 10g release 2 yang yang menyediakan semua fasilitas untuk pengamanan data antara lain :

- Virtual Private Database Row level security

Membuat akses berdasarkan fungi kerja dengan, klasifikasi hari atau jam penggunaan basis data, mendukung customizable, policy-based akses control down ke level baris untuk menjalankan keamanan dan privasi data. Kebijakan dirancang programmatically ditambahkan ke database object (table, view), sehingga kebijakan dapat dijalankan tanpa memperhatikan metode akses. Hal ini mengurangi masalah keamanan aplikasi serta menyediakan penggabungan basis data serta melindungi pemisahan dari individual set

(5)

Memberi kemudahan dalam penggunaan dan mendukung algoritma-algoritma pada sistem

- Fine Grained Auditing

Dapat memperkecil kesalahan dalam audit atau audit yang yang sulit dengan menspesifikasi kondisi audit yang diinginkan

Dan untuk lebih meningkatkan pengamanan dari basis data yang telah ada, terdapat database vault yang merupakan mekanisme tambahan dari oracle database 10g. Pengamanan untuk memproteksi aplikasi data dari akses DBA, proteksi struktur database dari perubahan secara ilegal, akses kontrol secara dinamis dan fleksibel sesuai dengan permintaan pengamanan.

Apakah dengan integrasi antara oracle database 10g dengan database vault dapat dapat mendeteksi semua aktivitas pada basis data, memproteksi basis data dari user yang tidak berhak dan memberikan laporan untuk proses audit perlu analisa yang lebih mendalam.

1.3 Tujuan Penulisan

Tujuan dari pembuatan tugas akhir ini adalah:

Menganalisa kinerja dan mengkonfigurasi penggabungan keamanan oracle database 10g itu sendiri dengan database vault dalam mekanisme keamanan basis data. Apakah dengan integrasi antara oracle database 10g dengan database vault dapat mendeteksi semua aktivitas pada basis data, memproteksi basis data dari user yang tidak berhak dan memberikan laporan untuk proses audit.

(6)

1.4 Pembatasan Masalah

Masalah yang akan dibatasi dalam penyusunan tugas akhir ini adalah analisa dan implementasi keamanan basis data dengan database vault pada oracle database 10g dengan menggunakan sistem operasi Red Hat Entreprise Linux 4

Laporan Tugas Akhir hanya menekankan pada hal-hal berikut:

1. Analisa keamanan basis data yang dimiliki oleh oracle database 10g dan database vault dapat mendeteksi semua aktivitas pada basis data, memproteksi basis data dari user yang tidak berhak dan memberikan laporan untuk proses audit.

2. Konfigurasi database vault.

3. Pengujian dan implementasi database vault.

4. Basis data yang digunakan adalah oracle database 10g release 2. 5. Tidak membahas physical security database.

1.5 Metodologi Penelitian

1.5.1 Metodologi Pengumpulan Data

Cara pengumpulan data sebagai materi penyusunan Tugas Akhir ini adalah sebagai berikut:

Metode Studi Literatur

Metode Studi Literatur adalah cara pengumpulan data dengan menggunakan semua referensi yang berkaitan dengan pembuatan tugas akhir untuk memperoleh data-data yang dikehendaki,

(7)

sehingga dapat dijadikan acuan dalam penulisan laporan tugas akhir ini.

1.5.2 Analisa

Menganalisa keamanan basis data pada oracle database 10g dan database vault dengan membuat skenario-skenario masalah yang dapat mengganggu keamanan basis data.

1.5.3 Konfigurasi

Konfigurasi database vault pada oracle database 10g dan cara up-grade/patch dari oracle database 10g enterprise edition release 10.2.0.1.0 menjadi 10.2.0.4.0 karena database vault hanya bisa berjalan pada platform tersebut atau lebih tinggi.

1.5.4 Implementasi dan Pengujian

Membuat pengujian dan implementasi dari database vault yang telah dikonfigurasi sebelumnya dengan menggunakan skenario-skenario masalah yang telah dibuat sebagai bahan untuk menguji.

(8)

1.6 Sistematika Penulisan

Untuk mempermudah penyusunan dan menganalisa Tugas Akhir, maka digunakan sistematika laporan sebagai berikut :

BAB I PENDAHULUAN

Bab ini menjelaskan tentang latar belakang masalah, dasar pemilihan judul, tujuan dan kegunaan Tugas Akhir, pembatasan masalah, metodologi penelitian dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini membahas tentang teori yang menjadi dasar pembahasan, antara lain: pengertian data, informasi, basis data, struktur oracle database 10g, keamanan oracle database 10g, database vault.

BAB III ANALISA KEBUTUHAN DAN KONFIGURASI DATABASE

VAULT

Bab ini mejelaskan tentang analisa kebutuhan dan konfigurasi dari database vault dan oracle database 10g

BAB IV IMPLEMENTASI DAN PENGUJIAN

Bab ini menjelaskan tentang implementasi dan pengujian dari hasil analisa dan konfigurasi yang ada.

BAB V PENUTUP

Bab ini merupakan bagian terakhir dalam penulisan Tugas Akhir yang berisi kesimpulan dan saran yang didasarkan atas uraian pada bab-bab sebelumnya

(9)

8 BAB II

LANDASAN TEORI

2.1 Pengertian Data

Pada umumnya para pakar mendefinisikan data sesuai dengan bidang ilmunya masing-masing sehingga:

- Data adalah deskripsi dari benda-benda dan kejadian - kejadian yang selalu kita hadapi sehari-hari.

- Data dalah sekumpulan deskripsi dari benda-benda (resources) dan kejadian-kejadian (transaksi-transaksi) yang selalu berinteraksi.

- Data adalah kumpulan dari fakta-fakta berupa simbol, lambang, huruf, gambar.

2.2 Pengertian Informasi

Menurut para ahli, pengertian informasi adalah sebagai berikut :

a. Jogiyanto HM (2001,h8) :

Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya.

b. Gordon B. Davis (1993,P6) :

Informasi adalah suatu data yang telah diolah menjadi bentuk yang berarti bagi si penerima dan bermanfaat dalam pengambilan keputusan saat ini atau akan datang.

(10)

Sumber dari informasi adalah data, yang merupakan keyataan yang menggambarkan suatu kejadian dan kesatuan nyata. Data merupakan bentuk yang masih mentah (raw) yang masih belum mampu bercerita banyak, sehingga untuk menjadi informasi data harus diolah terlebih dahulu.

Kualitas dari suatu informasi tergantung pada tiga hal pokok, yaitu : a. Keakuratan

Informasi yang dihasilkan harus tepat, jelas dan mencerminkan permasalahan yang dihadapi (tidak menyesatkan).

b. Ketepatan

Informasi yang diterima tidak terlambat. Keterlambatan informasi dapat mengakibatkan nilai dari informasi tersebut akan berkurang. c. Relevansi

Informasi yang dihasilkan harus bermanfaat dan sesuai dengan apa yang dibutuhkan oleh pemakai.

Dari pendapat-pendapat yang telah dikemukakan diatas, penulis dapat menarik sebuah kesimpulan bahwa yang dimaksud dengan informasi itu sendiri adalah “Kumpulan data yang harus diolah terlebih dahulu sehingga bermanfaat bagi pemakainya dalam mencapai suatu tujuan atau hasil tertentu.”

2.3 Pengertian Database

Dalam beberapa literature basis data telah didefiniskan dengan cara yang berbeda-beda,salah satunya yang cukup lengkap adalah diberikan oleh James

(11)

Martin (1975) yaitu : “ A database may be defined as a collection of interrelated data stored together without harmful or unnecessary redundancy to serve one more application in an optimal fashion; the data are stored so that they are independent of program with use the data; common and controlled approach its use in adding new data and in modifying and retrieving existing data within the database”

Sekumpulan data yang terhubung yang disimpan secara bersama-sama dalam suatu media, tanpa kerangkapan data (kalaupun ada kerangkapan data tersebut seminimal mungkin dan terkontrol, data disimpan dengan cara-cara tertentu, sehingga mudah untuk digunakan, atau ditampilkan kembali dan dapat digunakan lebih dari program aplikasi secara optimal, data disimpan tanpa mengalami ketergantungan yang menggunakan sehingga proses penambahan, pengambilan dan modifikasi dapat dilakukan dengan mudah serta terkontrol.

Karakteristik utama basis data adalah: a. Merepresentasikan aspek dari dunia nyata, b. Terstruktur dengan baik,

c. Dapat merepresentasikan kondisi saat ini (current state) d. Ada penggunanya dan ada aplikasi,

e. Disimpan dalam memori komputer secara permanen, dan f. Dapat diakses dan dimanipulasi menggunakan DBMS

(12)

2.3.1 Database Manajemen Sistem (DBMS)

DBMS adalah koleksi terpadu dari basis data dan program-program komputer (utilitas) yang digunakan untuk mengakses dan memelihara basis data.

Pengelolaan manajemen basis data antara lain: - Pendefinisian struktur penyimpanan.

- Penyedian mekanisme untuk manipulasi informasi.

- Penyediaan keamanan dalam penarikan dan penyimpanan data dan informasi.

Bahasa dalam DBMS :

- Data Definition Language (DDL)

DDL berfungsi untuk mendefinisikan data seperti membuat tabel, membuat index tabel dan modifikasi tabel. Hasil perintah dari DDL adalah suatu set dari tabel-tabel yang disimpan dalam file khusus yang di sebut data dictionary. Perintah-perintah yang termasuk dalam kategori ini adalah CREATE, ALTER, DROP, RENAME dan TRUNCATE.

- Data Manipulation Language (DML)

DML merupakan bahasa DBMS yang berfungsi untuk memanipulasikan dan mengambil data dari dan ke suatu database manajemen sistem. Perintah-perintah yang termasuk dalam kategori ini adalah INSERT, UPDATE dan DELETE.

(13)

Dalam DML ada dua tipe yaitu :

a. Prosedural: Type ini menuntut pemakai untuk memsepesifikasi data apa yang akan digunakan dan bagaimana mendapatkan data tersebut.

b. Non Prosedural: Type ini menuntut pemakai untuk memsepesifiasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana mendapatkan.

- Data Control Language (DCL)

DCL berfungsi untuk melakukan keamanan database. Perintah-perintah yang termasuk dalam kategori ini adalah GRANT dan REVOKE.

2.3.2 Kegunaan Basis Data

a. Penyusunan suatu database digunakan untuk mengatasi jika file dalam program aplikasi diciptakan oleh programmer yang berbeda pada waktu yang berselang cukup panjang, maka ada beberapa bagian data mengalami penggandaan pada file-file yang berbeda.

b. Kesulitan dalam pengaksesan data

Kesulitan yang timbul dalam pengaksesan data, penyelesaian untuk itu adalah kearah DBMS yang mampu mengambil data secara langsung dengan bahasa yang familiar dan mudah digunakan (user friendly).

(14)

Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka ini menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data. Maka haruslah data dalam suatu database dibuat satu format sehingga mudah dibuat program aplikasinya.

d. Banyak Pemakai (multiple user)

Dalam rangka mempercepat semua daya guna sistem dan mendapat responsi waktu yang cepat, beberapa sistem mengijinkan banyak pemakai untuk mengupdate data secara simultan, salah satu alasan mengapa database dibangun karena nantinya data tersebut digunakan oleh banyak orang dalam waktu yang berbeda, diakses oleh program yang sama tetapi berbeda orang dan waktu. Semua ini memungkinkan terjadi karena data yang diolah tidaklah tergantung dan menyatu dalam program tetapi ia terlepas dalam satu kelompok data.

e. Masalah Keamanan

Tidak setiap pemakai sistem basis data memperoleh akses semua data. Keamanan ini dapat diatur lewat program yang dibuat oleh pemprogram atau fasilitas keamanan dari sistem operasi.

f. Masalah Kesatuan (Integrity)

Basis data berisi file-file yang saling berkaitan, masalah utama adalah bagaimana kaitan antara file tersebut terjadi. Meskipun

(15)

kita mengetahui bahwa file A berkaitan dengan file B, namun secara teknis maka ada file kunci yang mengaitkan kedua file tersebut.

g. Masalah Kebebasan Data (Data Independence)

Paket bahasa yang diciptakan dari DBMS, apapun yang terjadi pada struktur file, setiap kali kita hendak melihat data cukup dengan utility list, hendak menambah data cukuplah dengan APPEND. Ini berarti perintah-perintah dalam paket DBMS bebas terhadap basis data. Apapun perubahan dalam basis data, semua perintah akan mengalami kestabilan tanpa perlu ada yang dirubah.

h. Kecepatan dan kemudahan (speed)

Agar pengguna basis data dapat menyimpan data, melakukan perubahan/manipulasi terhadap data, menampilkan kembali data dengan lebih cepat dan mudah dibandingkan dengan cara biasa baik manual ataupun elektronik.

i. Efisiensi ruang penyimpanan

Mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi (dalam bentuk file) antara kelompok data yang saling berhubungan

j. Keakuratan (accuracy)

Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar

(16)

data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dsb

k. Ketersediaan (availability)

Data yang sudah tidak dipakai/kadaluwarsa dipisahkan dari sistem database yang sedang aktif baik dengan cara penghapusan atau memindahkannya ke media backup untuk menghemat ruang penyimpanan. Di sisi lain, juga dilakukan pemanfaatan teknologi jaringan komputer agar data yang berada di suatu lokasi/cabang daat juga diakses oleh lokasi/cabang lainnya.

l. Kelengkapan (completeness)

Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu. Untuk itu tidak hanya dengan melakukan penambahan record-record data, tapi juga melakukan perubahan struktur pada basis data (jika perlu) baik menambah field pada tabel ataupun bahkan menambah tabel baru.

2.4 Keamanan Basis Data

2.4.1. Pengertian Keamanan Basis Data

Proteksi basis data terhadap ancaman/gangguan baik yang disengaja maupun yang tidak disengaja melalui kendali yang bersifat teknis maupun administrasi.

(17)

Menurut Silberschatz (2002, p239) ukuran keamanan yang dapat diambil untuk melindungi basis data antara lain dari segi:

- Sistem Basis Data

Ada beberapa pengguna berwenang yang dizinkan untuk mengakses bagian basis data tertentu dan ada para pengguna yang lain hanya diizinkan untuk membaca data yang diinginkannya, tetapi tidak punya hak untuk mengubahnya. Kewajiban dari sistem basis data ini adalah menjaga batasan seperti di atas tetap terjaga - Sistem Operasi

Tidak peduli betapa aman sistem basis datanya, apabila terjadi kelemahan dalam sistem operasi. Hal ini sama artinya dengan adanya akses yang tidak diinginkan dalam basis data. Jadi tingkat keamanan perangkat lunak dalam sistem operasi sangatlah penting seperti halnya keamanan yang dilakukan secara fisik.

- Jaringan

Seluruh sistem basis data memperbolehkan untuk mengakses lewat terminal atau jaringan, keamanan software-level dalam software jaringan sangat penting sebagai keamanan fisik, keduanya dibutuhkan dalam internet dan jaringan pribadi.

- Fisik

Situs yang mengandung sistem komputer harus secara fisik aman dari entri secara diam-diam dan bahaya oleh para penyelundup.

(18)

- Manusia

Autorisasi pada pengguna harus dilakukan secara hati-hati untuk mengurangi adanya kejadian dimana pengguna yang berwenang memberikan akses kepada orang lain dengan imbalan suap atau lainnya.

Secara garis besar keamanan sistem informasi dan komputer dapat dibagi dua yaitu keamanan secara fisikal dan secara logikal.

- Fisikal

Secara fisik berarti bagaimana mengamankan semua infrastruktur peralatan sistem keamanan baik dari sisi server, ruangan, kabel, system backup redundant system, system cadangan power listrik dan lain-lain.

- Logikal

Keamanan secara logikal tentang metode keamanan seperti protocol yang digunakan, metode komunikasi datanya, model basis datanya dan sistem operasinya.

Aspek keamanan seringkali ditinjau dari: - Confidentiality

- Integrity - Availability - Non-Repudiation

Merupakan aspek yang sangat penting dalam transaksi elektronik. Aspek non-repudiation menjamin bahwa pelaku transaksi tidak dapat mengelak atau menyangkal telah melakukan transaksi

(19)

- Standar pengamanan - Evaluasi secara berkala

Keamanan basis data berkaitan dengan situasi sebagai berikut: - Pencurian (theft dan fraud.)

- Kehilangan kerahasiaan (loss of confidentiality dan privacy). Kerahasiaan dapat diartikan sebagai perlindungan terhadap data dalam sistem informasi perusahaan, sehinggga tidak dapat diakses oleh orang yang tidak berhak. Banyak yang beranggapan bahwa tipe perlindungan seperti ini hanya penting untuk kalangan militer dan pemerintahan, dimana mereka perlu merahasiakan rencana dan data penting. Akan tetapi kerahasian juga sangat penting bagi kalangan bisnis yang perlu melindungi rahasia dagang mereka dari kompetitor, atau untuk mencegah akses terhadap data-data yang dianggap sensitive oleh orang-orang yang tidak berhak didalam perusahaan.

- Kehilangan integritas (loss of integrity)

Integritas adalah perlindungan terhadap dalam sistem dari perubahan yang tidak terotorisasi, baik secara sengaja maupun secara tidak sengaja.Tantangan yang dihadapi setiap sistem keamanan informasi adalah untuk memastikan bahwa data terpelihara dalam keadaan yang sesuai dengan harapan dari user. Walau tidak dapat meningkatkan akurasi dari data yang dimasukan kedalam sistem oleh user, inisiatif keamanan informasi

(20)

memastikan bahwa setiap perubahan memang benar-benar dikehendaki dan dilakukan secara benar.

- Kehilangan ketersediaan (loss of availability).

Ketersediaan ini dapat diartikan sebagai kepastian bahwa sebuah sistem informasidapat diakses oleh user yang berhak kapan saja sistem informasi tersebut dibutuhkan.

Pengertian ancaman (threat), kerentanan (vulnerability), resiko (risk) dan akibat (exposure) pada keamanan basis data.

- Ancaman (threat )

Situasi, potensi atau kejadian baik di sengaja maupun tidak, yang dapat mempengaruhi sistem dan organisasi.

Tabel 2.1 Ancaman terhadap security database

Ancaman Theft and Fraud Loss of Confidentiality Loss of Privacy Loss of Integrity Loss of Availability Menggunakan akses orang lain    Alterasi Program    Kebijaksanaan dan prosedur yang tidak memadai yang mengijinkan

tercampurnya output yang biasa dan rahasia

  

Wire Taping   

Entri ilegal oleh hacker   

Pemerasan (blackmail )   

Membuat pintu jebakan

pada sistem   

Pencurian data, program

dan peralatan    

Kegagalan mekanisme keamanan, memberikan akses melebihi normal

(21)

Tabel 2.1 Ancaman terhadap security database (lanjutan) Ancaman Theft and Fraud Loss of Confidentiality Loss of Privacy Loss of Integrity Loss of Availability Pengurangan pegawai

(phk) atau mogok kerja  

Pelatihan staff yang

kurang memadai    

View dan disclosed data

rahasia   

Gangguan elektronik dan

radiasi  

Data rusak karena listrik

padam  

Kebakaran  

Kerusakan fisik pada

peralatan  

Kabel rusak atau putus  

Virus  

Berikut ini adalah pengelompokan ancaman pada sistem komputer berdasarkan kategori:

1. Perangkat keras: kebakaran, banjir, bom, pencurian, listrik, gempa, radiasi, kesalahan mekanisme keamanan.

2. Jaringan komunikasi: kabel yang tidak terkoneksi, radiasi.

3. Database: aturan/amandemen yang tidak diotorisasi, penduplikatan data, pencurian data, kehilangan data akibat gangguan listrik 4. DBMS dan Program Aplikasi: kesalahan mekanisme keamanan,

akses yang terlalu luas, pencurian program, kesalahan program. 5. Pengguna akhir (end user): menggunakan hak akses orang lain,

melihat dan menutup data yang tidak diotorisasi, staf tidak ditraining, pemasukan data yang dilakukan oleh yang tidak berhak, virus, pemerasan.

(22)

6. Programer/operator: membuat password, membuat program yang tidak aman, staf yang tidak ditraining, kebijakan keamanan dan prosedur, pemogokan staf.

7. Database administrator : kebijakan keamanan & prosedur - Kerentanan (vulnerability)

Software, hardware atau prosedur yang lemah sebagai pintu bagi para penyerang. Hal yang rentan dapat berupa servis pada server yang sedan berjalan, modem dial-in akses yang tidak dibatasi, terbukanya port pada firewall, kurangnya keamanan fisik sehingga semua orang dapat masuk ruang server, kurang kuatnya manajemen password pada server dan workstation.

- Resiko (risk)

Kemungkinan kehilangan, ancaman yang mengeksploitasi hal yang rentan, seperti firewall yang memiliki banyak port memiliki resiko yang lebih tinggi untuk diserang pengganggu.

- Kerugian (exposure )

Contoh dari sesuatu yang hilang karena ancaman, seperti manajemen dan prosedur dari akses pengguna yang kurang sehingga dapat digunakan oleh pihak lain yang menyebabkan organisasi mengalami kerugian.

(23)

Berikut ini adalah hubungan antar komponen keamanan Threats Agents Ancaman (threats) membuat Kerentanan (vulnerability) mengeksploitasi Resiko (risk) menjadi Aset dapat merusak Kerugian (exposure) menyebabkan Tindakan pertahanan

(safe guard) dapat diantisipasi oleh secara

langsung berakibat pada

Gambar 2.1 Hubungan komponen keamanan

[Referensi:CISSP Certification Guide,2007]

2.4.2. Pengendalian Keamanan

Pengendalian keamanan berbasis komputer yang telah banyak digunakan antara lain:

- Autorisasi (authorization)

Pemberian hak yang memungkinkan seseorang secara sah mengakses sistem atau objek (tabel, view, aplikasi, prosedur, objek lain dalam sistem).

Kendali autorisasi (kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi:

1. Mengendalikan sistem atau obyek yang dapat diakses. 2. Mengendalikan bagaimana pengguna menggunakannya.

(24)

Teknik kontrol akses yang sering digunakan: Mandatory access control

Memberikan sebuah label keamanan terhadap semua subyek dan obyek yang ada dalam sebuah sistem

Tabel 2.2 Klasifikasi data komersial

Clasification Description

Public Data tidak di lindungi dimanapun Sensitive

Informasi bisa berpengaruh terhadap bisnis dan kepercayaan

public jika tidak dilindungi dengan baik Private

Informasi personal yang bisa berakibat negatif terhadap

seseorang jika bocor Confidential

Informasi perusahaan yang bisa berakibat negatif terhadap

organisasi jika bocor

Directional access control

Mempergunakan identitas dari subyek untuk menentukan apakah permintaan akses tersebut akan dipenuhi atau di tolak. Metode ini lebih mudah di implementasikan dan lebih fleksibel. Setiap obyek memiliki permissions, yang menentukan user atau group yang bisa melakukan akses terhadap obyek.

Non-discretionary access control

Tipe kontrol akses ini cocok dipakai pada kasus high turnover atau reassginments. Ketika security di asosiasikan kedalam sebuah role atau task, mengganti orang yang mengerjakan tugas membuat security administration lebih mudah.

(25)

Penentuan administrasi kontrol akses: Centralized access control

Memerlukan sebuah pusat keamanan yang bisa menentukan apakah sebuah permintaan akan disetujui atau ditolak. Pendekatan ini sangat mudah karena obyek hanya di pelihara pada lokasi yang tunggal. Salah satu kelemahannya adalah central access control bisa menjadi sebuah single point of failure. Jika central access control rusak, maka semua obyek tidak akan bisa diakses. Dampak negatif yang lainnya adalah dalam masalah perfomance, jika sistem tidak bisa memenuhi semua permintaan dari user

Decentralized access control

Meletakan tanggung jawab dari lebih dekat terhadap obyek. Pendekatan ini memerlukan lebih banyak administrasi daripada centralized access control karena sebuah obyek mungkin saja memerlukan kondisi yang sangat aman pada lokasi tertentu. Tapi hal ini bisa lebih stabil karena tidak ada Single Point Of Failure. Decentralized Access Control biasanya diimplementasikan memakai security domain. Security domain adalah bagian sebuah kepercayaan, atau koleksi dari obyek dan subyek, yang mendefinisikan access rule dan permisions. Subyek harus termasuk dalam domain tersebut. Pendekatan ini bisa memudahkan untuk mengeluarkan subyek yang dicurigai, tetapi bisa membuat

(26)

administrasi secara umum lebih sulit karena berbagai macam variasi dari peraturan keamanan.

Model-model akses control

Menyediakan view konseptual dari kebijakan keamanan. Hal ini akan mengijinkan kita untuk melakukan pemetaan antara tujuan dan petunjuk dari kebijakan keamanan anda terhadap event yang spesifik. Proses dari pemetaan ini memungkinkan terbentuknya definisi formal dan spesifikasi yang diperlukan dalam melakukan kontrol terhadap keamanan. Singkatnya, access control model memungkinkan untuk memilah kebijakan keamanan yang kompleks menjadi langkah–langkah keamanan yang lebih sederhana dan terkontrol

State Machine Model

Kumpulan dari defined instances, yang disebut state, dan sebuah transisi yang spesifik yang diijinkan untuk melakukan modifikasi terhadap obyek dari satu state ke state berikutnya. State machine sering dipakai untuk real-life entities ketika state yang spesifik dan transisinya ada dan dimengerti. Ketika sebuah subyek meminta untuk membaca sebuah obyek, harus ada sebuah transisi yang mengijinkan untuk merubah sebuah obyek yang closed menjadi open obyek.

(27)

Model state machine yang membuat daftar kontrol akses dan label keamanan untuk mengimplementasikan keamanan objek.

Model Biba

Dibangun berbasis model state machine dan mendefinisikan state dan transisi yang berfokus pada integritas data, bukan kerahasiaan. Fokus utamanya adalah untuk menjamin bahwa subyek yang tidak memiliki otoritas tidak dapat melakukan perubahan terhadap obyek.

Model Clark-Wilson

Tidak berbasis pada model state machine. Model ini menggunakan pendekatan yang berbeda untuk menjamin integritas data. Model Clark-Wilson tidak melakukan pemberian akses suatu subjek terhadap obyek, melainkan memblok semua akses terhadap sejumlah kecil program akses yang dikontrol secara ketat. Pendekatan ini berhasil dalam aplikasi komersial dimana integritas data seringkali lebih penting daripada kerahasiaan data secara keseluruhan. Model Noninterference

Menjamin bahwa perubahan pada sustu tingkat keamanan tidak mengorbankan level keamanan lainnya dan mempengaruhi suatu objek dalam konteks yang lain. Dasar pemikiran dari model noninterference adalah bahwa setiap tingkatan keamanan memiliki perbedaan dan perubahan tidak

(28)

akan berpengaruh terhadap tingkatan lain. Jaminan ini mempersempit cakupan suatu perubahan dan mengurangi kemungkinan bahwa suatu perubahan memiliki efek samping yang tidak disengaja. Dengan menutup kemungkinan modifikasi terhadap tingkatan keamanan tertentu, model ini dapat memlihara integritas dan kerahasasiaan data.

Autentifikasi

Mekanisme yang menentukan siapakah seseorang tersebut.

Masing-masing pengguna telah diberikan identifikasi unik yang digunakan sistem operasi untuk menentukan siapakah pengguna tersebut.

Tabel 2.3 Tipe-tipe autentifikasi

Authentification Type Description Examples

Type 1 What you know Password, passphrase, PIN, lock combination

Type 2 What you have Smart card, token device

Type 3 What you are

Biometrics – fingerprint, palm print, retina/iris pattern, voice pattern

- Tabel views

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.

(29)

Contoh pada database relasional, untuk pengamanan dilakukan beberapa level:

Relasi, pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi.

View, pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terdapat pada view.

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.

Untuk Modifikasi data terdapat autorisasi tambahan:

Index Authorization, pengguna diperbolehkan membuat dan menghapus index data.

Resource Authorization, pengguna diperbolehkan membuat relasi-relasi baru.

Alteration Authorization, pengguna diperbolehkan menambah atau menghapus atribut suatu relasi.

Drop Authorization, pengguna diperbolehkan menghapus relasi yang sudah ada.

(30)

Contoh perintah menggunakan SQL :

GRANT : memberikan wewenang kepada pemakai

Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>

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 <priviledge list> ON <nama relasi/view> FROM <pemakai>

Contoh:

REVOKE SELECT ON S TO BUDI

REVOKE SELECT, UPDATE (STATUS,KOTA) ON S TO ALI,BUDI

Priviledge list: READ, INSERT, DROP, DELETE, ALTERATION, RESOURCE

- Backup data dan recovery

Backup: proses secara periodik untuk mebuat duplikat dari database dan melakukan 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.

(31)

Isi Jurnal:

1. Record transaksi

- Identifikasi dari record.

- Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)

- Item data sebelum perubahan (operasi update dan delete) - Item data setelah perubahan (operasi insert dan update) - Informasi manajemen jurnal (misal : pointer sebelum dan

record jurnal selanjutnya untuk semua transaksi

2. Record checkpoint: suatu informasi pada jurnal untuk memulihkan database dari kegagalan, kalau sekedar undo (seperti fungsi yang dimiliki pada ms.excel) akan sulit jurnal untuk mencarinya kembali, maka untuk membatasi pencarian menggunakan teknik ini.

Pemulihan (recovery): merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.

Jenis Pemulihan:

- Pemulihan terhadap kegagalan transaksi: kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.

- Pemulihan terhadap kegagalan media: pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup).

(32)

- Pemulihan terhadap kegagalan sistem: karena gangguan sistem, hang, listrik terputus alirannya.

Fasilitas pemulihan pada DBMS :

- Mekanisme backup secara periodik

- Fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah. - Fasilitas checkpoint, melakukan update database yang

terbaru.

- Manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadinya kesalahan.

Teknik Pemulihan :

- 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 (terdapat pada redo log file) untuk mencegah akibat dari kegagalan tersebut.

- 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.

(33)

- Shadow Paging: menggunakan page bayangan dimana pada 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.

- Kesatuan data dan Enkripsi

Enkripsi: keamanan data, pengkodean data dengan algoritma khusus sehingga data tidak dapat dibaca oleh program tanpa kunci dekripsi, memproteksi data yang ditransmisikan melalui jalur komunikasi

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. Adanya penjadwalan proses yang akurat (time stamping).

(34)

RAID terdiri atas array disk, meningkatkan keandalan atau kinerja dengan data stripping, penyimpanan informasi redundan dengan skema error-correcting

Level pada RAID :

RAID 0 - nonredundant, pada level ini tidak ada redundansi data dan memiliki performa yang paling baik karena tidak harus di replikasi.

RAID 1 – mirrored, dilakukan mirroring pada data .

RAID 0+1 – nonredudant dan mirrored, merupakan penggabungan stripping dan mirroring.

RAID 2 – memory-style-error-correcting codes, stripping unit adalah bit tunggal dan hamming code digunakan sebagai skema redundansi

RAID 3 – bit interleaved parity, redundansi dengan menyimpan informasi parity pada disk tunggal di array. RAID 4 – block interleaved parity, stripping unit adalah disk block.

RAID 5 – block interleaved distributed parity, menggunakan data parity untuk redundansi.

RAID 6 – P+Q redundancy, mirip dengan RAID 5 tapi penambahan data redundan digunakan untuk proteksi akan kegagalan disk.

(35)

- Tiga prinsip dasar yang digunakan untuk menetapkan pengendalian integritas adalah:

Memberikan akses dalam kerangka need-to-know basis User seharusnya hanya diberikan akses terhadap file dan program yang mereka butuhkan untuk melakukan fungsi -fungsi pekerjaan mereka. Keleluasaan akses terhadap data produksi atau source code oleh user seharusnya diperketat menggunakan metode transaksi, dimana dapat memastikan bahwa user dapat mengubah data hanya dalam cara yang terkontrol dengan baik sehingga menjaga integritas data. Elemen umum dari metode transaksi ini adalah pencatakan modifikasi data dalam sebuah log, yang dapat diperiksa lebih lanjut untuk memastikan bahwa hanya perubahan yang diotorisasi dan benar saja yang dilakukan didalam sistem. Agar lebih efektif, metode transaksi ini harus memastikan bahwa data hanya dapat dimanipulasi menggunakan program – program tertentu saja. Program-program tersebut harus diawasi secara hati-hati, baik dalam pengembangan dan instalasinya, dan diterapkan pengendalian untuk mencegah modifikasi yang tidak terotorisasi. Karena user harus dapat bekerja secara efisien, hak akses harus diberikan secara bijaksana sehingga memungkinkan fleksibilitas operasional yang memadai. Akses berdasarkan need to - know basis ini harus

(36)

memungkinkan terjadinya kontrol maksimal dengan pembatasan seminimal mungkin terhadap user. Setiap inisiatif keamanan informasi harus menerapkan keseimbangan yang baik antara tingkat keamanan yang ideal dan produktivitas kerja

Pemisahan tugas (separation of duties)

Untuk memastikan di bahwa tidak satu orang karyawan pun yang mengendalikan sebuah transaksi dari awal sampai akhir, dua atau lebih orang harus bertanggung jawab untuk melakukannya.

Rotasi Tugas

Penugasan suatu pekerjaan harus diubah-ubah secara periodik sehingga mempersulit user dalam berkolaborasi untuk mengendalikan sepenuhnya sebuah transaksi dan mengalihkannya untuk tujuan-tujuan terlarang.

- Metode Penyerangan yang umum dilakukan untuk mengakses objek:

Brute Force Attack

Tujuan dari serangan ini adalah mencoba beberapa kombinasi karakter yang memenuhi otentikasi tipe 1. Seringkali disebut menebak password, sebuah program mengirim beberapa login percobaan, masing-masingnya dengan password yang sedikit berbeda. Sebagai tambahan atas serangan sendiri, atur level sistem monitor untuk

(37)

memberi tahu ketika aktifitas yang tidak umum sedang terjadi. Ide bagus juga untuk mengatur level penguncian ke tingkat yang agresif sehingga account terkunci setelah beberapa kegagalan login. Hal ini akan merepotkan bagi pemakai yang melupakan password-nya, tetapi hal ini menyediakan pertahanan yang baik terhadap brute force attack.

Dictionary Attack

Merupakan turunan dari brute force attack. Sebagai ganti dari mencoba semua kombinasi password, dictionary atack mencoba untuk memenuhi permintaan password dengan memberikan password umum dari sebuah daftar atau kamus. Banyak daftar dari password yang umum digunakan mudah untuk dicari. Meskipun mereka membuat sumber yang bagus untuk dictionary attack, mereka juga menyediakan contoh password yang dihindari. Pada kenyataannya, salah satu cara terbaik untuk mencegah dictionary attack adalah dengan kebijakan password yang ketat.

Spoofing Attack

Tipe lain dari serangan kontrol akses adalah login spoofing. Seorang penyerang meletakkan program login palsu yang meminta kepada pemakai, user ID dan password. Tampilannya seperti login normal, sehingga pemakai

(38)

memberikan informasi yang diminta. Alih-alih memasukkan pemakai ke dalam sistem, program tersebut menyimpan informasi dan menampilkan pemberitahuan bahwa login gagal. Pertahanan terbaik melawan serangan jenis ini adalah membangun jalur yang terpercaya antara pemakai dan server ketika memungkinkan. Lakukan percobaan untuk meminimalkan peluang bagi penyerang untuk masuk antara pemakai dan server. Didalam lingkungan dimana keamanan menjadi sangat penting, pemakai harus dengan hati-hati mempelajari semua percobaan login yang gagal dan memastikan kegagalan tersimpan dan dilaporkan.

Trojan Horse

Cara yang sering digunakan penyusup untuk menjebak user agar menginstall program yang membuka pintu belakang di sistem yang digunakan, sehingga penyusup tersebut dapat dengan mudah mengakses komputer milik user tanpa sepengetahuan pemiliknya. Kemudian, penyusup tersebut bisa melakukan perubahan konfigurasi sistem atau menularkan virus ke komputer tersebut.

Back Door dan Remote Administration Program

Di komputer yang menggunakan operating system, pada umumnya penyusup menggunakan tiga tool, back Orificem Netbus, dan Sub Seven untuk mendapatkan akses ke

(39)

komputer secara remote. Setelah diinstall, back door atau remote administration program ini memungkinkan orang lain untuk mengakses dan mengendalikan komputer tersebut. Platform komputer lainnya mungkin juga memiliki kelemahan terhadap model serangan seperti ini, sehingga user harus selalu memantau laporan-laporan mengenai vulnerability dari sistem yang digunakan.

Denial of Service

Ini adalah tipe serangan yang menyebabkan komputer crash atau menjadi sangat sibuk memproses data, sehingga user tidak mempergunakannya. Umumnya, serangan seperti ini bisa diatasi dengan menginstall patch terakhir dari sistem yang digunakan.

Pencurian Identitas

Informasi yang disimpan dalam sebuah home computer bisa menjadi sumber informasi pribadi yang mencukupi bagi para penyusup untuk mendaftarkan kartu kredit atau identitas lainnya, dengan mengatasnamakan korban tersebut Tunneling

Saat karyawan bekerja di rumah dan mengirimkan file ke sebuah komputer di kantor, ada potensi bahwa sesorang dapat mengakses home computer tersebut dan menyusupkan file rahasia didalam sebuah dokumen yang nantinya disimpan di dalam sistem milik perusahaan.

(40)

2.4.3 Keamanan pada Database Oracle 10g

Pada oracle database 10g, keamanan pada database menggunakan strategi pendekatan pertahanan secara mendalam (defense-in-depth approach) yaitu pertahanan keamanan tidak hanya dari pihak luar tapi juga dari pihak internal organisasi.

Sistem keamanan pada oracle database 10g antara lain : 1. Authentikasi

- Password Authenticated Users, database akan memverifikasi nama user dan password dengan yang tersimpan di database.

- Externally Authenticated Users, bagi pihak luar validasi password tidak tersimpan dalam database, tetapi menunjuk ke account OP$.

Perintah yang digunakan :

CREATE USER ops$oracle IDENTIFIED EXTERNALLY; 2. Pengaturan hak akses :

- Grant Security (system privilege dan object privilege) System Privilege, memberikan hak akses kepada user

untuk mengatur dan mengelola sistem database oracle. Contoh :

sql> grant create any cluster to customer_role; sql> grant select any table to fred;

(41)

sql> grant create tablespace to dba_role;

Object Privilege, merupakan hak akses yang diberikan user untuk melakukan beberapa operasi pada beberapa objek database, seperti tabel, view, sequence atau procedure.

Contoh :

sql> grant select, insert on customer to fred, mary, joe; sql> grant insert on order_table to update_role;

sql> grant all on customer to fred;

sql> grant select on customer_view to mary;

- Role-based grant security, kumpulan dari beberapa privilege yang dikumpulkan menjadi satu. Ini merupakan salah satu cara untuk memudahkan dalam pemberian hak akses kepada user

Contoh :

sql> create role system_admin;

sql> grant select, update on customer to system_admin; sql> grant select on item_table to system_admin; sql> grant system_admin to user 1, user 2, user 3; - Grant Execute Security

Kemampuan untuk membuat hak akses dengan menciptakan suatu program tertentu melalui stored procedure dan bahasa PL/SQL

(42)

Roles adalah kumpulan dari privilege pada database untuk memudahkan manajemen dan memonitor user dan roles dapat digunakan setelah user melewati seluruh pemeriksaan keamanan.

Perintah yang digunakan :

CREATE ROLE role_name IDENTIFIED USING packagename;

3. Pengaturan akses (access control) dengan view restrictions.

Pembatasan akses bagi user dalam melihat database. View adalah logikal tabel yang berisi bukan data sebenarnya tetapi hanya menampilkan kolom sesuai dengan akses yang telah diberikan. 4. Virtual Private Database (VPD)

Virtual Private Database (VPD) atau row level security (RLS) atau biasa disebut juga fine-grained access control (FGAC) merupakan teknologi yang dapat membatasi akses terhadap baris-baris (row) data dari beberapa objek database yaitu tabel dan view secara run-time. Virtual Private Database memfasilitasi database untuk memodifikasi query berdasarkan security policy yang terdapat pada paket policy. Sebuah security policy sangat berkaitan dengan tabel atau view yang dituju. Ketika user secara langsung atau tidak memasuki tabel atau view yang berkaitan dengan VPD security policy, server secara dinamis memodifikasi SQL statement user. Modifikasi ini berdasarkan pada suatu kondisi yang diberikan oleh suatu fungsi yang mengimplementasikan security policy. Setiap

(43)

user diberikan security policy yang berbeda terhadap tabel dan view yang di-query.

Terdapat 3 penambahan komponen penting VPD oracle 10g Column-Level Privacy

Penambahan performance dengan membatasi jumlah query yang dapat ditulis ulang database. Penulisan ulang hanya dapat terjadi jika referensi statemen yang relevan terhadap kolom melalui parameter sec_relevant_cols dalam prosedur DBMS_RLS.ADD_POLICY. Fitur ini juga yang meningkatkan privacy menjadi lebih baik.

Customization

Memperkenalkan 4 tipe policy, kita dapat memodifikasi VPD menggunakan predicate yang sama dengan policy tetap atau menggunakan predicate VPD yang dapat berubah secara dinamis dengan policy tidak tetap.

Shared Policies

Kita dapat menggunakan sebuah VPD policy untuk memperbanyak objek, oleh karenanya dapat menghemat biaya.

5. Auditing

- Statement Auditing

Mencatat audit entry, setiap spesifik SQL statemen atau statemen apapun yang dilakukan oleh user dan juga setiap usaha untuk terkoneksi dengan database baik sukses atau

(44)

gagal. Ini adalah salah satu cara menemukan percobaan hacking pada database.

- Fine-Grained Auditing

Audit yang dapat dilakukan dengan detail yang sangat spesifik dari objek. Hal ini dapat membatasi audit records berdasarkan kolom yang diakses dan nilai dari kolom tersebut. Memungkinkan untuk data diaudit oleh user yang tidak memiliki latar belakang apapun dalam bidang IT. - Audit Trails

Oracle dapat mengaudit kedalam tabel tertentu apakah data dictionary atau file sistem operasi.

6. Enterprise Security dengan lightweight directory access protocol (LDAP)

Manajemen database user dan pengaturan autorisasi secara tersentralisasi.

7. Keamanan pada jaringan dengan proxy authentication.

Memudahkan level tengah (middle tier) atau aplikasi klien untuk di authentikasi lalu ke proxy hingga ke account yang lain pada database tanpa harus authentikasi ulang.

8. Database Encryption

Melindungi data penting dengan menyediakan lapisan (layer) tambahan perlindungan untuk data pada media penyimpanan.

(45)

2.5 Arsitektur Oracle

Pada oracle terdapat dua komponen penting yaitu database dan instance. - Database adalah kumpulan file (physical file) untuk menyimpan

data yang saling berelasi.

Untuk mengecek nama database menggunakan command : select VALUE from v$parameter where NAME=’db_name’

- Instance adalah proses yang mengatur jalannya database (engine), instance mengatur penggunaan memory dan background process yang digunakan untuk mengakses data dari physical database files. Value dari ORACLE_SID adalah nama dari instance juga.

Salah satu alasan dipisahkannya konsep antara database dan instance adalah database dapat digunakan secara bersama-sama (shared) oleh dua atau lebih oracle instance sebagai bagian dari konfigurasi untuk meningkatkan kinerja dari oracle server.

Gambar 2.2. Arsitektur Oracle

(46)

2.6 Struktur Database Oracle

Oracle memiliki dua buah struktur yang merupakan bagian dari arsitektur oracle, yaitu:

a. Struktur logikal, komponen yang digunakan untuk mengalokasikan space pada disk (tablespace).

b. Struktur physical, komponen yang digunakan untuk mengatur fisik dari database file.

2.6.1. Struktur Logikal

- Table space digunakan untuk menyatukan objek database menjadi satu kesatuan, umumnya untuk fasilitasi keamanan, performance atau ketersediaan objek database seperti tabel dan index.

Pada database oracle minimum memiliki dua table space yaitu SYSTEM table space dan SYSAUX table space. - Segment adalah kumpulan dari extents untuk tipe objek

tertentu seperti tabel.

- Extents adalah blok data yang saling berdekatan - Database Blocks adalah bagian terkecil dari storage

- Schemas adalah nama grup dari objek yang berasosiasi dengan user account tertentu.

(47)

Gambar 2.3. Struktur Logikal Oracle Database

[Referensi:Oracle 10g Database Foundations,2004]

2.6.2. Struktur Physical

- Datafile, digunakan untuk menyimpan data dari object database (mis : table, index, dll)

- Redo log files, digunakan untuk menyimpan semua perubahan data yang dibutuhkan pada proses recovery (memperbaiki perubahan yang belum ditulis pada datafile). - Control file, berisi informasi berupa konfigurasi, lokasi data

(48)

Gambar 2.4 Struktur Physical Oracle Database

[Referensi:Oracle 10g Database Foundations,2004]

2.7 Struktur Instance

Oracle Instance terdiri dari Memory dan Background process.

2.7.1. Memory

Oracle menggunakan shared memory untuk pengoprasian database server, yang dibagi dalam struktur memory yang disebut sebagai SGA (System Global Area/Shared Global Area) dan PGA (Program Global Area/Private Global Area).

- SGA (System Global Area/Shared Global Area)

Area berupa shared memory yang digunakan untuk untuk menyimpan data atau konfigurasi yang mengendalikan system. Bila sebuah oracle instance di-startup, maka system melakukan alokasi

(49)

memory untuk SGA dan dikelola sampai instance tersebut tidak dibutuhkan lagi.

(Dalam keadaan shutdown), SGA terdiri dari :

a. Database Buffer Cache, memori yang dialokasikan menyimpan data sementara dari databases blocks yang belum dituliskan pada database datafiles.

Database Buffer Cache memiliki 3 tipe :

- Dirty buffers, buffer yang berisi data dari database block yang akan ditulis pada disk.

- Free buffers, buffer yang kosong dan tidak ada block data didalamnya Ketika oracle membaca data dari disk(datafile) maka free buffer akan menyimpan data tersebut sehingga akan berubah menjadi dirty buffer - Pinned buffers : Block data yang ada dalam buffers

sedang mengalami proses perubahan.

b. Shared Pool, menyimpan informasi seperti data dictionary, sql structure, library. Informasi yang disimpan antara lain: - User information seperti privilege (hak/ijin akses) - Integrity constraints

- Nama table, view, tipe data

- Informasi tentang alokasi memory yang digunakan untuk schema object

c. Redo Log Buffer, berisi informasi yang mencatat semua perubahan yang terjadi pada database secara otomatis dan

(50)

cepat. Data ini di catat ke redo log secepat mungkin, karena akan digunakan untuk tujuan recovery.

d. Library cache, terdiri dari shared SQL areas, privates SQL areas, PL/SQL procedures, package dan control structures seperti locks dan library cache handles.

e. Shared SQL areas, berisi informasi untuk mengeksekusi instruksi SQL dan instruksi ini disimpan, dan bila terjadi query yang sama maka sistem mengalokasikan request tersebut ke lokasi memory yang sama.

f. Data Dictonary Cache, berisi koleksi struktur table, view, dan referensi ke database yang dapat diakses bersama. g. Large Pool adalah memori yang digunakan untuk

menyediakan alokasi memori yang besar untuk spesifik operasi database seperti backup dan restore.

h. Java Pool adalah memori yang dialokasikan untuk proses yang berbasis java.

- PGA (Program Global Area/Private Global Area)

Area pada memori yang berisi data untuk setiap proses yang terjadi pada database dan area ini tidak dipakai bersama (non-share).

Terdiri dari:

a. Stack Space, memori yg dialokasikan untuk menyimpan data dari variable dan arrays

(51)

b. Session Information, memori yg dialokasikan untuk menyimpan data tentang session yang terjadi pada database seperti user koneksi.

c. Sort Area, memori yg dialokasikan untuk menyimpan data dari proses sorting. Perintah SQL yang termasuk proses sort adalah : CREATE INDEX, DISTINCT, ORDER BY, GROUP BY, UNION, INTERSACT, dan MINUS

- SCA (Software Code Area)

Area pada memori yang dialokasikan untuk menyimpan perintah atau code yang sedang dijalankan. Memori ini biasanya digunakan oleh oracle tools dan utilities seperti: SQL*Forms, SQL*Plus, etc.

2.7.2. Proses Background

Eksekusi program komputer pada memori yang melakukan tugas tertentu.

a. PMON (Process Monitor)

- Melakukan rollback untuk transaksi yang dibatalkan. - Membersihkan proses yang berakhir tidak normal. - Mengaktifkan kembali shared_server dan dispatcher

(Proses yang mengatur penjadwalan eksekusi proses oracle) bila mengalami error.

- Membebaskan resource SGA yang dialokasikan pada process yang gagal.

(52)

b. SMON (System Monitor) berfungsi menjalankan instance recovery secara otomatis, mengatur memori segmen dan menggabungkan free area memori yang berdekatan (garbage collector)

c. LGWR (Log Writer) berfungsi menulis semua data block pada buffer ke log file pada saat:

- Terjadi proses commit. - Terjadi Checkpoin.t - Setiap 3 detik. - Log buffer penuh.

d. CKPT (Check Point) berfungsi menjaga konsistensi data dengan membuat check point, sehingga bila terjadi crash, maka kondisi database dapat di kembalikan ke kondisi pada saat check point terakhir di buat. Proses checkpoint adalah menulis semua perubahan (updating) yang terjadi antara begin transaction dan commit.

e. DBWR (Database Writer) berfungsi menulis semua data block pada buffer cache ke datafile pada saat terjadi commit.

(53)

Gambar 2.5 Background Process

[Referensi: Oracle 10g Database Foundations,2004]

2.8 Database Vault

Oracle database vault adalah sistem keamanan tambahan pada oracle database 10g yang dapat digunakan untuk :

- Membatasi akses data aplikasi dari database administrator (DBA) atau user lain yang memiliki privileges.

- Mencegah DBA memanipulasi database atau mengakses aplikasi-aplikasi yang lain.

- Menyediakan pengaturan yang lebih baik tentang siapa, kapan dan dimana suatu aplikasi bisa diakses.

- Meningkatkan proteksi dari struktur database dari perubahan-perubahan yang ilegal.

- Merupakan tool untuk implementasi sistem keamanan yang lebih dinamis dan fleksibel.

(54)

- Merupakan salah satu pengendali internal, yaitu mekanisme yang digunakan untuk bisnis yang umumnya berjalan sesuai dengan peraturan yang ada seperti US Sarbanes-Oxley (SOX), US Healthcare Insurance Portability and Accountability Act (HIPAA), Japan Privacy Law, EU Privacy Directive, and the US California Senate Bill 1386.

- Built-in reports, tersedianya laporan yang berhubungan dengan sistem keamanan termasuk intervensi pada realm.

2.8.1 Komponen Database Vault

- Oracle Database Vault Access Control Components

Membuat komponen-komponen untuk mengatur keamanan database instance

- Oracle Database Vault Administrator (DVA)

Aplikasi java yang dibangun diatas Oracle Database Vault PL/SQL aplikasi (APIs), aplikasi ini dibuat sebagai tampak muka pengaturan dan konfigurasi hak akses bagi manajer keamanan yang tidak bisa PL/ SQL.

- Oracle Database Vault Configuration Assistant (DVCA) Pemeliharaan dari Oracle Database Vault

- Oracle Database Vault DVSYS and DVF Schemas

DVSYS adalah schema untuk penyimpanan database objek yang diperlukan untuk memproses oracle data, schema ini berisi roles, views, accounts, fungsi, dll.

(55)

DVF adalah schema yang berisi fungsi publik untuk mencari (pada saat proses berjalan) factor values pada Oracle Database Vault access control configuration

- Oracle Database Vault PL/SQL Interfaces and Packages Ketersediaan antar muka koleksi PL/SQL dan paket yang member ijin pada security manager atau aplikasi developer untuk mengkonfigurasi kebijaksanaan pemberian hak akses - Oracle Database Vault and Oracle Label Security PL/SQL

APIs

Pengaturan akses yang dapat terintegrasi dengan Oracle Lable Security

- Oracle Database Vault Reporting and Monitoring Tools Pembuatan laporan dari berbagai aktivitas yang telah dimonitor, memonitor perubahan kebijakan, percobaan perusakan atau pembobolan, konfigurasi database dan perubahan struktur.

Komponen Oracle Database Vault Access Control - Database Vault Factor

Factor adalah nama variabel atau attribute, seperti lokasi user, alamat IP database atau session user. Faktor dapat digunakan untuk aktivitas seperti autorisasi account untuk koneksi ke database, membuat filter logikal untuk membatasi visibility dan manageability data, selain itu faktor-faktor yang telah terintegrasi yang dapat digunakan sebagai kombinasi

(56)

dengan rules untuk mengatur akses ke database, aplikasi realm dan perintah-perintah di database dan merupakan blok bangunan dasar dari mandatory access control.

Berikut adalah daftar faktor yang terdapat pada database vault.

Tabel 2.4 Database Vault Factor

Authentication Method Language Enterprise Identity Identification Type Session User Network Protocol Proxy Enterprise Identity Database IP Database Instance

Database Domain Domain Machine

Database Hostname Database Name Client IP

- Database Vault Rule Sets

Mesin rule untuk sistem keamanan database, yang di awasi melalui Data Vault MAC Admininistrator GUI atau PL/SQL APIs, dapat di audit dan memberikan respon.

Kumpulan dari rule (single conditions) untuk mengontrol: 1. Faktor penugasan.

2. Autorisasi realm.

3. Kemampuan untuk menjalankan perintah-perintah database. 4. Kemampuan sebagai secure application role.

- Database Vault Command Rules

Command rules adalah rule yang dibuat untuk memproteksi pernyataan SELECT, ALTER SYSTEM, DDL, DML yang mempengaruhi database objek.

Kategori command rules:

- Memiliki system-wide scope : hanya dapat membuat satu command rule untuk tiap database instance

(57)

Contoh: command rule untuk ALTER SYSTEM dan CONNECT

- Memiliki schema tertentu, contoh: command rule untuk DROP TABLE

- Memiliki object tertentu, contoh: command rule untuk DROP TABLE dengan tabel tertentu.

Rules dan factor dapat berasosiasi dengan banyak perintah di database. Rules memiliki internal control yang lebih kuat dan dapat di buat sesuai dengan kebijaksanaan operasional. Sebagai contoh , sebuah rule dapat didefinisikan sebagai limit eksekusi dari perintah alter sistem untuk alamat IP dan hostname tertentu.

Berikut adalah contoh perintah database dimana rules dapat berasosiasi melalui database vault administrative interface.

Tabel 2.5 Database Vault Command Rules

Alter Database Alter View Noaudit

Alter Function Audit Alter Tablespace Alter Package Body Alter Procedure Alter Profile Alter Session Alter System Alter Synonym Alter Table Alter Trigger Alter User Password Change Password Truncate Table

Rename Connect Comment

Create Function Create Index Create Package Create Database Link Create Procedure Create Role Create Package Body Create User Create View

Create Table Grant Drop User

Create Profile Revoke Drop Profile Create Tablespace Create Trigger Connect

Update Insert Delete

(58)

- Perintah Otorisasi (Command Authorizations)

Pembatasan dari penggunaan perintah DDL (create user, alter user), objek tertentu atau seluruhnya, berdasar pada kondisi rule set akan dievaluasi setelah data vault realms, dapat diimplementasikan pada prosedur bisnis.

- Realm adalah kumpulan dari schema dan roles yang telah diproteksi, layer tambahan dari manajemen hak akses dalam database, wadah yang merupakan zona proteksi . Database vault administrator dapat membuat realm dan mendefinisikan isi didalamnya. Realm dapat berupa database objek seperti sebuah tabel, banyak tabel atau sebuah aplikasi atau banyak aplikasi. Berikut adalah gambaran umum realms

Gambar 2.6 Realms

[Referensi: Oracle Database Vault Administrator Guide, 2008] Keuntungan realms :

1. Membatasi DBA sistem dari query dan manipulasi data bisnis yang sensitive.

2. Implementasi aplikasi DBA dan konsep sub-databases 3. Blok untuk konsolidasi yang aman.

Gambar

Tabel 2.1 Ancaman terhadap security database
Tabel 2.1 Ancaman terhadap security database (lanjutan)  Ancaman  Theft and  Fraud  Loss of  Confidentiality  Loss of  Privacy  Loss of  Integrity  Loss of  Availability  Pengurangan pegawai
Gambar 2.1 Hubungan komponen keamanan  [Referensi:CISSP Certification Guide,2007]
Tabel 2.2 Klasifikasi data komersial  Clasification  Description
+7

Referensi

Dokumen terkait

a. Studi Literatur; langkah awal dari proses suatu perancangan adalah studi literatur, hal ini berguna sebagai landasan teori penelitian, baik itu dalam proses

Beban kerja dapat dibedakan lebih lanjut ke dalam beban kerja berlebih/terlalu sedikit “kuantitatif”, yang timbul sebagai akibat dari tugas-tugas yang terlalu

Realisasi penerimaan perpajakan di wilayah Kalimantan Selatan sampai dengan triwulan II tahun 2018 sebesar Rp3,6 triliun atau 43,6% dari target 2018.. Realisasi penerimaan

menunjukan bahwa nilai hasil belajar pada kelompok kontrol dan eksperimen memiliki variansi yang sama atau tidak berbeda nyata baik pada ranah kognitif, psikomotorik

a) Kegiatan belajar mengajar dengan menerapkan pemberian tugas sebelum materi diajarkan sangat efektif sehingga tujuan pembelajaran dapat tercapai. Aktivitas siswa

Bank Jabar Banten Cabang Soreang Bandung mengalami kenaikan sebesar 192.99 hal ini disebabkan karna permintaan kredit pada tahun tersebut mengalami kenaikan dari

sudah memiliki visa), atau yang ditolak oleh perusahaan penerbangan, atau dalam perjalanan menderita sakit, atau ada kelainan jiwa, atau dalam perjalanan mengalami kecelakaan,

Perlakuan yang sama pada benih yang diinokulasi menunjukkan pengaruh yang lebih baik pada tinggi bibit 6 MST dan jumlah daun 3 MST yaitu 8,3 cm dan 1,3 dibanding kontrol