Thursday, March 30, 2017

SYSTEM KEAMANAN DATABASE ADMINISTRATOR DARI SERANGAN BACKDOOR DENGAN MEMANFAATKAN TRIGGER DAN SYS_EXEC()



PEMBUATAN SYSTEM KEAMANAN DATABASE ADMINISTRATOR

DARI SERANGAN BACKDOOR

DENGAN MEMANFAATKAN TRIGGER DAN SYS_EXEC()

Angga Cahyo Saputro1, Bambang Sugiantoro2
1,2Magister Teknik Informatika STMIK AMIKOM Yogyakarta
3 Jl Ringroad Utara, Condongcatur, Depok, Sleman, Yogyakarta Indonesia

55283

Email : anggacahyo3@gmail.com1),              bambang.sugiantoro@amikom.ac.id2)

Abstrak

Currently, many companies and institutions that use IT to meet the needs of transaction processing and reporting process. And then many hackers have sprung up to try to break into the system that has been built. For that an administrator should always develop a security system that he possesses that are not easily penetrated by hackers. One of which must be avoided is the backdoor and metasploit, by utilizing the trigger is in the database we can create a security system

Keywords: avoid backdoor, to avoid manipulation of the database, the database hacker

Intisari

Saat ini banyak perusahaan maupun instansi yang memakai IT untuk memenuhi kebutuhan proses transaksi maupun proses pembuatan laporan. Dan saat itulah banyak hacker bermunculan untuk mencoba menerobos masuk kedalam system yang telah dibangun . Untuk itulah seorang administrator harus selalu mengembangkan sistem keamanan yang dia miliki agar tidak mudah di tembus oleh para hacker . Salah satu yang harus dihindari adalah backdoor dan metasploit , dengan memanfaatkan trigger yang ada di database kita bisa membuat system keamanan


Kata Kunci : menghindari backdoor , menghindari manipulasi database , hacker database

1. Pendahuluan

Pada Jaman modern seperti sekarang peran IT sudah tidak bisa terbahtahkan lagi , hampir seluruh proses transaksi saat ini sudah diambil alih oleh IT. Komputerisasi menjadi primadona dalam pengolahan data maupun transaksi bahkan mencapai dalam pembuatan laporan. Sehingga saat ini hampir seluruh perusahaan maupun instansi berlomba lomba memanfaatkan IT untuk kepentingan mereka.Akan tetapi pada kenyataan dilapangan banyak sekali instansi maupun perusahaan tidak menyeimbangkan sistem yang mereka miliki dengan keamanan sistem. Hal seperti ini dapat berakibat fatal dikarenakan sekarang sudah mulai banyak sekali

hacker yang mencoba untuk menerobos masuk ke dalam sistem sebuah instansi

Banyak sekali cara untuk menembus sebuah sistem keamanan mulai dari bypass password , backdoor , metasploit , xss , shellsock bahkan ddos.Saya akan ambil salah satunya yaitu backdoor. Script ini bisa disisipkan oleh seorang hacker dengan berbagai cara , bahkan dari backdoor ini seorang hacker bisa mematikan akses aplikasi bahkan memanipulasi database yang telah berjalan. Maka dari itu seorang database administrator harus selalu mengembangkan kemampuan dan keamanan dari sistem yang dia jaga sehingga bisa mengantisipasi ketika seorang hacker telah menembus sistem yang dia miliki


2. Landasan Teori

1.     Basis data

