Hacking dan Reverse engineering hardware

Saat ini di jaman IOT, makin banyak orang yang tertarik untuk hacking dan reverse engineering (RE) hardware. Karena sudah cukup banyak orang menanyakan topik ini, maka di artikel ini akan saya bahas dasar-dasarnya, plus tools apa saja yang dibutuhkan jika ingin memulai.

Dalam artikel ini RE hanya bertujuan memahami software dan hardware dalam sebuah sistem. Hacking hardware bermakna lebih luas misalnya menambah atau mengubah sesuatu di hardware, misalnya menjalankan Doom di printer, membuat hardware baru, atau oprekan apapun yang berhubungan dengan hardware.

Supaya bisa mengubah sebuah hardware yang tidak terdokumentasi, kita perlu melakukan dulu reverse engineering untuk memahami cara kerjanya, baru setelah itu kita bisa melakukan perubahan. Untuk hardware open source atau yang dokumentasinya sangat baik, proses RE ini tidak perlu.

Tujuan melakukan Hacking Hardware

Ada banyak tujuan RE dan hacking hardware, misalnya:

  • Mencari key enkripsi untuk mengakses konten gratis atau untuk membuat konten baru (misalnya game homebrew), atau bahkan membajak, contohnya dalam kasus Game Console
  • Memperbaiki, menambah atau menghilangkan fungsionalitas , misalnya menambah SD Card di router
  • Mengekstraksi firmware dengan berbagai tujuan: mencari bug di firmwarenya, mengclone firmwarenya (membuat produk tiruan), mencari key dalam firmwarenya

Perlu dicatat bahwa dalam 99% kasus, ujung dari reversing hardware adalah melakukan reversing software yang berjalan di hardware tersebut. Lanjutkan membaca “Hacking dan Reverse engineering hardware”

Jadi peserta CTF yang bener dong, jangan malu-maluin

Tahun lalu saya mengkritik panitia Cyber Jawara karena soal CTF-nya ngawur. Sekarang gantian saya mengkritik peserta yang ngawur di penyisihan online. Banyak peserta yang sharing jawaban, seperti mencontek soal ujian.

Tahun ini, panitia Cyber Jawara dan pembuat soal sudah bekerja sangat baik. Soal yang dibuat berkualitas, dan mereka juga mengecek jawaban peserta dengan teliti sehingga kelakuan curang seperti itu bisa diketahui dan didiskualifikasi.

Lanjutkan membaca “Jadi peserta CTF yang bener dong, jangan malu-maluin”

Ke Belanda

Dari RHME2 tahun lalu saya mendapatkan hadiah mengikuti kursus security gratis di Riscure Delft, Belanda. Karena ini bukan perjalanan dinas dari kantor, jadi saya perlu mengurus segala sesuatu sendiri, dan saya bisa bebas menceritakan perjalanannya.

Visa

Di Chiang Mai tidak ada kedutaan Belanda, jadi untuk mengurus Visa saya perlu ke Bangkok. Sebenarnya mengurus Visa bisa dilakukan di kedutaan Belanda atau di VFSGlobal. Saya memilih menggunakan VFSGlobal karena mereka punya jasa kirim balik visa via EMS (menghemat uang dan waktu, tidak perlu kembali ke Bangkok lagi).

Website VFSGlobal sudah sangat bagus, ada checklist mengenai berbagai dokumen yang dibutuhkan sesuai dengan jenis Visa-nya. Karena saya ke sini untuk training, saya menggunakan Visa bisnis. Sebagai catatan, bidang security ini tidak ada hubungannya sama sekali dengan tempat saya bekerja sekarang, tapi tetap butuh surat pengantar dari tempat bekerja.

Tidak ada proses wawancara ketika menyerahkan dokumen. Saya hanya menyerahkan semuanya, diminta scan sidik jari, mengisi alamat pengiriman kembali paspor setelah selesai. Visa saya dapatkan sekitar seminggu, saya masukkan alamat kantor supaya yakin ada selalu orang yang menerima. Karena proses VISA sangat singkat, saya sempat makan siang dengan Pak Kief, alumni Informatika ITB yang saat ini bertugas di KBRI.

Perjalanan

Ada pesawat KLM dari Bangkok langsung ke Belanda. Perjalanannya 11 jam. Karena tidak ada connecting KLM dari Chiang Mai, jadi saya naik airline lain, dengan menyisakan waktu 4 jam. Ternyata 4 jam ini cukup pas, karena butuh menunggu bagasi, antri memasukkan bagasi, antri imigrasi, antri scan.

Di dalam pesawat ada Entertainment System. Kalo saya membawa peralatan yang lengkap, sistemnya sepertinya bisa dijebol. Sistemnya menerima input USB, dan biasanya sistem seperti ini rentan terhadap berbagai macam file yang corrupt. Sistemnya sendiri memakai HTML untuk user interfacenya, ini bisa terlihat dari sifatnya, misalnya file yang memiliki nama &lt; akan muncul sebagai tanda kurang dari (<).

Lanjutkan membaca “Ke Belanda”

Ponsel Anda disadap? (bagian 2)

Setelah Anda membaca bagian pertama posting ini, pertanyaan yang kemungkinan muncul adalah: jadi bagaimana saya tahu kalau ponsel saya sudah terinstall program untuk menyadap? Jawaban sederhananya: jika yang menyadap level biasa, maka penyadapan akan sangat mudah dideteksi. Jika yang menyadap level negara, akan sangat sulit dideteksi.

Sebelum mengecek Ponsel

