Database Security

14

Click here to load reader

description

Database Security

Transcript of Database Security

Page 1: Database Security

Konsep Pemrograman 1 PAGE 10

8 Database Security

Overview

Tindakan backup adalah salah satu aspek penting dari operasi sistem komputer. Mendapatkan data yang valid, complete, up-to-date, adalah hal utama yang diinginkan selalu, saat sebuah basis data sedang diakses. Namun

kesalahan seperti bugs, kecelakaan, malapetaka akibat human-error, dan serangan ke basis data adalah sesuatu hal yang kadangkala sulit untuk diprediksi namun dapat dicegah bila dilakukan tindakan preventif sedini mungkin. Dengan melakukan tindakan back-up data secara periodik, hal-hal

yang sewajarnya bisa dihindari dapat direalisasikan sehingga user dapat melakukan perbandingan antara sistem di saat sekarang sedang berjalan dengan hasil bac-up data sebelumnya. Dengan demikian akan ada tindakan

analisa apakah telah terjadi perubahan data pada sistem ataukah masih berjalan sewajarnya.

Tujuan

1. Mahasiswa memahami aspek terpenting keamanan basis data dan alasan

melindunginya 2. Mahasiswa memahami klasifikasi keamanan basis data 3. Mahasiswa memahami apa yang menjadi aspek kehandalan keamanan

Page 2: Database Security

Konsep Pemrograman 2 PAGE 10

basis data

4. Mahasiswa memahami yang dimaksud back-up dan recovery dan manfaatnya untuk keamanan basis data

8.1 Alasan utama aspek keamanan basis data menjadi hal krusial

Mengapa masalah keamanan basis data menjadi penting? Jawaban secara

sederhananya, sebagai berikut: basis data merupakan salah satu komponen yang penting dalam sistem informasi; karena merupakan media utama dalam menyediakan informasi kepada user. Alasan lain, adalah karena menyangkut

informasi yang tersimpan dari sebuah sistem atau organisasi pada media simpanan data itu sehingga sangat penting sekali untuk dijaga keamanannya dari penggunaan orang yang tidak memiliki otoritas.

Informasi yang disimpan bisa dalam bentuk hard-copy, atau dalam bentuk soft-copy. Dalam bentuk soft-copy disebut data-base (basis data); sedangkan penerapan data-base ke dalam sistem informasi disebut dengan database system.

Kesimpulannya, beberapa hal penting mengapa harus menjadi perhatian khusus dalam keamanan basis data adalah sebagai berikut:

Kemampuan menyediakan informasi dengan cepat dan akurat, adalah merupakan kebutuhan dalam information-based society.

Sangat pentingnya informasi sehingga hanya boleh diakses oleh orang yang memiliki otorisas (hak akses).

Adanya trend trade-secret, yaitu jual-beli data, sehingga ada muncul

perilaku untuk mencuri informasi, karena ada nilai ekonomis-nya.

8.1.1. Perubahan paradigma personal-computer menjadi shared-computer Awalnya sebuah komputer disebut PC (Personal Computer), namun seiring dengan perkembangan bidang jaringan komputer, maka sebuah komputer tidak tepat lagi disebut PC, melainkan shared-computer. Shared-computer

biasanya digunakan untuk menyimpan data yang bersifat classified-information. Shared-computer adalah komputer yang saling dikoneksikan satu dengan yang lain, sehingga user bisa saling berbagi informasi (shared-resources), yang

membentuk sebuah Local Area Network (LAN). Dengan adanya LAN

Page 3: Database Security

Konsep Pemrograman 3 PAGE 10

(computer networks) akan mempercepat user untuk melakukan akses ke basis

data. Basis Data yang berada pada komputer dihubungkan ke jaringan komputer

agar proses sharing-information dapat berjalan. Dengan demikian, user dapat mengakses informasi yang diinginkan ke basis data dari mana saja dan kapan saja.

Dengan adanya koneksi ke basis data dari segala arah, menyebabkan beberapa hal baru yang mengkhawatirkan muncul seperti:

Membuka potensi lubang keamanan untuk disusupi oleh penyadap (mata-

mata)

User dihadapkan kepada pilihan: keamanan (secure) atau kenyamanan

(comfortable).

