Phone Holder di Mobil

Sejak dulu, nyari tempat meletakkan handphone di mobil supaya gampang untuk melihat google map sambil nyetir. Kadang-kadang ya biar ga repot juga kalau misal lagi nyetir tau-tau telpon bunyi, bisa tau siapa yang nelpon dan apakah penting atau tidak untuk segera minggir angkat telepon.

Untuk masalah terima telepon sambil nyetir, sudah pernah juga pake bluetooth earphone, tapi kadang lupa memakainya dan seringnya bluetooth earphonenya akhirnya rusak karena lupa di charge. Belakangan akhirnya nemu beberapa alternatif supaya bisa meletakkan handphone dengan mudah dan terutama bisa lihat google map kalau dibutuhkan. Kalau ada telepon masuk juga bisa terima telpon dengan aktifkan speaker phone dan tangan tetap ga terganggu bisa nyetir seperti biasa.

Magnet di air vent

Phone holder favorit sekarang ini model magnet yang diletakkan di air vent/ac di tengah mobil. Untuk memakainya, di belakang handphone kita harus memakai besi yang nempel ke handphone. Kepingan besi seperti koin yang sangat tipis ini cukup murah, phone holder magnet nya juga sangat kecil.

Bulatan logam

Kelemahan dari benda ini, setiap handphone harus ditempelin koin besi yang nempel ke magnet supaya bisa memakai phone holdernya. Tapi buat saya dan Joe hal ini ga jadi masalah karena kita bisa membeli koin besinya yang sudah ada stickernya untuk ditempel ke handphone sekaligus beberapa dengan harga cukup murah.

Model  pertama pakai penjepit yang agak merepotkan

Dulu, sebelum menemukan benda ini, saya pakai model jepit yang di air vent maupun yang bisa diletakkan di kaca mobil ataupun di dashboard dengan menggunakan suction. Kelemahan dari benda model ini, kadang-kadang jepitannya sangat pendek, dan kalau kita pakai case untuk handphone kita, jepitannya kurang kuat dan handphone bisa terlepas. Atau seringkali yang terjadi, waktu saya memasang handphone di phone holder, phone holdernya tepat berada di tombol off untuk handphone saya, dan handphone saya jadi mati atau kadang-kadang jadi menyalakan kamera.

Situasinya, masuk mobil kita pengen langsung meletakkan handphone di phone holdernya, tapi kalau dengan model yang lama, saya harus menggunakan 2 tangan untuk meletakkan handphone dan juga seringnya butuh tenaga untuk membuka penjepitnya dan tau-tau handphonenya lepas atau handphone mati, rasanya kalau lagi buru-buru mengesalkan sekali. Dengan phone holder yang model magnet, saya masuk mobil bisa langsung letakkan handphone di phone holdernya dengan cara mendekatkannya dan langsung nempel deh, tanpa drama handphone mati ataupun kamera nyala tanpa sengaja.

Ngomong-ngomong, kesannya tulisan ini lagi iklan ya haha, nggak kok, saya tidak sedang mengendorse merk tertentu, saya cuma berbagi pengalaman setelah gonta ganti berbagai phone holder baru nemu phone holder yang paling cocok dengan magnet dan koin besi. Siapa tau ada yang mengalami masalah yang sama dengan saya setiap kali masang handphone di phone holder model jepit hp mati ataupun terlepas karena hp terlalu tebal oleh case. Waktu saya pakai hp model asus zenphone, hp nya sangat tebal dibanding hp biasa, dan juga terlalu berat untuk beban phone holder hitam jepit. Akhirnya saya beli phone holder jepit yang putih dengan suction. Masalah dengan suction, karena saya tempel di kaca mobil, kadang-kadang daya suctionnya tiba-tiba melemah dan phone holder lepas. Masalah handphone mati karena kejepit dibagian tombol off juga sering terjadi seperti kejadian dengan penjepit versi sebelumnya.

Kelemahan phone holder magnet yang ditempel di air vent ini juga ada, kadang-kadang kalau kita masangnya ga terlalu bagus di airvent, waktu kita berhenti dan mau ambil handphonenya, phone holdernya ikut terlepas. Tapi masalah ini bisa terjadi juga dengan model pertama. Tapi masalah ini ga terlalu mengesalkan seperti masalah handphone mati.

Model jepit lain yang juga repot, plus suctionnya sering lepas

Baru-baru ini, saya baru tahu juga ternyata ada phone case yang langsung di tempelin magnet koin di belakangnya dan dilengkapi dengan ring untuk membuat hp bisa diletakkan berdiri juga. Saya pernah 2 kali beli ring yang di tempel di belakang handphone, tapi tempelannya gampang lepas.

Dengan adanya tempelan besi koin yang sekarang, saya juga bingung kalau mau tempelin ring di mana sebaiknya, akhirnya Joe nemu ternyata ada phone case yang sudah dilengkapi dengan ring dan besi untuk tempelan ke phone holder magnet. Senangnya 3 kebutuhan terjawab dengan 1 benda. Case, koin besi untuk phone holder dan ring untuk meletakkan handphone supaya bisa berdiri.

