Security dari level bit (Bagian 1: Encoding Base N)

Di masa awal kuliah ilmu komputer, mahasiswa diajari berbagai macam hal dasar mengenai komputer. Hal dasar pertama adalah bahwa data bisa dikonversi menjadi bilangan (data di sini berupa teks, foto, video, suara, dsb). Lalu setiap bilangan bisa dikonversi dalam representasi biner supaya bisa diproses oleh komputer digital. Beberapa pelajaran awal arsitektur komputer akan membahas mengenai gerbang logika, lalu bagaimana gerbang logika ini bisa dipakai untuk menjumlahkan. Setelah kita bisa menjumlahkan maka kita juga bisa mengurangi (di sini akan diajarkan mengenai komplemen 2). Setelah bisa menjumlahkan, kita akan bisa mengalikan.

Biasanya mahasiswa masih mengerti konsep-konsep tersebut ketika diajarkan, walau mungkin belum bisa menyambungkan ilmunya dengan komputer yang ditemui sehari-hari. Di masa-masa akhir kuliah, berbagai topik praktis diajarkan. Di sini mahasiswa akan bisa membuat web atau aplikasi praktis. Tapi biasanya ada gap pengetahuan dari hal yang dasar di tahun pertama dengan hal praktis di tahun terakhir.

Hex editor bukan benda ajaib

Contoh yang sederhana adalah masalah manipulasi bit atau pemahaman bahwa berbagai manipulasi data bisa dipahami dari level biner. Kebanyakan orang akan bingung berhadapan dengan hex editor untuk melihat data sebuah file, dan bahkan menganggap kalau hex editor (saja) cukup untuk menghack apa saja.

Lanjutkan membaca “Security dari level bit (Bagian 1: Encoding Base N)”

Ilmu komputer dan security

Seringkali ketika ingin menuliskan topik security, saya bingung mulai dari mana karena banyak sekali topik security yang butuh dasar ilmu komputer yang baik. Tanpa satu dasar yang baik, penjelasan topik security bisa jauh ke mana-mana. Selain itu saya juga sering dapat pertanyaan yang aneh-aneh.

Contoh pertanyaan konyol yang sering saya dapatkan adalah: saya diberi string dalam base64 dan ditanya apa artinya. Atau bagaimana mendecode string heksa yang adalah sebuah hash. Ini sama saja dengan bertanya: 763748 itu angka apa? bisa berupa apa saja, mungkin nomor Induk mahasiswa, mungkin sisa saldo rekening Anda, 6 digit terakhir nomoer telepon gebetan Anda, PIN iPad kakek Anda, dsb.

Kalau bisa melihat isi gembok, lebih gampang membukanya tanpa kunci
Lanjutkan membaca “Ilmu komputer dan security”

Maaf, saya tidak bisa membantu masalah driver Go-jek/Grab

Sejak tulisan saya mengenai bug Go-jek tahun 2016, sudah ada banyak sekali driver yang meminta bantuan saya untuk: unsuspend status driver atau membantu hack aplikasi Go-jek. Saya masih bisa sedikit mengerti kalau ada yang bertanya soal Go-jek, tapi banyak juga driver Grab yang bertanya hal serupa. Semua jawaban saya sama: saya tidak bisa membantu masalah Anda. Silakan diselesaikan dengan pihak Go-jek/Grab.

Biasanya jawaban tersebut dianggap kurang memuaskan, jadi perlu dijawab panjang. Saya sudah capek menjelaskan, jadi akan saya tuliskan jawaban saya di sini agar gampang dilink untuk menjawab. Biasanya pertanyaan awal disambung dengan: Kan dulu Anda bisa ngehack Go-jek, pasti bisa lagi dong?. Begini ya: dulu keamanan mereka itu lemah sekali. Kira-kira keamanannya seperti ini:

Intinya saat itu siapa saja bisa masuk dan mengambil data driver, dan juga data penumpang. Artinya dari mulai KTP, foto wajah, sampai nama Ibu kandung driver bisa diambil, demikian juga informasi penumpang dan berbagai rute yang diambil juga bisa dilihat siapa saja.

Lanjutkan membaca “Maaf, saya tidak bisa membantu masalah driver Go-jek/Grab”

Root check dan jailbreak check pada aplikasi mobile

Artikel ini akan membas mengenai metode untuk mengecek root (pada Android) atau jailbreak (pada iOS) dan mengapa pemeriksaan ini diperlukan. Berikut saya akan membahas bagaimana melakukan bypass pengecekan ini supaya seorang pentester bisa melakukan testing pada aplikasi mobile.

Apa itu rooting/jailbreak?

Baik rooting maupun jailbreak gunanya adalah untuk mendapatkan hak akses setara administrator pada mobile device yang kita miliki. Di Android kita bebas menginstall aplikasi apa saja, di iOS sebuah aplikasi hanya bisa diinstall dalam mode development, dengan jailbreak maka aplikasi tambahan bisa diinstall.