Meningkatnya jumlah host yang digunakan seiring jumlah user yang

memiliki otoritas menyebabkan, lebih banyak server yang harus ditangani; sehingga membutuh lebih banyak SDM yang handal dan tersebar; padahal susah mencari SDM yang diinginkan berdasar kebutuhan, untuk itu

dilakukan desentralisasi server. 8.1.2. Klasifikasi Keamanan Basis Data

Klasifikasi Keamanan Basis Data dapat disebutkan sebagai berikut: Keamanan yang bersifat fisik (physical security), yaitu yang berdasar pada

aspek fisik perangkat. Misalkan ruang server, kunci komputer, kartu

elektronis. Keamanan yang berhubungan dengan orang (personel), yaitu user yang

diberi labelling untuk privillege akses pengguna.

Keamanan dari data dan media serta teknik komunikasi, yaitu bagaimana agar prosedur penyimpanan lebih aman, begitu juga pada media yan digunakan dan teknik untuk mengamankan data tersebut.

Keamanan dalam operasi, yaitu menyusun mekanisme pengoperasian user agar terkontrol sehingga dapat diantisipasi kesalahan yang terjadi saat penyimpanan dan pengambilan data.

Beberapa aspek untuk mendukung Keamanan Basis Data dapat disebutkan

sebagai berikut: Network security, memfokuskan kepada saluran pembawa informasi serta

sistem yang terintegrasi kepadanya (host dan kanal).

Page 4: Database Security

Konsep Pemrograman 4 PAGE 10

Application security, memfokuskan kepada aplikasi itu sendiri (yang

digunakan untuk basis data atau yang menjadi antar-muka kepada basis data), beserta aplikasi dukungan lainnya kepada basis data itu sendiri.

Computer security, memfokuskan kepada keamanan dari komputer (end

system) yang digunakan, khususnya hardware pada komputer tersebut. Selanjutnya, aspek kehandalan terhadap Keamanan Basis Data, yaitu: Privacy / confidentiality

Seperti bagaimana memproteksi data bersifat pribadi yang sensitif seperti:nama, tempat tanggal lahir, agama, hobby, penyakit yang pernah diderita, status perkawinan; data pelanggan; dan transaksi pada e-

commerce. Juga khususnya melakukan proteksi terhadap serangan sniffer.

Integrity Tindakan bagaimana agar informasi tidak berubah tanpa ijin seperti:

Tampered (data baru menimpa data lama)

Altered (perubahan terhadap nilai data yang eksis, yakni data ter-edit)

Modified (data yang eksis dapat disisipkan, ditambah, dihapus oleh

data baru) Khususnya melakukan proteksi terhadap serangan: spoof, virus, trojan horse.

Authentication (otentifikasi)

Tindakan otentifikasi dilakukan untuk meyakinkan keaslian data, sumber

data yang diakses, user yang mengakses data, serta server yang digunakan, dengan melakukan cara seperti: penggunaan digital signature, dan biometrics.

Ini dilakukan untuk memproteksi terhadap serangan seperti password palsu.

Availability Artinya, informasi harus dapat tersedia ketika dibutuhkan, dengan menghindari server dibuat hang, down, crash.

Tindakan ini bertujuan untuk proteksi terhadap serangan: Denial of Service (DoS) attack.

Non-repudiation Non-repudiation maksudnya menghindari akses-user agar tidak dapat menyangkal bahwa telah melakukan transaksi; dengan cara setiap akhir

transaksi pada form dilengkapi dengan penggunaan digital signature.

Page 5: Database Security

Konsep Pemrograman 5 PAGE 10

Pengguna Akhir

Menggunakan hak

akses orang lain.

Melihat & menutup

data yang tidak

diotorisasi

Staf tidak di-training

Pemasukan data

yang dilakukan oleh

yang tidak berhak.

Virus

pemerasan

Programmer /

Operator

Membuat Password.

Membuat program

yang tidak aman

Staf yang tidak di-

training.

Kebijakan

keamanan &

prosedur

Pemogokan staf

Database

Administrator

Kebijakan

keamanan &

prosedur

Hal ini dilakukan untuk proteksi terhadap serangan: deception.

Access control

Dengan adanya access control, maka ada sebuah mekanisme yang