Saya kagum dan berterimakasih, ada aja yang kepikiran buat bikin aksesori yang dibutuhkan pengguna Handphone. Kemarin waktu cerita ke sepupu saya, ternyata dia belum belum tau ada phone holder model magnet. Nah karena ada yang belum tau, maka saya tuliskan saja di sini, siapa tau udah kesel dengan phone holder jepit yang sering bikin handphone mati seperti sebelumnya yang saya alami hehehe.

Cloudflare

Cloudflare adalah perusahaan yang memberikan layanan untuk memproteksi website dari DDOS dan serangan lainnya. Perusahaan ini didirikan 2009, dan mulai terkenal sejak 2011. Saya sendiri sudah memakai ini sejak 2013, tapi sepertinya masih banyak pihak yang belum tahu layanan ini, atau tahu tapi belum bisa memakai secara optimal.

Secara sederhana cara kerjanya Cloudflare adalah: semua request dari client (browser/mobile) akan ditangani oleh Cloudflare dan diteruskan ke server kita. Karena berada di tengah-tengah, maka Cloudflare bisa memblok serangan, meng-cache content, dsb.

Cara kerja Cloudflare

Layanan Cloudflare ini ada versi gratisnya dan ada versi berbayarnya. Saya sendiri hanya memakai versi gratis untuk berbagai website/blog yang saya miliki, dan ini sudah cukup untuk menambah keamanan website saya (dari serangan DOS), sekaligus mengurangi bandwidth website. Untuk versi berbayar, ada banyak fitur lain yang menarik, misalnya: WAF (Web application firewall yang memblok request berbahaya), Load Balancing dsb.

Ketika website kita mendapatkan serangan DDOS, kita bisa mengaktifkan “I’m Under Attack Mode”, dan hasilnya pengguna akan melihat layar “Checking your browser before accessing namasitus”. Kadang ini diaktifkan di beberapa situs kecil walau tidak diserang untuk menghindari otomasi akses situs dengan bot.


I’m Under Attack Mode

Server  DNS

Fitur Cloudflare lain yang menarik adalah server DNS (Domain Name System) yang bisa dikontrol menggunakan API. Untuk pengguna rumahan seperti saya, ini bisa dipakai untuk membuat dynamic DNS, tanpa harus membayar (dan bisa membuat banyak subdomain). Untuk di perusahaan, fitur API ini bisa digunakan untuk mengotomasi banyak hal yang berhubungan dengan DNS.

DNS-nya cloudflare juga mendukung multiple TXT records, fitur ini diperlukan untuk sertifikat SSL gratis dengan wildcard domain (*.example.com) dengan Lets Encrypt. Saat ini beberapa registrar seperti gandi tidak mendukung fitur multiple TXT records ini.

Cloudflare juga mengoperasikan server DNS 1.1.1.1 yang berguna untuk bypass blokir website berdasarkan DNS, dan juga untuk meningkatkan privasi DNS. Ini mirip dengan DNS 8.8.8.8 dari Google, 9.9.9.9 dari Quad9 dsb. DNS yang dioperasikan Cloudflare ini juga mendukung DNS over HTTPS.

SSL otomatis

Jika tidak mau repot dengan Lets Encrypt dan hanya butuh agar sekedar URL menjadi “https”, Cloudflare juga menyediakan fitur itu. Contohnya adalah blog ini yang memakai HTTP dengan cloudflare. Akan terlihat di sertifikatnya bahwa yang dipakai adalah dari Cloudflare.

Contoh website tanpa https, kata “Not secure” muncul di address bar

Kenapa memakai URL https? sekarang ini Chrome akan menandai semua website yang tidak memakai HTTPS sebagai “not secure”.  Jadi untuk meningkatkan kepercayaan pembaca, sebaiknya sekarang website memakai SSL.

Cloudflare sebagai WAF

Bagian ini merupakan catatan khusus ketika memakai Cloudflare sebagai WAF atau Anti DDOS. Intinya di sini adalah semua request akan ditangani dan diblok oleh Cloudflare jika dianggap berbahaya. Tapi jika IP asli server kita masih ketahuan, maka percuma saja proteksi dari cloudflare, karena searangan langsung bisa dilakukan terhadap IP asli server tersebut.

Jadi jika ingin mendapatkan proteksi maksimum, koneksi harus diblok kecuali dari IP Cloudflare. Bagaimana seseorang bisa mendapatkan alamat IP asli sebuah website? ada banyak cara, beberapa di antaranya:

  • Dari subdomain yang dipetakan langsung ke IP asli (seperti direct.example.com)
  • Dari pesan error yang ditampilkan server
  • Dari header email yang dikirimkan oleh webiste
  • Dari request oleh server ke server lain (server side request, baik request normal ataupun yang dipaksakan dari bug dalam kategori SSRF )
  • Dari SSL scanning dengan Shodan
  • Dari sejarah DNS, ada beberapa situs yang mencatat DNS, jadi jika pernah terdaftar di masa lalu dengan IP tertentu, maka mungkin sudah tercatat

Registrar

