
Para penyerang membutuhkan jalan masuk ek dalam mesin Anda. Rute yang termudah adalah melalui celah yang diharikan oleh coding Anda
MEMBANGUN aplikasi atau yang dikenal dengan application development memang tidak mudah bagi enterprise alias perusahaan. Membangun sendiri jauh lebih suli tantangannya disbanding beli jadi atau meng-outsource ke perusahaan pengembang aplikasi. Lebih sulit lagi bila sudah berbasis web (web application) karena aplikasi ini jelas akan dibuka dan diuji coba oleh para pengguna di seluruh dunia.
Tentu tidak semua pengguna baik-baik dan lurus. Ada pengguna yang sengaja berperilaku buruk, ingin menguji dan memanfaatkan celah yang ada di Dallam aplkasi web tersebut (web application vulnerability), baik aplikasi maupun database-nya. Begitu mereka mendapat celah database, para penyerang akan melakukan exploit untuk menyedot database sampai dengan memanipulasi database tersebut. agaimana dengan aplikasi web yang memuat transaksi keuangan didalamnya? Tentu sangat rawan disalahgunakan oleh para penyerang untuk mengambil keuntungan.
Berikut ini adalah beberapa tips untuk keamanan membangun aplkasi alias appliacaation security. Tujuannya agar aplikasi yang di bangun bisa aman dan bebas dari kerugian karena celah yang tidak diketahui pengembang.
Banyak kejadian dalam pemrograman web dan telah banyak situs yang dicuri nomor kartu kreditnya, dari beberapa nomor sampai dengan ribuan nomor kartu kredit tanpa diketahui. Banyak laporan kejahatan masuk di kepolisian maupun pelayanan nasabah kartu kredit bank, yang menunjukkan bahwa jutaan catatan belanja kartu yang buka dilakukan oleh pemilik kartu kredit karena kebocoran keamanan.
Tentu kebocoran keaman itu karena berbagai ancaman itu karena berbagai ancaman potensial, mulai dari skimming, phishing, cloning, sampai dengan pencurian fisik kartu kredit, aplikasi web, dan database.
Kebocoran keaman dimulai dari menulis kode-kode keamanan supaya tidak tembus keamannya. Memang tidak mudah melakukan pemrograman. Para application developer harus berpikir keras tentang kdoe-kode keamanan supaya tidak tembus keamanannya. Semetara, para rekayawan, auditor, dan para manajer berimajinasi terhadap aspek-aspek coding, melakukan antisipasi, mengurangi dampak serangan, menutup celah (vulnerability), dan menjaganya dengan ketat, termasuk melakukan monitoring terhadap berbagai macam kebocorang yang potensial.
Tips Pertama: menguji Input dengan Ketat
Para penyrang membutuhkan jalan masuk ke dalam mesin Anda dan rute yang termudah adalah melalui pintu yang dibuka oleh coding Anda. Jika aplikasi mengambil input dari internet maka seseorang akan mencoba menyelinap.
Contoh klasik adalah bufferoverflow yang dibuat oleh para programmer V yang malas. Program menerima string karakter sampai string tersebut mencapai angka nol, symbol resmi C untuk karakter terakhir. Penyerang telah menemukan sejak lama bahwa mereka dapat mengirim paket data yang panjang (sesukanya), kemudian menulis di tumukan coding dan memori selama mereka tidak pernah mengirim angka no tersebut. bila mereka pintar dengan apa yang mereka tulis, mereka bisa mengendalikan dan menulis ulang apa saja yang mereka inginkan.
Serangan klasik lainnya di pintu yang terbuka adalah SQL injection. Form Web munkin hanya meminta kode pos Anda, laluu dengan patuh menyisipkan beberapa karakter ini ke dalam SQL query. Namun seorang penyerang cerdas mulai menambahkan karakter tambahan yang memperluas cakupannya menjadi lebih dari sekedar pencarian sederhana. Ketika perangkat lunak menangkap semua masukan tersebut, perangkat lunak menangkap semua masukan tersebut, perangkat tersebut mengumapan SQL secara langsung ke database.
Solusi untuk kedua hal ini adalah menguji ukuran dan struktur data yang masuk serta tidak pernah mempercayai pengguna di unjung internet alias selalu waspada. Secara umum, programmer ingin menawarkan fleksibilitas yang lebih dalam coding-nya, tetpai kurang dalam hal penegakan (enforcement).
Memeriksa setiap bit data terakhir memang akan memakan waktu lama bagi perangka lunak dan sangat melelahkan bagi programmer. Data transport language sepertu XML dan JSON juga tidak dapat menghindari masalah ini. Meskipun begitu, programmer tetap perlu melakukan pemeriksaan untuk mengamakan kode-kode mereka.
Tips Kedua: Simpan Hanya yang Anda Butuhkan Saat Coding
Sebelum Anda meminta alamat surat menurat para pelanggan Anda, tanya pada diri sediri apakah Anda akan mengirim ke mereka surat fisik melalui kantor pos. Bila e-mail sudah cukup untuk korespondensi, mungkin perlu memikirkan kembali penyimpanan alamat rumah dan alamat bisnis. Informasi ini memerlukan waktu untuk memproses, membutuhkan ruang di media simpan, dan menjadi target menarik para pencuri informasi.
Programmer sering berpikir seperti penimbun obsesif, menyimpan Salinan dari semuanya dan nantinya akan berguna suatu saat. Pemikiran ini dapat membantu debug pada aplikasi yang telah dibuat sehingga jejak database dapat ditemukan oleh siapapunyang mengeti tentang application development. Tentu cara berpikir application developer harus lebih luas daripada para penyerang di belahan dunia sana.
Solusi untuk hal ini adalah apakah setiap kolom dan tabil dalam database mutlak diperluan? Bila ragu-ragu maka buatlah form yang lebih pendek dan table database yang lebih pendek dan table database yang lebih kecul. Hindari godaan menjadi paket data tikus atau paket data yang mudah di-exploit. Sederhanakan segalanya, pencuri akan menunggu kelengahan programmer dan masih ada beberapa orang di luar sana menghabiskan waktu untuk mengisi form di aplikasi web dan mencoba untuk membongkar isinya.
Sumber: InfoKomputer.Februari-2018.Hal_.72-73
