Security & Integrity Pendahuluan Kemanan Melindungi data terhadap pemakai yang tidak sah memastikan pemakai diijinkan untuk melakukan hal yang mereka coba lakukan Integritas Melindunginya terhadap pemakai yang sah Melibatkan memastikan hal yang mereka coba lakukan adalah benar 2 Aspek-aspek masalah keamanan Aspek legal Kontrol fisik Kebijakan Masalah operasional Kontrol hardware Dukungan sistem operasi Masalah spesifik dari sistem basis data 3 Prinsip pengamanan kerahasiaan Security Principles Integritas ketersediaan Kerahasiaan menjamin perlindungan akses informasi Keterpaduan menjamin bahwa informasi tidak dapat diubah Ketersediaan menjamin kesiapa kesiapan akses informasi 4 contoh Kerahasiaan: catatan medis pasien harus tertutup untuk umum Integritas: catatan medis harus benar Ketersediaan: catatan medis pasien dapat diakses saat dibutuhkan untuk pengobatan 5 Apakah yang disebut pengamanan database ? Pengamanan database – mekanisme melindungi database dari aksi yang disengaja atau tidak disengaja (kecelakaan). Kerusakan yang biasa terjadi : Pencurian dan penipuan Kehilangan kerahasiaan Kehilanagn kebebasan (privacy) Kehilangan keutuhan (integrity) Kehilanagn ketersediaan (availability) Aksi Aksi – adalah situasi atau kejadian, baik disengaja maupun tidak disengaja, yang memberi efek yang merugikan terhadap sistem dan berakibat pada organisasi. Menggunakan oang lain untuk akses Memasuki sistem dengan tidak sah oleh hacker Membuat jebakan (“trapdoor”) terhadap sistem Pencurian data, program, dan peralatan Pengurangan staff atau pemogokan Kekurangan staff yang terlatih Viewing dan penutupan data yang tidak sah Pengkorupsian kepemilikan data untuk menghilangkan kekuasaan atau membuat gejolak Pengrusakan secara fisik terhadap peralatan Pemberian virus Aksi potensial terhadap sistem komputer DBMS dan Software aplikasi – Kesalahan dalam mekanisme pengamanan dengan pemberian hak akses yang lebih besar; pengubahan atau pencurian program. Jaringan komunikasi penyadapan; pemutusan kabel; interferensi gelombang dan radiasi. Data/Database Administrator – kebijakan pengamanan dan prosedur yang lemah. Hardware - Database – pengubahan yang tidak sah atau penduplikasian data; pencurian data; penghilangan data sehubungan dengan listrik. User – menggunakan hak akses orang lain; Viewing dan penutupan data yang tidak sah; kekurangan sataf yang terlatih; memasukkan virus. Programer/Operator – membuat jebakan; mengubah program; pemogokan. kebakaran/banjir/bom; kehilangan data karena listrik mati; pencurian peralatan; 8 Pencegahan – Pengendalian berbasis komputer Otorisasi dan autentikasi View Backup dan Recovery Integritas Enkripsi Teknologi RAID Otorisasi dan autentikasi Otorisasi – pemberian hak istimewa yang memungkinan mempunyai akses sah terhadap sistem atau obyek sistem. autentikasi – sebuah mekanisme untuk menentukan keabsahan user. Tingkat keamanan database Fisik Manusia Sistem operasi Jaringan Sistem basis data 2 jenis otoritas Ketidak bolehan (disabling permission) Kebolehan (enabling permission) 11 Ketidak bolehan (disabling permission) dan Kebolehan (enabling permission) dikenakan pada objek-objek : Tabel / relasi Indeks View Contoh view 12 View View – adalah obyek basis data yang berisi perintah query ke basis data. Setiap kali sebuah view diaktifkan, pemakai akan selalu melihat hasil querynya. Berbeda dengan tabel, data yang ditampilkan di dalam view tidak bisa diubah. Mekanisme view menyediakan mekanisme pengamanan yang fleksibel namun kuat dengan cara menyembunyikan sebagian basisdata dari user lain. Contoh view : create view semua_matkul as (seect kode_mk, nama_mk from progdi_d3) union (select kode_mk, nama_mk from progdi_s1) Bentuk-bentuk otoritas Terhadap data Otoritas pembacaan (read authorization) Otoritas penambahan (insert authorization) Otoritas pengubahan (update authorization) Otoritas penghapusan (delete authorization) Otoritas skema basis data Otoritas indeks Otoritas sumber Otoritas penggantian Otoritas penghapusan objek 14 Jenis integritas basis data Integritas entitas (entity integrity) Integritas jangkauan (domain integrity) Integritas acuan (refrential integrity) Integritas data antar tabel (redundant data integrity) Integritas aturan nyata (business rule integrity) 15 Backup dan Recovery Backup – proses priodik pengambilan copy basisdata dan log file untuk disimpan dalam penyimpan luar. Journaling – proses menjaga dan merawat log file (atau journal) dari semua perubahan yang terjadi pada basisdata untuk memungkinkan recovery secara efektif jika terjadi kerusakan. Encryption Enkripsi – penyandian data dengan algorithma yang khusus sehingga data tidak dapat dibaca tanpa kunci penerjemah. Enkripsi simetrik - DES, IDEA, RC4, BlowFish, AES. Enkripsi asimetrik - RSA, Diffie-Helman. data asli Algoritma dan password Data yang disandikan RAID - Redundant Array of Independent Disks RAID adalah sejenis diskdrive yang terdiri dari dua atau lebih diskrive yang saling bekerja sama untuk meningkatkan kinerja dan mencegah kerusakan. RAID digunakan secara berkala pada server yang menjalankan basisdata. Level 0: menyediakan lembaran data (sebaran setiap file antar disk) yang tidak redundan. Ini meningkatkan kinerja tetapi tidak mengatasi kesalahan pengiriman. Level 1: Menyediakan disk mirroring. Level 3: sama dengan Level 0, tetapi juga menyediakan satu dedicate disk untuk perbaikan kesalahan data. Ini menyediakan kinerja yang bagus dan mengatasi beberapa tingkat toleransi kesalahan. Level 5: Menyediakan lembaran data pada tingkat byte dan juga informasi perbaikan kesalahan. Hasilnya kinerja yang lebih baik dan mampu mengatasi kesalahan dengan baik. Microsoft Access dan Oracle Microsoft Access: Pengamanan tingkat sistem - password. Pengamanan di tingkat user - identifikasi keanggotaan suatu grup (Administrator dan User), ijin diberikan (Open/Run, Read, Update, Delete, dll.). Oracle DBMS: Pengamanan tingkat sistem - nama, password. Pengamanan tingkat user berdasar pada sebuah hak istimewa (privilege), mis. Hak untuk mengeksekusi sebagian pernyataan SQL atau mengakses hak objek user lain. DBMS dan Keamanan Web Proxy server Firewall Message Digest Algorithms dan Digital Signature Digital Certificates SSL dan S-HTTP Server Proxy Server Proxy adalah komputer yang berad diantara Web browser dan Web server. Ia melayani semua permintaan halaman web dan menyimpannya untuk sementara dalam satu tempat . Server Proxy mempunyai kinerja lebih baik dan menyaring permintaan. Computer A Proxy-server Computer B Internet Firewall Firewall – adalah sistem untuk mencegah akses yang tidak diperkenankan ke atau dari jaringan pribadi. Diterapkan pada software, hardware atau keduanya. Packet filter Application gateway Circuit-level gateway (TCP, UDP protocols) Proxy server Message Digest Algorithms dan Digital Signatures Message digest algorithm adalah salah satu fungsi hash yang menghasilkan jenis data string dengan panjang tetap (hash) dari sebuah pesan yang tidak beraturan. Melakukan penghitungan yang tidak mungkin bahwa pesan-pesan mempunyai intisari yang sama. Tanda tangan digital terdiri dari dua bagian: string yang merupakan kumpulan bit yang dihasilkan dari pesan dan kunci privat organisasi. Tanda tangan digital digunakan untuk memverifikasi bahwa pesan datang dari organisasinya. Digital Certificates Digital Certificate adalah sebuah lampiran dari sebuah pesan elektronik yang berguna untuk pengamanan, pada umumnya untuk memverifikasi bahwa user pengirim pesan adalah orang yang dimaksud, dan menyediakan penerima untuk mensandikan balasannya. Protocol - X.509. Digital Certificate Authorities – VeriSign, Thwate Secure Sockets Layer dan Secure HTTP SSL menciptakan koneksi yang aman antara client dengan server, untuk pengiriman data. S-HTTP dirancang untuk mentransmisikan pesan individu secara aman. Keduanya menggunakan enkripsi asimetrik. Memungkinkan Web browsers dan server untuk mengautentifikasi satu dengan yang lain Mengijinkan pemilik Web site mengendalikan akses ke bagian server, directories, file Memungkinkan bertukar informasi yang sensitif (nomor credit card) hanya antara browser dan server Meyakinkan bahwa pertukaran data antara browser dan server dapat dipercaya Hambatan Pengaman Rancangan yang lemah Pengendalian kualitas yang tidak baik Kecelakaan Serangan 26 Mendapat keamanan Kebijakan Apa yang akan dilindungi? Mekanisme Bagaimana cara melindungi? Jaminan Sebaik apa perlindungannya? 27 Kemanan basisdata Kebijakan keamanan Model pengendalian akses Perlindungan integritas Masalah kerahasiaan Toleransi kesalahan dan recovery Audit dan deteksi penyusupan 28 Pertimbangan keamanan Server dengan berbagai aturan Keterbatasan sumberdaya untuk menerapkan solusi keamanan Sistem lama masih dipakai Konsekuensi hukum Masalah internal atau kecelakaan Akses fisik tanpa prosedur keamanan Kekurangan ahli pengamanan 29 Pertahanan Menggunakan pendekatan berlapis: Meningkatkan deteksi resiko serangan Mengurangi kesempatan berhasilnya penyerangan Data Aplikasi Host Jaringan internal Perimeter Kemanan fisik Kebijakan, Prosedur, & Kepedulian enkripsi Pembakuan aplikasi, antivirus Pembakuan OS, pengelolaan jalur, autentikasi IPSec, NIDS Firewalls, VPN quarantine pengawasan, kunci, penandaan peralatan Pembelajaran user 30 Keamanan Basisdata Dapat diterapkan diberbagai lingkungan E-Commerce, Medikal, dan Militer Bervariasi dalam tingkatan implementasi Penyimpan Transmisi Otorisasi Penyimpulan 31 Pengendalian akses Berpusat pada kebijakan organisasi DBMS terdiri dari: Subyek (Users) Obyek Hubungan antar akses tentukan hak Hak menentukan akses spesifik Hak memiliki jenis akses Read, Write, dan Modify 32 Pengendalian kebebasan akses Model Matrik Akses Baris mewakili subyek Kolom mewakili obyek 33 Pengendalian perintah akses Tingkat sensitifitas Top Secret, Secret, Confidential, Unclassified Jenis kebijakan pengamanan class (S) >= class (O) Menentukan pembatasan Properti pengamanan sederhana Read (O) iff class (S) >= class (O) Star Property Write (O) iff class (S) <= class (O) 34 Otorisasi temporal Hak khusus temporal Selang waktu hak Subject \ Object Ketergantungan Temporal kapanpun, Selama, tidak kapanpun, pengecualian Jenis otorisasi Positif \ Negatif Contoh [t1, t2] {User1, Object1, Read} 35 Pemeliharaan integritas basis data Jenis integritas Integritas entitas (entity integrity), dimana tidak ada baris data duplikat dalam satu tabel Integritas jangkauan (domain integrity), tidak ada data yang melanggar jangkauan nilai di tiap kolom data Integritas acuan (referential integrity), yang menjaga relasi/korespondensi antar tabel Integritas data antar tabel (redundant data integrity), data di sebuah tabeltidak terulang di tabel yang lain Integritas aturan nyata (bussiness rule integrity), data di suatu tabel harus memiliki nilai yang layak dan dapat diterima di tempat sistem basis data diterapkan 36 Integritas entitas Agar integritas entitas dapat dijaga, maka dapat ditempuh cara : Penentuan key pada tabel basis data Penerapan proses validasi pada program pemasukan data 37 Integritas jangkauan Jenis jangkauan yang dapat dimiliki suatu atribut : Karakter bebas Alfanumerik Alfabet Numerik Pemeliharaan integritas jangkauan Pendefinisian skema/struktur tabel Pemanfaatan properti field Penerapan proses validasi pada program pemasukkan data 38 Integritas acuan Ada 3 pilihan untuk menjaga integritas acuan : Reject Cascade Nullify Pilihan diatas dapat diterapkan dengan cara Penerapan prosedur basisdata Pemeliharaan melalui program manipulasi data 39 Pemaksaan integritas Didefinisikan dan dikontrol di server DBMS tempat basisdata dikelola, atau Didefinisikan dan dikontrol melalui program aplikasi dari mana pemakai melakukan pemanipulasian data 40