Saat ini kita masih harus membeli sendiri domain di sebuah registrar dan mengeset nameserver agar menunjuk ke server cloudflare, tapi sebentar lagi cloudflare akan meluncurkan layanannya sebagai registrar domain. Artinya kita bisa membeli domain langsung dari cloudflare. Mereka berencana membuat registrar dengan harga sangat murah, tanpa markup katanya.

Sedikit cerita mengenai beberapa registrar terakhir yang saya pakai. Namecheap harganya dulu murah (10.98 USD), minta add on ini dan itu (sebelum GPDR bahkan domain privacy harus bayar), tidak diberi email. Gandi harganya mahal (15.50 usd untuk .com), tapi harga sudah all in, termasuk beberapa mailbox gratis.

Jika butuh mailbox, harga total per tahun namecheap jadi lebih mahal dari Gandi. Terakhir saya coba Google domains. Sejauh ini sih yang spesial hanya integrasi dengan layanan Google yang lebih mudah (harganya antara namecheap dan Gandi, 12 USD untuk .com).

Apakah Selalu Reliable?

Saya jarang menemui masalah dengan Cloudflare, tapi saya pernah mengalami beberapa kali kasus, server Cloudflare gagal menghubungi sebuah server sehingga website tidak bisa diakses padahal server masih baik-baik saja. Saya pernah mengalami sendiri masalah ini (sejauh ini baru sekali): server tidak bisa diakses padahal tidak ada masalah jika diakses langsung dengan IP dari berbagai negara.

Di sini seolah-olah server down, padahal sedang ada anomali pada Cloudflare

Biasanya masalah seperti temporer dan segera kembali normal dalam beberapa menit (walau kadang beberapa jam). Karena level saya hanya gratisan, saya tidak mengejar support untuk  menyelesaikan masalah ini dan cuma menunggu saja.

Penutup

Cloudflare merupakan layanan gratis yang menurut saya sangat berguna. Jika server baru terlalu mahal untuk menangani serangan DOS (atau pengguna yang terlalu banyak), maka Cloudflare ini bisa membantu mengurangi beban server sekaligus mengamankan dari serangan. Versi komersialnya 20 USD/bulan, lebih murah daripada beli server baru, dan bahkan versi gratisnya kadang sudah cukup untuk menangani serangan DDOS.

Browsing Tanpa Iklan di HP Android

Pernah gak, ketika berselancar di dunia maya, ga sengaja ngeklik iklan dan ketika memaksa menutup 1 iklan, tau-tau 2 halaman lain muncul lagi dengan pesan-pesan yang bikin kaget misalnya: virus terdeteksi di HP anda. Lalu kita disarankan untuk mengklik link yang mereka sediakan untuk segera memberantas virusnya, yang padahal akhirnya mungkin menginstal virus alih-alih membersihkan virus.

Dalam posting ini, saya mau memberitahu cara mudah untuk menghilangkan iklan waktu kita browsing di HP android, mungkin di HP OS lain akan mirip atau ada yang lebih mudah lagi, tapi karena saya sekarang pakai Android ya saya tuliskan yang saya sudah coba saja. Dengan cara ini, beberapa pop up window masih akan muncul, tapi iklan di dalamnya tidak tampil. Beberapa iklan munngkin masih ada tapi tidak terlalu mengganggu lagi. Ada cara lain yang lebih advanced untuk menghilangkan semua iklan, tapi itu nanti biar Joe aja yang tulis kalau dia ada waktu.

Biasanya browser bawaan di HP Android menggunakan Chrome, tapi sayangnya Chrome di Android belum bisa ditambahkan add-ons seperti halnya browser Chrome di komputer. Jadi cara termudah adalah menginstal browser lain. Ada 2 browser lain yang saya coba. Saya memilih 2 browser ini karena browser ini dulunya juga pilihan saya sebelum saya memakai Chrome di PC dan Android. Browser yang sudah saya coba adalah Firefox dan Opera (bukan Opera Mini ya).

Berikut ini bisa dilihat perbandingan browsing beberapa situs menggunakan Chrome, Firefox dan Opera. Pertama saya mencoba situs berita kompas.com

Begini tampilannya di Chrome. Ada pop up iklan selain banner iklan.

Situs kompas.com menggunakan Chrome
Situs kompas.com menggunakan Chrome
Chrome

Berikut ini hasil browsing di Firefox yang sudah saya instal add-ons adblock plus

Situs Kompas menggunakan Firefox dan Adblock Plus

dan berikut ini hasil browsing menggunakan opera:

Situs Kompas menggunakan Opera Browser

Contoh situs lain yang juga banyak iklannya, saya browsing ke situs kaskus. Berikut ini tampilan dengan Chrome:

Chrome

Kalau yang ini menggunakan Firefox:

Firefox dan Adblock Plus

Dan ini menggunakan Opera:

Opera

Kadang-kadang mungkin kapasitas penyimpanan hp kita terbatas sehingga tidak bisa dengan leluasa menambah browser. Kalau hanya ingin menambah 1 browser tambahan saja, saya akan memilih menginstal Firefox. Kalau ingin menambah 1 browser tambahan tanpa ingin repot mengganti pengaturannya saya akan pilih Opera.

