presentasi KEAMANAN SIMBAD

28
KELOMPOK 10 RICKY ARDIAN TAUFIK ISMAIL FAJAR SETIADI MIF B4/09 MATA KULIAH SISTEM BASIS DATA

Transcript of presentasi KEAMANAN SIMBAD

Page 1: presentasi KEAMANAN SIMBAD

KELOMPOK 10RICKY ARDIANTAUFIK ISMAILFAJAR SETIADI

MIF B4/09

MATA KULIAH SISTEM BASIS DATA

Page 2: presentasi KEAMANAN SIMBAD

KEAMANAN BASIS DATA

Present…

Page 3: presentasi KEAMANAN SIMBAD

BEGIN…

Page 4: presentasi KEAMANAN SIMBAD

Security (Keamanan)

Secara umum,keamanan merupakan suatu proses perlindungan terhadap suatu hal yang dianggap penting.

security is a process not a product .. .. (Bruce Schneier)

dimana tentu saja proses tersebut tidak akan berhenti hanya pada satu bentuk keamanan

Page 5: presentasi KEAMANAN SIMBAD

Security dalam SIMBAD

Merupakan tindakan untuk memproteksi data dalam suatu basis data dari kejahatan mencuri atau memodifikasi data tersebut.

Page 6: presentasi KEAMANAN SIMBAD

Mengapa?

Mengapa suatu basis data perlu diamankan?

Page 7: presentasi KEAMANAN SIMBAD

Beberapa alasan pengamanan basis data

Data merupakan sumber daya yg sangat bernilai sehingga harus dikontrol & dikelola dgn sumber daya lainnya

Sebagian atau keseluruhan data mempunyai kepentingan yg strategis & membutuhkan kerahasiaan.

Butuh mekanisme yg dapat memproteksi basis data dari ancaman yg disengaja atau kecelakaan

Pelanggaran terhadap keamanan dapat mempengaruhi bagian lain dari sistem, tetapi dapat berdampak pula pada basis data

Page 8: presentasi KEAMANAN SIMBAD

Diamankan dari apa?

Suatu basis data tentunya harus diamankan dari :

Situasi atau kejadian (penyimpanan perangkat komputer/basis data tidak strategis atau tidak terlindungi dari kemungkinan2 yang bisa terjadi)

Kegiatan/lingkungan (disengaja maupun tidak, seperti pencurian & penggelapan, kehilangan privacy, kehilangan ketersediaan, dll)

dll

Page 9: presentasi KEAMANAN SIMBAD

Proteksi/perlindungan

Bagaimana dan apa saja yang harus dilakukan agar kita dapat

mengamankan basis data dalam suatu sistem basis data….???

Page 10: presentasi KEAMANAN SIMBAD

Level Security (Tingkatan Keamanan)Untuk melindungi database, ada beberapa tingkatan keamanan yang harus diperhatikan:

1. Database system level. Merupakan mekanisme autentikasi dan otorisasi untuk mengijinkan pemakai tertentu melakukan akses data yang diperlukan saja.

2. Operating System Level. Operating System super-User dapat melakukan apapun terhadap database. Keamanan sistem operasi yang handal dan bagus diperlukan dalam hal ini.

3. Network Level. Pada level ini keamanan harus menggunakan enkripsi untuk menjaga :

o Eavesdropping : pembacaan yang tidak terotorisasi terhadap pesan-pesan tertentu

o Masquerading : berpura-pura menjadi pemakai yang sah atau mengirimkan pesan yang seolah berasal dari pemakai yang sah.

4. Physical Level. Yaitu melakukan akses fisik terhadap komputer guna menghindari terjadinya perusakan data, keamanan dengan menggunakan kunci diperlukan. Komputer juga harus diamankan dari kebanjiran, kebakaran dan lainnya.

5. Human Level. Pemakai/Pegawai harus disaring dahulu untuk memastikan bahwa pemakai yang sah tidak memperbolehkan memberikan hak akses kepada orang lain (penyusup). Pemakai harus dilatih dalam pemilihan password dan menjaga kerahasiannya.

Page 11: presentasi KEAMANAN SIMBAD

Authorization (OTORISASI)

OTORISASI merupakan hak atau kuasa yang diberikan DBA kepada pengguna database.

Jenis Otrisasi yg dapat diberikan: Bentuk-bentuk authorization (otorisasi) terhadap

bagian-bagian database:o Read authorization – membolehkan membaca,

tetapi tidak mengubah data.o Insert authorization – memungkinkan

