Review Osmo

Di tulisan ini saya akan mereview Osmo, sebuah mainan edukasi berbasis augmented reality untuk iPad. Dengan osmo, kita bisa bermain matematika, huruf (spelling), tangram, coding, dan menggambar dengan benda fisik di depan iPad kita (tidak dengan menyentuh layar). Osmo ditujukan untuk anak usia 4-11 tahun, tapi bagian menggambarnya cocok untuk usia berapa saja.

Untuk bermain Osmo kita perlu membeli kit, bagian utamanya adalah sebuah docking dan cermin yang ditempel menutupi kamera iPad. Sebagian sistem cermin ini akan menutupi ujung kamera dengan warna merah, jadi game osmo bisa mendeteksi kalau cermin sudah terpasang benar. Saya membeli kit yang saat itu paling lengkap: Wonder Kit (145 USD). Kami membeli kit ini dua minggu lalu dan sampai minggu lalu, jadi sudah beberapa hari dipakai sebelum review ini dituliskan.

Material dan Packaging

Packaging Osmo menurut saya sangat baik. Tiap kotak memiliki magnet jadi bisa distacking dengan mudah dan tidak akan jatuh. Base untuk iPad dan cerminnya terbuat dari plastik, dan ada magnet supaya kita bisa meletakkan cerminnya di atas base dan tidak jatuh ketika kita tidak memakainya.

20161025_082743

Secara teori, bagian words, tangram dan number bisa kita print sendiri karena tidak memiliki bagian aneh (hanya seperti di cetak di kertas/plastik tebal saja). Bagian coding cukup unik karena bagian arah panahnya bisa diputar dan sifatnya magnetik (bagian yang bisa disambung akan mudah menempel)

Akurasi

Satu hal yang saya takutkan adalah jika ternyata Osmo ini tidak bisa mengenali dengan baik objek-objek yang ada di depan iPad. Ternyata akurasinya sangat baik asalkan objeknya tidak tertutupi tangan. Menurut saya akurasi ini bisa dicapai karena beberapa hal:

  • Osmo hanya mendukung iPad, yang dimensinya sudah diketahui dengan eksak
  • Set angka dan huruf standar
  • Posisi iPad statik (pada banyak mainan augmented reality berbasis kamera, gambar kadang hilang dan muncul lagi karena posisi kamera berubah)

Saya juga bereksperimen: saya memfoto satu huruf dan berusaha meletakkan fotonya di depan Osmo. Jika ukurannya tidak pas, Osmo tidak akan mengenali huruf tersebut, jika pas (dengan zoom in/out) maka Osmo akan mengenalinya. Dari percobaan ini artinya:

  • Jika ada bagian yang hilang, kita bisa mencetak ulang (kecuali coding, karena ada panah yang bisa diputar)
  • Jika ada game baru yang tidak membutuhkan alat khusus, kita bisa mencetak sendiri kitnya

20161022_101613

Permainan

Saat ini sudah ada beberapa permainan untuk Osmo dan sepertinya akan terus bertambah. Bahkan ketika saya sudah membeli kit paling lengkap dua minggu lalu, tiba-tiba minggu depannya sudah ada game baru lagi (Pizza).

Numbers

Jonathan belum terlalu memainkan ini, game-game di awal hanya berusaha membentuk angka untuk mencapai jumlah tertentu (dan ini sudah bisa dilakukan oleh Jonathan). Belum dieksplorasi lebih jauh apakah ada bentuk permainan lain selain itu.

Coding

Ini game pertama yang dicoba Jonathan dan yang paling disukai Jonathan. Konsep codingnya sendiri hanya terbatas pada: sekuens instruksi, loop, dan ada satu “else”. Tapi game ini cukup fun.

20161021_143527.jpg

Tangram

Game ini seperti bermain tangram biasa, tapi akan dipandu agar kita bisa membuat objeknya dengan benar.

Monster