Ketika menginstal Opera, setting untuk block iklan otomatis sudah diaktifkan. Opera menggantikan iklan dengan iklannya sendiri di halaman awal Operanya dan tidak sebanyak iklan di situs berita yang dikunjungi.

Opera mengaktifkan Ad Blocking secara default 

Kenapa saya pilih Firefox? Karena setelah mencoba beberapa situs, browser Firefox lebih bersih menyaring iklannya. Setttingnya juga sebenarnya tidak sulit. Setelah instalasi, cukup pergi ke setting, pilih Browse all FireFox Add-ons, dan tambahkan Adblock Plus. Nantinya kalau add-onsnya sudah ditambahkan, akan terlihat seperti di gambar berikut:

Kalau dipikir-pikir, menghilangkan iklan dari halaman yang kita kunjungi berarti juga menghemat pemakaian data, karena sebagian besar iklan itu berupa gambar dan animasi. Lebih baik iklan-iklan sebanyak mungkin diblokir saja.

Kalau browsing menggunakan wifi, sebagian iklan bisa diblok di router. Di rumah, saya ga pernah mendapatkan iklan karena sudah diset di router oleh Joe, tapi kalau lagi browsing di luar rumah, iklan yang muncul sering mengganggu dan paling menyebalkan kalau ke klik tanpa sengaja. Makanya akhirnya saya kepikiran menginstal browser lain, mumpung kapasitas HP saya juga masih ada hehehe.

Selamat mencoba, dan selamat browsing tanpa iklan ya!

Mengetik dengan Suara

Posting kali ini saya coba tulis menggunakan Google voice typing dan disunting berikutnya menggunakan keyboard biasa. Saya hanya perlu menambahkan tanda baca dan mengubah beberapa kesalahan pemakaian huruf besar. Tapi sekarang karena enggak harus ngetik kok jadi bingung mau cerita apa ya? Ternyata mengetik lebih memberi waktu untuk berpikir sebelum menuliskannya daripada berbicara.

Dulu pernah coba fitur mengetik pake bahasa Inggris dan hasilnya lumayan jelek. Saya baru tahu fitur bisa menulis dengan bahasa Indonesia tanpa mengetik dari sepupu saya, awalnya dia kasih tau bisa untuk aplikasi chatting, tapi ya basically bisa untuk segala app yang inputnya menggunakan keyboard seperti halnya aplikasi wordpress di handphone saya.

Biasanya dulu kalau lagi ada ide pengennya bisa cuman ngomong doang dan langsung terketik. Dulu terpikir untuk membawa-bawa recorder untuk merekam ide, lalu diketik sesempatnya, tapi tidak pernah terlaksana, akhirnya bisa diwujudkan langsung terketik seperti sekarang. Google voice typing ini belum terlalu sempurna tapi sudah lumayan lah.

Kalau saya tahu dari dulu, saya bisa menulis cerita jalan-jalan ke Hong Kong kemarin pakai metode voice typing ini saja. Tidak ada kata terlambat, mulai sekarang harusnya bisa update blog lebih sering. Mungkin ada yang sudah pernah pakai juga karena fitur ini sudah lama tersedia, kalau ada tips yang mau dibagikan, saya tunggu ya. Untuk yang belum pernah pakai pasti bertanya-tanya, gimana cara memakainya seperti Jonathan yang bertanya ke saya.

Pertama yang perlu diketahui adalah setting voice typingnya di handphone android:

1. Dari menu setting pilih System

2. berikutnya pilih menu languages and input untuk keyboard and inputs, pilih google voice typing di virtual keyboard

3. Set voice typing automatic


Kita bisa memilih multi bahasa, atau 1 bahasa tertentu supaya tidak bingung. Saya sudah mencoba bahasa Indonesia, Inggris dan bahkan bisa menuliskan bahasa Thai dalam aksara Thai. Akurasinya belum 100 persen, tapi sejauh ini bisa sangat meminimasi mengetik.


Kalau voice typing sudah diatur, berikutnya cara memakainya, tekan lambang microphon dan bicaralah.


Agar bisa memakai fitur ini, pastikan microphon handphone bekerja dengan baik. Saya coba menggunakan microphon di handsfree dengan berbisik-bisik hasilnya untuk bahasa Indonesia sudah cukup baik.

Plus nya fitur ini adalah, misalnya saya sedang menyetir dan sedang macet dikit, kalau saya perlu menuliskan sesuatu di to-do list, saya bisa mendiktekan saja sebelum saya lupa. Kalau sedang ada ide untuk menuliskan cerita sambil menunggu juga bisa dimanfaatkan waktunya untuk mendiktekan tulisan.

Di awal mungkin akan terasa aneh karena kita seperti ngomong sendiri, tapi ya sebenernya sama saja kalau kita sedang terima telepon juga yang kedengaran orang sekitar kita cuma apa yang kita ucapkan, bukan apa yang diucapkan lawan bicara.