Sebelum mencurigai ponsel Anda, cek dulu semua account online Anda. Cek sejarah login Anda untuk melihat ada yang mencurigakan atau tidak.  Seperti telah dibahas sebelumnya: cara seseorang bisa masuk ke HP Anda ada banyak, jadi meskipun Anda bisa membersihkan HP, kalau cara masuknya masih terbuka ya masih bisa kena lagi.

Cek juga desktop/laptop Anda. Tidak ada satu resep khusus untuk melakukan ini, jika ragu: backup data, lalu reinstall semuanya, dan update semua software yang Anda pakai ke versi terbaru. Hati-hati dengan software bajakan, meski pembajak awal mungkin jujur dan tidak memberikan backdoor, orang lain mungkin menambahkan backdoor.

Cek juga apakah kecurigaan Anda bisa dijelaskan dari sudut pandang lain. Misalnya apakah informasi yang bocor hanya yang diterima orang tertentu saja. Mungkin orang tersebut dihack, mungkin pula dia yang membocorkan informasinya.

Pemeriksaan Ponsel

Ada beberapa titik di HP yang bisa diperiksa. Pertama coba perhatikan semua notifikasi yang muncul. Lihatlah jika ada yang tidak wajar atau mencurigakan. Dalam kasus di bawah ini saya memang sengaja menginstall certificate supaya bisa melakukan monitoring koneksi jaringan. Informasi mengenai WhatsApp juga wajar karena saya sedang mengakses WhatsApp via web.

Lanjutkan membaca “Ponsel Anda disadap? (bagian 2)”

Ponsel Anda disadap? (bagian 1)

Beberapa waktu yang lalu ada yang mengirim pesan di Facebook: “Mas, saya merasa ada yang mengintip pesan WhatsApp saya”. Pertanyaan dilanjutkan dengan bagaimana caranya mengetahui apakah memang benar disadap, bagimana cara membersihkannya, dan juga bagaimana orang tersebut bisa masuk?

Ada banyak alasan kenapa seseorang mungkin mau menyadap Anda. Mungkin Anda orang penting dan pemerintah mau menyadap Anda. Mungkin ada rekan atau lawan bisnis yang ingin tahu soal bisnis Anda. Mungkin Anda berteman dengan orang penting yang terlalu sulit didekati untuk disadap. Mungkin Anda punya mantan pacar yang masih belum bisa melupakan Anda.

Secara umum, seseorang bisa saja tidak bertujuan menyadap. Bisa saja seseorang masuk ke HP Anda untuk  sekedar merampok: mengakses rekening bank Anda atau informasi kartu kredit Anda, atau bahkan sekedar mengambil pulsa Anda. Bahkan kadang sekedar agar uang dari iklan yang tampil di berbagai aplikasi masuk ke rekening penyerang.

Lanjutkan membaca “Ponsel Anda disadap? (bagian 1)”

Unbreakable Encryption

“Emangnya nggak bisa dibongkar virusnya?”. Masih terkait dengan ransomware. Banyak orang yang sulit menerima bahwa dalam kasus tertentu tidak ada cara membongkar file yang terenkripsi tanpa mengetahui keynya walaupun kita bisa membongkar algoritmanya sampai sangat detail.

Konsep yang sepertinya sulit diterima oleh orang awam yang tidak memiliki dasar dalam kriptografi: bahwa ada kriptografi yang tidak bisa dijebol meskipun kita tahu dengan tepat apa algoritmanya (bahkan jika punya source codenya yang lengkap). Bahwa satu-satunya cara menjebol adalah dengan mengetahui kunci-nya. Dan bahwa kadang satu-satunya cara mencari keynya adalah dengan mencoba semua kemungkinan yang ada yang jumlahnya sangat besar.

Enkripsi Simetrik

Mari kita mulai dengan satu konsep kriptografi yang sederhana: one time pad. Ini adalah bentuk enkripsi sangat sederhana, tapi tidak mungkin bisa dipecahkan tanpa mengetahui key-nya. Dalam one time pad, keynya harus sama panjangnya atau lebih panjang dari pesan yang akan kita enkrip, dan keynya hanya boleh dipakai sekali.

Saya contohkan sederhana sekali: anggap huruf A=1, B=2, C=3, … , Z=26 dan 0 adalah spasi.  Sekarang jika saya punya pesan rahasia ini:XYZABCD. Apakah isi pesannya? Kuncinya adalah serangkaian bilangan, bisa negatif ataupun positif. Lanjutkan membaca “Unbreakable Encryption”

Ransomware WannaCry

Posting ini sekedar klarifikasi untuk berbagai misinformasi mengenai ransomware, khususnya WannaCry/WannaCrypt yang baru saja beredar. Sejujurnya saya malas menuliskan ini, tapi nggak tahan juga melihat banyak informasi salah yang beredar. Sekalian juga saya bahas Ransomware secara umum baik penyebaran maupun penanganannya. Posting ini akan saya update jika ada sesuatu yang baru.

Ransomware adalah jenis malware (software jahat) yang mengenkripsi data milik korban lalu meminta tebusan uang (biasanya melalui bitcoin) agar file korban bisa dibuka lagi. Ransomware bisa menyebar melalui email, website, network share, ataupun media lain. Khusus untuk WannaCry, malware ini juga memanfaatkan bug di OS Windows. Jika komputer Windows di jaringan yang sama belum diupdate (dan setting SMB-nya belum diubah), maka tanpa melakukan apapun, komputer tersebut bisa kena. Lanjutkan membaca “Ransomware WannaCry”