Anda di halaman 1dari 17

Tugas Kelompok

MAKALAH
“Keamanan Jaringan – Keamanan Basis Data”

Oleh :
KELOMPOK 3
SIGIT GABRIEL FABIO DATI (152109)
NUR ASNITA EKA MUSRIFAH. T (152111)
MUH. IRCHAN ALFAYET ( )
YUSNI YUNIARSI (152184)
ANDRE HERMAWAN TIALEN (152191)
ANDRI FRANS (152197)
ANDI MASDAHRUL KHAIR (152207)
ASRIADI ( )
MUH. IKHSAN (152348)

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER


(STMIK) DIPANEGARA MAKASSAR
2018

i
KATA PENGANTAR

Segala puji dan syukur ke hadirat Allah SWT , karena berkat rahmat dan
karunia –Nya kami dapat menyelesaikan tugas makalah ini.

Tugas makalah ini dibuat guna menyelesaikan tugas Keamanan Komputer


yang diberikan oleh Bapak Dosen kami, Bapak Sunardi, S.Kom.,M.T. Adapun
judul dari makalah ini yaitu “Keamanan Database”.

Walaupun banyak kesulitan dalam hal penyelesaian tugas ini, namun berkat
bantuan pihak lain tugas inipun dapat diselesaikan tepat pada waktunya.

Akhir kata, hanya kepada Tuhan jualah segalanya dikembalikan dan kami
sebagai penulis sadari bahwa makalah ini masih jauh dari sempurna, disebabkan
karena berbagai keterbatasan yang kami miliki. Untuk itu kami mengharapkan
kritik dan saran yang bersifat membangun untuk menjadi perbaikan di masa yang
akan datang.

Makassar, 17 November 2018

Kelompok 3

ii
DAFTAR ISI

HALAMAN JUDUL .......................................................................................................... i


KATA PENGANTAR ....................................................................................................... ii
DAFTAR ISI..................................................................................................................... iii
BAB I PENDAHULUAN .................................................................................................. 1
1. Latar Belakang ...................................................................................................... 1
2. Rumusan Masalah ................................................................................................ 1
3. Tujuan Penulisan .................................................................................................. 1
BAB II PEMBAHASAN ................................................................................................... 2
1. Basis Data (Database)............................................................................................ 2
1.1. Penyalahgunaan Database :.......................................................................... 2
1.2. Tingkatan Pada Keamanan Database : ....................................................... 3
2. Keamanan Database.............................................................................................. 3
2.1. Otorisasi : ....................................................................................................... 3
2.2. Tabel View : ................................................................................................... 3
2.3. Backup data dan recovery : ......................................................................... 5
2.4. Kesatuan data dan Enkripsi : ...................................................................... 7
2.5. Tujuan Keamanan Basis Data ..................................................................... 7
2.6. Ancaman terhadap Keamanan Database ................................................... 7
3. Studi Kasus Keamanan Database ........................................................................ 8
3.1. Pengertian Stored Prosedure ....................................................................... 8
BAB III PENUTUP ......................................................................................................... 13
1. Kesimpulan .......................................................................................................... 13
2. Saran .................................................................................................................... 13

iii
BAB I

PENDAHULUAN

1. Latar Belakang
Pemanfaatan aplikasi komputer dalam suatu perusahaan atau organisasi
dewasa ini sudah merupakan suatu kebutuhan. Hampir di semua bidang
pekerjaan menggunakan alat bantu berupa aplikasi komputer. Dalam satu
perusahaan misalnya, aplikasi komputer sering dibuat sendiri oleh team
komputer dari perusahaan tersebut.
Dengan berkembangnya pengolahan data, tidak jarang satu aplikasi
menggunakan database yang sama untuk aplikasi yang lainnya. Jalan yang bisa
ditempuh adalah dengan cara mengkopi database yang dibutuhkan tersebut
dari satu aplikasi ke aplikasi yang lain. Hal ini merupakan jalan pintas, agar
aplikasi yang membutuhkan data tadi bisa dioperasikan. Begitu seterusnya
sehingga kegiatan kopi database merupakan suatu kebutuhan dari aplikasi
tersebut.
Melihat kondisi diatas, maka keamanan data menjadi suatu hal yang sangat
penting. Karena bukan hal yang mustahil bahwa data yang dipertukarkan akan
disalahgunakan oleh pihak-pihak yang tidak bertanggung jawab untuk
memenuhi kebutuhan pribadi mereka. Untuk itu perlu teknik khusus untuk
mengamankan database yang dipertukarkan tersebut.
2. Rumusan Masalah
1. Apa pengertian basis data (database) ?
2. Bagaimana keamanan database ?
3. Tujuan Penulisan
1. Mengetahui apa dan bagaimana basis data tersebut.
2. Mengetahui keamanan database.

