tugas basis data - · pdf filepekerjaan dalam database pegawai khusus kolom nip dan kode_bag...
TRANSCRIPT
TUGAS BASIS DATA
PROTEKSI DATA
Oleh : Hafizh Fitrianna
( 06022009 )
PROGRAM STUDI TEKNIK ELEKTRO FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS AHMAD DAHLAN YOGYAKARTA
2009
Mengelola Keamanan Data
Tujuan keamanan database : melindungi data dari ancaman yang disengaja atau
tidak disengaja tehadap akses dan integritas
Ancaman bertambah karena adanya akses melalui Internet atau teknologi
bergerak
Sistem Basis Data ( DBMS / Database Management System )
DBMS merupakan perantara antara user dengan basis data yang tersimpan dalam disk.
Cara berkomunikasi keduanya diatur dalam suatu bahasa khusus yang ditetapkan oleh
perusahaan pembuat DBMS. Bahasa itu disebut Bahasa Basis Data. Contoh; SQL,
dBase, QUEL.
Data Definition Language (DDL)
Data Manipulation Language (DML)
– Prosedural
– Non Prosedural
•DBMS (Database Management System):kumpulan program yang digunakan
user untuk me-management database (create, maintain)
•DBMS mencakup proses:
Defining: database mendefiniskan tipe data, struktur dan batasan
(constraint) dari data yang disimpan dalam database.
Manipulating: database mencakup berbagai fungsi dan query untuk
mendapatkan data yang dicari, termasuk operasi insert, update dan
delete serta dalam generate report data.
Sharing: database dapat diatur untuk dapat sharing multiple user dan
program untuk mengakses database secara bersama-sama.
Fungsi yang lebih penting dari DBMS adalah proteksi dan maintain database dalam
jangka panjang.
Proteksi: mengandung system protectionyang menangani kondisi
malfunction (crash) baik pada hardware ataupun software, juga mengandung
security protectionyang menangani pengaksesan oleh user terlarang.
Maintain: mengandung sistem maintaining yang selalu meningkatkan
kebutuhan perubahan tiap waktu.
Jadi,Sistem Database: database dan sistem manajemen database-nya
(DBMS)
Controlling Redundancy
Redundancy: duplikasi data, penyimpanan data secara berulang.
Redudancy salah satu syarat larangan dalam database relasional,
karena akan menimbulkan inconsistensi data.
Dengan controlling redundancy, selain akan meningkatkan
performance query juga menjaga konsistensi data.
Restricting Unauthorized Access
Memberikan pengaturan hak akses / batasan akses user database
Providing Persistent Storage for Program Objects
Menyediakan ruang penyimpanan khusus untuk obyek-obyek program (ex.
Object-Oriented Database system yang menyimpan obyek-obyek
pemrograman berbasis obyek).
Providing Storage Structures for Efficient Query Processing
Menyediakan struktur penyimpanan yang bagus untuk efisiensi
proses query.
•Providing Backup and Recovery
•Providing Multiple User Interface
•Representing Complex Relationship among Data
•Enforcing Integrity Constraints
•Permitting Inferencing and Actions using Rules
Ancaman terhadap keamanan data
Kehilangan yang tidak disengaja
Bisa diakibatkan oleh
• Kesalahan manusia
• Kesalahan sotware
• Kegagalan hardware
Penyusupan
Pengaksesan dilakukan oleh orang yang tidak berhak
Bisa mengubah atau tidak mengubah data
Kehilangan Privasi atau Kerahasiaan
Kehilangan privasi berarti kehilangan proteksi yang dirasakan oleh
seseorang
Kehilangan kerahasiaan berarti kebocoran data yang bersifat penting bagi
perusahaan
Kehilangan Integritas Data
Bila integritas dilanggar, data menjadi tidak valid atau bahkan rusak
Bisa menimbulkan kesalahan dalam pengambilan keputusan
Kehilangan Ketersediaan
Bisa disebabkan sabotase pada H/W, jaringan, dan aplikasi
Penetrasi virus yang dimaksud merusak data
Mencakup
Prosedur dan kebijakan administratif
Proteksi fisik
Proteksi perangkat lunak manajemen data
Prinsip Dasar Sekuriti
Sistem sebaiknya bersifat publik
Nilai default tidak boleh diakses
Pengecekan otoritas
Memberikan setiap proses kemamapuan akses sesedikit mungkin
Mekanisme proteksi sederhana, uniform dan buil in ke lapis terbawah
Skema pengamanan harus dapat diterima secara psikologis
Aspek Dari Security
• Confidentiality
• Integrity
• Availability
• Ketiga di atas sering disingkat menjadi CIA
• Ada tambahkan lain
– Non-repudiation
– Authentication
– Access Control
– Accountability
Confidentiality / Privacy
• Kerahasiaan data. Data hanya boleh diakses oleh orang yang berwenang
– Data-data pribadi
– Data-data bisnis; daftar gaji, data nasabah
– Sangat sensitif dalam e-commerce dan healthcare
• Serangan : penyadapan (teknis dengan sniffer / logger, man in the middle attack;
non-teknis dengan social engineering)
• Proteksi: enkripsi
Integrity
• Informasi tidak boleh berubah (tampered, altered, modified) oleh pihak yang tidak
berhak
• Serangan
– Pengubahan data oleh orang yang tidak berhak, spoofing
– Virus yang mengubah berkas
• Proteksi:
– Message Authentication Code (MAC), digital signature / certificate, hash
functions, logging
Availability
• Informasi harus tersedia ketika dibutuhkan
• Serangan
– Meniadakan layanan (Denial of Service / DoS attack) atau menghambat
layanan (server dibuat lambat)
• Proteksi
– Backup, redundancy, DRC, BCP, firewall
Non-repudiation
• Tidak dapat menyangkal (telah melakukan transaksi)
– Menggunakan digital signature
– Logging
Authentication
• Meyakinkan keaslian data, sumber data, orang yang mengakses data, server yang
digunakan
– what you have (identity card)
– what you know (password, PIN)
– what you are (biometric identity)
• Serangan: identitas palsu, terminal palsu, situs gadungan
Access Control
• Mekanisme untuk mengatur siapa boleh melakukan apa
– Membutuhkan adanya klasifikasi data: public, private, confidential, (top)
secret
– Role-based access
Accountability
• Dapat dipertanggung-jawabkan
• Melalui mekanisme logging dan audit
• Adanya kebijakan dan prosedur (policy & procedures)
Teori Jenis Serangan
Intruder (1/ 5)
Kategori Umum
1. Iseng-iseng, biasanya pada yang bisa diakses semua user
2. Snooping, seseorang masuk ke dalam sistem jaringan dan berusaha menebus
pengamanan
3. Berusaha mencari keuntungan dengan motivasi uang
4. Spionase/militer
Intruder (2/ 5)
Interupsi
Sumberdaya sistem komputer dihancurkan atau menjadi tak tersedia
Penghancuran harddisk
Pemotongan kabel komunikasi
Sistem file management menjadi tidak tersedia
Intruder (3/ 5)
Intersepsi
Pihak tak diotorisasi dapat mengakses sumberdaya
Ancaman terhadap kerahasiaan data
Penyadapan terhadap data di jaringan
Mengkopi file tanpa diotorisasi
Intruder (4/ 5)
Modification
Mengubah nilai-nilai file data
Mengubah program sehingga bertindak secara beda
Memodifikasi pesan-pesan yang ditransmisikan pada jaringan
Intruder (5/ 5)
Fabrication
Pihak tak diotorisasi menyisipkan objek palsu ke sistem
Memasukkan pesan-pesan palsu ke jaringan
Penambahan record ke file
Topologi Lubang Keamanan
Aspek Keamanan Sistem
Kerahasiaan (Secrecy)
Integritas (Integrity)
Ketersediaan (Availability)
Proteksi S/W Manajemen Data
View atau subskema
Domain, cek, dan kontrol integritas yang lain
Aturan otorisasi
User-defined procedure
Prosedur enkripsi
Skema otentikasi
Backup, journaling, dan checkpointing (memfasilitasi prosedur recovery)
Aturan Otorisasi
Aturan otorisasi : kontrol yang melekat dalam sistem manajemen data yang
membatasi akses thd data dan tindakan-tindakan yang dapat dilakukan oleh orang.
Contoh, orang yang berhak mengakes data bisa membaca seluruh database tetapi
tidak bisa mengubah data
Contoh Aturan Otorisasi
Subjek Objek Tindakan Kekangan
Bagian
Pemasaran
Data Pelanggan Menambah Limit kredit <= 5.000.000
Bagian
Akuntansi
Data Pemesanan Menghapus Tak ada
Bagian
Pemenuhan
Pesanan
Data Pemesanan Membaca
Mengubah
Menghapus
Tak ada
Implementasi Aturan Otorisasi
Perintah SQL GRANT dipakai untuk menentukan otorisasi akses data
Perintah SQL REVOKE dipakai untuk mencabut otorisasi
Contoh Skenario Hak Akses
pemakai
Hak akses bebas: semua tabel dalam database pegawai
arif
Hak akses SELECT: semua tabel dalam database pegawai novi
Hak akses SELECT dan INSERT: khusus tabel bagian dalam database pegawaiadit
• Hak akses SELECT: tabel infoprib dan bagian dalam database pegawai
• Hak akses SELECT: tabel pekerjaan dalam database pegawai khusus kolom nip dan kode_bag
• Hak akses INSERT: tabel pekerjaan dalam database pegawai khusus kolom nip dan kode_bag
terra
Contoh Skenario Hak Akses
Contoh menciptakan user:
CREATE USER arif
IDENTIFIED BY '007arif';
Contoh memberikan hak akses ke arif:
GRANT ALL ON pegawai.* TO arif;
Hak Akses pada MySQL
Hak akses Keterangan
SELECT Hak akses ini memungkinkan pemakai melakukan
operasi SELECT.
Beberapa sistem menggunakan hak akses READ
yang identik dengan hak akses SELECT.
INSERT Hak akses ini memungkinkan pemakai melakukan
operasi INSERT
UPDATE Hak akses ini memungkinkan pemakai melakukan
operasi UPDATE
DELETE Hak akses ini memungkinkan pemakai melakukan
operasi DELETE
INDEX Hak akses ini memungkinkan pemakai
menciptakan indeks dan menghapus indeks
DROP Hak akses ini memungkinkan pemakai menghapus
tabel
EXECUTE Hak akses yang memungkinkan pemakai
menjalankan ’stored procedure’ (prosedur
tersimpan)
FILE Hak akses yang memungkinkan pemakai
menjalankan SELECT ... INTO OUTFILE and
LOAD DATA INFILE
ALTER Hak akses yang memungkinkan pemakai
melaksanakan pernyataan ALTER TABLE untuk
mengubah tabel
LOCK TABLES Hak akses yang memungkinkan pemakai
mengunci tabel
ALL Memberikan seluruh hak akses kecuali GRANT
OPTION
GRANT OPTION Memungkinkan hak akses bisa diwariskan
Hak Akses
Memberikan hak akses SELECT saja:
GRANT SELECT
ON pegawai.* TO novi;
Membatasi Hak Akses pada Kolom Tertentu
GRANT SELECT
ON pegawai.infoprib TO terra;
GRANT SELECT
ON pegawai.bagian TO terra;
GRANT SELECT (nip, kode_bag), UPDATE (nip, kode_bag)
ON pegawai.pekerjaan TO terra;
Enkripsi
Enkripsi: Suatu pengodean atau pengacakan data dengan tujuan orang tidak bisa
membacanya
Implementasi enkripsi:
Satu kunci (Contoh DES-Data Encryption Standard)
Dua kunci (Contoh SSL –Secure Socket Layer)
Skema Otentikasi
Skema otentikasi digunakan untuk menentukan seseorang apakah orang yang
berhak atau tidak untuk mengakses sistem
Perwujudan yang biasa dilakukan:
Melalui identifikasi yang diketahui oleh dirinya sendiri berupa password
atau PIN
Menggunakan alat seperti smartcard
Menggunakan sesuatu yang bersifat unik, seperti sidik jari
Autentikasi Pemakai
Suatu yang diketahui pemakai :
passsword
kombinasi kunci
nama kecil ibu, dsb
Sesuatu yang dimiliki pemakai :
badge
kartu identitas
kunci, dsb
Sesuatu mengenai (merupakan ciri) pemakai :
sidik jari
sidik suara
foto
tanda tangan, dsb
Contoh Autentikasi (1/ 3)
Password
LOGIN : ken LOGIN : carol
PASSWORD : FooBar INVALID LOGIN NAME
SUCCESSFUL LOGIN LOGIN :
(a) (b)
LOGIN : carol
PASSWORD : Idunno
INVALID LOGIN
LOGIN :
(c)
(a) Login berhasil
(b) Login ditolak setelah nama dimasukkan
(c) Login ditolak setelah nama dan password dimasukkan
Contoh Autentikasi (2/3 )
Menggunakan Objek Fisik
Magnetic cards
magnetic stripe cards
chip cards: stored value cards, smart cards
Contoh Autentikasi (3/ 3)
Menggunakan Biometric
Backup dan Recovery
Database backup: adalah mekanisme untuk melakukan penyalinan database ke
suatu media eksternal
Database recovery: Mekanisme untuk memulihkan database dengan cepat dan
akurat setelah mengalami kerusakan
Fasilitas Recovery Dasar
Fasilitas backup, menyediakan mekanisme untuk menyalin keseluruhan/sebagian
database
Fasilitas penjurnalan, menjaga audit trail thd transaksi dan perubahan database
Fasilitas checkpoint, menunda semua pemrosesan dan melakukan sinkronisasi
terhadap file-file dan jurnal untuk membentuk titik pemulihan
Manajer recovery, memungkinkan pengembalian database ke kondisi yang benar
dab memulai pemrosesan transaksi
Fasilitas Penjurnalan
Menyediakan audit trail terhadap transaksi dan perubahan database
Pada saat kegagalan pada sistem terjadi, keadaan database yang konsisten dapat
dikembalikan lagi dengan menggunakan informasi jurnal dan data backup
Catatan transaksi (transaction log) berisi:
Identitas transaksi
Data transaksi
Tipe transaksi (misalnya: Insert)
Waktu transaksi
Identitas terminal atau pemakai
Nilai data yang dimasukkan
Tabel dan record yang diakses
Record-record yang terubah
Nilai lama dan nilai baru
Catatan perubahan database (database change log) berisi:
Salinan record sebelum dan sesudah transaksi
Before-image: salinan sebuah record sebelum dimodifikasi
After-image: salinan sebuah record sesudah dimodifikasi
Prosedur Recovery dan Restart
Disk mirroring (RAID 1)
Restore/Rerun
Suatu teknik untuk memproses kembali transaksi harian sampai titik
kegagalan berdasarkan salinan backup database
Pertama-tama, database dihentikan
Kemudian, backup terbaru dihubungkan ke database dan seluruh transaksi
setelah penyalinan dijalankan kembali
Menjaga integritas transaksi
Menggunakan model transaksi
Transaksi diawali dengan START TRANSACTION dan diakhiri dengan
COMMIT/ROLLBACK
Restore/Rerun
Keuntungan
Sederhana
Tidak perlu menciptakan jurnal perubahan
Tidak perlu prosedur restart
Kelemahan
Waktu untuk memproses transaksi mungkin lama
Transaksi baru perlu ditunda
Ada kemungkinan hasil transaksi menjadi berbeda dengan aslinya
Disaster Recovery
Setiap organisasi harus memiliki mekanisme disaster recovery
Untuk mengantisipasi kehancuran pada pusat data
Bisa diakibatkan bencana alam atau manusia (perang, sabotase)
DBA mempunyai peran dalam membuat rencana recovery
Mengontrol Akses Bersama
DBMS memiliki kontrol konkurensi
Kontrol konkurensi : proses pengelolaan terhadap akses yang dilakukan oleh
sejumlah orang dengan tujuan agar integritas data dapat terjaga dengan baik
Penanganan yg biasa dilakukan: Locking
Penguncian bisa pada level database, tabel, atau record
Jenis locking:
Shared lock
Exclusive lock
Problem penguncian: deadlock
Deadlock: Keadaan yang membuat dua buah transaki saling menunggu karena
masing-masing mengunci data yang diperlukan transaksi pasangannya
Menangani Deadlock
Ada dua cara:
Deadlock prevention
• Program harus mengunci semua record yang diperlukan di awal
transaksi
• Jika record telah terkunci, pemakai lain haru menunggu sampai
penguncian dilepaskan
Deadlock resolution
• Menyerahkan sepenuhnya penanganan deadlock kepada DBMS
Mengelola Kualitas Data
Data berkualitas tinggi:
Akurat
Konsisten
Tersedia pada waktu yang tepat
Fakta yang menunjukkan bahwa menjaga data yang berkualitas tinggi itu sulit:
2% record dalam data pelanggan kedaluarsa dalam satu bulan karena hal-
hal seperti:
• Pelanggan meninggal
• Pelanggan berpindah lokasi
• Pelangan bercerai dsb
Problem Kualitas Data
Sumber data eksternal
Data yang berasal dari pihak luar mungkin tidak akurat, alah, atau tidak
lengkap
Penyimpanan data yang redundan
Data tersebar dalam berbagai bentuk (spreadsheet, database, dokumen)
dan ada kemungkinan tidak konsisten dan tidak kompatibel
Kekurangan Komitmen Organisasi
Pemakai internal tidak patuh terhadap aturan-aturan yang telah ditetapkan
dan organisasi membiarkannya
Usaha untuk Menjaga Kualitas Data
Membentuk komite yang menjamin bahwa kualitas data terjaga dengan baik
Menerapkan prinsip TQM untuk selalu meningkatkan kualitas data
Mengatasi hambatan-hambatan dalam organisasi
Mengatur Kinerja Database
Ada 5 hal yang perlu diperhatikan agar kinerja database terjaga dengan baik:
1. Pemasangan DBMS
2. Pemakaian memori
3. Penggunaan I/O
4. Penggunaan CPU
5. Tuning aplikasi
Pemasangan DBMS
Instalasi DBMS harus benar-benar sesuai dengan lingkungan
Biasanya tertera dalam file README
Penggunaan nilai default untuk parameter tertentu seringkali membuat kinerja
yang tidak optimal
Sebelum melakukan instalasi DBMS, DBA harus memastikan ketersediaan ruang
hard disk
Pemakaian Memori
Supaya efisien, penggunaan memori oleh DBMS perlu juga diperhatikan
Sebagai contoh, sistem Oracle menggunakan memori untuk menaruh data
dictionary.
Bila memori tidak cukup, sistem akan sering membaca struktur tabel dari disk.
Hal ini mempengaruhi kinerja sistem
Penggunaan I/O
Aplikasi database berpengaruh besar terhadap I/O
Walapun kecepatan CPU tinggi, I/O tidak bersifat proporsional
Suatu objek yang sering diakses secara bersamaan dapat dibagi ke dalam
beberapa disk
Penggunaan CPU
Hampir semua operasi database memerlukan aktivitas CPU
Penggunaan CPU perlu dimonitor ketika melakukan tuning database
Pemakaian lebih dari CPU merupakan alternatif untuk memperbaiki kinerja
sistem
Pemantauan perlu dilakukan pada saat beban puncak ataupun saat beban rendah
Tuning Aplikasi
Selain penyetelan DBMS, aplikasi pun perlu diatur
Memperhatikan dan memodifikasi SQL dalam aplikasi kadang perlu dilakukan
Perubahan SQL dalam aplikasi acapkali dapat meningkatkan kinerja sistem
Kadangkala penyelesaian dari masalah ini adalah dengan menggunakan
denormalisasi
Kadangkala DBA perlu melakukan tindakaan seperti reindexing, mengubah
ukuran blok data, mengalokasikan file-file pada peranti penyimpan.
DBA juga mempunyai peran dalam mengarahkan pemrogram dengan
memberikan teknik yang paling efektif dalam berinteraksi dengan database
DAFTAR PUSTAKA
1. Basis Data, Kartika Firdausy, Universitas Ahmad Dahlan
2. Tim Teaching Grant Mata Kuliah Sistem Operasi ( google.com )
3. Ramakrishnan ( google.com )
4. Umi Salamah ( google.com )
5. “Pengantar Database”, faried Irmansyah, IlmuKomputer.com
6. Budi Rahardjo, http://budi.insan.co.id
7. Abdul Kadir ( google.com )