Teknologi

Menaklukkan Tantangan Reverse Engineering ASIC Jane Street

Menaklukkan Tantangan Reverse Engineering ASIC Jane Street

Jane Street, perusahaan trading kuantitatif yang terkenal dengan teka-teki rekrutmennya, secara berkala merilis tantangan teknis yang bikin penasaran komunitas engineer. Salah satu yang paling baru menguji kemampuan reverse engineering tingkat ASIC: peserta diberi file GDS yang mendeskripsikan sebuah chip, lalu diminta mencari tahu apa yang sebenarnya dilakukan chip itu. Jestoph, seorang engineer yang mendokumentasikan perjalanannya secara terbuka, menghabiskan sebulan penuh untuk menaklukkannya.

ASIC adalah singkatan dari Application-Specific Integrated Circuit, atau chip komputer yang dirancang untuk tugas tertentu. Perusahaan seperti Jane Street merancang chip sendiri untuk mendapatkan performa ekstra dibanding perangkat keras yang bisa dibeli dari produsen umum. Tantangannya: dari file GDS yang mendeskripsikan tata letak fisik chip, peserta harus bekerja mundur untuk memahami fungsinya.

Dua Bagian Tantangan

Tantangan ini punya dua bagian. Bagian pertama adalah pemanasan yang memberi banyak informasi tambahan, termasuk desain chip yang sebenarnya. Bagian kedua adalah teka-teki sungguhan: peserta cuma diberi jabat tangan yang tegas dan ucapan semoga beruntung, lalu dibiarkan menghadapi prospek tidak tidur selama tiga minggu ke depan.

Buat yang penasaran dengan detail, file yang dibagikan ternyata bisa dibaca meski tanpa pengetahuan mendalam soal desain chip. Ada kata-kata familiar seperti clk (clock), rst (reset), VGND (tegangan ground), dan VPWR (tegangan power). Ada juga banyak entitas dengan prefiks sky130_fd_sc_hd yang diikuti nama yang terdengar seperti elemen logika: or, not, dan sejenisnya. Prefiks sky130 menunjuk ke proses fabrikasi SkyWater 130 nanometer, proses open source yang banyak dipakai untuk riset dan edukasi desain chip.

Perjalanan yang Penuh Jalan Buntu

Yang membuat cerita ini menarik bukan cuma solusinya, tapi prosesnya yang berantakan dan jujur. Jestoph mengaku memilih jalan yang sulit: daripada riset dulu, dia langsung menyelami file dan mulai mencari tahu. Dengan bantuan library Python bernama gdstk, dia bisa membaca file GDS. Ternyata ada 27 elemen di puzzle pemanasan, dan ada juga file VCD yang ternyata berisi pesan. Setelah menulis program C kecil, outputnya berbunyi TRY AGAIN. Jadi, chip itu menyimpan pesan di dalamnya.

Lalu datanglah serangkaian jalan buntu yang sangat manusiawi. Dia membangun simulator sirkuit sendiri memakai sqlite3 sebagai driver, lalu menyadari bahwa merancang sirkuit dalam Python itu sulit. Jadi dia membangun bahasa untuk mendeskripsikan perangkat keras, lalu membangun harness untuk menguji simulatornya, lalu hampir membangun waveform viewer, lalu menulis viewer GDS di raylib. Setiap langkah terasa perlu pada saat itu, dan setiap langkah ternyata menghabiskan waktu berhari-hari.

Akhirnya dia menyerah pada semua perangkat lunak custom itu dan memakai tool yang sudah ada. Blog Jane Street sendiri menunjuk ke sebuah GDS viewer yang berguna. Setelah menghabiskan waktu untuk melihat chip dari berbagai sudut dan berharap sesuatu akan muncul, dia akhirnya kembali ke jalur yang lebih masuk akal.

Bagian ini penting karena menggambarkan pola yang akrab bagi banyak engineer: godaan untuk membangun alat sendiri padahal solusi yang sudah ada mungkin lebih cepat. Bukan berarti membangun alat sendiri selalu salah, tapi ketika tujuannya adalah menyelesaikan tantangan, bukan belajar membangun simulator, trade-off waktu harus dihitung dengan jujur.

Pelajaran Teknis dari Prosesnya