1
BAB II

PEMBAHASAN

1. Basis Data (Database)

Basis data adalah suatu koleksi data komputer yang terintegrasi,


diorganisasikan dan disimpan dengan suatu cara yang memudahkan
pengambilan kembali. Integrasi logis dari record-record dalam banyak file ini
disebut konsep database yang bertujuan untuk meminimumkan pengulangan
data (duplikasi data artinya data yang sama disimpan dalam beberapa file) dan
mencapai independensi data (kemampuan untuk membuat perubahan dalam
struktur data tanpa membuat perubahan pada program yang memproses data).

Basis data dapat juga diartikan sebagai kumpulan informasi yang


disimpan didalam komputer secara sistematik sehingga dapat diperiksa
menggunakan suatu program computer untuk memperoleh informasi dari basis
data tersebut. Perangkat lunak yang digunakan untuk mengelola dan
memanggil query basis data disebut Database Management System (DBMS).
Hirarki data dalam konsep sistem database yaitu database, file, record dan
eleman data.

1.1. Penyalahgunaan Database :


1. Tidak disengaja, jenisnya :
a. kerusakan selama proses transaksi
b. anomali yang disebabkan oleh akses database yang konkuren
c. anomali yang disebabkan oleh pendistribusian data pada beberapa
komputer
d. logika error yang mengancam kemampuan transaksi untuk
mempertahankan konsistensi database.
2. Disengaja, jenisnya :
a. Pengambilan data / pembacaan data oleh pihak yang tidak berwenang.
b. Pengubahan data oleh pihak yang tidak berwenang.

2
c. Penghapusan data oleh pihak yang tidak berwenang.
1.2. Tingkatan Pada Keamanan Database :
1. Fisikal  lokasi-lokasi dimana terdapat sistem komputer haruslah aman
secara fisik terhadap serangan perusak.
2. Manusia  wewenang pemakai harus dilakukan dengan berhati-hati untuk
mengurangi kemungkinan adanya manipulasi oleh pemakai yang
berwenang
3. Sistem Operasi  Kelemahan pada SO ini memungkinkan pengaksesan
data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem
database menggunakan akses jarak jauh.
4. Sistem Database  Pengaturan hak pemakai yang baik.
2. Keamanan Database
Keamanan merupakan suatu proteksi terhadap pengerusakan data dan
pemakaian data oleh pemakai yang tidak punya kewenangan.
Untuk menjaga keamanan Basis Data dapat dengan: (1) Penentuan
perangkat lunak database server yang handal (2) Pemberian otoritas kepada user
mana saja yang berhak mengakses, serta memanipulasi data-data yang ada.
2.1. Otorisasi :
 Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses
sistem atau objek database
 Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak
dengan 2 fungsi :
 Mengendalikan sistem atau obyek yang dapat diakses
 Mengendalikan bagaimana pengguna menggunakannya
 Sistem administrasi yang bertanggungjawab untuk memberikan hak akses
dengan membuat account pengguna.
2.2. Tabel View :
 Merupakan metode pembatasan bagi pengguna untuk mendapatkan model
database yang sesuai dengan kebutuhan perorangan. Metode ini dapat
menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh
pengguna.

3
 Contoh pada Database relasional,untuk pengamanan dilakukan beberapa
