Security & Integrity
Pendahuluan Kemanan Integritas 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
Aspek-aspek masalah keamanan Aspek legal Kontrol fisik Kebijakan Masalah operasional Kontrol hardware Dukungan sistem operasi Masalah spesifik dari sistem basis data
Prinsip pengamanan Kerahasiaan menjamin perlindungan akses informasi Integritas ketersediaan Security Principles Most information security systems follow three basic security principles: confidentiality, integrity, and availability. Confidentiality refers to limiting information access and disclosure to authorized users. For server systems, you can implement confidentiality by various measures, including authentication mechanisms, system hardening techniques, encryption, and access control lists. Integrity refers to the fact that information has not been changed, that it is the original information. This includes data integrity. For server systems, this means ensuring that data cannot be modified by malicious users. For example, you can implement integrity on computers running Windows 2000 Server and Windows Server 2003 by using NTFS permissions and digital signatures using Encrypting File System. Availability refers to the provision of ready access to information resources. It is crucial that people and other systems within an organization always have access to server-based business systems and data. Kerahasiaan menjamin perlindungan akses informasi Keterpaduan menjamin bahwa informasi tidak dapat diubah Ketersediaan menjamin kesiapa kesiapan akses informasi
contoh Kerahasiaan: catatan medis pasien harus tertutup untuk umum Integritas: catatan medis harus benar Ketersediaan: catatan medis pasien dapat diakses saat dibutuhkan untuk pengobatan
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 - kebakaran/banjir/bom; kehilangan data karena listrik mati; pencurian peralatan; 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.
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)
Ketidak bolehan (disabling permission) dan Kebolehan (enabling permission) dikenakan pada objek-objek : Tabel / relasi Indeks View Contoh view
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
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)
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 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 Computer A Internet Proxy-server Computer B 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 Internet Proxy-server Computer B
Firewall Packet filter Application gateway 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
Mendapat keamanan Kebijakan Mekanisme Jaminan Apa yang akan dilindungi? Mekanisme Bagaimana cara melindungi? Jaminan Sebaik apa perlindungannya?
Kemanan basisdata Kebijakan keamanan Model pengendalian akses Perlindungan integritas Masalah kerahasiaan Toleransi kesalahan dan recovery Audit dan deteksi penyusupan
Pertimbangan keamanan Keterbatasan sumberdaya untuk menerapkan solusi keamanan Server dengan berbagai aturan When implementing security, small and medium-size businesses face unique challenges and should take into account several considerations: Servers can take on multiple roles in businesses with limited resources. You can easily apply multiple security templates to a server, but the templates can conflict. When a server performs multiple roles, it is more difficult to secure that server. In addition, a server performing multiple roles presents a larger attack surface. If there is a breach in security, all of the roles performed by that server can be compromised. If a business has limited resources, it might not be able to provide components for a secure solution. Multiple firewalls and high availability are examples of expensive components that might not be financially feasible. Internal compromise of systems, either malicious or accidental, accounts for a high percentage of attacks. Attackers usually find their attacks easier to perform if they have internal access to the network (either personal access or access by means of an unsuspecting or compromised accomplice). Smaller IT departments may lack personnel with appropriate security expertise. This can lead to overlooked security issues. In this situation, using standard security templates can be of benefit. Physical access to a system negates many security measures. Physical access can allow an attacker to execute utilities, install malicious programs, change configurations, remove components, and cause physical damage. Security breaches can have legal consequences. Depending on the state or country that has jurisdiction over the organization, a business may face legal liability resulting from a breach in its server security. Examples of such legislation include Sarbanes--Oxley, HIPAA, GLBA, and California SB 1386. Older systems might not support security configurations without an upgrade. If these systems are not upgraded, the risk of a security breach is higher than for newer systems. Sistem lama masih dipakai Masalah internal atau kecelakaan Konsekuensi hukum Kekurangan ahli pengamanan Akses fisik tanpa prosedur keamanan
Kebijakan, Prosedur, & Kepedulian Pertahanan Menggunakan pendekatan berlapis: Meningkatkan deteksi resiko serangan Mengurangi kesempatan berhasilnya penyerangan A security strategy for an organization is most effective when data is protected by more than one layer of security. A defense-in-depth security strategy uses multiple layers of defense so that if one layer is compromised, it does not necessarily follow that your entire organization will be compromised. A defense-in-depth strategy increases an attacker’s risk of detection and reduces an attacker’s chance of success. To minimize the possibility of a successful attack against your organization’s servers, you need to implement the appropriate level of defense at each layer. There are many ways to protect each individual layer by using tools, technologies, policies, and best practices. For example: Policies, procedures, and awareness layer – Security education programs for users Physical security layer – Security guards, locks, and tracking devices Perimeter layer – Hardware and/or software firewalls, and virtual private networks with quarantine procedures Internal network layer – Network segmentation, IP Security (IPSec), and network intrusion detection systems Host layer – Server and client hardening practices, patch management tools, strong authentication methods, and host-based intrusion detection systems Application layer – Application hardening practices and antivirus software Data layer – Access control lists and encryption This session focuses on securing your Windows-based servers. Security methods and practices discussed in this session relate primarily to the application, host, and internal Network layers. However, it is important to keep in mind that server security should form only part of the overall security strategy of your organization. Kebijakan, Prosedur, & Kepedulian Kemanan fisik Data enkripsi Aplikasi Pembakuan aplikasi, antivirus Pembakuan OS, pengelolaan jalur, autentikasi Host Jaringan internal IPSec, NIDS Perimeter Firewalls, VPN quarantine pengawasan, kunci, penandaan peralatan Pembelajaran user
Keamanan Basisdata Dapat diterapkan diberbagai lingkungan E-Commerce, Medikal, dan Militer Bervariasi dalam tingkatan implementasi Penyimpan Transmisi Otorisasi Penyimpulan
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
Pengendalian kebebasan akses Model Matrik Akses Baris mewakili subyek Kolom mewakili obyek
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)
Otorisasi temporal Hak khusus temporal Ketergantungan Temporal Selang waktu hak Subject \ Object Ketergantungan Temporal kapanpun, Selama, tidak kapanpun, pengecualian Jenis otorisasi Positif \ Negatif Contoh [t1, t2] {User1, Object1, Read}
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
Integritas entitas Agar integritas entitas dapat dijaga, maka dapat ditempuh cara : Penentuan key pada tabel basis data Penerapan proses validasi pada program pemasukan data
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
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
Pemaksaan integritas Didefinisikan dan dikontrol di server DBMS tempat basisdata dikelola, atau Didefinisikan dan dikontrol melalui program aplikasi dari mana pemakai melakukan pemanipulasian data