Adalah (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu



2.    Keamanan komputer

adalah tindakan pencegahan dari serangan pengguna komputer atau pengakses jaringan yang tidak bertanggung jawab atau sering kali Keamanan Komputer atau computer security adalah tindakan pencegahan dan deteksi terhadap gangguan pada sistem komputer.


3.     Virus komputer

Adalah merupakan program komputer yang dapat menggandakan atau menyalin dirinya sendiri dan menyebar dengan cara menyisipkan salinan dirinya ke dalam program atau dokumen lain. Virus komputer dapat dianalogikan dengan virus biologis yang menyebar dengan cara menyisipkan dirinya sendiri ke sel makhluk hidup.


4.     Backdoor

Pada awalnya dibuat oleh para programer komputer sebagai mekanisme yang mengizinkan mereka untuk memperoleh akses khusus ke dalam program mereka, seringnya digunakan untuk membenarkan dan memperbaiki kode di dalam program yang mereka buat ketika sebuah crash akibat bug terjadi.


3. Rumusan masalah

Pada penulisan kali ini saya akan membahas mengenai Bagaimana cara mendeteksi hacker ketika dia masuk dan memanipulasi database administrator ?

4. PEMBAHASAN

Konsep Normal dari program database yang saya miliki adalah sebagai berikut


Pada tabel diatas adalah sebuah konsep dari database user yang saya miliki dimana admin adalah operator yang bisa memanipulasi data secara resmi dengan hak akses yang ada di dalam aplikasi , ketika dia melakukan perintah update user maka secara otomoatis tabel user akan berubah sesuai data yang dinginkan oleh admin, Ketika tabel user berubah maka secara otomatis perubahan data tersebut akan di simpan dan dicatat ke dalam tabel log_user

Sedangkan tabel syntax_user adalah sebuah tabel yang digunakan untuk merekam jejak seorang admin untuk mengetahui dia melakukan apa saja di dalam tabel user

Setelah melakukan update data maka data lama akan tersimpan di tabel log_user dan rekaman kegiatan admin akan disimpan di tabel Syntax_user

Diatas telah saya jelaskan sebuah alur program yang berjalan , ketika admin melakukan perubahan pada tabel user maka kegiatannya akan terekam dan dicatat oleh 2 tabel yaitu tabel log_user sebagai tempat menyimpan data perubahan tabel user dan tabel syntax_user dimana dia akan merekam kegiatan admin di dalam tabel user contohnya sebagai berikut

Sekarang apabila seorang hacker berhasil menembus sebuah database administrator maka yang terjadi adalah seperti berikut


 

Bisa kita lihat ketika seorang hacker menembus sebuah database administrator maka dia melewati aplikasi dan langsung terkoneksi dengan database , ketika hacker memanipulasi tabel user maka , kegiatan hacker hanya akan tercatat di tabel log_user sedangkan syntax_user tidak tercatat.


5.     Implementasi

Baiklah dari data diatas kita telah mengerti bagaimana hacker masuk dan memanipulasi database , di dalam kasus tersebut terdapat 2 tabel yang merekam jejak seorang admin ketika memanipulasi data tabel user yaitu tabel log_user dan tabel syntax_user .

Disini saya mencoba untuk synkronisasi antara data di tabel log_user dan data di tabel syntax_user jika keduanya mengalami kecocokan saat terjadi perubahan data di tabel user maka proses di lanjutkan tetapi apabila tidak sama maka trigger di tabel log_user akan menjalankan peintah masukan data serangan . Ketika data serangan terisi maka secara otomatis tabel tersebut akan menjalan trigger untuk menghubungi administrator

1.     Keadaan Normal


1.     Keadaan Diserang



Dari gambar diatas tertera jelas bahwa ketika hacker berhasil menembus database administrator dan melakukan update data pada tabel user . Selanjutnya tabel user akan menympan data perubahan dan melakukan synchronisasi dengan tabel syntax_user akan tetapi gagal , karena di tabel syntax_user tidak terdapat rekaman jejak perintah update dai admin sehingga pada kondisi tersebut maka data akan dicatat di tabel serangan kemudian tabel serangan akan menghubungi file php untuk mengirim email ke admin

Untuk bisa melakukan nya disini saya harus membuka sys_exec() di dalam AMPPS dengan cara menginstal lib_mysqludf_sys ke dalam mysql , caranya http://dev.mysql.com/doc/refman/5.7/en/udf-compiling.html , disitu terdapat cara instalasi lib_mysqludf_sys ke dalam mysql . Disini saya akan menjabarkan posisi script database dan file PHP serta trigger yang ada di dalam database


1)         Tabel user

CREATE TABLE IF NOT EXISTS `user` ( `id` int(11) NOT NULL,
`nama` varchar(50) NOT NULL, `alamat` text NOT NULL, `pekerjaan` varchar(50) NOT NULL

)       ENGINE=InnoDB              AUTO_INCREMENT=66              DEFAULT

CHARSET=latin1;

2)         Tabel syntax_user

CREATE TABLE IF NOT EXISTS `syntax_user` ( `id` int(11) NOT NULL,
`id_user` int(11) NOT NULL, `id_admin` int(11) NOT NULL, `table` varchar(20) NOT NULL, `waktu` datetime NOT NULL, `status` varchar(20) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;

3)         Tabel log_user

CREATE TABLE IF NOT EXISTS `log_user` ( `id` int(11) NOT NULL,
`nama` varchar(50) NOT NULL, `alamat` text NOT NULL, `pekerjaan` varchar(50) NOT NULL, `status` varchar(10) NOT NULL, `waktu` datetime NOT NULL

) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1;