Dari hasil mencoba-coba, yang cukup menarik adalah voice typing bahasa Thai. Pertama tentunya saya harus mengubah keyboard ke tulisan Thai, lalu saya mendiktekan kalimat dalam bahasa Thai. Kalau pengucapan saya cukup benar, sejauh ini ejaan bahasa Thainya juga cukup akurat. Sebagai yang belum lancar mengingat ejaan kata dalam bahasa Thai tapi cukup bisa membaca, fitur ini berguna untuk melatih kemampuan bahasa Thai saya.

Ada banyak bahasa yang sudah disupport oleh Google voice typing ini, bahkan untuk beberapa bahasa kita bisa menyunting teks kita dengan voice command. Saya belum mencoba semua fitur dari voice typing ini, tapi kalau ada yang rajin bisa baca di sini.

Jonathan juga sudah mencoba fitur google typing ini, yang langsung terpikir selain bisa untuk melatih Jonathan untuk mengeja bahasa Inggris, bisa juga nantinya untuk melatih membaca bahasa Indonesia dan bahasa Thai. Sejauh ini dia senang bisa mengetik dengan suara. Mungkin saya akan menyemangati dia untuk menulis blog memanfaatkan fitur ini, dan selanjutnya memberi tugas menambahkan tanda baca dan menyunting penggunaan huruf besar kecilnya.

BEVX Conference

Tanggal 20-21 September saya mengikuti BEVX Conference di Hong Kong. Hari pertama adalah training dan saya mengambil  iOS Sandbox Escape Vulnerability and Exploitation oleh Hao Xu/Pangu.  Team Pangu ini sempat terkenal karena Jailbreaknya yang dirilis umum untuk iOS 7/8/9. Team ini masih aktif, tapi tidak lagi merilis jailbreak umum, di pelatihan yang dibahas adalah exploit iOS 11 dan mereka sudah punya jailbreak untuk iOS 12.

Biaya training plus conferencenya cukup mahal (1000 USD), tapi saya mendapatkannya gratis, plus tiket pesawat dan hotel juga. Ini saya dapatkan dari challenge Reverse Engineering yang saya kerjakan bulan April lalu. Writeup untuk challengenya saya tulis di blog saya yang berbahasa Inggris.

Sebagai informasi, saya ini bukan profesional di bidang Security, hanya part time saja melakukan pentesting secara remote. Saya juga tidak rajin mencari bug di berbagai website atau app, kadang-kadang saja saya menemukan bug ketika sedang iseng. Bidang security dan reverse engineering ini sekedar hobi bagi saya. Saya belum pernah menghadiri conference security (pernah ke HITB sekedar CTF saja). Saya cukup senang hobi ini tahun lalu mengantar saya ke Belanda dan tahun ini sekeluarga ke Hong Kong.

Training

Sekarang ke cerita trainingnya. Biasanya materi training iOS ini diberikan dalam 2 hari, dan baru kali ini pengajarnya berusaha mengkompres materinya menjadi 1 hari. Bagi yang tidak punya background development di macOS dan iOS akan sangat sulit mengikuti semuanya, untungnya walau sudah lama tidak develop macOS dan iOS saya masih mengikuti perkembangannya. Sayangnya di akhir kurang bisa cukup praktiknya, hanya sempat sampai membuat device crash.

Saya menyarankan bagi yang ingin mengikuti training sejenis ini agar mempersiapkan diri dulu dengan berbagai ilmu development iOS dan macOS (Objective C dan berbagai konsepnya). Seluruh dasar teori selama sehari penuh diperlukan untuk menjelaskan satu eksploit saja.

Materi training yang diberikan meskipun sangat banyak, tapi hanya menyentuh hal-hal dasar saja. Untuk menjadi ahli dalam mencari bug iOS, sampai membuat jailbreak masih perlu banyak membaca dan praktik. Sifat iOS yang sourcenya hanya terbuka parsial juga mempersulit eksplorasi. Setiap jailbreak baru dirilis, Apple juga segera membuat perubahan supaya segala bug sejenis tidak muncul lagi, jadi tingkat kesulitan eksploitasi iOS ini memang cukup tinggi.

Penyelenggara conference menyediakan beberapa tiket training dan conference gratis untuk student (dengan slot terbatas tentunya) tapi tidak membayari pesawat/hotel. Saya pikir dengan adanya tawaran ini maka akan ada  banyak mahasiswa lokal, tapi ternyata kebanyakan mahasiswa justru dari jauh (Eropa dan  Amerika) dan mereka ini rajin juga ikutan CTF.

Keynote

Bagian keynote BEVX ini cukup menarik, jadi akan saya tuliskan di sini sedikit, plus komentar dari saya.  Keynote BEVX ini membahas tentang tiga jenis “kompetisi security”, yang meliputi CTF, Bug Bounty, dan Pwn2Own, dan bagaimana membuat CTF yang lebih baik berdasarkan jenis lomba yang lain. Semua jenis “lomba” ini memiliki tempatnya masing-masing. CTF bertujuan untuk menghibur diri, untuk belajar, dan merupakan suatu bentuk dari deliberate practice. Tujuan CTF bukan untuk ketenaran dan uang. Karena waktunya terbatas, biasanya soal CTF harus disederhanakan supaya selesai dalam 1-2 hari.

