Mengapa masalah keamanan basis data menjadi...

Post on 03-Feb-2018

235 views 2 download

Transcript of Mengapa masalah keamanan basis data menjadi...

Mengapa masalah keamanan basis data menjadi

penting?

� Kemampuan menyediakan informasi dengan� Kemampuan menyediakan informasi dengancepat dan akurat, merupakan kebutuhan dalaminformation-based society.

� Sangat pentingnya informasi ⇒hanya bolehdiakses oleh orang yang terotorisasi.

� Adanya trend trade-secret; curi informasi ⇒ ada� Adanya trend trade-secret; curi informasi ⇒ adanilai ekonomis

� Keamanan merupakan suatu proteksi terhadap � Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.

� Untuk menjaga keamanan Basis Data dgn :

� Penentuan perangkat lunak Data Base Server yang handal.

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

Pendahuluan� Awalnya sebuah komputer disebut PC (Personal� Awalnya sebuah komputer disebut PC (PersonalComputer), namun seiring dengan perkembanganbidang jaringan komputer, maka sebuah komputertidak tepat lagi disebut PC, melainkan shared-computer ⇒digunakan untuk menyimpanclassified-information.

� Dengan adanya LAN (computer networks) akanmempercepat akses.

� Basis Data mulai terhubung ke jaringan komputer

� Membuka potensi lubang keamanan.� Membuka potensi lubang keamanan.

� Security vs kenyamanan (comfortable).

� Lebih banyak server yang harus ditangani dan butuhlebih banyak SDM yang handal dan tersebar; padahalsusah mencari SDM, untuk itu dilakukandesentralisasi server.

Potensi ancaman

Klasifikasi Keamanan Basis Data:� Keamanan yang bersifat fisik (physical security).� Keamanan yang bersifat fisik (physical security).

� Keamanan yang berhubungan dengan orang(personel).

� Keamanan dari data dan media serta teknikkomunikasi.

� Keamanan dalam operasi.� Keamanan dalam operasi.

Aspek untuk dukungan keamanan Basis Data:

� Network security ⇒ fokus kepada saluran pembawa� Network security ⇒ fokus kepada saluran pembawainformasi.

� Application security ⇒ fokus kepada aplikasi itusendiri.

� Computer security ⇒ fokus kepada keamanan darikomputer (end system) yang digunakan.komputer (end system) yang digunakan.

Prinsip pengamanankerahasiaan

� Kerahasiaan menjamin perlindungan akses informasi

Integritas ketersediaan

Security

Principles

� Kerahasiaan menjamin perlindungan akses informasi

� Keterpaduan menjamin bahwa informasi tidak dapat diubah

� Ketersediaan menjamin kesiapa kesiapan akses informasi

9

contoh� Kerahasiaan: catatan medis pasien harus tertutup � Kerahasiaan: catatan medis pasien harus tertutup

untuk umum

� Integritas: catatan medis harus benar

� Ketersediaan: catatan medis pasien dapat diakses saat dibutuhkan untuk pengobatan

10

Aspek kehandalan

�Privacy / confidentiality�Privacy / confidentiality� Proteksi data bersifat pribadi yang sensitif seperti:

� Nama, tempat tanggal lahir, agama, hobby, penyakityang pernah diderita, status perkawinan

� Data pelanggan

� Transaksi pada e-commerce� Transaksi pada e-commerce

� Proteksi terhadap serangan sniffer.

Aspek kehandalan : Integrity

� Informasi tidak berubah tanpa ijin seperti:� Informasi tidak berubah tanpa ijin seperti:

� Tampered (menimpa data lama)

� Altered (perubahan nilai data ⇒edited)

� Modified (disisipkan, ditambah, dihapus)

� Proteksi terhadap serangan sniffer.

Aspek kehandalan : Integrity

� Informasi tidak berubah tanpa ijin seperti:� Informasi tidak berubah tanpa ijin seperti:

� Tampered (menimpa data lama)

� Altered (perubahan nilai data ⇒edited)

� Modified (disisipkan, ditambah, dihapus)

� Proteksi terhadap serangan: spoof, virus, trojan horse.

Aspek kehandalan : Authentication

� Meyakinkan keaslian data, sumber data, orang yang� Meyakinkan keaslian data, sumber data, orang yangmengakses data, server yang digunakan:

� penggunaan digital signature, biometrics.

� Proteksi terhadap serangan: password palsu.

Aspek kehandalan : Availability

� Informasi harus dapat tersedia ketika dibutuhkan:� Informasi harus dapat tersedia ketika dibutuhkan:

� server dibuat hang, down, crash.

� Proteksi terhadap serangan: Denial of Service (DoS)attack.

Aspek kehandalan : Non-repudiation

� Tidak dapat menyangkal (telah melakukan transaksi):� Tidak dapat menyangkal (telah melakukan transaksi):

� menggunakan digital signature.

� Proteksi terhadap serangan: deception.

Aspek kehandalan : Access Control

� Mekanisme untuk mengatur siapa boleh melakukan� Mekanisme untuk mengatur siapa boleh melakukanapa:

� biasanya menggunakan password.

� adanya kelas / klasifikasi privillege user.

� Proteksi terhadap serangan: intruder.

Batasan Privillege-user untuk Access Controlpada Basis Data:

Pengguna Akhir

• Menggunakan hak

akses orang lain.

• Melihat & menutup

data yang tidak

diotorisasi

• Staf tidak di-training

Programmer /

Operator

• Membuat Password.

• Membuat program

yang tidak aman

• Staf yang tidak di-

Database

Administrator

• Kebijakan

keamanan &

prosedur

• Staf tidak di-training

• Pemasukan data

yang dilakukan oleh

yang tidak berhak.

• Virus

• pemerasan

• Staf yang tidak di-

training.

• Kebijakan

keamanan &

prosedur

• Pemogokan staf

Jenis Serangan (attack)� Interruption: penghentian sebuah proses yang sedang� Interruption: penghentian sebuah proses yang sedang

berjalan.

� Interception: menyela sebuah proses yang sedangberjalan.

� Modification: mengubah data tanpa ijin dari pihakotoritas.

� Fabrication: perusakan secara mendasar pada sistem� Fabrication: perusakan secara mendasar pada sistemutama.

Perlunya keamanan menyeluruh pada Basis Data:

� Keamanan merupakan suatu proteksi terhadap� Keamanan merupakan suatu proteksi terhadappengrusakan data dan pemakaian data oleh user yangtidak memiliki otoritas.

� Untuk menjaga keamanan Basis Data dibutuhkan:� Penentuan perangkat lunak Basis Data Server yang

handal.

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

Skema Akses dan Prosedur pada Basis Data yang

terkoneksi on-line: Perangkat keras

Kebakaran, banjir, bom,

pencurian, listrik, gempa, radiasi,

kesalahan mekanisme keamanan

DBM S dan Program

Aplikasi

Jaringan

Komunikasi

Kabel yang tidak

terkoneksi, radiasi

Database Aplikasi

Kesalahan mekanisme

keamanan

Akses yang terlalu luas

Pencurian program

Kesalahan program

Database

Aturan / amandemen

yang tidak diotorisasi,

penduplikatan data,

pencurian data,

kehilangan data akibat

gangguan listrik

Skema Lapisan pada Basis Data yang dinterkoneksikan

dengan aplikasi sistem utama

DBMSMiddle-end units

user

DBMS

Back-end system

Middle-end units

Front-end system

Penyalahgunaan Database :• Tidak disengaja, misalnya sebagai berikut:

kerusakan selama proses transaksi• 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• Disengaja oleh pihak yang tidak ada otoritas, sepertimisalnya:• Pengambilan data / pembacaan data

• Pengubahan data

• Penghapusan data

Tingkatan Pada Keamanan Basis Data

� Physical ⇒ lokasi-lokasi dimana terdapat sistemkomputer haruslah aman secara fisik terhadap

� Physical ⇒ lokasi-lokasi dimana terdapat sistemkomputer haruslah aman secara fisik terhadapserangan destroyer.

� User ⇒ wewenang user harus dilakukan denganberhati-hati untuk mengurangi kemungkinan adanyamanipulasi oleh user lain yang otoritas.

� Sistem Operasi ⇒ kelemahan entitas inimemungkinkan pengaksesan data oleh user takmemungkinkan pengaksesan data oleh user takberwenang, karena hampir seluruh jaringan sistembasis data berjalan secara on-line.

� Sistem Basisdata ⇒ Pengaturan hak pengguna yangbaik.

Skema Utama Mekanisme Keamanan Basis Data

on-line

ENKRIPSI

In-Secure

Eksternal ENKRIPSI

Remote Client

ENKRIPSI

FIREWALL

Eksternal

Network

ENKRIPSI

Server DBM S

Otorisasi

Dan Akses

Local Client

Database

Secure

Internal

Network

(Intranet)

Pertahanan� Menggunakan pendekatan berlapis:

� Meningkatkan deteksi resiko serangan

� Mengurangi kesempatan berhasilnya penyerangan� Mengurangi kesempatan berhasilnya penyerangan

Pembakuan OS, pengelolaan jalur, Pembakuan OS, pengelolaan jalur,

autentikasiautentikasi

IPSec, NIDSIPSec, NIDS

Pembakuan aplikasi, antivirusPembakuan aplikasi, antivirus

enkripsienkripsi

Jaringan internalJaringan internalJaringan internalJaringan internal

HostHostHostHost

AplikasiAplikasiAplikasiAplikasi

Data

26

Kebijakan, Prosedur, & Kepedulian

Firewalls, VPN quarantineFirewalls, VPN quarantine

pengawasan, kunci, penandaan pengawasan, kunci, penandaan

peralatanperalatan

IPSec, NIDSIPSec, NIDS

Pembelajaran userPembelajaran user

Kemanan fisik

Perimeter

Jaringan internalJaringan internalJaringan internalJaringan internal

Alasan dibutuhkan otoritas pada keamanan basis data:

� Pemberian wewenang atau hak istimewa (privilege)untuk mengakses sistem basis data.

� Pemberian wewenang atau hak istimewa (privilege)untuk mengakses sistem basis data.

� Kendali otorisasi (=kontrol akses) dapat dibangun padaperangkat lunak dengan 2 fungsi :

� Mengendalikan sistem atau obyek yang dapat diakses

� Mengendalikan bagaimana usermenggunakannya

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

Tabel View pada keamanan basis data:

� Merupakan metode pembatasan bagi user untuk� Merupakan metode pembatasan bagi user untukmendapatkan model basis data yang sesuai dengankebutuhan pengguna.

� Metode ini dapat menyembunyikan data yang tidakdigunakan atau tidak perlu dilihat oleh user.

Untuk Beberapa tingkat pengamanan pada Basis Data

Relasional

� Relasi⇒ user diperbolehkan atau tidak diperbolehkan� Relasi⇒ user diperbolehkan atau tidak diperbolehkanmengakses langsung suatu relasi.

� View⇒ user diperbolehkan atau tidak diperbolehkanmengakses data yang terapat pada view.

� Read Authorization⇒ user diperbolehkan membacadata, tetapi tidak dapat memodifikasi.

� Insert Authorization⇒user diperbolehkan menambah� Insert Authorization⇒user diperbolehkan menambahdata baru, tetapi tidak dapat memodifikasi data yangsudah ada.

� Update Authorization ⇒ user diperbolehkanmemodifikasi data, tetapi tidak dapat menghapusdata.

Delete Authorization⇒ user diperbolehkan menghapus� Delete Authorization⇒ user diperbolehkan menghapusdata.

Otorisasi tambahan untuk Modifikasi Data (Update

Authorization):

� Index Authorization ⇒ user diperbolehkan membuat� Index Authorization ⇒ user diperbolehkan membuatdan menghapus index data.

� Resource Authorization ⇒ user diperbolehkanmembuat relasi-relasi baru.

� Alteration Authorization ⇒ user diperbolehkanmenambah/menghapus atribut suatu relasi.menambah/menghapus atribut suatu relasi.

� Drop Authorization ⇒ user diperbolehkanmenghapus relasi yang sudah ada.

Contoh perintah menggunakan SQL :GRANT : memberikan wewenang kepada pemakai

Syntax : Syntax :

GRANT <priviledge list> ON <nama relasi/view>

TO <pemakai>

Contoh :

GRANT SELECT ON S TO BUDI

Contoh :

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

Contoh perintah menggunakan SQL :

REVOKE : mencabut wewenang yang dimiliki oleh pemakai

Syntax : REVOKE <priviledge list> ON <nama relasi/view>

Contoh :

Syntax : REVOKE <priviledge list> ON <nama relasi/view>

FROM <pemakai>

REVOKE SELECT ON S FROM BUDI

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

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

ALTERATION, RESOURCE

Back-up data dan recovery :� Back-up : proses secara periodik untuk mebuat� Back-up : proses secara periodik untuk mebuat

duplikat dari basisdata dan melakukan logging file(atau program) ke media penyimpanan eksternal.

� Recovery : merupakan upaya uantuk mengembalikanbasis data ke keadaaan yang dianggap benar setelahterjadinya suatu kegagalan

Cara mudah menerapkan

keamanan� Memberi semua pengguna akses maksimum, tetapi � Memberi semua pengguna akses maksimum, tetapi

kelemahannya adalah adanya kemungkinan kehilangan atau penyalahgunaan data.

� Pengguna basisdata harus mempunyai akses yang cukup untuk melaksanakan pekerjaannya. Dengan kata lain, akses yang diberikan kepada pengguna harus sekecil mungkin untuk menghindari masalah.mungkin untuk menghindari masalah.

Tingkatan Akses� Apabila pengguna diberi identitas pengguna, mereka � Apabila pengguna diberi identitas pengguna, mereka

dapat mengakses basisdata secara langsung ke dalam jaringan melalui aplikasi client-server

� Novell dapat mengontrol account sistem operasi dan account basisdata. Sistem Administrator maupun Administrator Basisdata mempunyai potensi melakukan kesalahan.kesalahan.

Tingkatan akses ke suatu sistem

informasi:

� Pengguna Super (root pada Unix, Admin pada Novell)� Pengguna Super (root pada Unix, Admin pada Novell)

� Pemilik Basisdata

� Pemilik Skema

� Pengguna Akhir

� Pengguna super adalah account pada sistem operasi � Pengguna super adalah account pada sistem operasi yang mempunyaiPrivilege paling banyak. Pengguna super memiliki akses ke semua file yang disimpan pada sistem

� Pemilik basisdata memiliki akses ke semua file yang berhubungan dengan software basisdata dan file data pada suatu sistem.Meskipun pemilik basisdata dibatasi pada file-file yang berhubungan dengan dibatasi pada file-file yang berhubungan dengan basisdata, tetapi kita perlu mengingat bahwa sebagian file pada sebagian sistem berhubungan dengan basisdata

� Pemilik skema adalah pembuat dan pemilik objek-� Pemilik skema adalah pembuat dan pemilik objek-objek basisdata yang digunakan untuk aplikasi pengguna.Pemilik skema mempunyai akses tak terbatas ke seluruh objek skema danbertanggungjawab mengontrol akses ke account pengguna lainnya.

� Pengguna akhir mempunyai akses paling sedikit � Pengguna akhir mempunyai akses paling sedikit meskipun basisdata dibuat untuk pengguna akhir.

Hubungan pengguna dengan basisdata

� Pengguna dalam suatu basisdata dapat pula mengakses basisdata � Pengguna dalam suatu basisdata dapat pula mengakses basisdata lainnya dengan menghubungkan dua basisdata. Hubungan keduanya akan menghubungkan pengguna pada basisdata pertama ke pengguna pada basisdata kedua.

� Kemudian, pengguna pada basisdata pertama dapat mengakses basisdata kedua dengan privilege yang dimiliki pengguna pada basisdata kedua. Hubungan basisdata merupakan tool yang sangat berguna, tetapi harus diatur untuk memastikan tool tidak sangat berguna, tetapi harus diatur untuk memastikan tool tidak disalahgunakan

Privilege� Privilege digunakan untuk mengontrol akses pengguna. Privilege � Privilege digunakan untuk mengontrol akses pengguna. Privilege

terdapat pada tingkatan sistem operasi, basisdata, dan aplikasi.

� Privilege basisdata mengontrol akses pengguna dalam lingkungan basisdata seperti manipulasi struktur basisdata dan akses ke objek skem

Privilege dalam basisdata relasional :

Privilege sistemPrivilege sistem� Sistem terdiri atas hal-hal yang memungkinkan

pengguna melakukan tugasya pada ruang lingkup basisdata

� Privilege sistem meliputi kemampuan membuat tabel, menghapus tabel, mengubah struktur tabel, membuat menghapus tabel, mengubah struktur tabel, membuat indeks dan view, dan memanipulasi account pengguna

� Privilege sistem berbeda-beda antara satu perangkat lunak basisdata relasional dengan yang lainnya

Lanjutan........� Privilege objek memungkinkan pengguna melakukan

tugasnya pada ruang lingkup skematugasnya pada ruang lingkup skema

� Privilege objek meliputi kemampuan mengambil data dari tabel dan memanipulasi data tabel

� Privilege objek :� SELECT - memungkinkan data diambil dari table.� INSERT - memungkinkan pembentukan baris data baru

pada tabel.pada tabel.� UPDATE - memungkinkan data yang sudah ada dalam tabel

untuk dimodifikasi.� REFERENCES - memungkinkan kolom dalam tabel untuk

diacu kolom lain (seperti melalui kunci tamu).� USAGE - memungkinkan penggunaan domain tertentu.

Proses pengaturan akses pengguna akhir

melalui privilege basisdata