4)         Tabel Serangan

CREATE TABLE IF NOT EXISTS `serangan` ( `id` int(11) NOT NULL,
`id_data` int(11) NOT NULL, `status` varchar(20) NOT NULL, `waktu` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

5)         Trigger untuk mencatat perubahan data di Tabel User

DROP TRIGGER IF EXISTS `masuka`;CREATE DEFINER=`root`@`localhost` TRIGGER `masuka` AFTER UPDATE ON `user` FOR EACH ROW BEGIN INSERT INTO `keamanan`.`log_user` VALUES (old.id,old.nama,old.alamat,old.pekerjaan,'update',NOW());
END


** pengertian

Ketika terjadi perubahan update data pada tabel user maka perbuahan itu akan dimasukkan ke dalam tabel log_user

6)         Trigger untuk melakukan synchronisasi tabel Log_user dan tabel Syntax_user saya letakkan di tabel log_user

DROP TRIGGER IF EXISTS `ceking`;CREATE DEFINER=`root`@`localhost` TRIGGER `ceking` AFTER INSERT ON `log_user` FOR EACH ROW BEGIN DECLARE angka integer DEFAULT 0; set @angka=(SELECT COUNT(*) FROM syntax_user where (waktu BETWEEN new.waktu and DATE_ADD(new.waktu, INTERVAL 2 SECOND)) and id_user=new.id and STATUS=new.status); if @angka > 0 then INSERT into serangan VALUES (null,new.id,new.status,new.waktu); end if; END


** pengertian

Ketika data update dimasukkan ke dalam tabel log_user maka tabel tersebut akan melakukan pengecekan terhadap tabel syntax_user apakah ada catatan bahwa admin memang melakukan perubahan data pada tanggal dan waktu tersebut


7)         Trigger tabel serangan yang digunakan untuk mengirim pesan ke admin apabila ada serangan

CREATE TRIGGER `kirimpesan` AFTER INSERT ON `serangan` FOR EACH ROW BEGIN DECLARE result INT; SET result = sys_exec('php -f /usr/local/ampps/www/keamanan/kirim.php'); END


** pengertian

Ketika data serangan terisi maka secara otomatis trigger tersebut akan mengeksekusi file kirim.php

8)         Script untuk kirim.php

<?php

$to = "anggacahyo3@gmail.com.com"; $subject = "Serangan";

$message = "

<html>

<head>

<title>Mengirim sebuah email</title>

</head>

<body> <h1>

Mengirim Sebuah Email</h>

Anda diserang cepat amakan file anda </html>

";

$headers = "MIME-Version: 1.0" . "\r\n"; $headers .=

"Content-type:text/html;charset=UTF-8" . "\r\n"; $headers .= 'From: <@email.com>' . "\r\n"; $headers .= 'Cc: candrasmile@email.com' . "\r\n"; mail($to,$subject,$message,$headers);

?>



5.      Kesimpulan

Dari hasil implementasi diatas dapat ditarik kesimpulan bahwa kita bisa

membuat sistem peringatan dini pada sebuah database yang berhasil dimanipulasioleh seorang hacker, namun pada database yang saya gunakan hanya 1 tabel saja ketika anda bekerja dengan beberapa tabel anda harus perhatikan waktu interval antara data yang masuk antara tabel log_user dengan tabel syntax_user


6.      Saran

Sistem keamanan ini berjalan apabila seorang hacker telah melakukan

manipulasi database pada salah satu tabel , kedepan saya berharap bisa mengembangkan lebih jauh lagi apabila seorang hacker baru mengakses database administrator dia sudah terdeteksi


7.  DAFTAR PUSTAKA


A.     https://id.wikipedia.org/wiki/Basis_data

B.     https://id.wikipedia.org/wiki/Virus_komputer

C.     http://dev.mysql.com/doc/refman/5.7/en/udf-compiling.html

D.     Jhon D Howard,1995,An analysis of security incident on the internet,

Pittsburg penyslavia.

E.     Dwianto, D. (2007). Membuka akses firewall melalui Networks. echo|zine, volume 5

F.     Jeanquier, S. (2006). An analysis of port knocking and single packet authorization.
G.    Information  Security  Group  :  Royal  Holloway  College,  University  of

London.
 


No comments:

Post a Comment

Download desain Banner

Banner atau sering disebut spanduk , brosur dan lain sebagainya adalah sebuah pengumuman berbentuk gambar maupun tulisan yang biasanya di ...