level:
1. Relasi  pengguna diperbolehkan atau tidak diperbolehkan mengakses
langsung suatu relasi
2. View  pengguna diperbolehkan atau tidak diperbolehkan mengakses
data yang terapat pada view
3. Read Authorization  pengguna diperbolehkan membaca data, tetapi
tidak dapat memodifikasi.
4. Insert Authorization  pengguna diperbolehkan menambah data baru,
tetapi tidak dapat memodifikasi data yang sudah ada.
5. Update Authorization  pengguna diperbolehkan memodifikasi data,
tetapi tidak dapat menghapus data.
6. Delete Authorization  pengguna diperbolehkan menghapus data.
 Untuk Modifikasi data terdapat otorisasi tambahan :
1. Index Authorization  pengguna diperbolehkan membuat dan
menghapus index data.
2. Resource Authorization  pengguna diperbolehkan membuat relasi-
relasi baru.
3. Alteration Authorization  pengguna diperbolehkan
menambah/menghapus atribut suatu relasi.
4. Drop Authorization  pengguna diperbolehkan menghapus relasi yang
sudah ada.
 Contoh perintah menggunakan SQL :
 GRANT : memberikan wewenang kepada pemakai

Syntax : GRANT <priviledge list> ON <nama relasi/view> TO <pemakai>

Contoh :

GRANT SELECT ON S TO BUDI

GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI

 REVOKE : mencabut wewenang yang dimiliki oleh pemakai

4
Syntax : REVOKE <priviledge list> ON <nama relasi/view> FROM <pemakai>

Contoh :

REVOKE SELECT ON S TO BUDI

REVOKE SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI

Priviledge list : READ, INSERT, DROP, DELETE, INEX, ALTERATION,


RESOURCE

2.3. Backup data dan recovery :


Backup : proses secara periodik untuk mebuat duplikat ari database dan
melakukan logging file (atau program) ke media penyimpanan eksternal.
Jurnaling : proses menyimpan dan mengatur log file dari semua perubahan
yang dibuat di database untuk proses recovery yang efektif jika terjadi
kesalahan.
Isi Jurnal :
 Record transaksi