Jika device sudah dijailbreak/root maka sebuah aplikasi kemudian bisa diberi hak untuk melakukan apa saja, termasuk juga membaca data privat aplikasi lain. “Melakukan apa saja” bisa berarti positif, misalnya kita bisa mengganti berbagai aplikasi sistem dengan versi yang lebih baik, menghapus aplikasi bawaan sistem yang tidak terpakai, dsb.

Biasanya seseorang dengan sengaja melakukan rooting/jailbreaking pada devicenya sendiri supaya bisa melakukan hal-hal yang sebelumnya tidak bisa diijinkan oleh sistem. Contohnya: kita bisa mengganti isi file hosts untuk memblokir iklan di berbagai aplikasi, atau meningkatkan privasi dengan menggunakan aplikasi tertentu yang mencegat berbagai kebocoran informasi (misalnya dengan XPrivacyLua), atau bahkan sekedar untuk mencurangi game tertentu.

Lanjutkan membaca “Root check dan jailbreak check pada aplikasi mobile”

Cerita pengalaman pentesting

Sudah beberapa tahun terakhir saya melakukan pentesting eksternal, menjadi freelancer melalui salah satu perusahaan security di Jakarta. Kali ini saya ingin menuliskan cerita pengalaman, dari mulai kenapa pentesting itu fun, dan beberapa pelajaran yang bisa dipetik (lesson learned) dari pekerjaan pentesting ini. Mengenai pembahasan apa itu pentesting dan serba-serbinya (terutama untuk orang yang ingin produknya ditest), bisa baca tulisan saya sebelumnya serba serbi pentest.

Berbagi ilmu bukan berarti saya sudah jagoan. Saya tidak merasa diri saya sangat jago, dan tidak merasa bahwa apa yang saya pentest pasti sudah aman. Tapi saya merasa ada beberapa hal yang saya tahu yang bisa saya bagikan. Sebagian pentester sangat pelit dengan ilmunya supaya kelihatan jagoan (padahal ilmu pentesting ya itu-itu aja).

Lanjutkan membaca “Cerita pengalaman pentesting”

Hosting email

Meneruskan cerita sebelumnya tentang self hosting, kali ini saya ingin membahas lebih jauh lagi mengenai email. Sekarang ini email (dan nomor HP) menjadi “kunci” bagi banyak layanan. Kebanyakan layanan memerlukan email untuk login dan untuk fitur lupa password. Berbagai notifikasi transaksi keuangan juga masuk ke email. Jika kita kehilangan akses email, akibatnya cukup fatal.

Banyak layanan juga meminta verifikasi via email jika kita login di komputer baru atau IP yang baru. Jadi jika account email kita dihack atau diblokir, kita tidak bisa login. Email ini sangat penting, jika sampai kehilangan akses maka urusannya rumit, seperti jika kita kehilangan dompet. Sekarang setelah tahu betapa pentingnya email ini, kita perlu berusaha mengamankannya.

Contoh verifikasi dari Steam

Email gratisan

Sebagian besar orang menggunakan dua jenis email ini: email kantor dan email gratisan dari berbagai provider (Google/Yahoo/Outlook dsb). Sebenarnya kemungkinan account kita tiba-tiba ditutup oleh Google atau berbagai perusahaan ini cukup kecil, tapi tetap ada. Bisa saja kita sudah taat peraturan, tapi ada kesalahan pada sistem yang membuat account diblokir. Selama lebih dari 14 tahun memakai Google, baru sekali saya mengalami masalah.

Selain Google sebenarnya ada banyak layanan email gratis lain, misalnya protonmail yang terenkripsi, outlook.com dari Microsoft, bahkan Yahoo juga masih memberikan email gratis. Tapi semua email gratisan ini agak mengkhawatirkan karena sebagai pengguna gratis, kita ini “bukan siapa-siapa” dan bisa ditendang kapan saja.

Lanjutkan membaca “Hosting email”

Self hosting layanan online

Posting ini meneruskan cerita horor di posting saya sebelumnya di mana saya hampir kehilangan akses account Google tanpa sebab. Di sini saya ingin membahas mengenai self-hosting layanan online, supaya kendali atas layanan online sebisa mungkin ada di tangan kita, tidak mudah semena-mena ditutup pihak lain.

Posting kali ini lebih ditujukan bagi mereka yang memiliki kemampuan teknis mengadministrasi sistem (atau mau belajar melakukan itu). Saya berencana membuat posting lain untuk melindungi account online untuk orang awam.

Meskipun ada banyak layanan online (SAAS atau software as a service) baik gratis maupun berbayar mulai dari penyimpanan file, foto, sampai source code, banyak orang memilih untuk menghosting sendiri berbagai layanan tersebut (istilahnya self-hosting). Ada yang memakai komputer lokal di rumah, ada yang memakai VPS, dan ada juga yang menyewa dedicated server.

Lanjutkan membaca “Self hosting layanan online”