Meski penuh jalan buntu, proses ini menghasilkan beberapa pelajaran teknis yang berharga. Pertama, file GDS yang tampak menakutkan sebenarnya bisa diurai dengan library yang tersedia. gdstk di Python adalah contoh bagaimana ekosistem open source membuat reverse engineering hardware lebih mudah diakses. Kedua, file VCD, yang biasanya dipakai untuk merekam sinyal simulasi digital, bisa menyembunyikan data yang menunggu untuk diekstrak.

Ketiga, dan ini mungkin yang paling penting, proses fabrikasi open source seperti SkyWater 130 nanometer telah menurunkan hambatan masuk ke desain dan analisis chip secara drastis. Dulu, bekerja dengan chip butuh akses ke tool proprietary dan pengetahuan yang dijaga ketat. Sekarang, siapa pun dengan laptop dan koneksi internet bisa mulai mengeksplorasi tata letak chip nyata.

Tantangan Jane Street ini menarik bukan cuma karena hadiahnya, tapi karena ia memaksa peserta bergulat dengan pertanyaan mendasar: bagaimana cara mengetahui fungsi sebuah sistem yang tidak punya dokumentasi? Jawabannya melibatkan kombinasi pembacaan file mentah, simulasi, visualisasi, dan intuisi engineering. Itu keterampilan yang langka dan makin berharga di era di mana banyak sistem dibuat dari komponen yang tidak sepenuhnya dipahami.

Kenapa Reverse Engineering Masih Relevan

Di permukaan, reverse engineering ASIC terdengar seperti keahlian khusus yang hanya relevan untuk perusahaan chip. Tapi keterampilan intinya, bekerja mundur dari artefak untuk memahami sistem, berlaku luas. Security researcher melakukannya setiap hari untuk menemukan kerentanan di firmware. Engineer maintenance melakukannya saat mewarisi codebase tua tanpa dokumentasi. Developer integrasi melakukannya saat harus berkomunikasi dengan API yang tidak terdokumentasi dengan baik.

Tantangan seperti ini juga jadi cara Jane Street menguji pola pikir, bukan cuma pengetahuan. Peserta harus nyaman dengan ketidakpastian, bisa membagi masalah besar menjadi bagian yang bisa dikerjakan, dan punya kegigihan untuk bertahan berminggu-minggu tanpa kepastian hasil. Itu kombinasi yang sulit diajarkan dan sulit dipalsukan dalam wawancara biasa.

Kesimpulan

Cerita Jestoph menyelesaikan tantangan reverse engineering ASIC Jane Street adalah pengingat bahwa proses engineering yang baik jarang berbentuk garis lurus. Ada jalan buntu, alat yang dibangun lalu dibuang, dan momen menyerah pada solusi custom demi tool yang sudah terbukti. Yang pada akhirnya menyelesaikan tantangan bukanlah alat paling canggih, melainkan kombinasi rasa ingin tahu, kegigihan, dan kemauan untuk mengakui ketika sebuah pendekatan tidak berhasil.

Buat developer yang penasaran dengan dunia chip dan reverse engineering, pesan utamanya sederhana: hambatan masuknya sekarang lebih rendah dari yang lo kira. File GDS bisa diurai dengan library Python open source, proses fabrikasi open source membuat desain chip bisa dipelajari siapa saja, dan tantangan seperti ini dari Jane Street adalah kesempatan belajar yang langka. Kalau lo tertarik, mulailah dari puzzle pemanasan dan lihat sejauh apa lo bisa bertahan sebelum tidur mulai terusik.

Mengenal File GDS dan VCD

Dua format file yang jadi bahan tantangan ini mungkin asing bagi kebanyakan developer. File GDS adalah format standar industri untuk mendeskripsikan tata letak geometris sebuah chip: lapisan, poligon, dan sel yang membentuk desain fisik sirkuit terpadu. Format ini dipakai pabrik untuk memproduksi chip, dan jadi bahasa umum pertukaran desain antara perancang dan fabrikasi. GDSII, nama resminya, sudah ada sejak era 1980-an dan masih dipakai sampai sekarang.