Game ini gabungan dari menggambar dan cerita. Sebuah monster akan minta dibuatkan sebuah objek tertentu (misalnya magic wand), dan monster itu akan “mengambil” benda yang kita gambar dan memainkannya. Game ini cukup menghibur, tapi kemungkinan anak akan bosan setelah beberapa kali memainkan ini.

Masterpiece

Sebenarnya ini permainan tracing yang sangat sederhana: program hanya akan menampilkan outline sebuah gambar, dan kita bisa mentrace di atas kertas kita sendiri. Meski sederhana, ini sangat fun, bahkan orang dewasa pun bisa belajar menggambar menggunakan ini

20161023_164912

Newton

Sebenarnya permainan ini sangat silly, ada benda-benda yang berjatuhan yang harus kita arahkan jatuhnya agar mencapai target tertentu. Unuk menahan jatuhnya, kita bisa menggambar garis di atas kertas, atau bahkan menggunakan objek apapun juga.

Teknis

Osmo dibuat menggunakan Unity dan menggunakan plugin OpenCV. Secara teknis game ini tidak sulit ditiru, yang sulit adalah membuat cermin reflektor dan basenya agar iPad bisa “melihat” ke depan dengan baik. Berikut ini “penglihatan” osmo ketika saya letakkan kertas ukuran A4 di depan iPad denga jarak sekitar 1 cm dari ipad. Terlihat bahwa kertas terlihat seperti trapesium. Di bagian bawah ada bagian merah yang digunakan oleh Osmo untuk mendeteksi bahwa kamera sudah terpasang.

 

 

img_0933

Penutup

Osmo ini menurut kami agak mahal, tapi cukup menarik dan sepertinya tidak akan cepat bosan. Teorinya sih game seperti ini bisa saja dibuat sendiri dengan Raspberry Pi + modul kamera + OpenCV + Layar monitor, kenyataannya saya tidak akan serajin itu dan tidak punya waktu sebanyak itu saat ini, jadi menurut saya sih ini worth the money. Kalau Anda rajin, Anda juga bisa mengembangkan sendiri aplikasi iPad berbasis Osmo (tentunya semua harus didevelop sendiri karena tidak ada SDK-nya).

Jika Anda tertarik membeli Osmo, Anda bisa langsung memesan ke webnya. Sayangnya sepertinya saat ini tidak bisa dikirimkan ke Indonesia. Saya sendiri saat ini tinggal di Thailand dan bisa dikirim ke sini (walau kena pajak). Ketika memesan Osmo, saya bisa menggunakan kartu kredit Indonesia, jadi salah satu cara untuk membeli ini adalah dengan mengirimkan barangnya ke teman di Singapore atau Malaysia.

 

Apa sih bayangan kalian soal hacking?

“Ajarin saya hacking dong”, ini adalah pesan yang banyak diterima oleh orang di bidang security (termasuk saya). Kalau diberi link website atau buku mengenai computer security, mereka biasanya akan menjawab “bingung mulai dari mana”, atau mau praktis “pusing om, langsung aja ajarin gimana cara hacking facebook om”. Saya sebenarnya bingung: “hacking” itu seperti apa sih di kepala orang itu?

maxresdefault
Hackerman dari film Kung Fury

Maling vs Hacking

Saya akan skip dulu segala macam definisi mengenai “hacking”, “cracking”, dsb. Anggap saja “hacking” itu adalah yang dilakukan orang jahat, menjebol sesuatu. Sekarang saya ambil analogi dunia nyata: Jason mau membobol ke suatu gedung/bangunan/rumah/hotel dan saya bandingkan hal ini dengan hacking.

Kalo Jason (yang bukan siapa-siapa) ini pernah dengar tentang maling legendaris bernama Freddie, lalu tiba-tiba mengirim pesan via email “jebolin apartemen itu dong Freddie, saya mau masuk kamar 413 tempat mantan saya”. Kira-kira Freddie mau nggak? Logikanya: ngapain memenuhi permintaan Jason, apalagi Anda nggak bayar. Nah sekarang masuk akal nggak kalo ada yang minta ” hack kampus saya dong” atau “Mas, hack FB mantan saya dong”.