menambah data baru, tetapi tidak mengubah data yang sudah ada.

o Update authorization – memungkinkan mengubah data, tetapi tidak menghapus data.

o Delete authorization – memungkinkan penghapusan data

Page 12: presentasi KEAMANAN SIMBAD

Bentuk-bentuk authorization untuk

mengubah skema database:o Index authorization – memungkinkan

pembuatan dan penghapusan indeks.o Resorources authorization – memungkinkan

pembuatan relasi baru.o Alteration authorization – memungkinkan

penambahan atau penghapusan atribut-atribut dalam sebuah relasi.

o Drop authorization – memungkinkan penghapusan relasi-relasi.

Page 13: presentasi KEAMANAN SIMBAD

HUBUNGAN DBA DENGAN OTORISASI

Otorisasi atau Hak yang sudah diberikan DBA (Data Base Administrator) kepada pengguna (User) bisa diberikan lagi kepada pengguna lain secara langsung dari DBA atau melalui Pengguna yang sudah mempunyai otorisasi tentunya dengan menentukan dan menyesuaikan otorisasi seperti apa yang dibutuhkan.

Page 14: presentasi KEAMANAN SIMBAD

Contoh

Seorang DBA memberikan Otorisasi kepada User 1, 2 dan 3

Kemudian User 1 memberikan Otorisasi kepada User 4 dan 5

Dan User 2 memberikan Otorisasi juga kepada User 5

Page 15: presentasi KEAMANAN SIMBAD

Spesifikasi dalam SQL

Spesifikasi Security dalam SQL Statement grant digunakan untuk memberikan

otorisasigrant <privilege list>on <relation name or view name> to <user list>

<user list> adalah: suatu user-id public, yang memungkinkan semua user yang valid

memperoleh privilege (authorization) Suatu role

Memberikan suatu privilege (hak istimewa) pada sebuah view tidak berarti memberikan privilege apapun terhadap relasi-relasi penyusun view tersebut.

Pemberi privilege harus sudah mempunyai privilege terhadap item yang akan diberikan privilege-nya (atau seorang database administrator, dll)

Page 16: presentasi KEAMANAN SIMBAD

Jenis-jenis Privilege dalam SQL

select: Memungkinkan akses baca terhadap relasi, atau kemampuan untuk melakukan query menggunakan view Contoh: Seorang DBA memberikan user U1, U2, dan

U3 select authorization pada relasi branch:grant select on branch to U1, U2, U3

insert: kemampuan untuk menyisipkan tuple-tuple update: kemampuan untuk mengubah data

menggunakan statement update SQL delete: kemampuan untuk menghapus tuple-tuple. references: kemampuan untuk mendeklarasikan

foreign key pada saat membuat relasi-relasi. usage: Dalam SQL-92; memberikan user hak untuk

menggunakan suatu domain all privileges: Digunakan sebagai kependekan dari

semua privilege yang diizinkan

Page 17: presentasi KEAMANAN SIMBAD

PRIVILEGE UNTUK MEMBERIKAN PRIVILEGE

with grant option: memungkinkan seorang pengguna yang diberikan privilege untuk memberikan privilege tersebut ke user yang lain. Contoh:

grant select on branch to U1 with grant optionMemberikan U1 privilege select pada relasi branch dan memungkinkan U1 untuk memberikan privilege ini ke user lain

Page 18: presentasi KEAMANAN SIMBAD

ROLE Role memungkinkan privilege yang umum untuk sekelompok

pengguna dapat dispesifikasikan hanya sekali dengan membuat “role” yang sesuai

Privilege dapat diberikan atau ditarik dari role, seperti berlaku kepada user

Role dapat diberikan kepada user, dan bahkan kepada role yang lain

SQL:1999 men-suport pendefinisian rolecreate role tellercreate role manager

grant select on branch to tellergrant update (balance) on account to tellergrant all privileges on account to manager

grant teller to manager

grant teller to alice, bobgrant manager to avi

Page 19: presentasi KEAMANAN SIMBAD

Otorisasi Pengguna HilangOtorisasi yang diberikan kepada

pengguna bisa saja hilang (dicabut) jika User yang memberikan otorisasi kepada user lain ataupun DBA secara langsung mencabut (revoke) otorisasi tersebut.

Page 20: presentasi KEAMANAN SIMBAD

Contoh

Jika DBA mencabut (revoke) grant dari U1: Maka Grant yang dimiliki oleh U4 harus dicabut karena U1 tidak

lagi memiliki authorization Grant tidak boleh dicabut dari U5 karena U5 memiliki lintasan