digunakan untuk mengatur user dan akses yang dilakukan oleh user (siapa boleh melakukan apa). Beberapa caranya seperti:

Dengan menggunakan password.

Membuat kelas / klasifikasi privillege user. Ini bertujuan untuk melakukan proteksi terhadap serangan: intruder.

Batasan privillege-user untuk Access Control pada basis data ditunjukkan pada

skema berikut ini:

Page 6: Database Security

Konsep Pemrograman 6 PAGE 10

Gambar 8.1 Pembatasan akses pada basis data

8.2 Klasifikasi file (arsip)

Master File (File Induk): dalam sebuah aplikasi, file ini merupakan file yang penting karena berisi record-record yang sangat perlu di dalam organisasi.

Transaction File (File Transaksi): digunakan untuk merekam data hasil dari transaksi yang terjadi. Report File (File Laporan): berisi informasi-informasi yang akan ditampilkan.

History File (File Sejarah): berisi data masa lalu yang sudah tidak aktif lagi, namun masih tetap disimpan sebagai arsip. Backup File (File Pelapis): salinan dari file-file yang masih aktif di dalam basis

data pada suatu saat tertentu

Hirarki organisasi data dapat ditunjukkan sebagai berikut:

Gambar 8.2 Jenjang level data pada Basis Data

Penjelasannya sebagai berikut:

Bit merupakan unit data yang terkecil dan terdiri dari biner 1 atau 0.

Byte yaitu suatu kelompok yang terdiri dari beberapa bit yang

menggambarkan satu angka, karakter atau simbol lainnya.

Field yaitu kelompok karakter, angka atau simbol-simbol menjadi suatu

kata, kelompok huruf atau kelompok angka.

Record yakni kelompok dari suatu field.

Arsip (File) adalah kelompok dari record yang mempunyai tipe yang sama.

Page 7: Database Security

Konsep Pemrograman 7 PAGE 10

Database yaitu kelompok dari arsip-arsip yang berhubungan.

8.3 Serangan (attack) terhadap basis data

Jenis-jenis serangan (attack): Interruption, yaitu penghentian sebuah proses yang sedang berjalan. Interception yaitu menyela sebuah proses yang sedang berjalan.

Modification yaitu mengubah data tanpa ijin dari pihak otoritas. Fabrication yaitu serangan yang bersifat destruktif berupa perusakan

secara mendasar pada sistem utama.

Gambar 8.3 Skema Akses dan Prosedur pada Basis Data yang terkoneksi on-

line

Page 8: Database Security

Konsep Pemrograman 8 PAGE 10

Perlunya keamanan menyeluruh pada Basis Data disebabkan keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh user yang tidak memiliki otoritas.

Oleh sebab itu untuk menjaga keamanan Basis Data dibutuhkan beberapa cara seperti:

Penentuan perangkat lunak Basis Data Server yang handal.

Pemberian otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada.

Gambar 8.4 Skema Lapisan pada Basis Data yang dinterkoneksikan dengan

aplikasi sistem utama

Beberapa penyalahgunaan basis data:

Tidak disengaja, misalnya sebagai berikut:

kerusakan selama proses transaksi

keadaan yang disebabkan oleh akses database yang konkuren

keadaan yang disebabkan oleh pendistribuasian data pada beberapa komputer

logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database.

Disengaja oleh pihak yang tidak ada otoritas, seperti misalnya:

Pengambilan data / pembacaan data

Pengubahan data

Page 9: Database Security

Konsep Pemrograman 9 PAGE 10

Penghapusan data

Tingkatan entitas pada Keamanan Basis Data, dapat disebutkan sebagai

berikut:

Physical, yaitu lokasi-lokasi dimana terdapat sistem komputer haruslah

aman secara fisik terhadap serangan destroyer.

User, yaitu wewenang user harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh user lain yang otoritas.

Sistem Operasi, yaitu kelemahan entitas ini memungkinkan pengaksesan data oleh user tak berwenang, karena hampir seluruh jaringan sistem basis data berjalan secara on-line.

Sistem Basisdata, yaitu pengaturan hak pengguna yang baik.

Gambar 8.5 Skema Utama Mekanisme Keamanan Basis Data on-line

