Laman

Senin, 13 Desember 2010

Cara menjadi Seorang Hacker

  • ANDA INGIN MENJADI SEORANG HACKER, TAPI TIDAK MENGETAHUI BAGAIMANA CARANYA?
Pertama kali, saya akan menciutkan nyali siapapun yang ingin menjadi seorang hacker, hanya karena dia pikir hal tersebut sangat ‘keren’. Anda tidak akan menjadi sangat produktif jika hal tersebut merupakan kendaraan anda. Hal lainnya adalah jangan menjadi bodoh dan menggunakan pre-made script “kiddiot” seperti winnuke, subseven, atau msadc (script ini sangat populer saat saya menulisnya, sekarang adalah unicode). Dan tidak melakukan hal-hal yang bodoh seperti melakukan ‘hack’ untuk mendeface website atau merusak data-data orang lain. Ini namanya kekacauan dan akan menimbulkan benih kebencian, jadi jangan lakukan! Ada banyak kegiatan hacking daripada sekedar mendeface dan merusak komputer orang.
Hal pertama saya akan memetakan sedikit hal yang anda harus ketahui, dengan tujuan untuk apakah hacking itu sejatinya. Anda tidak dapat sekedar membaca tutorial sederhana para hacker dan merasa cukup, itulah mengapa saya sarankan agar membeli bukunya. Dengan tujuan untuk memahami segala sesuatunya. Lainnya, saya sarankan untuk mempelajari pertamakali mengenai ‘Networking’ (Jaringan Komputer). Seperti Network+, A Guide to Networking adalah buku yang bagus untuk para pemula. Upaya sungguh-sungguh tidaklah sekedar membaca buku tersebut, tapi juga memahaminya. Setelah anda membaca buku mengenai Networking secara umum, Perdalam pemahaman anda mengenai TCP/IP. Membaca suatu buku khusus TCP/IP akan meningkatkan pengetahuan lebih baik.