authorization yang lain dari DBA melalui U2

Page 21: presentasi KEAMANAN SIMBAD

Hindari Cycle GrantHarus mencegah cycle grant tanpa adanya lintasan dari root: DBA memberikan

authorization ke U2 dan U3

U2 memberikan authorization ke U3

U3 memberikan authorization ke U2

DBA menarik authorization from U2 dan U3 secara berurutan

Maka pemberian (grant) authorization dari U2 ke U3 ataupun sebaliknya harus ditarik karena tidak ada lagi lintasan langsung dari DBA ke U2 atau U3.

Page 22: presentasi KEAMANAN SIMBAD

Menarik (revoke) Authorization dalam SQLStatement revoke digunakan untuk menarik

authorization. revoke<privilege list>on <relation name or view name> from <user list>

[restrict|cascade]Contoh:

revoke select on branch from U1, U2, U3 cascadePenarikan sebuah privilege dari seorang user dapat

menyebabkan user yang lain kehilangan privilegenya; hal ini disebut cascading revoke (penarikan berantai).

Kita dapat mencegah revoke berantai dengan memberikan perintah dengan option restrict :

revoke select on branch from U1, U2, U3 restrictDengan option restrict ini, perintah revoke akan gagal jika akan terjadi revoke berantai oleh perintah revoke yang saat ini dikeluarkan.

Spesifikasi dalam SQL

Page 23: presentasi KEAMANAN SIMBAD

<privilege-list> dapat diisi oleh all untuk menarik semua privilege yang sedang dipegang oleh seorang user.

Jika <user-list> diisi dengan public maka semua user kehilangan privilege kecuali yang memperoleh privilege tersebut secara eksplisit

Jika privilege yang sama diberikan dua kali kepada user yang sama oleh pemberi yang berbeda, user mungkin dapat memegang privilege tersebut setelah penarikan.

Semua privilege yang bergantung terhadap privilege yang sedang dicabut juga ikut dicabut.

Page 24: presentasi KEAMANAN SIMBAD

VIEWPoint utama mengenai VIEW

Merupakan hasil dinamis dari operasi relasional terhadap satu atau lebih relasi untuk menghasilkan relasi lain

Merupakan relasi virtual, tidak terdapat pada basis data, tetapi dihasilkan karena permintaan pemakai

Menyajikan data yang relevan dengan kebutuhan pengguna, tapi field2 lain disembunyikan

Page 25: presentasi KEAMANAN SIMBAD

Dukungan VIEW terhadap OTORISASI

Authorization dan View

User dapat diberikan authorization terhadap view, tanpa harus diberikan hak akses terhadap relasi-relasi yang digunakan untuk membangun view tersebut.

Kemampuan view untuk menyembunyikan data berfungsi baik untuk menyederhanakan penggunaan sistem dan untuk meningkatkan security dengan hanya memungkinkan user mengakses data yang mereka perlukan untuk pekerjaan mereka.

Gabungan antara relational-level security dan view-level security dapat digunakan untuk membatasi akses user hanya kepada data yang dibutuhkannya.

Page 26: presentasi KEAMANAN SIMBAD

Contoh View Misalkan seorang pegawai bank ingin mengetahui

nama-nama semua nasabah yang mempunyai pinjaman untuk masing-masing cabang, tetapi tidak diperbolehkan mengetahui informasi secara spesifik mengenai pinjaman tersebut. Pendekatan yang dilakukan: Tolak akses langsung

terhadap relasi loan, tetapi berikan hak akses terhadap view cust-loan, yang hanya terdiri dari nama-nama seluruh nasabah dan cabang-cabang tempat mereka memiliki pinjaman.

cust-loan view didefinisikan dalam SQL sebagai berikut:

create view cust-loan as select branchname, customer-name from borrower, loan where borrower.loan-number = loan.loan-

number Pegawai tadi mempunyai hak untuk melihat hasil dari

query: select *from cust-loan

Page 27: presentasi KEAMANAN SIMBAD

Authorization pada ViewPembuatan view tidak memerlukan

resources authorization (Otorisasi Sumber daya) karena tidak ada relasi nyata yang dibuat

Pembuat view hanya mendapatkan privilege yang dimiliki sebelum dia menciptakan view tersebutCth. Jika pembuat view cust-loan hanya

memiliki read authorization terhadap borrower dan loan, maka dia hanya memperoleh read authorization pada cust-loan

Page 28: presentasi KEAMANAN SIMBAD

Thank’s for your attention…End …