Keamanan Data di dalam Cloud Storage ABSTRAK Hampir setiap orang menyimpan semua informasi penting dan sensitif di dalam format elektronik di dalam jaringan komputer, beberapa mengenai rahasia pribadi ataupun yang berkaitan dengan kehidupannya. Dalam banyak hal yang berkaitan dengan keamanan sistem dan informasi pribadi, yang menjadi isu terbesar adalah halhal yang berkaitan dengan jaringan komputer dan data yang ditransfer melalui jaringan komputer tersebut. Berkaitan dengan data-data yang disimpan, ada beberapa jenis ancaman yang mungkin terjadi dan kerugian secara signifikan yang harus diketahui oleh setiap orang. Oleh karena itu setiap orang harus tau cara penanganan yang harus dilakukan setelah adanya ancaman tersebut. Pada paper ini, akan dibahas mengenai pentingnya memperhatikan aspek keamanan dan cara penanggulangan dari data yang disimpan di dalam penyimpanan awan.
1. Pendahuluan Saat ini sebagian besar dari pengguna internet percaya bahwa cloud storage merupakan salah satu solusi terbaik untuk menyimpan data, baik data pribadi maupun data yang akan dikelola lagi. Hal ini dikarenakan pengguna tidak perlu membawa media penyimpanan kemana-mana untuk file-file yang mereka anggap penting, karena semuanya dapat diakses darimana saja melalui internet. Cloud storage atau virtual drive sendiri pada dasarnya mirip dengan konsep file server pada suatu kantor perusahaan, hanya saja infrastruktur media storage tersebut dikelola oleh provider cloud dan pemanfaatannya dijadikan layanan penyimpanan file yang dapat diakses dari internet. Cloud storage saat ini juga tidak hanya dimanfaatkan oleh perorangan. Beberapa perusahaan, lembaga pendidikan, lembaga pemerintahan dan sebagainya juga banyak menggunakan cloud storage untuk menyimpan data keuangan, dokumen rahasia, data akademik dan lainnya. Banyak dari user atau pengguna memang kurang memperdulikan keamanan data dan informasi yang tersimpan pada cloud storage ini, sehingga hal ini dapat beresiko pada data dan informasi tersebut. Mungkin beberapa pengguna juga sering mendengar kebocoran data yang bersifat rahasia milik lembaga pemerintahan akibat ulah para hacker tersebut. Percayalah, bahwa semua data yang disimpan pada cloud sebenarnya tidaklah benar-benar aman. Dalam beberapa hal, pengguna perlu khawatir akan keamanan data mereka pada cloud storage tersebut, sehingga beberapa upaya penting dilakukan untuk menjaga keamanannya.
Pada penelitian Oktariani (2011) telah dipaparkan tentang ancaman dan cara mengantisipasi ancaman keamanan penyimpanan data pada sistem cloud computing, juga tentang enkripsi data didalamnya, selain itu juga pada paper (Esyudha, 2013) telah dipaparkan perlindungan data dari aspek privacy security. Namun kedua penelitian tersebut masih belum bisa dijadikan acuan untuk keamanan pada cloud storage. Karena, ancaman yang sering terjadi pada cloud storage cukup banyak. Salah satunya tentang SQL Injection, dan Malware yang saat ini kian banyak berkembang. Oleh karena itu, pada paper ini akan dibahas cara menanggulangi ancaman SQL Injection dan Malware yang berguna untuk keamanan Aplikasi (Software) dan Komputer (Server).
2. Keamanan Data pada Cloud Storage 2.1 Cloud storage Cloud Storage Merupakan Media Penyimpanan yang dalam pengaksesannya memerlukan Jaringan Internet. Namun Tentu saja filenya berada di komputer dimana user harus membuat akun cloud storage terlebih dahulu. Contoh kecilnya jika seorang web designer (user) memerlukan file-file yang berupa gambar, font, flash, file tutorial dan lain-lain. Untuk memudahkan dalam pengerjaannya maka sebaiknya user menggunakan media penyimpanan cloud storage. Karena cloud storage ini dapat mengefisiensikan waktu dan tempat di bandingkan menggunakan media penyimpanan seperti flashdisk maupun CD. Yang paling ditekankan dari keuntungan teknologi ini adalah kemudahan mengakses data-data user di mana saja dan kapan saja. Akan tetapi, disamping kelebihan dan keunggulan dari Cloud Storage, tidak lepas juga akan kekurangan dari sistem tersebut, kekurangannya adalah terletak pada hal keamanan. Setiap akun dilindungi oleh password yang bisa saja diketahui orang lain jika user tidak berhati-hati. Walaupun user sudah begitu berhati-hati tetap tidak menutup kemungkinan akun user dibuka orang lain. Kekurangan lain adalah gangguan pada saat mengakses data, entah itu disebabkan karena koneksi yang bermasalah atau server yang sedang ‘down’. Beberapa sistem cloud storage bahkan menyediakan fitur agar orang lain dapat mengakses data milik user. Hal ini tentunya akan sangat memudahkan user dalam pengerjaan sebuah proyek kolaboratif daripada bertukar salinan data baik secara online maupun offline, sehingga user harus di tuntut menggunakan media ini secara bijak.
2.2 Pengertian keamanan data Keamanan adalah keadaan bebas dari bahaya (wikipedia). Data
adalah catatan atas kumpulan fakta. Jadi Keamanan data adalah keadaan catatan yang berisi kumpulan fakta fakta yang berada dalam keadaan aman tanpa adanya gangguan yang membahayakannya. Keamanan data adalah sesuatu yang sangat penting bagi user. Walaupun User hanya menggunakan aplikasi dan tidak tahu tentang keamanan data pada cloud storage tersebut. Namun hal ini cukup membuat user resah akan data yang disimpan pada cloud storage. Hal inilah yang menjadi tanggung jawab penyedia layanan cloud storage untuk bisa menjaga data user dengan aman.
2.3 Ancaman keamanan data Pada pendahuan telah dipaparkan bahwa tujuan paper ini untuk membahas jenis-jenis penyerangan atau ancaman yang sering terjadi pada penyimpanan data pada cloud computing. Berikut adalah ancaman yang sering terjadi pada penyimpanan data cloud computing : 1. Malware Malware merupakan istilah yang digunakan untuk perangkat lunak berbahaya dan dirancang untuk merusak atau melakukan tindakan yang tidak diinginkan ke sistem computer (Server). Contoh perangkat lunak berbahaya meliputi :
Virus
Worm
Spyware
Perangkat lunak keamanan berbahaya
Salah satu proses masuknya malware ke dalam computer/aplikasi bisa disebabkan oleh administrator computer atau aplikasi dan juga seorang user yang meng-upload file yang berisi virus kedalam cloud storage. Hal ini menjadi sangat penting bagi pihak layanan cloud storage, karena userpun tidak tahu bahwa filenya sudah terinfeksi virus sebelum menguploadnya ke cloud storage. Hal ini dapat berdampak juga pada sistem Mesin pencarian seperti Google dan lain-lain. Pada saat Google mengindex website (aplikasi) cloud storage kemudian menemukan adanya mallicious script/malware/badware tertanam di website tersebut, maka google akan langsung memberikan Label Badware/Malware dalam SERP (Search Engine Result Page) google. Begitupun beberapa browser biasanya akan memblokirnya juga. Selain karena kecerobohan administrator website sendiri dan user yang meng-upload file yang terinjeksi virus, malware juga bisa di inject-kan ke website oleh orang lain (hacker). Hal ini bisa dikarenakan tingkat security website yang masih rendah atau adanya bug
atau celah keamanan pada website sehingga mudah ditembus oleh Hacker. 2. SQL Injection SQL Injection attack merupakan salah satu teknik dalam melakukan web hacking utk menggapai akses pada sistem database yg berbasis SQL. Teknik ini memanfaatkan kelemahan dalam bahasa pemprograman scripting pada SQL dalam mengolah suatu sistem database. Hasil yg ditimbulkan dari teknik ini membawa masalah yg sangat serius. Salah satu penyebab terjadinya SQL Injection adalah tidak adanya penanganan terhadap karakter – karakter tanda petik satu (’) dan juga karakter double minus (—) yang menyebabkan suatu aplikasi dapat disisipi dengan perintah SQL. Sehingga seorang Hacker bias menyisipkan perintah SQL ke dalam suatu parameter maupun suatu form. SQL Injection memungkinkan seseorang dapat login kedalam sistem tanpa harus memiliki account. Selain itu SQL injection juga memungkinkan seseorang merubah, menghapus, maupun menambahkan data–data yang berada didalam database. Bahkan yang lebih berbahaya lagi yaitu mematikan database itu sendiri, sehingga tidak bisa memberi layanan kepada web server. Biasanya para hacker untuk melakukan SQL Injection membutuhkan Browser, PC yang terhubung dengan internet, program atau software seperti softice. Ini adalah contoh dari serangan SQL Injection yang dilakukan oleh hacker untuk bisa masuk login tanpa mengetahui user dan password.
Gambar 2.3
2.4 penanggulangan ancaman berdasarkan jenisnya 2.4.1 Tabel Analisis Perbandingan. Jenis Keterangan Ancam an SQL Pengertian
Penanggulangan
: Dengan
cara
Injectio n
Merupakan salah satu teknik dalam melakukan web hacking utk menggapai akses pada sistem database yg berbasis SQL.
menjadikan variabel get menjadi absolute integer, dengan menambahkan variabel get berisi enkripsi md5 yg divariasi pada url, dengan melakukan enkripsi password atau merubah algoritma autentikasi login khusus untuk form login, atau dengan memfilter inputan yang masuk Cross Pengertian : Dengan memberikan Scriptin Mengeksploitasi fungsi htmlspecialchars g kelemahan keamanan dan trim pada halaman yang terjadi pada insert anda penggunaan teknologi dynamic page akibat ketidakmampuan server dalam memvalidasi input yang diberikan oleh pengguna. Malwar Pengertian : Dengan Scanning e perangkat lunak perangkat lunak berbahaya dan dirancang untuk merusak atau melakukan tindakan yang tidak diinginkan ke sistem computer Pada ancaman SQL Injection dan XSS, mempunyai cara penanganan yang hampir sama, yaitu dengan cara memfilter inputan yang masuk. Akan tetapi, keduanya memiliki sintak pemfilteran yang berbeda. Cara untuk memfilter inputan yang masuk untuk SQL Injection bisa menggunakan sintak mysql_real_escape_string pada pemrograman PHP. Sedangkan pada XSS bisa menggunakan htmlspecialchars.
2.5 Pengenalan Base 64
Base64 adalah metoda yang digunakan untuk melakukan encoding (penyandian) terhadap data binary menjadi format 6-bit character. Pada algoritma ini, rangkaian bit-bit plainteks dibagi menjadi blok-blok bit dengan panjang yang sama, biasanya 64 bit yang direpresentasikan dengan karakter ASCII. Base64 menggunakan karakter A – Z, a – z dan 0 – 9 untuk 62 nilai pertama, sedangkan 2 nilai terakhir digunakan symbol (+ dan /). Istilah Base64 berasal dari konten pengkodean MIME (Multipurpose Internet Mail Extensions) tertentu. Base64 juga banyak digunakan di dunia Internet sebagai media data format untuk mengirimkan data. Dikarenakan hasil dari transformasi base64 berupa plaintext, maka nilai ini akan jauh lebih mudah dikirim, dibandingkan format data berupa binary. Algoritma Base64
Gambar 2.5
2.6 Metode KMP (Knuth-Morris-Pratt) Algoritma Knuth-Morris-Pratt adalah salah satu algoritma pencarian string, dikembangkan secara terpisah oleh Donald E. Knuth pada tahun 1967 dan James H. Morris bersama Vaughan R. Pratt pada tahun 1966, namun keduanya mempublikasikannya secara bersamaan pada tahun 1977. Jika kita melihat algoritma brute force lebih mendalam, kita mengetahui bahwa dengan mengingat beberapa perbandingan yang dilakukan sebelumnya kita dapat meningkatkan besar pergeseran yang dilakukan. Hal ini akan menghemat perbandingan, yang selanjutnya akan meningkatkan kecepatan pencarian.
Cara kerja algoritma ini adalah : 1. Pencocokan karakter dilakukan dari kiri ke kanan 2. Mencari prefix terpanjang dari P[0..j-1] yang juga merupakan suffix dari P[1..j-1], untuk menghindari pergeseran yang tidak perlu. 3. Hasil dari pencarian prefix terpanjang disimpan pada tabel. Ini disebut juga Failure Function. Misalkan panjang string yang telah diperiksa dan cocok = N dan nilai dari Failure Function adalah M, maka pergeseran dilakukan sebanyan (N-M).
2.7 Metodologi penelitian Ancaman Malware sering kali terjadi pada saat proses upload data yang telah terinfeksi virus. Sedangkan untuk SQL Injection dan XSS yang paling rawan berada pada URL dan proses login. Oleh karena itu penelitian kali ini akan membahas penanggulangan ancaman malware pada proses upload data dan penanggulangan SQL Injection pada URL dan form Login. Berikut adalah langkah-langkah penelitian yang telah dilakukan.
Gambar 2.7
2.7.1
Modifikasi Base 64 dengan key. Base 64 adalah salah satu metode kriptografi yang paling sering digunakan untuk enkripsi sebuah string. Selain itu pada bahasa pemrograman PHP, kita tidak perlu membuat source code metode base 64. Karena pada bahasa pemrograman PHP, seorang programmer bisa memanggil metode base 64 hanya dengan menggunakan sintak base64_encode. Akan tetapi, hal ini cukup rawan apabila seorang hacker bisa mengetahui kalau penyedia layanan cloud storage menggunakan base 64. Oleh karena itu, pada paper ini akan memodifikasi metode 64 dengan key yang bisa diatur. Hal ini akan cukup menyulitkan seorang hacker untuk menyerang
layanan aplikasi cloud storage. Berikut adalah algoritma modifikasi base 64 dengan menggunakan key. Enkripsi : 1. Tentukan key dan masukkan data. 2. Hitung jumlah char pada data untuk proses perulangan. 3. Buat variable char untul mengambil 1 char pada data. 4. Buat variable keychar untuk mengambil 1 char pada key dengan cara posisi perulangan modulo panjang char pada key dikurangi 1. 5. Ambil nilai ASCII pada char dan keychar lalu jumlahkan. 6. Setelah dijumlahkan jadikan ke bentuk karakter. 7. Lakukan 3-6 sampai pada jumlah char pada data. 8. Setelah itu lakukan Enkripsi base 64. Dekripsi : 1. Lakukan dekripsi base 64. 2. Tentukan key dan masukkan data. 3. Hitung jumlah char pada data untuk proses perulangan. 4. Buat variable char untul mengambil 1 char pada data. 5. Buat variable keychar untuk mengambil 1 char pada key dengan cara posisi perulangan modulo panjang char pada key dikurangi 1. 6. Ambil nilai ASCII pada char dan keychar lalu kurangkan hasil ASCII char dan keychar. 7. Setelah itu jadikan ke bentuk karakter. 8. Lakukan 3-6 sampai pada jumlah char pada data.
2.7.2
Metode KMP (Knuth-Morris-Pratt) untuk Scan data Metode KMP sangatlah cocok untuk pencarian data atau file, karena mempunyai kecepatan yang cukup cepat untuk mencari sebuah string, termasuk juga untuk pencarian virus. Sebelum melakukan pencarian virus, masukkan beberapa list nama virus pada database. Semakin banyak list virus yang dimasukkan ke database, maka makin ampuh untuk mengecek keamanan suatu file. Proses scan data atau file menggunakan KMP: 1. Masukkan daftar atau list virus pada database. 2. Lakukan pencarian virus pada file dengan menggukanan metode KMP. 3. Apabila terdapat suatu virus pada file tersebut, maka proses akan diberhentikan, lalu dihaps dan memunculkan peringatan bahwa file mengandung virus.
Apabila tidak terdeteksi maka proses bisa dilanjutkan ketahap berikutnya. Dalam kasus ini adalah upload data.
3. Hasil dan Pembahasan Dalam rancangan atau langkah-langkah penelitian dalam metodelogi, terdapat tiga proses yang dilakukan untuk mengantisipasi SQL Injection dan Malware. Yang pertama pada proses upload data, setelah itu penanganan SQL Injection pada URL untuk download data dan form login.
3.1 Proses Upload Data
Gambar 3.1
Proses ini pertama kali dilakukan oleh user untuk mengupload data pada cloud storage. Hal yang perlu disiapkan tentu saja file yang akan diupload. Akan tetapi untuk melakukan proses ini, user harus masuk atau login terlebih dahulu sebagai member. Setelah masuk, maka user bisa mengupload datanya. Proses untuk upload melalui beberapa tahap. Pertama user upload data, lalu melakukan scanning pada data dengan menggunakan metode KMP. Apabila terdeteksi adanya virus pada file tersebut, maka akan mengeluarkan peringatan kepada user bahwa file berisi virus. Hal ini dapat mencegah terjadinya virus malware masuk ke dalam server komputer. Jika ternyata tidak terdapat virus pada file tersebut, maka akan melakukan enkripsi pada file dengan menggunakan modifikasi base 64 dengan penambahan key. Setelah data telah ter enkripsi, maka akan masuk ke database dan server, setelah itu mengeluarkan peringatan bahwa file berhasil terupload. Setelah itu sang user bisa melakukan sharing data dengan mengcopy url download file. Atau bisa menghapus data itu jika sudah tidak
diperlukan.
3.2 Proses Download data pada URL.
Gambar 3.2
Untuk proses kedua dalam penelitian ini adalah proses download file, yang dimana file tersebut sebelumnya telah dimasukkan ke cloud storage. Proses untuk download file pertama kali adalah user mengakses URL yang berisi file yang bisa user download. Setelah itu, secara otomatis aplikasi atau program akan menghapus karakter khusus dan mengabaikan tag html. Hal ini untuk mencegah terjadinya SQL Injection dan XSS. Setelah itu proses dilanjutkan dengan pengecekan data. Jika data tidak ada pada dataset, maka akan mengeluarkan peringatan “file not found”. Hal ini bisa saja terjadi, apabila ada kesalahan pengetikan user pada url, atau penghapusan file yang dilakukan oleh pengupload. Selain itu, apabila ternyata file ditemukan pada database, maka file tersebut akan di dekripsi lalu user dapat mendownloadnya.
3.3 Proses Login
Gambar 3.3
Pada proses ini dilakukan oleh user yang login. Sehingga sang user dapat melakukan proses selanjutnya dan memanfaatkan fasilitas yang ada pada cloud storage. Hal pertama yang dilakukan adalah user memasukkan username dan passwordnya. Setelah itu program akan membaca inputan user dan memfilter inputan user dengan menghapus karakter khusus dan mengabaikan tag html. Hal ini dilakukan untuk mencegah terjadinya SQL Injection dan XSS. Tentu saja keamakan dalam aplikasi dan server kita jadi aman. Setelah itu data yang telah difilter akan di enkripsi. Hal ini perlu dilakukan supaya keamanan aplikasi dan server kita lebih terjaga. Setelah itu hasil enkripsi akan mengecek ke database. Jika data tidak ditemukan, maka mengeluarkan peringatan gagal login, jika data ada pada database, maka lakukan dekripsi dan tampilkan halaman dashboard. 3.4 Hasil Dari penelitian yang telah dilakukan, proses dilakukan dengan cara keamanan yang berbeda untuk setiap proses. Selain itu, hal ini juga bisa dibandingkan dengan aplikasi tanpa keaman yang tidak ada proses scanning data, filter inputan, dan enkripsi. Jelas, aplikasi yang memiliki keamanan lebih unggul dari pada yang tidak mempunyai keamanan.
4. Kesimpulan Ketika user melakukan pengisian username dan password, perlu adanya penangan atau pemfilteran. Hal ini untuk mencegah terjadinya SQL Injection dan XSS. Hanya dengan menghapus karakter khusus, mengabaikan tag html dan melakukan enkripsi data, hal ini akan menambah keamanan pada system aplikasi. Selain inputan, kita juga harus perlu tahu keadaan file yang diupload oleh user. Apakah terinfeksi virus atau tidak. Jika terinfeksi virus, maka hal ini
akan mengancam server cloud storage. Oleh karena itu perlu adanya scanning data sebelum data masuk ke dalam server cloud storage.
5. Daftar Pustaka