Sebelum dimulai topik ini, Sejujurnya gw belun nemuin referensi pasti tentang istilah bugs hunter (yang gw temuin malah "
bug-hunter - a zoologist who studies insects" ref
http://www.thefreedictionary.com/bug-hunter, hehehhe), mungkin dahulu kala sebelum opensource "
booming", dan source code hanya untuk kalangan terbatas maka seinget gw pernah ada istilah "Beta tester", nah beta tester inilah yang akan memberi masukan tentang aplikasi tersebut (
kemungkinan masih di pakai untuk aplikasi closed source lainnya) dan kemungkinan bisa kita anggap cikal-bakal bug hunters selain istilah "
... auditor ... bla bla" :p (CMIIW)
Topik ini gw bahas karena sudah hampir lebih dari 5 tahun gw bergelut dengan bugs hunting dan lebih kurang 3 tahun untuk serius dalam melakukan "
bugs hunting" yang umumnya gw lakukan pada aplikasi opensource (
karena dengan melihat source codenya membuat proses ini lebih mudah dan tidak hanya melakukan "blackbox testing"). Seperti yang di tulis
anonymous dalam rubrik "
pseudo-random" di
echo|zine issue 13Melonjaknya jumlah vulnerabilities pada tahun 2005 sepertinya terjadi karena banyak ditemukan bugs yang mudah sekali ditemukan pada aplikasi web. Banyak orang menemukan vulnerabilities di dalam aplikasi sederhana -- distribusinya yang kecil dan mudah diinstal, seperti aplikasi guest book, blogging tools (dan juga plugins-nya), dan lain-lain. Saya pikir dengan kemampuan rata-rata (mengerti programming, dan mengenal karakteristik threat tipe aplikasi) seseorang dapat dengan mudah menemukan bugs pada aplikasi-aplikasi tersebut
Herannya lagi puluhan bahkan ratusan bug (
tengok situs milw0rm.com yang tak pernah sepi menerima laporan celah keamanan pada aplikasi (advisory) ) ditemukan dalam hitungan hari, yang ironisnya bug tersebut hampir sama; sebut saja bug "Remote file inclusion" pada aplikasi CMS (content management system) misalkan yang berbasis php, umumnya terjadi karena tidak ada "pemenjaraan variabel" (unsanitized variable) serta kesalahan konfigurasi "engine php" itu sendiri dan dilengkapi oleh "tidak terkendalinya" Opsi dan module pada web server.
Mungkin secara gamblang seorang programmer memiliki visi "kemudahan" dan "kenyamanan" untuk user, sedangkan bagi seorang "bug-hunter" ini adalah celah yang hampir pasti akan di exploitasi, sebagaimana yang gw tulis pada artikel echo zine
issue 13 yang berjudul
0second; meet the bug, disitu secara gamblang gw sebutkan beberapa cara untuk menemukan bug dan "ironisnya" cara itu sudah termasuk usang tetapi "lebih ironis" lagi cara itu masih berlaku sampai sekarang (baca
0day), lalu apakah ada yang salah dengan programmer? Apakah mereka tidak mempelajari bagaimana membuat "kode yang aman?".
Sebut saja
Pendidikan tentang secure programming. Apakah ada? sebenarnya (menurut gw) kebutuhan akan keamanan timbul dari rasa
paranoid, (
bahkan ada sebuah buku yang berjudul "Only the Paranoid Survive" karangan Andrew Grove. ), Mungkin yang diperlukan adalah meningkatkan level "
Security Awareness" para programmer, toh tidak sedikit bacaan di internet yang membahas tentang bagaimana membuat "
kode yang aman", berikut link bagus yang gw temukan sewaktu gw melakukan pencarian tentang "
secure programming" via search-engine, u may want to check
it !.
Kebetulan, Baru saja gw abis ngebaca salah satu chapter di Stealing the Network How to Own a continent yang berjudul A Real Gullible Genius (
bukan sambil nulis gw sambil baca, tapi tulisan ini sudah mengendap 2 hari sebagai draft di blog gw :P ), yang gw rasa bisa memberi suatu perkuatan untuk topik yang gw bahas kali ini, berikut potongan chapternya
Flir had been most surprised when, as he read the script, he learned that it used non-password-protected ssh public/private keypairs to check in application updates.
# !/bin/sh
#
# Description:
# This script scp's a CVS sandbox of the SIRAM (my.ptech.edu) application
# up to the server.
#
# Changelog:
#
# 2/21/03 - Over the objections of bstrobell, this script uses a non-
# passphrase-protected ssh key (id_rsa_siram) to authenticate to the
# server. Frieda requested this after Ben's sick day left her unable to
# push changes to the server. – bstrobell
Taken From Stealing The Network; How To Own a Continet; Chapter 4: A Real Gullible Genius (Day 5: Over 20,000 Social Security Numbers) By Jay Beale as "Flir"
Lihatlah notes pada "
source code" yang bertuliskan
Over the objections of bstrobell, this script uses a non-passphrase-protected ssh key (id_rsa_siram) to authenticate to the server. Frieda requested this after Ben's sick day left her unable to push changes to the server, dikarenakan salah satu code member (frieda) tidak dapat mengupdate "script" via CVS dikarenakan "pass-phrase" yang dimiliki oleh ben (bstrobell) yang sedang sakit, sehingga untuk "
membuat nyaman" maka ben tidak menggunakan "pass phrase" dan hanya menggunakan "
key file" yang dalam artikel ini bisa di dapatkan di tempat yang sama. Dan sampai pada pernyataan yang di tulis juga di chapter tersebut;
"users and systems administrators alike bypassing best security practices in the name of functionality and ease of use" .
Gw jadi teringat dengan sebuah thread di milis
newbie_hacker soal "
protes yang dilayangkan seorang member atas "lapisan security" yang harus dilalui untuk menjadi member forum echo" dan sudah secara gamblang gw jelaskan
di milis juga, alasan mengapa disebut tidak "nyaman".
Hayo temen admin berapa kali kasih password di box menggunakan "ASDFGH", atau "QWERTY" ? (hehehhe), atau teman-teman programmer yang menggunakan user "
root" untuk user mysql? (
without password ?), atau para developer web yang lupa menghancurkan "
session"
Hayo sekarang jadi pertanyaan ini soal "
aman" atau "
nyaman"?, siapa yang akan menang antara
bugs hunter v.s programmer, gw sih lebih milih berada disisi satunya (kiri) ...