Program bug bounty ditawarkan oleh berbagai perusahaan, intinya: siapa yang menemukan bug di  website atau produk akan dibayar. Tujuan program semacam ini adalah mengamankan produk/website tertentu. Bug bounty bisa disebut kompetisi karena ada juga “ranking” dari para pencari bug ini (contohnya di bugcrowd ada sistem point). Kalau dilihat, sebagian besar bug yang ditemukan hanya yang itu-itu saja (masih lebih banyak variasi soal CTF).

Kompetisi pwn2own dan sejenisnya mencari bug 0day di sebuah software, artinya bug yang belum pernah ditemukan siapapun sebelumnya. Bug ini biasanya dihargai sangat mahal (puluhan hingga ratusan ribu USD), dan level kesulitan menemukan bug jenis ini sangat tinggi. Targetnya adalah software yang dipakai banyak orang (browser, sistem operasi, office, dsb).

Jadi tiap lomba ini memiliki tujuan masing-masing, dan bisa saling melengkapi. Hampir mustahil seorang pemula tiba-tiba bisa mencari bug dan mendapatkan hadiah dari pwn2own, tapi CTF merupakan titik awal yang baik untuk belajar. Dari berbagai soal CTF kadang kita juga bisa belajar tentang bug tertentu yang bisa dicoba cari di program bug bounty.

Pembicara keynote menemui bahwa saat ini beberapa CTF sudah mulai memakai bug dunia nyata, dan menyarankan agar lebih banyak CTF mulai memakai banyak software di dunia nyata (dengan bug 0day).  Software yang dipilih bisa yang kurang populer. Tujuannya adalah: membantu menambah keamanan pada proyek yang kurang populer, dan peserta CTF bisa benar-benar memakai software di dunia nyata.

Ada satu bagian menarik di keynote mengenai CTF. Di CTF kita memiliki mindset “ini pasti ada bugnya”, karena jika tidak maka soalnya tidak bisa diselesaikan. Mindset itu harus dibawa ke dunia di luar CTF: setiap software pasti ada bugnya. Jika dipikir, ini memang fakta, tiap software ada bugnya, dan mungkin tidak ketahuan sekarang. Lihat saja berapa banyak bug Windows, Linux, dsb yang baru ditemukan bertahun-tahun (kadang sampai belasan tahun) kemudian.

CTF

Acara BEVX ini tidak disertai dengan acara CTF (saat ini banyak conference yang memiliki acara CTF juga). Dari ngobrol-ngobrol dengan beberapa orang di conference tersebut, hal yang menarik bagi saya adalah: masih banyak ahli security level dunia yang masih rajin ikutan CTF (walaupun tidak semua, karena sebagian katanya sudah tidak punya waktu lagi). Saya jarang bertemu security expert Indonesia yang masih ikutan CTF. Saya sendiri masih ikut CTF tapi biasanya yang waktunya lama (seperti Flare-On) dan sesekali yang waktunya sebentar.

Saat ini banyak sekali CTF yang mudah, dan juga CTF yang sangat sulit (misalnya DEFCON), tapi sayangnya masih kurang CTF yang level menengah. Untuk pemula yang sudah berhasil ikutan CTF mudah biasanya akan kesulitan untuk melompat ke level berikutnya karena tiba-tiba menjadi terlalu sulit. Kalau dilihat dari berbagai writeup CTF Indonesia, saat ini kebanyakan soal levelnya masih sederhana dan mulai mendekati menengah.

Jadi saran saya: untuk yang belum ikutan CTF, cobalah ikutan CTF. Kalau merasa suatu CTF terlalu mudah, cobalah ke CTF lain yang lebih sulit, jadi jangan sombong menganggap semua CTF itu mudah. Saya pengen banget melihat team Indonesia di CTF tingkat dunia seperti DEFCON.

Bagi yang sudah ikutan CTF tapi merasa masih mentok, cobalah pelajari topik yang masih belum dikuasai. Kalau masih belum bisa exploitation ya pelajarilah itu dimulai dari yang paling sederhana. Luangkan waktu untuk berlatih.

Conference

Conference BEVX berfokus pada offensive security, tentang bagaimana mengeksploitasi sesuatu. Ini bukan jenis conference yang berisi konsep, tapi berisi kode program dan cara eksploitasinya. Tidak ada presentasi BEVX yang tidak menyertakan kode program, jadi ini bukan sesuatu yang mengawang-awang.

 Badge yang bisa jadi captive portal

Jadwal lengkap bisa dilihat di sini. Meskipun ada 2 track, saya hanya mengikuti Track 1 karena menurut saya lebih menarik. Talk pertama tentang bug yang ada di kernel Linux selama 17 tahun. Ini menarik karena selama 17 tahun tidak ada yang memperhatikan kode itu ternyata memiliki bug, dan cara eksploitasinya merupakan cara baru (heap spray dengan userfaultd).

Talk kedua mengenai smart card juga cukup menarik, tapi tidak terlalu advanced. Tapi ini mengingatkan saya bahwa smart card yang ditamper bisa jadi vektor masuk untuk software atau sistem tertentu.