Singkatnya: “Emangnya kamu siapa? buat apa saya melanggar hukum buat kamu?” Lebih lucu lagi kalo mereka berusaha menjatuhkan dengan kata-kata seperti “ah ternyata mas Freddie nggak jago”. Sekali lagi “emangnya kamu siapa? emangnya penting pendapat kamu?”
Lanjutkan membaca “Apa sih bayangan kalian soal hacking?”

Tantangan Flare On

Di posting ini saya ingin memperkenalkan kompetisi Flare On untuk para reverse engineer sekaligus mengajak ikutan buat yang belum ikutan. Flare On adalah tantangan dalam bentuk CTF (silakan baca tulisan saya ini untuk yang belum tahu apa itu CTF) khusus di bidang reverse engineering yang diadakan oleh Fireye. Tantangannya 6 minggu, semua peserta yang bisa menyelesaikan semua tantangan akan dianggap pemenang dan dapat hadiah. Ini bisa dibandingkan dengan lari Marathon (lama, butuh stamina, tingkat kesulitannya bisa sangat tinggi, semua yang selesai dianggap sebagai finisher), dan kebanyakan CTF lain bisa dibandingkan dengan lari sprint (biasanya hanya 2 hari, kesulitan soal dibatasi supaya bisa selesai dalam hitungan jam) .

Reverse Engineering (RE)

Saya sudah menulis soal pengenalan reverse engineering dan tulisan pengantar jika ingin memulai reverse engineering. Inti reverse engineering adalah: membongkar/memahami kode (terutama kode biner, tapi tidak selalu biner). Contoh kode biner yang perlu dipahami:

  • Software yang dibeli atau download (tanpa source code)
  • Malware
  • Kode exploit

Contoh penggunaan reverse engineering:

  • Software dari Hacking Team (untuk menghack orang, software ini banyak dibeli oleh beberapa pemerintah dunia) ternyata ada backdoornya.
  • Berbagai file yang kena ransomware berhasil didekrip karena ada kelemahan dalam enkripsinya, dan ini ditemukan dengan reverse engineering (dan tentunya ilmu kriptografi)
  • Malware yang sangat spesifik (misalnya yang digunakan untuk hacking Bank Sentral Bangladesh) harus dianalisis khusus, tidak akan ketemu oleh antivirus biasa
  • Malware yang tertarget (via email/web) untuk perusahaan tertentu juga perlu dianalisis secara khusus
  • Berbagai software legal ternyata menginstall rootkit (kasus terbaru saat ini di game Street Fighter)
  • Untuk melakukan pentesting secara benar untuk aplikasi mobile
  • Berbagai router dan benda IOT perlu direverse engineer untuk mengetahui cara kerjanya
  • Berbagai exploit disebarkan via halaman web (via Javascript yang diobfuscate, memanfaatkan kelamahan Flash/Java/IE, lalu mengandung kode biner berisi shell code)

Lanjutkan membaca “Tantangan Flare On”

Pengantar Reverse Engineering

Sudah beberapa kali saya ditanya: kalo ada aplikasi X bagaimana cara membongkarnya? Bahasa kerennya: bagaimana saya melakukan reverse engineering terhadap aplikasi tertentu?. Sayangnya tidak ada jawaban sederhana untuk ini. Bagaimana membongkar sesuatu tergantung pada teknologi yang digunakan untuk membangun dan memproteksi benda itu. Berbagai tools juga bergantung pada sistem operasi yang menjadi target.

Saya sudah menulis secara umum tentang reverse engineering, tapi belum memberikan jawaban praktis, jadi di posting ini saya akan berusaha menuliskan secara praktis langkah-langkah untuk memulai reverse engineering.

label
convert -size 1200×630 -background white -fill black -font Nimbus-Mono-L -pointsize 144 -gravity center -label:”Reverse\nEngineering” -flip label.png