Alasan mengapa dibutuhkan otoritas pada keamanan basis data, yaitu:

Remote Client

ENKRIPSI

FIREWALL

In-Secure

Eksternal

Network

ENKRIPSI

Server DBMS

Otorisasi

Dan Akses

Local Client

Database

Secure

Internal

Network

(Intranet)

Page 10: Database Security

Konsep Pemrograman 10 PAGE 10

Pemberian wewenang atau hak istimewa (privilege) untuk mengakses

sistem basis data.

Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak

dengan 2 fungsi, yaitu: Mengendalikan sistem atau obyek yang dapat diakses Mengendalikan bagaimana user menggunakannya

Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat user account.

Sedangkan yang dimaksud dengan Tabel View pada keamanan basis data adalah

metode pembatasan bagi user untuk mendapatkan model basis data yang sesuai dengan kebutuhan pengguna. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu

dilihat oleh user. Untuk pengamanan pada Basis Data Relasional dilakukan beberapa level

seperti: Relasi, yaitu user diperbolehkan atau tidak diperbolehkan mengakses

langsung suatu relasi. View, yaitu user diperbolehkan atau tidak diperbolehkan mengakses data

yang terapat pada view. Read Authorization, yaitu user diperbolehkan membaca data, tetapi tidak

dapat memodifikasi.

Insert Authorization, yaitu user diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.

Update Authorization, yaitu user diperbolehkan memodifikasi data, tetapi

tidak dapat menghapus data. Delete Authorization, yaitu user diperbolehkan menghapus data.

Beberapa otorisasi tambahan untuk Modifikasi Data (Update Authorization), seperti: Index Authorization adalah user diperbolehkan membuat dan menghapus

index data. Resource Authorization adalah user diperbolehkan membuat relasi-relasi

baru.

Alteration Authorization adalah user diperbolehkan menambah/menghapus atribut suatu relasi.

Drop Authorization adalah user diperbolehkan menghapus relasi yang

sudah ada.

Page 11: Database Security

Konsep Pemrograman 11 PAGE 10

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 FROM BUDI REVOKE SELECT,UPDATE (STATUS,KOTA) ON S FROM ALI,BUDI

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

8.4 Back-up data dan recovery

Tindakan back-up adalah proses secara periodik untuk mebuat duplikat dari basis-data dan melakukan logging-file (atau program) ke media penyimpanan

eksternal. Sedangkan tindakan recovery (pemulihan) adalah merupakan upaya uantuk

mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.

Ada tiga jenis tindakan pemulihan, yaitu:

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

Pemulihan terhadap kegagalan media : yaitu pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (back-up)

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

Fasilitas pemulihan pada DBMS (Database Management Systems): Mekanisme back-up secara periodik

Page 12: Database Security

Konsep Pemrograman 12 PAGE 10

Fasilitas logging (log-book) 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.

Rangkuman

1. Kemampuan menyediakan informasi dengan cepat dan akurat, merupakan

kebutuhan dalam information-based society. 2. Klasifikasi Keamanan Basis Data:

Keamanan yang bersifat fisik (physical security).

Keamanan yang berhubungan dengan orang (personel).

Keamanan dari data dan media serta teknik komunikasi.

Keamanan dalam operasi. 3. Back-up adalah proses secara periodik untuk mebuat duplikat dari basis-

data dan melakukan logging file (atau program) ke media penyimpanan eksternal.

4. Recovery merupakan upaya uantuk mengembalikan basis data ke keadaaan

yang dianggap benar setelah terjadinya suatu kegagalan

Kuis Benar Salah

1. Pernyataan 1 2. Pernyataan 2 3. Pernyataan 3 4. l 5. l

Page 13: Database Security

Konsep Pemrograman 13 PAGE 10

Pilihan Ganda

Petunjuk: Pilihlah jawaban yang paling tepat! 1.

Komputer yang paling awal di antara komputer berikut adalah

_____________

A. EDVAC D. Pentium

B. ENIAC E. LARC

C. UNIVAC

Latihan

1. Ada berapa generasi komputer hingga saaat ini?

2. Jelaskan perbedaan ENIAC, EDVAC, UNIVAC!

Page 14: Database Security

Konsep Pemrograman 14 PAGE 10