Talk sebelum makan siang: (De)coding an iOS vulnerability membahas bug iOS. Ini menarik, tapi presentasinya terlalu detail dan panjang sehingga lebih dari waktu yang ditentukan.

Setelah makan siang di hotel (bagian dari harga tiket), diteruskan dengan “Dual booting modern iOS devices” yang memakai bug iOS untuk dual boot 2 versi iOS.  Masalah dengan eksplorasi iOS adalah: jika kita sudah maju ke versi yang tidak ada bugnya, maka kita tidak bisa mundur lagi ke versi sebelumnya dengan mudah. Ini sebenarnya akan sangat menarik jika kodenya dirilis, tapi sayangnya karena masih development maka ini terbatas untuk keperluan riset saja.

Thinking Outside the Virtual Box yang menjelaskan eksploitasi bug Virtual Box untuk “escape to host”. Artinya di Virtual Box yang memiliki bug ini, virtual machine yang berjalan bisa mengakses komputer host. Bug yang ditemukan sangat menarik dan eksploitasinya juga sangat keren.

Topik “Bypass Android Security Mechanisms using Custom Android” sebenarnya tidak terlalu advanced, tapi sangat praktis untuk pentesting aplikasi Android. Intinya adalah: dengan custom kernel kita bisa membuka semua proteksi berbagai aplikasi Android.

Semua presentasi sangat low level

Crashing to root: How to escape the iOS sandbox using abort() menurut saya adalah yang paling menarik. Idenya sangat menarik, implementasinya menakjubkan, dan pembicaranya menyampaikan topiknya dengan sangat terstruktur dan dengan suara yang sangat jelas. Silakan dibaca file presentasinya dan deskripsi di githubnya.

Pembicara terakhir adalah Halvar Flake (Thomas Dullien) dari Google. Topiknya agak teoretis tapi bagi saya sangat menarik. Dia ingin membuat tool untuk bisa mengidentifikasi berbagai library yang direuse oleh banyak pihak. Singkatnya semacam FLIRT dari IDA tapi lebih advanced.

Penutup

Berbagai eksploitasi yang ditayangkan di conference ini sangat menarik dan dalam banyak kasus saya berkata dalam hati: wow kok mereka kepikiran ya memakai cara ini . Untuk mengeksploitasi sebuah sistem kadang diperlukan banyak bug yang sepertinya tidak terlalu penting dan bisa digabung jadi satu.

Dari situ yang terpikirkan oleh saya adalah: dengan bug-bug kecil yang “tidak sengaja”, mereka bisa merangkainya untuk mengambil alih sebuah sistem. Andaikan para penemu bug di conference BEVX diminta membuat backdoor yang tidak terdeteksi, kemungkinan besar mereka akan bisa melakukannya. 

Mereka bisa  sengaja membuat berbagai bug kecil yang tampaknya tidak penting. Jadi backdoornya bukan sejenis hardcoded password atau sekedar kondisi dengan sebuah if saja, tapi memakai sifat dari berbagai library dan syscall yang tidak mudah dimengerti kaitannya.

Ini menunjukkan betapa mengerikannya memakai berbagai produk yang tidak kita ketahui. Bahkan dengan code review sekalipun, bug-bug yang mereka temukan ini akan bisa lolos. Sepertinya langkah terbaik untuk sebuah negara adalah mengembangkan sendiri berbagai software penting untuk keperluan critical.

Saya cukup menikmati keseluruhan acara ini. Semoga lain kali saya juga tidak hanya jadi pendengar saja, tapi jadi pembicara juga di acara sejenis ini.

Aksesori elektronik kecil

Sudah lama saya tidak menuliskan tentang oprekan elektronik. Salah satu alasannya adalah karena tahun ini saya berusaha mengurangi pembelian berbagai benda dari AliExpress. Tahun lalu saya membeli terlalu banyak benda yang akhirnya kurang sempat dioprek.

Capture HDMI kualitas rendah

Ketika mengerjakan salah satu proyek Raspberry Pi, saya perlu berada di depan komputer karena menyangkut akses GPU untuk menampilkan video secara langsung dari kamera ke layar (pernah saya tuliskan di sini). Ada beberapa alternatif cara menangkap output HDMI, tapi harganya masih relatif mahal. Alternatif saat ini: PCI  card USB 3 capture card, dan device independen. Dari berbagai review yang saling bertentangan saya masih ragu harus membeli hardware yang mana, sedangkan harga hardwarenya tidak murah (puluhan hingga ratusan USD).

Dalam kasus kali ini, saya tidak benar-benar butuh capture kualitas tinggi, saya hanya ingin memastikan bahwa di layar tampil sesuatu yang seperti harapan saya. Jadi saya mengambil pendekatan paling murah: saya membeli HDMI2AV (kurang dari 7 USD). Signal HDMI diubah menjadi AV (dan resolusinya diresize), lalu saya tangkap signal AV ini dengan USB capture card yang sudah saya miliki (dulu harganya 4.5 USD).

LCD 1602 Acrylic case

