mengapa masalah keamanan basis data menjadi...
TRANSCRIPT
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