Lanjutkan membaca “Pengantar Reverse Engineering”

WIFI Witty ESP8266

Meskipun sudah memiliki beberapa board ESP8266 saya iseng memesan dua board WIFI Witty dengan harga 2.75 USD per boardnya. Saya tadinya berharap ini bisa jadi board super murah yang sangat bagus untuk memperkenalkan IOT. Bedanya dengan board lain, board ini memiliki: LDR (Light Dependent Resistor), tombol, dan LED RGB. Sayangnya ternyata pada dua board yang datang, LED RGB-nya tidak jalan (yang satu bahkan polaritasnya terbalik). Sepertinya saya harus mencari seller WIFI Witty yang lebih baik walau mungkin tidak akan semurah ini harganya.

Dengan adanya button dan LED built in, maka pemula tidak perlu sama sekali menyiapkan saklar dan kabel serta tidak perlu breadboard untuk menaruh saklarnya. Dengan skrip sederhana, kita bisa langsung membuat sesuatu seperti Amazon Dash button.

Dengan LED RGB (Andaikan ini bekerja), maka pemula juga tidak perlu menyiapkan kabel, resistor, boreadboard LED untuk membuat aplikasi sederhana seperti misalnya notifikasi email, notifikasi cuaca, dsb.
Lanjutkan membaca “WIFI Witty ESP8266”

Membuat Soal CTF

Setelah kemarin mengkritik mengenai soal CTF yang ngawur, saya ingin memberikan contoh soal CTF yang saya berikan di idsecconf. Harapan saya menulis ini adalah: supaya peserta CTF tahu apa yang saya pikirkan ketika membuat soal dan apa yang saya harapkan dari peserta.

Perlu diketahui bahwa saya menyumbangkan soal ini secara gratis, tidak ada imbalan apapun dari pihak idsecconf. Ini bukan mengiklankan idsecconf (buat yang tidak tahu: saya tinggal di Chiang Mai, Thailand, tidak ada kepentingan apapun dengan event apapun di Indonesia). Dan setelah membaca posting saya sebelumnya, Anda juga bisa membandingkan soal-soal ini dengan soal dari CTF internasional lainnya. Saya menuliskan ini untuk menunjukkan keterbukaan, saya tidak malu membuat soal ini, saya punya semangat berbagai ilmu.

Salah satu peserta telah mengirimkan writeupnya juga, sehingga Anda bisa melihat apakah jalan pikiran peserta sudah seperti yang saya harapkan: Cyber Security IPB dan Abdilah.

Tahun ini saya diminta agak mendadak untuk menyumbang soal CTF IDSECCONF. Karena mendadak, saya tidak mengeluarkan soal sulit. Soal yang sulit perlu ditest ulang untuk memastikan bisa berjalan dengan baik, dan perlu diuji oleh panitia lain. Soal-soal inipun sebenarnya sudah ada di komputer saya sejak lama.
Lanjutkan membaca “Membuat Soal CTF”

Dunia CTF dan CTF Tingkat Dunia

Sebagian pihak ternyata “tidak terima” dengan pendapat saya di tulisan sebelumnya, bahwa event CTF (capture the flag) tertentu itu levelnya buruk. Mereka berpendapat itu hanya “pendapat sebagian orang saja”. Di tulisan ini saya akan membahas seputar dunia CTF, dan apa yang saya maksud dengan CTF Tingkat dunia. Buat Anda yang blank mengenai dunia CTF, bisa membaca perkenalan CTF oleh saya di posting ini.

Setelah membaca defense dari pihak Cyberjawara, yang penuh dengan kekonyolan, sampai tidak tahu harus mulai dari mana (contohnya: katanya tidak semua writeup dipublish publik karena pembuat soal tidak mengijinkan), saya memutuskan untuk memperkenalkan dengan gamblang dunia CTF bagi semua orang.
Lanjutkan membaca “Dunia CTF dan CTF Tingkat Dunia”