Sudah beberapa kali mencetak case dengan printer 3D, tapi hasilnya kurang memuaskan. Saya melihat ada case Acrylic murah untuk LCD 16 karakter x 2 baris  jadi saya coba beli.  Harga benda ini bervariasi dari satu toko ke yang lain, antara 0.99 USD-2 USD.

Tampilannya cukup cantik, mudah disusun dan cukup stabil (tidak mudah jatuh). Case ini juga cukup bagus karena dirancang untuk LCD 1602 yang diberi kontroller I2C (ada lubang di samping untuk 4 kabel Vcc/Gnd/SDA/SCL). Kita juga bisa meletakkan Wemos D1 di belakangnya jika ingin membuat display  dari internet (misalnya nilai mata uang atau bitcoin).

Konektor PSU

Sebenarnya dari dulu sudah ada banyak tutorial untuk mengubah PSU menjadi bench power supply, tapi biasanya langkahnya merepotkan, perlu memotong kabel, membuat konektor khusus dst.

Belum lama ini saya menemukan bahwa ada board konektor PSU yang relatif murah (5 USD). Board ini sangat mudah dipakai, hanya perlu colok langsung, dan sudah ada switch on/off-nya. Selain bisa digunakan untuk bench power supply, kita bisa menggunakan board ini untuk mengetes apakah sebuah PSU masih bagus atau tidak.

Demikian tulisan singkat saat ini. Semoga lain kali tulisan oprekannya lebih menarik.

Text-to-Speech untuk mainan

Joshua sangat menyukai huruf dan angka. Di usianya sekarang (3 tahun) dia sangat suka alfabet. Dia bisa menyebut nama alfabet dalam bahasa Inggris dan Indonesia, bisa mengingat urutan alfabet  dari depan ke belakang dan sebaliknya, bisa menuliskan semua huruf besar dan kecil. Selain itu Joshua juga suka alfabet Thai, dalam sekitar 2 minggu dia sudah mengingat nama semua 44 konsonan dan cara menuliskannya.

Mainan ini bisa mengucapkan kata-kata tertentu, misalnya APPLE, BALL, dsb

Setelah suka alfabet, Joshua suka belajar membaca dan juga menulis, termasuk juga mengetik di komputer. Dia sangat senang dibelikan mainan tablet alfabet di atas. Mainan di atas disertai beberapa buku, di buku itu ada kata-kata yang bisa “diketikkan”, dan setelah selesai  kata itu akan diucapkan oleh tablet tersebut.

Sayangnya jumlah kata-kata yang tidak banyak dan Joshua sudah bosan dengan semuanya. Kadang dia berusaha mengeja kata tertentu tapi tidak keluar suaranya. Tadinya kepikiran untuk membongkar benda itu dan memodifikasi supaya support lebih banyak kata, tapi sepertinya repot dan akan butuh waktu lama.

Setiap kali dekat saya, Joshua akan minta ikutan ngetik di keyboard saya, dan kadang kalau saya sedang bekerja, saya biarkan dia memakai Pinebook , Raspberry Pi atau Laptop yang kebetulan ada di samping saya sekedar untuk mengetik di editor teks atau LibreOffice. Tiap kali mengetik sesuatu dia akan meminta perhatian saya sambil mengucapkan apa yang baru diketiknya: “papa, APPLE”

Supaya lebih seru, saya buatkan web app kecil  dengan JS dan PHP untuk mengucapkan kata yang baru dia ketik. Pengucapannya memakai fitur dari Google Translate. Tampilannya sangat sederhana: masukkan teks dan tekan enter, suaranya akan keluar. Joshua sudah mengerti memakai backspace untuk menghapus karakter yang sudah diketik.

Sebenarnya aplikasi ini tidak butuh server, bisa langsung tembak ke URL Google translate, tapi saya agak khawatir bisa kena rate limit atau ban temporer, atau bahkan protokolnya berubah sama sekali. Jadi saya buatkan sisi server untuk mengontak Google untuk mengucapkan kata-kata, dan menyimpan ke disk dan berikutnya jika kata yang sama diminta lagi maka akan diambil dari disk. Andaikan Google mengubah URL/protokolnya, nanti bisa diganti dengan Text-to-speech offline atau dari layanan lain.

Tampilan program

Kode program baik untuk sisi server maupun client hanya beberapa baris, tapi cukup menghibur Joshua selama beberapa bulan terakhir ini. 

Dan ini kode servernya

Kode singkat tersebut tentunya bisa ditambahi banyak fitur, tapi saat ini masih takut terlalu membingungkan untuk Joshua. Misalnya saya terpikir untuk menambahkan fitur warna pada teks karena dia suka menuliskan nama tokoh Paw Patrol dengan warna yang sama dengan warna pakaian mereka (Marshall merah, Chase biru, dst).

Untuk yang belum tahu: Google sebenarnya punya API text to speech yang resmi, tapi lebih rumit. Untuk sekedar mainan, cara “menembak” URL Google translate sudah cukup, tapi jika ingin dipakai untuk proyek serius, sebaiknya pakailah API-nya yang berbayar.