Mengelola Keamanan Data

advertisement
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
z Bisa diakibatkan oleh
•
Kesalahan manusia
•
Kesalahan sotware
•
Kegagalan hardware
¾ Penyusupan
z Pengaksesan dilakukan oleh orang yang tidak berhak
z Bisa mengubah atau tidak mengubah data
¾ Kehilangan Privasi atau Kerahasiaan
z Kehilangan privasi berarti kehilangan proteksi yang dirasakan oleh
seseorang
z Kehilangan kerahasiaan berarti kebocoran data yang bersifat penting bagi
perusahaan
¾ Kehilangan Integritas Data
z Bila integritas dilanggar, data menjadi tidak valid atau bahkan rusak
z Bisa menimbulkan kesalahan dalam pengambilan keputusan
¾ Kehilangan Ketersediaan
z Bisa disebabkan sabotase pada H/W, jaringan, dan aplikasi
z Penetrasi virus yang dimaksud merusak data
¾ Mencakup
z Prosedur dan kebijakan administratif
z Proteksi fisik
z Proteksi perangkat lunak manajemen data
Prinsip Dasar Sekuriti
z Sistem sebaiknya bersifat publik
z Nilai default tidak boleh diakses
z Pengecekan otoritas
z Memberikan setiap proses kemamapuan akses sesedikit mungkin
z Mekanisme proteksi sederhana, uniform dan buil in ke lapis terbawah
z 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)
z Interupsi
z Sumberdaya sistem komputer dihancurkan atau menjadi tak tersedia
z Penghancuran harddisk
z Pemotongan kabel komunikasi
z Sistem file management menjadi tidak tersedia
Intruder (3/ 5)
z Intersepsi
z Pihak tak diotorisasi dapat mengakses sumberdaya
z Ancaman terhadap kerahasiaan data
z Penyadapan terhadap data di jaringan
z Mengkopi file tanpa diotorisasi
Intruder (4/ 5)
z Modification
z Mengubah nilai-nilai file data
z Mengubah program sehingga bertindak secara beda
z Memodifikasi pesan-pesan yang ditransmisikan pada jaringan
Intruder (5/ 5)
z Fabrication
z Pihak tak diotorisasi menyisipkan objek palsu ke sistem
z Memasukkan pesan-pesan palsu ke jaringan
z Penambahan record ke file
Topologi Lubang Keamanan
Aspek Keamanan Sistem
z Kerahasiaan (Secrecy)
z Integritas (Integrity)
z 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
Data Pelanggan
Menambah
Limit kredit <= 5.000.000
Pemasaran
Bagian
Data Pemesanan Menghapus
Tak ada
Data Pemesanan Membaca
Tak ada
Akuntansi
Bagian
Pemenuhan
Mengubah
Pesanan
Menghapus
Implementasi Aturan Otorisasi
¾ Perintah SQL GRANT dipakai untuk menentukan otorisasi akses data
¾ Perintah SQL REVOKE dipakai untuk mencabut otorisasi
Contoh Skenario Hak Akses
pemakai
arif
novi
adit
Hak akses bebas: semua tabel
dalam database pegawai
Hak akses SELECT: semua
tabel dalam database
pegawai
Hak akses SELECT dan INSERT:
khusus tabel bagian dalam
database pegawai
•
terra
•
•
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
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
menjalankan
’stored
memungkinkan
pemakai
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:
z Satu kunci (Contoh DES-Data Encryption Standard)
z 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:
z Melalui identifikasi yang diketahui oleh dirinya sendiri berupa password
atau PIN
z Menggunakan alat seperti smartcard
z Menggunakan sesuatu yang bersifat unik, seperti sidik jari
Autentikasi Pemakai
z Suatu yang diketahui pemakai :
z passsword
z kombinasi kunci
z nama kecil ibu, dsb
z Sesuatu yang dimiliki pemakai :
z badge
z kartu identitas
z kunci, dsb
z Sesuatu mengenai (merupakan ciri) pemakai :
z sidik jari
z sidik suara
z foto
z tanda tangan, dsb
Contoh Autentikasi (1/ 3)
z 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 )
z Menggunakan Objek Fisik
Magnetic cards
z magnetic stripe cards
z chip cards: stored value cards, smart cards
Contoh Autentikasi (3/ 3)
z 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:
z Identitas transaksi
z Data transaksi
z Tipe transaksi (misalnya: Insert)
z Waktu transaksi
z Identitas terminal atau pemakai
z Nilai data yang dimasukkan
z Tabel dan record yang diakses
z Record-record yang terubah
z Nilai lama dan nilai baru
¾ Catatan perubahan database (database change log) berisi:
z 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
z Suatu teknik untuk memproses kembali transaksi harian sampai titik
kegagalan berdasarkan salinan backup database
z Pertama-tama, database dihentikan
z Kemudian, backup terbaru dihubungkan ke database dan seluruh transaksi
setelah penyalinan dijalankan kembali
¾ Menjaga integritas transaksi
z Menggunakan model transaksi
z 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:
z Shared lock
z 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:
z Deadlock prevention
•
Program harus mengunci semua record yang diperlukan di awal
transaksi
•
Jika record telah terkunci, pemakai lain haru menunggu sampai
penguncian dilepaskan
z Deadlock resolution
•
Menyerahkan sepenuhnya penanganan deadlock kepada DBMS
Mengelola Kualitas Data
¾ Data berkualitas tinggi:
z Akurat
z Konsisten
z Tersedia pada waktu yang tepat
¾ Fakta yang menunjukkan bahwa menjaga data yang berkualitas tinggi itu sulit:
z 2% record dalam data pelanggan kedaluarsa dalam satu bulan karena halhal seperti:
•
Pelanggan meninggal
•
Pelanggan berpindah lokasi
•
Pelangan bercerai dsb
Problem Kualitas Data
¾ Sumber data eksternal
z Data yang berasal dari pihak luar mungkin tidak akurat, alah, atau tidak
lengkap
¾ Penyimpanan data yang redundan
z Data tersebar dalam berbagai bentuk (spreadsheet, database, dokumen)
dan ada kemungkinan tidak konsisten dan tidak kompatibel
¾ Kekurangan Komitmen Organisasi
z 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 )
Download