1. Identifikasi dari record
2. Tipe record jurnal (transaksi start, insert, update, delete, abort, commit)
3. Item data sebelum perubahan (operasi update dan delete)
4. Item data setelah perubahan (operasi insert dan update)
5. Informasi manajemen jurnal (misal : pointer sebelum dan record jurnal
selanjutnya untuk semua transaksi
 Record checkpoint : suatu informasi pada jurnal untuk memulihkan
database dari kegagalan, kalau sekedar redo, akan sulit penyimpanan
sejauh mana jurnal untuk mencarinya kembali, maka untuk membatasi
pencarian menggunakan teknik ini.

Recovery : merupakan upaya uantuk mengembalikan basis data ke keadaaan


yang dianggap benar setelah terjadinya suatu kegagalan.

Jenis Pemulihan :

5
1. Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam
program yang dapat mengubah / memperbarui data pada sejumlah tabel.
2. Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media
dengan cara mengambil atau memuat kembali salinan basis data (backup)
3. Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang,
listrik terputus alirannya.

Fasilitas pemulihan pada DBMS :

1. Mekanisme backup secara periodik


2. Fasilitas logging dengan membuat track pada tempatnya saat transaksi
berlangsung dan pada saat database berubah.
3. Fasilitas checkpoint, melakukan update database yang terbaru.
4. Manager pemulihan, memperbolehkan sistem untuk menyimpan ulang
database menjadi lebih konsisten setelah terjadinya kesalahan.

Teknik Pemulihan :

1. Defered upate / perubahan yang ditunda : perubahan pada DB tidak akan


berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika
terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan
operasi redo untuk mencegah akibat dari kegagalan tersebut.
2. Immediate Update / perubahan langsung : perubahan pada DB akan segera
tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi
kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi
yang telah disetujui sebelum terjadi kegagalan.
3. Shadow Paging : menggunakan page bayangan dimana pada prosesnya
terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang
lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung
kedua tabel ini sama dan selama berlangsung tabel transaksi yang
menyimpan semua perubahan ke database, tabel bayangan akan digunakan
jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO
atau UNDO, kelemahannya membuat terjadinya fragmentasi.

6
2.4. Kesatuan data dan Enkripsi :
 Enkripsi : keamanan data
 Integritas :metode pemeriksaan dan validasi data (metode integrity
constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan
terlaksananya integritas data.
 Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren
pada database multi user tidak saling menganggu operasinya masing-
masing. Adanya penjadwalan proses yang akurat (time stamping).
2.5. Tujuan Keamanan Basis Data
 Secrecy/Confidentiality: Informasi tidak boleh diungkapkan kepada
pengguna yang tidak sah. Sebagai contoh, mahasiswa seharusnya tidak
diperbolehkan untuk memeriksa nilai siswa lainnya.
 Integrity: Hanya pengguna yang berwenang harus diizinkan untuk
memodifikasi data. Sebagai contoh, siswa mungkin diperbolehkan untuk
melihat nilai mereka, namun tidak diperbolehkan (jelas) untuk
memodifikasi mereka.
 Availability: Pengguna yang terdaftar tidak boleh ditolak akses. Sebagai
contoh, seorang instruktur yang ingin mengubah kelas harus diizinkan
untuk melakukannya
2.6. Ancaman terhadap Keamanan Database
 Interuption: Sumber daya basis data dirusak atau menjadi tidak dapat
dipakai (ancaman terhadap availability).
 Interception: Pemakai atau bagian yang tidak berhak mengakses sumber
daya basis data (ancaman secrecy).
 Modification: Pemakai atau bagian yang tidak berhak tidak hanya
mengakses tapi juga merusak sumber daya sistem komputer (ancaman
integrity).
 Fabrication: Pemakai atau bagian yang tidak berhak menyisipkan objek
palsu kedalam sistem (ancaman integrity).

7
3. Studi Kasus Keamanan Database
3.1. Pengertian Stored Prosedure
Stored Prosedure adalah program yang disimpan dalam database seperti
halnya data. Hal ini sebenarnya cukup tidak umum, karena kita
mengharapkan yang disimpan dalam database adalah data bukan program.
Dengan adanya Store Procedure, maka program SQL yang telah kita buat :
a. Dapat digunakan kapanpun
Seperti halnya pembuatan prosedur pada C++ / Pascal / Java atau
pemrograman yang lain, apabila pembuatan program bersifat modular
(dibuat kecil untuk setiap maksud/tujuan), akan lebih baik apabila
pemrograman tesebut menggunakan banyak prosedur. Dengan dibuat
terpisah, kapanpun diinginkan, hanya tinggal memanggil program
tersebut.
b. Lebih cepat dan efisien
Untuk program yang besar, pembuatan program Server Side, terasa lebih
mudah dibandingkan Client Side. Dengan Server Side, program lebih
bersifat Netral terhadap semua aplikasi. Disisi Programer, ia tidak perlu
mengetahui terlalu mendalam terhadap suatu program aplikasi seperti
VB, Delphi, Java , C++ Builder, PHP, ASP, J2ME, WAP, SMS dsb.
karena tugas–tugas tersebut sebenarnya dapat dilakukan oleh Server
(dalam hal ini SQL Server) sedangkan aplikasi lainnyahanya untuk User
interface/tampilan belaka, yang hanya berfungsi untuk menampilkan
data, memasukkan data, serta memberikan parameter-parameter yang
dibutuhkan oleh server untuk menghapus , mengubah, skeduling, backup
dan sebagainya. Sedangkan program yang sesungguhnya berada pada
Server tersebut.
c. Mudah dibuat dan dirawat karena kecil tapi ‘Power Full’

Stored Procedure juga memiliki beberapa keunggulan dari beberapa aspek,


yaitu:

8
 Kinerja
1. Execution plan pada stored procedure sudah dibuat pada saat procedure itu
dikompilasi jadi hanya terjadi 1 kali. Berbeda dengan adhoc query terutama
dengan query tanpa parameter (tanpa simbol @). Query adhoc dikompilasi
(dibuat parse tree dan query tree) secara realtime, terutama jika query
tersebut tidak ada di procedure cache.
2. Stored procedure dapat dipin(ditandai) di memori. Artinya sebuah Stored
procedure dapat dipaksa untuk tetap berada di memori fisik meskipun dbms
membutuhkan memori tambahan. Akibatnya operasi swaping in &
swapping out Stored procedure dapat diminimalkan terutama untuk Stored
procedure yang sering dipakai. Sebagai catatan dengan harga memori yang
makin murah (relatif dalam US $) maka opsi pin ini semakin atraktif
3. Stored procedure dapat digunakan untuk membatasi jumlah record yang
dikirim ke client. Hal ini dapat mengurangi beban jaringan. Hal ini akan
sangat mempercepat karena bottle neck utama di applikasi database terletak
di jaringan.
4. Stored procedure terletak di DBMS sehingga untuk proses yang
membutuhkan data banyak, round trip untuk permintaan data sampai data
itu diterima dapat ditiadakan.
 Transparansi dan scolabilitas
 Kemanan
Stored procedure mencegah terjadinya SQL injection. SQL injenction
dalah sebuah aksi hacking yang dilakukan di aplikasi client dengan cara
memodifikasi perintah SQL yang ada di memori aplikasi client.
Statement sql bukanlah bahasa pemrograman seperti pascal,Delphi atau
visual basic. Statemen sql biasanya digunakan bersama sama dengan bahasa
pemrograman lain pada saat mengakses database. Untuk mencocokan user
yang login, maka digunakan statemen sql yang kurang lebih sebagai berikut:
Select * from admin where username = input_username

And password = input_password

9
Sebagai contoh apabila penulis sebagai administrator dengan username
= administrator dan password = admin bermaksud login maka sql statemennya
sebagai berikut
Select * from admin where username = ‘administrator’ and

Password = ‘admin’

Dapat dipastikan bahwa apabila field username terdapat record


administrator dengan filed password terdapat admin, penulis dapat melewati
proteksi dan masuk kehalaman berikutnya ,akan tetapi apabila sebaliknya
,maka akan keluar pesan kesalahan yang kurang lebih isinya kita tidak dapat
masuk ke halaman berikutnya.
Statemen SQL jika penulis memasukkan input ‘or”=’ pada username
dan pasword:
Select * from admin where username = ‘’ or ‘’ = ‘’ and

Password = ‘’ or ‘’=’’

Logika OR menyebabkan statement membalikan nilai false jadi true


sehingga kita dapat masuk sebagai user yang terdapat pada record pertama
dalam table admin ( record pertama biasanya administrator) , dan bagaimana
kalo kita hanya mengetahui username saja tapi passwordnya tidak , misalkan
username = administrator , caranya cukup sederhana , pada text box tempat
menginput username isi dengan “administrator’—“ sedangkan pada textbox
password boleh diisi sembarang misalkan ‘ or ‘’=’ maka statement sql akan
berubah menjadi
Select * from admin where username = ‘ administrator ‘—“

And password = ‘’ or ‘’=’’

Cara untuk mencegah dari SQL injection adalah menggunakan srored


procedure yang mempunyai parameter. Penggunaan parameter tersebut untuk
memastikan nilai input sudah dicek tipe dan panjangnya. Parameter juga
diberlakukan untuk menjamin sebagai nilai yang aman dan bukan kode yang
dapat dieksekusi dalam database. Jika tidak dapat menggunakan stored

10
procedures, sebaiknya menggunakan SQL statement dengan parameter. Jangan
pernah membangun SQL statement dengan langsung memasukkan nilai input
dalam SQL command. Pastikan aplikasi memberikan hak akses ke database
seperlunya saja.
Hak akses stored procedure terhadap data di database bergantung pada
hak akses pembuatnya bukan bergantung pada hak akses pengguna stored
procedure. Hal ini memungkinkan user applikasi untuk tidak diberi hak akses
terhadap semua tabel yang ada namun diberi hak akses untuk menjalankan
stored procedure. Akibat penggunaan mekanisme ini adalah enforcement
terhadap aktifitas user (select, inser, update, delete) tersentralisasi bahkan
untuk applikasi seperti query analyzer tidak akan dapat digunakan untuk
mengakses data secara tidak sah.
Penggunaan stored procedure mendukung penggunaan application
role. Application role adalah sebuah role di SQL server 2k dimana role ini
tidak memiliki pengguna. Mekanisme ini merupakan mekanisme standard
yang disarankan oleh Microsoft untuk membuat applikasi database berbasis
SQL server 2k. Keunggulan penggunaan application role ini adalah dengan
menggunakannya maka hanya app kita yang dapat mengakses database
applikasi lain tidak dapat kecuali user memakai login yang berrole sysadmin.
Perlindungan hak cipta. stored procedure dapat dienkript sehingga
proses tidak dapat dibajak orang dengan mudah. Memungkinkan manual audit
yang sangat baik. Manual audit didefinisikan sebagai audit dimana mekanisme
pencatatan log dilakukan oleh applikasi bukan dbms. Memang manual audit
dapat dilakukan tanpa penggunaan stored procedure namun manual audit dapat
dibypass misalkan dengan menggunakan query analyzer. Dengan stored
procedure dan fasilitas application role maka mekanisme manual audit dapat
dienforce setiap saat.
 Fleksibilitas terhadap perubahan proses bisnis
Stored procedure tersimpan di server. Modifikasi mudah dilakukan dan
dengan cepat.

11
 Ekonomi
Stored procedure menyediakan 1 pintu masuk untuk proses data entri.
Applikasi client tinggal mengaksesnnya. Stored procedure dibuat 1 kali dan
dapat diakses oleh applikasi client yang berbeda-beda. Efesien dan murah

12
BAB III

PENUTUP

1. Kesimpulan
Basis data adalah suatu koleksi data komputer yang terintegrasi,
diorganisasikan dan disimpan dengan suatu cara yang memudahkan
pengambilan kembali. Integrasi logis dari record-record dalam banyak file ini
disebut konsep database yang bertujuan untuk meminimumkan pengulangan
data (duplikasi data artinya data yang sama disimpan dalam beberapa file) dan
mencapai independensi data (kemampuan untuk membuat perubahan dalam
struktur data tanpa membuat perubahan pada program yang memproses data).
Keamanan merupakan suatu proteksi terhadap pengerusakan data dan
pemakaian data oleh pemakai yang tidak punya kewenangan.
Untuk menjaga keamanan Basis Data dapat dengan: (1) Penentuan
perangkat lunak database server yang handal (2) Pemberian otoritas kepada
user mana saja yang berhak mengakses, serta memanipulasi data-data yang
ada.
2. Saran
Untuk teman-teman maupun orang-orang yang membaca makalah kami,
sebaiknya jika mempunyai Basis Data (Database) harap berikan pengaman
agar tak dapat di otak-atik olah orang-orang yang tidak bertanggung jawab.

13
DAFTAR PUSTAKA

http://docs.google.com/viewer?a=v&q=cache:KAfpJxKqtp4J:mapbigi.files.wordp
ress.com/2009/08/keamanan-data-dan-metoda-
enkripsi.doc+metoda+keamanan+data&hl=id&gl=id&pid=bl&srcid=ADGEESiL
ZRxyyrKXMjdgnT415O7XQwrcbUVKWIe91iEgAw8vgKSn_dPqiRsAmlRzvPw
MHYleFxUy_It3S4bGgbOV9fm0BzR7cnAOswAhmVJYzgRJz2uvH3v8xlDx4X
VvmNZJz5_wb41&sig=AHIEtbQn4UAHvIKvmF90hRv6r-cy-gknRQ

http://swelandiah.staff.gunadarma.ac.id/Downloads

http://blog.uad.ac.id/maratul/category/basis-data/

14

Anda mungkin juga menyukai