Membaca GDS secara langsung itu menantang karena isinya geometri, bukan logika. Yang bisa dilihat adalah bentuk-bentuk di berbagai lapisan, dan untuk memahami fungsinya, bentuk itu harus diterjemahkan ke gerbang logika: AND, OR, NOT, flip-flop, dan seterusnya. Di sinilah pengetahuan tentang proses fabrikasi berperan. Prefiks sky130_fd_sc_hd yang muncul di file tantangan menunjuk ke standard cell library untuk proses SkyWater 130 nanometer, dan memahami konvensi penamaan library itu membantu mengidentifikasi elemen logika.

File VCD, Value Change Dump, adalah format teks untuk merekam perubahan sinyal dalam simulasi digital. Biasanya dihasilkan simulator Verilog untuk debugging, dan berisi daftar perubahan nilai sinyal terhadap waktu. Dalam konteks tantangan, file VCD berfungsi sebagai input simulasi atau output yang menyembunyikan pesan. Kemampuan membaca format seperti ini, yang jarang disentuh developer aplikasi biasa, jadi kunci kemajuan.

Proses Fabrikasi Open Source dan Ekosistemnya

Konteks yang membuat tantangan ini bisa diakses publik adalah kebangkitan proses fabrikasi open source. Proyek seperti SkyWater dan Google membantu mendanai dan membuka akses ke proses fabrikasi 130 nanometer yang bisa dipakai siapa saja, baik untuk riset, edukasi, maupun produksi skala kecil. Sebelumnya, mendesain chip butuh akses ke proses proprietary dengan biaya lisensi yang sangat mahal dan NDA yang ketat.

Ekosistem yang tumbuh di sekitarnya juga penting. Ada tool open source untuk simulasi, verifikasi, dan analisis desain. Ada standard cell library yang bisa dipakai bebas. Ada komunitas yang berbagi pengetahuan lewat blog, forum, dan tantangan seperti yang dibuat Jane Street. Kombinasi ini menurunkan hambatan masuk drastis, dan memungkinkan individu, bukan hanya perusahaan besar, untuk belajar dan berkontribusi di dunia chip.

Buat developer software yang penasaran, ini kabar baik: lo tidak perlu gelar electrical engineering untuk mulai memahami desain chip. Mulai dari membaca GDS dengan library seperti gdstk, mempelajari standard cell library, dan mengikuti tantangan semacam ini adalah jalur masuk yang nyata. Prosesnya mungkin terasa asing di awal, tapi fondasi logika digital yang dipelajari di kuliah atau otodidak tetap berlaku.

Pelajaran Manajemen Waktu dari Jalan Buntu

Cerita Jestoph juga menyimpan pelajaran yang lebih manusiawi: cara mengelola godaan untuk membangun alat sendiri. Pola yang dia alami sangat familiar. Masalah muncul, alat yang ada terasa kurang pas, dan ide untuk membangun solusi custom mulai terdengar masuk akal. Sebelum sadar, waktu berhari-hari sudah habis untuk membangun fondasi yang ternyata bukan tujuan utama.

Pola ini punya nama tidak resmi di komunitas engineering: yak shaving, yaitu rangkaian tugas sampingan yang harus diselesaikan sebelum tugas utama bisa dikerjakan. Setiap langkah terasa perlu, tapi rantainya bisa memanjang tanpa batas. Jestoph membangun simulator sirkuit, lalu bahasa deskripsi hardware, lalu harness pengujian, lalu viewer, sebelum akhirnya menyerah dan memakai tool yang sudah ada. Pelajarannya bukan bahwa membangun alat selalu salah, tapi bahwa sebelum memulai, tanyakan: apakah ini benar-benar menghilangkan hambatan menuju tujuan, atau cuma menghibur rasa ingin tahu teknis?

Dalam konteks kerja nyata, disiplin ini makin penting. Deadline produk tidak menunggu rasa ingin tahu teknis selesai. Tim yang efektif membedakan antara investasi alat yang strategis, yang dipakai jangka panjang lintas proyek, dan pengalihan yang taktis, yang hanya melayani satu tantangan. Yang pertama layak dibangun, yang kedua sebaiknya dihindari demi tool yang sudah matang.

💬 Komentar (0)

Belum ada komentar. Jadilah yang pertama! 💬

Komentar akan muncul setelah moderasi.