TCP/IP adalah protokol dasar pada internet, dan ketidakpahaman tentang hal ini berarti keterampilan hacking anda terlalu minim. Mempelajari Networking dan TCP/IP merupakan pelengkap anda serta dasar pemahaman dari bagaimana dan mengapa berbagai jenis serangan yang berbeda bekerja. Hal ini menjadikan pemrograman socket anda lebih mudah.
Setelah anda mempelajari keterampilan dasar Networking, bergeraklah ke UNIX. Kata ini mungkin rada-rada menakutkan bagi anda, namun pengetahuan ini mutlak harus dimiliki oleh para hacker. Jalan terbaik untuk mempelajarinya adalah menginstall sistem operasi UNIX pada komputer anda.
Mandrake dan Red Hat adalah 2 distro yang umum digunakan para pemula, dan saya anggap itu adalah alasan yang baik. Kedua distro ini sangat baik dalam mengantar perjalanan anda menuju luasnya dunia *NIX (*NIX disini dimaksudkan untuk seluruh OS mirip Unix). Jika anda membutuhkan suatu buku mengenai Unix, saya sarankan Unix pada suatu Nutshell atau Linux. Terdapat banyak sekali trial and error yang berhubungan dengan dunia Linux. Jalan terbaik adalah mencoba hal-hal yang baru dan lihat apa yang terjadi. Saya sarankan anda memulainya tanpa menggunakan Xwindows. Karena hal ini mengijinkan anda untuk mempelajari lebih jauh, serta menunjukkan kekuatan dan fleksibilitas yang dimiliki Linux. Ingatlah, kegiatan Hacking tidak memiliki GUI (Graphical User Interface) yang bagus. Semuanya didominasi baris perintah dan Pemrograman ;)
Langkah berikutnya yang paling utama, adalah suatu lompatan. Lompatan menuju dunia pemrograman yang sangat sukar, seringkali membuat frustasi dan putus asa, sungguh suatu jalan yang panjang dan lama. Dan… tidak ada jalan pintas untuk hal ini.
Menguasai sekedar Visual Basic atau Pemrograman Batch, cuman dapat melakukan sedikit hacking dengan hal ini. Bahasa C dan Perl adalah bahasa wajib bagi para hacker dikarenakan kemampuan yang powerful dan jangkauannya luas. Meskipun harus mengetahui berbagai bahasa pemrograman, tapi saya hanya menyarankan anda untuk menguasai beberapa bahasa pemrograman, seperti bahasa C, Perl, PHP, ASP dan Java.
Bahasa C mengijinkan anda dalam menemukan celah keamanan suatu program, dan banyaknya eksploit yang ditulis dalam bahasa C. Sedangkan Perl, PHP, ASP dan Java menjadikan anda mengetahui adanya celah keamanan pada script yang dijalankan di internet.
Pelajari tahap-tahap pemrograman dengan seksama, pastikan bahwa anda mengetahuinya dengan sangat baik sebelum melanjutkan. Ingatlah, kebanyakan para hacker adalah programmer yang sangat tangguh. Kembali pada mengetahui bagaimana hal tersebut bekerja, jika anda mengetahui bagaimana suatu Network, Sistem Operasi dan Program tersebut bekerja, anda bisa menemukan cara memanipulasi segala sesuatu dan melakukan apapun yang anda inginkan.
Semua yang dijelaskan diatas perlu anda pelajari selama berbulan-bulan, jadi jangan disibukkan bagaimana langkah selanjutnya. Saya sudah mencoba mempelajari tentang sekuriti sebelum saya memiliki suatu buku. Kebanyakan dari anda seringkali membaca tutorial dan tutorial dari perhackingan serta berbagai Security Paper, tapi buta sama sekali dan tidak memahami mengapa dan bagaimana hal tersebut bekerja. Saya katakan bahwa anda pertama kali anda belajar mengenai computer, kemudian tentang sekuriti. Saya memperhatikan banyak orang-orang pada channel hacking di IRC dan situs-situs hacker yang tidak mengetahui apapun tentang dunia komputer… tapi ingin menjadi hacker :(
Anda harus mempelajari bagaimana menggunakan suatu komputer dan mengetahui bagaimana hal tersebut bekerja, sebelum mempelajari bagaimana mem-bypass sekuriti dan mematahkannya. Sebuah ujian yang baik adalah, JIKA ANDA TIDAK MENGETAHUI BAGAIMANA MEMBUAT PROGRAM YANG BAIK, JANGANLAH ANDA BERMIMPI UNTUK MENJADI SEORANG HACKER!
Sebagaimana mempelajari tentang sekuriti, saya sarankan anda membaca buku Maximum Security, sebuah buku yang sangat bagus untuk para pemula. Anda harus mengetahui cara melindungi segala sesuatunya. Jangan bersusah-payah dengan berbagai program yang ditampilkan dalam buku, dan jangan mendownload sebuah “hacking tool” tunggal. Kebanyakan hal ini menjadikan komputer anda terinfeksi trojan. Setelah anda mempelajari secukupnya untuk mengetahui apakah tool yang anda perlukan untuk hacking, selanjutnya mencoba beberapa tool seperti Packet Sniffer atau Wingate Scanner.
Sekali anda mengetahui dasar-dasarnya, cobalah membaca milis buqtraq untuk melihat para ahli sekuriti berbicara, dan cara hacking sejatinya. Pada dasarnya mereka satu sama lain menemukan suatu bug dan melihat tanda-tanda yang bisa jadi suatu masalah sekuriti, atau mereka melihatnya melalui kode sumber dan menemukan celah keamanan pada ‘coding’ yang buruk.
Semua ini mungkin terlihat mudah, maksud saya ini hanyalah sedikit pembahasan. Yang jelas anda harus membaca dan memahami konsep yang tersurat sebelum melangkah ke bagian selanjutnya. Atau, anda tidak akan belajar banyak dari topik lanjutan karena anda tidak memiliki kemauan kuat. Setelah berbulan-bulan membaca dan bereksperimen, saya sarankan anda mulai membaca tentang “exploits and security holes” (Eksploitasi dan Berbagai Celah Keamanan). Inilah saat dimana sesuatu mulai melenceng dari jalur sebenarnya. Saat anda mengetahui bahwa terkadang apa yang telah anda pelajari sangat berbeda dengan kenyataan sebenarnya.
Anda mutlak harus mengetahui beberapa urutan pemrograman dan mengetahui sekurang-kurangnya sebuah sistem operasi bekerja. Sekali anda menguasai point ini anda seharusnya mengetahui apa yang harus dilakukan selanjutnya, mencari dan menjadi anggota beberapa komunitas hacker ternama. Setelah perjalanan ini anda akan mendapatkan teknik yang lebih kompleks dan mengetahui berbagai petunjuk yang berbeda.
Tahap dasar terakhir adalah menjaga keutamaan dari eksploit terakhir dan mengambil pengetahuan dari eksploit umum sebelumnya. Pada Sistem Windows ini hal yang sederhana, tapi pada sistem *nix, cakupannya lebih luas diantara berbagai distro dan service yang berbeda.
Ada beberapa website terbaik untuk mendapatkan berbagai eksploit dan laporan keamanan, yaitu:
- www.securityfocus.com <== yang terbaik
- http://packetstormsecurity.org
serta beberapa diantaranya yang berisikan tutorial orisinil, seperti:
- http://www.ninjawriters.org
- http://blacksun.box.sk
- www.thehackerschoice.org
- www.phrack.org
- www.axion-network.org
Untuk komunitas terkenal di Indonesia, diantara:
- www.jasakom.com
- www.kecoak.or.id
- www.neoteker.or.id
- www.renjana.ws/portal
Bagian dari teka-teki datang secara perlahan-lahan, dan mereka banyak bekerja sama. Namun jika anda mendidik diri sendiri dan teguh hati, anda akan menemukan bahwa metode ini akan menolong anda menjadi lebih berpengetahuan dan melakukan sesuatu dengan computer yang sebelumnya anda pikir tidak mungkin dilakukan. Jika anda melompat satu atau dua tahapan diatas, anda akan mengalami kesulitan serius, dan mengetahui bahwa anda memiliki beberapa keterampilan tapi tidak dapat melakukan banyak dengannya.
JANGAN MAU MENJADI PECUNDANG ATAU PEMBUAL DI CHANEL IRC, YANG CUMAN DUDUK DI DEPAN COMPUTER SEPANJANG HARI BERMAIN GAMES ONLINE, DAN MENYOMBONGKAN DIRI BETAPA BANYAK WEBSITE YANG TELAH DI HACK. Di Chanel IRC, mereka ini menggunakan PsyBNC dengan nick yang aneh-aneh, komunitas script untuk menakut-nakuti para Newbie. Sebenarnya mereka tidak tahu apa-apa :(
Membaca, Memprogram, dan Pengalaman ekperimental adalah satu-satunya cara untuk menjadi seorang hacker, jangan mengenal kata “malas”. Menjadi seorang hacker adalah lebih dari sekedar memasuki suatu sistem, tapi juga mengetahui bagaimana suatu program bekerja dan mampu membuat bagaimana mereka melakukan apa yang anda ingin mereka lakukan.
Seluruh tahapan ini bukanlah hal yang kaku, banyak orang menempuh cara dan belajar yang berbeda… tapi seringkali memiliki suatu pemahaman yang kuat bagaimana Network, Sistem Operasi itu bekerja, cara memprogram disertai pengetahuan dari bagaimana sekuriti bekerja.

Kemudian ada juga yang seperti ini:
Apa Hacker Itu?
Jargon File <http://www.tuxedo.org/jargon> memuat beberapa definisi
untuk kata ‘hacker’, hampir semuanya berkaitan dengan kemahiran teknis
serta kegemaran menyelesaikan masalah dan mengatasi keterbatasan. Namun
jika ingin /menjadi/ seorang hacker, hanya ada dua definisi yang relevan.
hacker
Ada sebuah komunitas, budaya, terdiri dari para programer mahir dan ahli
jaringan, yang sejarahnya bermula dari dekade minikomputer pertama yang
memiliki time-sharing dan zaman eksperimen awal ARPAnet. Dari anggota
budaya inilah muncul istilah ‘hacker’. Hackerlah yang membangun
internet. Hackerlah yang membuat sistem operasi Unix menjadi seperti
sekarang. Hackerlah yang mengoperasikan Usenet. Hacker yang membuat
World Wide Web berjalan. Jika Anda bagian dari budaya ini, jika Anda
telah menyumbangkan sesuatu untuk budaya ini, dan rekan lain di dalamnya
mengenali Anda sebagai seorang hacker, maka seorang hackerlah Anda.
Cara pikir hacker tidak terbatas pada budaya hacker software. Ada orang
yang menerapkan sikap hacker pada banyak bidang lain, elektronik atau
musik — bahkan, cara pikir hacker ada di tingkat tertinggi setiap
bidang ilmu dan seni. Hacker software mengakui semangat serupa ini dan
kadang menyebut orang-orang tersebut “hacker” pula — sebagian juga
berpendapat bahwa sifat seorang hacker tidak bergantung pada wadah
tempatnya bekerja. Tapi, untuk selanjutnya, kita akan memusatkan
perhatian pada software hacker, keahlian dan sikap mereka, serta tradisi
budaya bersama yang melahirkan istilah ?hacker?.
Terdapat pula sekelompok lain yang menyebut-nyebut diri hacker, padahal
bukan. Mereka-mereka ini (terutama terdiri dari remaja pria) mendapat
kepuasan lewat membobol komputer dan mengakali telepon (phreaking).
Hacker sejati menyebut orang-orang ini ‘cracker’ dan tidak suka bergaul
dengan mereka. Hacker sejati memandang cracker sebagai orang malas,
tidak bertanggung jawab, dan tidak terlalu cerdas. Hacker sejati tidak
setuju jika dikatakan bahwa dengan menerobos keamanan seseorang telah
menjadi hacker, sama seperti jika dikatakan bahwa mengontakkan mobil
membuat seseorang langsung menjadi ahli mesin. Sayangnya, wartawan dan
penulis telah salah kaprah dan menggunakan kata ‘hacker’ untuk
melukiskan cracker; sesuatu yang selalu membuat kesal para hacker sejati.
Perbedaan mendasar antara hacker dan cracker: hacker membangun, cracker
membongkar.
Jika Anda ingin menjadi hacker, lanjutkan membaca. Jika ingin menjadi
cracker, kunjungi newsgroup alt.2600 <news:alt.2600> dan bersiaplah
menghabiskan lima sampai sepuluh tahun di balik jeruji setelah
mengetahui bahwa Anda ternyata tidak sepandai yang Anda kira. Hanya itu
yang perlu dikatakan tentang cracker.
3. Sikap Hacker
Pekerjaan hacker menyelesaikan masalah dan membangun sesuatu, dan hacker
percaya pada kebebasan dan kerjasama sukarela. Agar dapat diterima
sebagai seorang hacker, Anda harus berbuat seolah-olah Anda memiliki
sikap ini. Dan agar dapat berbuat demikian, sikap ini harus benar-benar
diyakini.
Tapi kalau Anda berniat menumbuhkan sikap ini hanya agar dapat diterima
di lingkungan hacker, maka Anda belum menangkap maknanya. Menjadi orang
yang meyakini sikap hacker penting bagi /Anda sendiri/ — agar bisa
terus belajar dan termotivasi. Sama seperti semua seni kreatif lain,
cara paling efektif untuk menjadi seorang ahli adalah dengan meniru cara
berpikir ahli-ahli lainnya — bukan hanya secara intelektual tapi juga
emosional.
Seperti diungkapkan oleh sebuah sajak Zen modern di bawah:
Untuk mengikuti jalan:
pandanglah sang ahli,
ikuti sang ahli,
berjalan bersama sang ahli,
kenali sang ahili,
jadilah sang ahli.
Jadi, jika ingin menjadi hacker, ulangi pernyataan di bawah ini sampai
benar-benar Anda yakini:
3.1 Dunia penuh dengan persoalan-persoalan menarik yang menanti
untuk dipecahkan.
Menjadi seorang hacker sebetulnya menyenangkan, tapi ‘menyenangkan’ yang
menuntut usaha. Usaha ini membutuhkan motivasi. Atlet yang sukses
memperoleh motivasi dari kepuasan fisik saat tubuh mereka beraksi, saat
mendorong diri melampaui batasan fisik. Demikian juga, untuk menjadi
seorang hacker Anda harus merasa tertarik memecahkan persoalan, mengasah
keahlian, dan melatih kecerdasan.
Jika Anda merasa bukan seperti ini secara naluri, Anda harus berusaha
menjadi demikian jika ingin berhasil menjadi hacker. Jika tidak, energi
hacking Anda akan melemah karena perhatian teralihkan oleh seks, uang,
dan kedudukan.
(Anda pun harus mengembangkan keyakinan pada kapasitas belajar diri –
keyakinan bahwa meskipun yang Anda ketahui belum cukup untuk memecahkan
suatu persoalan, jika satu potongan saja dari persoalan Anda usaha
pecahkan, maka itu sudah cukup memberi pelajaran kepada Anda untuk
menyelesaikan potongan berikutnya — dan berikutnya, hingga semua
potongan terselesaikan.)
3.2 Tidak seharusnya masalah yang sama dipecahkan dua kali.
Otak yang kreatif merupakan sumber daya yang berharga dan terbatas.
Tidak seharusnya sumber daya ini diboroskan hanya untuk memikirkan
kembali suatu persoalan dari dasar; padahal ada begitu banyak masalah
menarik baru lain di dunia ini yang menanti.
Agar dapat bertingkah laku seperti hacker, Anda harus percaya bahwa
waktu berpikir hacker lain itu berharga — sebegitu berharganya hingga
merupakan suatu kewajiban moral bagi Anda untuk membagikan informasi,
menyelesaikan masalah lalu memberi jawabannya pada hacker lain supaya
mereka menyelesaikan masalah /baru/ dan tidak selamanya berkutat pada
masalah-masalah lama.
(Tidak harus berkeyakinan bahwa /semua/ produk kreatif Anda harus
direlakan bagi orang lain, meski hacker yang demikianlah yang paling
dihormati hacker lain. Menurut nilai-nilai hacker, jual saja sebagian
asal cukup untuk tetap makan, tetap dapat membayar sewa rumah, dan tetap
dapat memakai komputer. Tidak melanggar nilai hacker jika Anda
memanfaatkan ilmu Anda untuk membiayai keluarga atau bahkan memperkaya
diri, asalkan sambil melakukannya tetap setia pada disiplin ilmu dan
sesama hacker lain.)
3.3 Kebosanan dan pekerjaan membosankan itu jahat.
Hacker (dan manusia kreatif pada umumnya) tidak seharusnya dibosankan
dengan pekerjaan bodoh yang berulang-ulang, karena ini berarti mereka
tidak melakukan pekerjaan yang hanya bisa dilakukan oleh mereka –
menyelesaikan persoalan-persoalan baru. Pemborosan sumber daya ini
merugikan semua pihak. Karena itu kebosanan dan pekerjaan membosankan
bukan saja tidak menyenangkan tapi juga jahat.
Agar dapat bertingkah laku seperti hacker, Anda harus meyakini hal ini
sehingga Anda berkeinginan untuk mengotomasi sebanyak mungkin bagian
yang membosankan, bukan saja bagi diri sendiri tapi juga orang lain
(terutama sesama hacker).
(Ada satu kekecualian yang jelas. Hacker kadang melakukan pekerjaan yang
di mata orang lain tampaknya berulang-ulang atau membosankan; ini untuk
latihan menjernihkan pikiran, atau dalam rangka memperoleh keahlian atau
pengalaman yang tak bisa tidak harus diperoleh dengan cara demikian.
Tentu saja hal ini dilakukan atas dasar kehendaknya sendiri — setiap
orang yang mampu berpikir tidak seharusnya dipaksa menjadi bosan.)
3.4 Kebebasan itu baik.
Secara alamiah hacker itu anti-otoriter. Siapa pun yang dapat memerintah
Anda akan dapat menghentikan Anda untuk menyelesaikan persoalan yang
menarik — dan, sesuai pikiran otak para otoriter, pada umumnya akan
membuat alasan yang benar-benar bodoh untuk itu. Jadi sikap otoriter
harus dilawan di mana pun Anda berada, agar nantinya tidak menekan Anda
dan hacker-hacker lain.
(Tidak untuk disamakan dengan melawan setiap bentuk kekuasaan. Anak-anak
tetap harus dibimbing, para kriminal ditahan. Seorang hacker mungkin
akan tunduk pada bentuk-bentuk kekuasaan tertentu agar dapat memperoleh
sesuatu yang lebih dari waktu yang dibutuhkan untuk mengikuti peraturan.
Ini lebih merupakan tawar-menawar yang terbatas dan dilakukan secara
sadar; jenis tunduk diri yang diinginkan oleh orang-orang otoriter tentu
saja tidak bisa diterima.)
Para otoriter hidup di atas sensor dan kerahasiaan. Mereka tidak percaya
pada kerjasama dan berbagi informasi — satu-satunya jenis ‘kerja sama’
yang disukai adalah yang dapat mereka kendalikan. Jadi untuk berlaku
seperti seorang hacker, Anda perlu mengembangkan rasa benci pada
penyensoran, kerahasiaan, dan penggunaan kekerasan atau penipuan untuk
memaksakan kehendak pada orang dewasa. Dan Anda harus bersedia bertindak
atas dasar keyakinan ini.
3.5 Sikap saja tak ada artinya tanpa keahlian.
Untuk menjadi hacker, Anda perlu mengembangkan sebagian dari sikap-sikap
yang telah disebutkan. Tapi memiliki sikap saja belum membuat seseorang
menjadi hacker, atau atlet juara atau bintang rock. Untuk menjadi hacker
dibutuhkan kecerdasan, latihan, dedikasi, dan kerja keras.
Jadi, Anda perlu belajar untuk tidak mempercayai sikap saja dan
menghormati setiap bentuk kemampuan. Hacker tidak bersedia menghabiskan
waktu dengan orang-orang yang hanya bersikap seperti hacker, tapi hacker
memuja keahlian — terutama keahlian dalam hacking, tapi juga keahlian
di bidang apapun. Yang terlebih bagus lagi yaitu keahlian dalam bidang
yang sulit dan hanya dapat dikuasai oleh sedikit orang, dan yang terbaik
adalah keahlian dalam bidang yang sulit dan melibatkan ketajaman mental,
keahlian, serta konsentrasi.
Bila Anda memuja keahlian, Anda akan merasa senang dalam meningkatkan
kemampuan diri — kerja keras dan dedikasi akan menjadi semacam
permainan yang mengasyikkan ketimbang pekerjaan membosankan. Dan hal ini
penting dalam proses menjadi hacker.
4. Kemampuan Hacking Dasar
Sikap hacker penting, tapi terlebih penting lagi keahlian. Sikap bukan
pengganti keahlian, dan ada seperangkat keahlian menggunakan perangkat
tool yang perlu Anda kuasai sebelum orang bahkan bisa berpikir memanggil
Anda hacker.
Perangkat tool ini perlahan-lahan memang berubah seiring teknologi yang
menciptakan keahlian baru dan membuat keahlian lama tidak berguna.
Misalnya, dulu keahlian pemrograman bahasa mesin termasuk, dan kemampuan
HTML belum dan hanya baru-baru ini saja. Yang jelas saat ini yang
termasuk adalah:
4.1 Pelajari pemrograman.
Ini tentunya merupakan keahlian hacking yang fundamental. Jika Anda
belum pernah belajar bahasa pemrograman mana pun, saya sarankan mulai
dengan Python <http://www.python.org/>. Disainnya bersih, terdokumentasi
dengan baik, dan cukup mudah bagi pemula. Meski menjadi bahasa pertama,
bukan berarti Python hanya mainan; Python amat ampuh dan fleksibel dan
cocok untuk proyek-proyek besar. Saya menulis evaluasi terhadap Python
<http://noframes.linuxjournal.com/lj-issues/issue73/3882.html> yang
lebih mendetil. Tutorial Python bisa dilihat di situs web Python
<http://www.python.org/> (terjemahan Indonesia
<http://steven.haryan.to/pytut.id.html>).
Java juga bahasa yang baik untuk belajar pemrograman. Lebih sulit dari
Python, tapi menghasilkan kode yang lebih cepat dari Python. Menurut
saya Java amat bagus sebagai bahasa kedua.
Perlu diingat bahwa dengan satu dua bahasa pemrograman saja Anda tidak
akan mencapai tingkat keahlian seorang hacker, atau bahkan seorang
programer — Anda perlu belajar cara memandang pemrograman secara umum,
tidak bergantung pada satu bahasa mana pun. Untuk menjadi hacker sejati,
Anda perlu mencapai tahap di mana Anda dapat mempelajari bahasa baru
dalam beberapa hari, dengan menghubungkan apa yang ada di manual dengan
apa yang telah Anda ketahui. Hal ini berarti, Anda perlu mempelajari
beberapa bahasa yang jauh berbeda satu dengan yang lainnya.
Jika ingin serius dalam pemrograman, pada akhirnya Anda harus belajar C,
bahasa inti sistem operasi Unix. C++ terkait erat dengan C; jika tahu
yang satu, belajar yang lain tidak akan susah. Namun keduanya bukan
bahasa yang cocok untuk dipelajari pertama kali.
Bahasa lain yang juga penting untuk hacker antara lain Perl
<http://www.perl.com/> dan LISP <http://snaefell.tamu.edu/~colin/lp/>.
Perl patut dipelajari untuk kebutuhan praktis; Perl dipakai secara amat
meluas untuk halaman web aktif dan untuk administrasi sistem, jadi
meskipun nantinya Anda tidak akan membuat program dalam Perl, Anda
sebaiknya belajar cara membaca Perl. LISP patut dipelajari karena akan
memberikan pengalaman ‘membuka pikiran’ jika Anda telah menangkapnya;
dengan mempelajari LISP, Anda akan menjadi seorang programer yang lebih
baik, meskipun dalam kenyataan Anda akan jarang memakainya.
Paling baik sebetulnya mempelajari semuanya (Python, Java, C/C++, Perl,
dan LISP). Selain merupakan bahasa-bahasa terpenting dalam hacking,
masing-masing mewakili cara pendekatan pemrograman yang berbeda, dan
tiap bahasa akan memberi Anda pelajaran-pelajaran berharga.
Tentu saja, di sini tidak mungkin saya memberi petunjuk lengkap cara
memrogram — pemrograman merupakan keahlian yang kompleks. Tapi, satu
petunjuk yang saya berikan: buku dan kursus saja tidak akan membuat Anda
menjadi seorang programer (banyak, mungkin hampir semua hacker terbaik
itu belajar mandiri). Anda akan menjadi programer dengan (a) /membaca
kode/ dan (b) /menulis kode/.
Belajar membuat program adalah seperti belajar menulis dalam bahasa
alamiah. Cara terbaik untuk melakukannya dengan membaca tulisan yang
dibuat oleh para ahlinya, membuat tulisan sendiri sedikit, membaca lebih
banyak lagi, menulis lebih banyak, dan mengulanginya sampai di tulisan
Anda mulai terbentuk semacam kekuatan dan kemahiran penggunaan kata
seperti di tulisan-tulisan yang semula Anda teladani.
Dahulu sulit mencari kode yang baik untuk dibaca, karena dulu hanya
sedikit program-program besar yang terdapat dalam bentuk source untuk
bisa dibaca dan diutak-atik hacker-hacker pemula. Sekarang kondisinya
jauh berbeda: software open-source, tool pemrograman, dan sistem operasi
(semua dibuat oleh hacker) kini banyak terdapat. Dan ini mengantar kita
pada poin berikutnya?
4.2 Cari, pelajari, dan jalankan salah satu versi Unix open-source.
Saya anggap Anda memiliki, atau memperoleh akses ke komputer pribadi
(anak-anak sekarang mudah sekali mendapatkan akses :-) ). Kalau ada satu
langkah terpenting bagi pemula untuk mendapatkan kemampuan hacker, itu
adalah mendapatkan satu salinan sistem operasi Linux atau salah satu
Unix BSD, meng-install-nya di komputer sendiri, dan menjalankannya.
(Tidak saya sarankan meng-install Linux sendirian jika Anda pemula. Cari
klub komputer atau kelompok pengguna Linux di daerah Anda dan mintalah
bantuan; atau hubungi Linux Internet Support Co-Operative
<http://www.linpeople.org/>. LISC mengurus channel-channel IRC
<http://openprojects.nu/services/irc.html> tempat Anda dapat bertanya).
Tentu, di dunia ini ada banyak sistem operasi selain Unix. Tapi
sistem-sistem operasi tersebut didistribusikan dalam program jadi
(binary) — kodenya tidak bisa Anda baca, sehingga sistem operasi
tersebut tidak bisa Anda modifikasi. Belajar hacking di DOS atau Windows
atau MacOS adalah bagaikan belajar menari dengan seluruh tubuh digips.
Lagipula Unix-lah sistem operasi Internet. Meski tentu bisa belajar
menggunakan internet tanpa mengenal Unix, Anda tak akan mampu menjadi
hacker Internet tanpa memahami Unix. Untuk alasan inilah, budaya hacker
saat ini cukup cenderung berat ke Unix. (Ini tidak selalu benar,
beberapa hacker zaman dahulu tidak menyukai kenyataan ini, tapi
simbiosis antara Unix dan Internet telah menjadi kuat sehingga bahkan
otot Microsoft pun tak mampu membengkokkannya.)
Jadi, buatlah sistem Unix — saya pribadi menyukai Linux tapi tentu saja
ada yang lainnya (dan ya, Anda /bisa/ menjalankan Linux dan DOS/Windows
di mesin yang sama). Pelajari Unix. Jalankan Unix. Bermain-mainlah
dengan Unix. Berhubungan dengan internet melalui Unix. Baca kodenya.
Modifikasi. Di Unix Anda akan menjumpai tool pemrograman yang lebih baik
(termasuk C, Lisp, Python, dan Perl) ketimbang di sistem operasi
Microsoft manapun, Anda akan bersenang-senang, dan Anda akan mendapat
pengetahuan lebih dari yang Anda sadari sampai kemudian ketika mengenang
kembali Anda telah seorang hacker ahli.
Lebih jauh tentang mempelajari Unix, lihat The Loginataka
<http://www.tuxedo.org/~esr/faqs/loginataka.html>.
Untuk memperoleh Linux, lihat Where can I get Linux
<http://linuxresources.com/apps/ftp.html>.
Bantuan dan resource BSD Unix bisa Anda lihat di www.bsd.org
<http://www.bsd.org>.
Saya menulis pengantar dasar Unix dan Internet
<http://www.linuxdoc.org/HOWTO/Unix-and-Internet-Fundamentals-HOWTO/index.html>.
(Catatan: Saya tidak menganjurkan menginstal Linux atau BSD sendirian
jika Anda seorang pemula. Untuk Linux, carilah sebuah kelompok pengguna
lokal Linux [KPLI di Indonesia] dan mintalah bantuan mereka; atau
hubungi Open Projects Network <http://www.linpeople.org/>. LISC
memaintain daftar IRC channel <http://openprojects.nu/services/irc.html>
yang bisa Anda datangi untuk memperoleh bantuan.)
4.3 Pelajari cara menggunakan World Wide Web dan cara menulis HTML.
Kebanyakan hasil budaya hacker bekerja di belakang layar tanpa diketahui
orang banyak, membantu mengoperasikan pabrik, kantor, dan universitas,
tanpa ada pengaruh yang jelas pada cara hidup para non-hacker. Web
adalah satu kekecualian, bahkan para politisi pun mengakui bahwa barang
mainan hacker yang besar dan berkilauan ini telah mengubah dunia. Untuk
satu alasan ini saja (dan juga banyak alasan bagus lainnya) Anda perlu
mempelajari cara pengoperasian Web.
Maksudnya lebih dari sekedar cara menggunakan browser (sebab kalau itu
siapa pun bisa), tapi mempelajari cara menulis HTML, bahasa markup Web.
Bila Anda belum menguasai pemrograman, lewat menulis HTML Anda akan
diajari beberapa kebiasaan mental yang akan membantu Anda belajar
pemrograman. Jadi, buatlah home page.
Hanya dengan membuat homepage tidak akan membuat Anda menjadi (bahkan
dekat pun tidak) seorang hacker. Web penuh dengan home page. Kebanyakan
hanyalah kotoran tanpa arti, tanpa isi — kotoran yang tampak indah,
tapi tetap kotoran (lebih jauh tentang ini, lihat The HTML Hell Page
<http://www.tuxedo.org/~esr/html-hell.html>).
Agar bermanfaat, halaman Anda harus mengandung /content/ — harus
menarik dan/atau berguna bagi hacker lain. Dan ini mengantar kita pada
bahasan berikutnya…
5. Status dalam Budaya Hacker
Seperti halnya dalam kebanyakan budaya lain tanpa ekonomi uang, dunia
hacker berjalan di atas reputasi. Anda berusaha menyelesaikan
persoalan-persoalan menarik, tapi seberapa menarik persoalan tersebut,
dan apakah solusi Anda benar-benar baik, merupakan sesuatu yang umumnya
hanya dapat dinilai oleh rekan sejawat atau atasan Anda.
Demikian juga, dalam permainan hacker, Anda menjaga nilai terutama lewat
pandangan hacker lain terhadap kemampuan Anda (inilah sebabnya Anda
belum benar-benar seorang hacker sampai hacker-hacker lain dengan
konsisten menyebut Anda seorang hacker). Kenyataan ini dikaburkan oleh
citra hacking sebagai pekerjaan menyendiri; juga oleh tabu budaya hacker
(yang kini perlahan-lahan menghilang namun masih tetap kuat) yang tidak
mengakui bahwa ego atau pengesahan dari luar berpengaruh pada motivasi
seseorang.
Tegasnya, dunia hacker merupakan apa yang disebut oleh para antropolog
sebagai /budaya memberi/. Kedudukan dan reputasi tidak diperoleh dengan
menguasai orang lain, atau dengan menjadi seseorang yang cantik, atau
dengan memiliki sesuatu yang tidak dimiliki orang lain, tapi dengan
memberikan sesuatu. Tepatnya, dengan memberikan waktu Anda, kreativitas,
dan hasil dari kemampuan Anda.
Pada dasarnya ada lima hal yang bisa dilakukan agar dihormati oleh hacker:
5.1 Menulis software open-source.
Yang pertama (yang paling inti dan paling tradisional) adalah menulis
program yang dipandang berguna atau mengasyikkan oleh hacker lain,
kemudian memberikan source programnya untuk digunakan oleh seluruh
budaya hacker.
(Dulu karya semacam ini disebut ’software bebas’ (free software), tapi
istilah ini memusingkan banyak orang karena mereka tidak tahu apa arti
tepat dari ‘free’. Sekarang banyak yang lebih menyukai istilah ’software
open-source <http://www.opensource.org/>’.)
Para dewa^1 yang dipuja di dunia hacker yaitu mereka yang telah menulis
program besar yang berkemampuan tinggi dan dibutuhkan di mana-mana, lalu
memberikan program ini cuma-cuma, dan sekarang program itu telah dipakai
setiap orang.
5.2 Membantu menguji dan men-debug software open-source
Yang selanjutnya berjasa adalah mereka yang bertahan menggunakan dan
men-debug software open-source. Di dunia yang tak sempurna ini, tanpa
terhindarkan kita harus menghabiskan sebagian besar waktu pengembangan
software dalam tahap debugging. Karena itu setiap penulis software
open-source yang waras akan berpendapat bahwa penguji beta yang baik
(yang tahu bagaimana menjelaskan gejala masalah dengan jelas, bagaimana
melokalisir masalah, mampu mentolerir bug di rilis cepat, dan bersedia
menjalankan beberapa rutin diagnostik sederhana) itu amat sangat
berharga. Bahkan satu saja penguji beta sudah mampu membantu menjadikan
tahap debugging dari mimpi buruk panjang yang melelahkan menjadi hanya
gangguan yang justru menyehatkan.
Bila Anda seorang pemula, cobalah mencari program yang sedang dalam
tahap pengembangan, yang menarik bagi Anda, dan jadilah seorang penguji
beta yang baik. Dari sini Anda secara alamiah akan meningkat dari
membantu menguji program ke membantu memodifikasi program. Anda akan
belajar banyak, dan pada gilirannya nanti Anda pun akan memperoleh
bantuan dari orang lain saat membutuhkan.
5.3 Menerbitkan informasi yang bermanfaat.
Yang bagus juga untuk dilakukan yaitu mengumpulkan dan menyaring
informasi-informasi menarik dan berguna ke dalam halaman Web atau
dokumen seperti FAQ (Frequently Asked Questions — daftar jawaban
pertanyaan-pertanyaan yang sering diajukan orang), dan membuat
dokumen-dokumen ini mudah didapat orang.
Pemelihara FAQ teknis yang besar-besar juga mendapatkan hormat hampir
seperti para penulis software open-source.
5.4 Membantu terus berjalannya infrastruktur.
Budaya hacker (dan juga dalam hal ini pengembangan rekayasa Internet)
dijalankan oleh relawan. Banyak sekali pekerjaan yang dibutuhkan namun
bukan pekerjaan yang agung, yang harus dilakukan agar semuanya tetap
berjalan ? melakukan administrasi mailing list, moderasi newsgroup,
memelihara situs archive software yang besar, mengembangkan
dokumen-dokumen RFC serta standar teknis lainnya.
Mereka yang melakukan hal-hal seperti dengan baik juga dihormati, karena
orang tahu bahwa pekerjaan seperti ini menghabiskan banyak waktu dan
kalah mengasyikkan dibanding bermain dengan kode. Melakukan pekerjaan
seperti ini menunjukkan bahwa seseorang memiliki dedikasi.
5.5 Mengabdi kepada budaya hacker itu sendiri.
Terakhir, Anda dapat mengabdi dan menyebarluaskan budaya hacker (lewat,
misalnya, menulis panduan tepat bagi pemula tentang cara menjadi seorang
hacker :-) ). Anda tidak bisa melakukan hal ini kecuali telah
berkecimpung cukup lama dan menjadi figur yang cukup terkenal di salah
satu dari empat hal sebelumnya.
Budaya hacker tidak persis memiliki pemimpin, tapi memiliki pahlawan,
tetua suku, sejarawan, dan para jubir. Jika Anda telah cukup lama berada
di ‘medan tempur’, Anda dapat saja memperoleh salah satu dari
jabatan-jabatan ini. Peringatan: hacker tidak mempercayai ego tetua suku
yang terlampau mencolok, jadi berbahaya jika Anda terlalu terlihat untuk
berusaha menjadi terkenal. Cara yang benar seharusnya yaitu dengan
memposisikan diri sedemikian rupa sehingga jabatan tersebut jelas telah
Anda capai, lalu kemudian bersikap rendah hati dan ramah sehubungan
dengan kedudukan Anda tersebut.
6. Hubungan Hacker/Orang Nyentrik^2
Bertentangan dengan mitos populer, tidak perlu menjadi orang nyentrik
untuk menjadi hacker. Meski itu sebetulnya membantu, dan pada
kenyataannya banyak hacker yang merupakan orang nyentrik. Menjadi orang
yang tersisih secara sosial membantu Anda tetap memusatkan perhatian
pada hal-hal yang benar-benar penting, seperti berpikir dan hacking.
Karena alasan ini, banyak hacker mengadopsi label ‘nerd’ dan bahkan
menggunakan istilah yang lebih kasar ‘geek’ sebagai lencana kebanggaan
– cara memproklamasikan kebebasan dari tuntutan sosial. Lihatlah The
Geek Page <http://samsara.circus.com/~omni/geek.html> untuk pembahasan
menyeluruh.
Bila Anda tetap dapat memusatkan perhatian pada hacking sampai menjadi
cukup ahli dan tetap memiliki kegiatan sosial, itu sah-sah saja. Hal ini
memang lebih mudah dilakukan sekarang ketimbang waktu saya seorang
pemula di tahun 1970-an; budaya mainstream saat ini jauh lebih ramah
pada para techno-nerd. Malah kini semakin banyak orang yang menyadari
bahwa hacker kadang merupakan kekasih yang berkualitas dan calon
pasangan hidup potensial. Lebih lanjut tentang hal ini, lihat Girl’s
Guide to Geek Guys <http://www.bunnyhop.com/BH5/geekguys.html>.
Bila ketertarikan Anda pada hacking adalah karena Anda tidak mempunyai
kegiatan lain, itu juga tidak apa-apa — setidaknya tidak perlu
susah-susah memusatkan perhatian. Mudah-mudahan satu hari nanti Anda
akan memperoleh kehidupan sosial.
7. Panduan Gaya
Saya ulangi, untuk menjadi hacker, Anda perlu memasuki cara pikir
hacker. Hal-hal tertentu yang Anda lakukan saat jauh dari komputer
kadang membantu mencapainya. Tentu saja kegiatan-kegiatan ini bukan
sebagai pengganti hacking (tak ada yang dapat menggantikan hacking) tapi
banyak hacker melakukannya, dan merasa bahwa kegiatan tersebut secara
dasar berhubungan dengan intisari hacking.
* Membaca karya fiksi ilmiah. Datang ke pertemuan fiksi ilmiah
(salah satu jalan yang bagus untuk bertemu hacker dan proto-hacker).
* Mempelajari Zen, dan/atau berlatih bela diri. (Disiplin mental
yang diajarkan serupa dengan hacking dalam hal-hal penting.)
* Mengasah pendengaran musik. Belajar menghargai jenis-jenis musik
yang tidak lazim. Belajar menjadi ahli dalam bermain alat musik
tertentu, atau berlatih bernyanyi.
* Mengembangkan apresiasi akan permainan kata.
* Belajar menulis dalam bahasa asli (Sejumlah banyak hacker,
termasuk semua hacker terbaik yang saya kenal, adalah penulis yang
cakap).
Semakin banyak dari hal-hal di atas yang sudah Anda kerjakan, semakin
besar kemungkinan Anda adalah calon hacker berbakat. Kenapa hal-hal di
atas yang berhubungan dengan hacking tidak sepenuhnya jelas, tapi
semuanya berkaitan dengan gabungan kemampuan otak kiri dan kanan yang
penting (hacker harus dapat berpikir logis dan juga sewaktu-waktu harus
dapat melangkah keluar dari logika umum suatu permasalahan).
Terakhir, sebagian dari hal-hal yang /tidak/ sebaiknya dilakukan:
* Jangan menggunakan ID atau nama samaran yang konyol atau berlebihan.
* Jangan terlibat perang flame di Usenet (atau di mana pun).
* Jangan menggelari diri ‘cyberpunk’, jangan berurusan dengan para
‘cyberpunk’.
* Jangan mengirim posting atau email yang penuh salah ketik dan
bertata bahasa buruk.
Satu-satunya reputasi yang akan Anda dapatkan jika melakukan hal-hal di
atas adalah sebagai orang dungu. Ingatan hacker biasanya bagus –
mungkin dibutuhkan bertahun-tahun lamanya sebelum Anda dapat diterima
kembali.









Tidak ada komentar:

Posting Komentar