4 poin oleh GN⁺ 2025-06-02 | 1 komentar | Bagikan ke WhatsApp
  • Mencoba melakukan reverse engineering untuk penelitian keamanan pada terminal kartu kredit Worldline Yomani XR
  • Dalam proses pembongkaran internal, ditemukan bahwa fitur deteksi intrusi fisik diimplementasikan dengan baik, namun ada masalah karena root shell terekspos ke port serial eksternal secara perangkat lunak
  • Melalui dump memori serta ekstraksi dan analisis firmware, terkonfirmasi struktur sistem berbasis kernel Linux 3.6 dan berbagai komponen yang sangat tua
  • Dibuktikan bahwa melalui port konsol serial, hak akses root dapat diperoleh dengan mudah dan malware dapat dipasang tanpa perlu membongkar perangkat
  • Semua tugas penting terkait pembayaran dan autentikasi dijalankan pada prosesor keamanan terpisah, sehingga risiko paparan data penting yang sebenarnya tidak besar

Gambaran proyek

  • Proyek ini berfokus pada proses reverse engineering model Worldline Yomani XR untuk tujuan penelitian keamanan terminal pembayaran
  • Model ini banyak digunakan di seluruh Swiss; meski kini sudah dihentikan produksinya, perangkatnya masih dipakai di banyak peritel besar dan toko kecil

Pengamatan awal dan pembongkaran perangkat keras

  • Setelah penyelidikan dasar seperti menelusuri UI dan memindai port, pembongkaran perangkat keras dimulai
  • Terlihat tingkat keamanan perangkat keras yang cukup tinggi, termasuk beberapa PCB, casing dengan material yang tersusun baik, dan prosesor Arm dual-core berbasis ASIC kustom
  • SoC utamanya adalah ASIC khusus dengan nama kode Samoa II, dengan flash dan RAM eksternal terpasang

Deteksi intrusi dan perlindungan anti-tamper

  • Bahkan tanpa membuka casing, peristiwa intrusi dapat terdeteksi hanya karena kegagalan sambungan papan berbasis sensor tekanan (Zebra strip) atau baut yang mengendur
  • Deteksi tetap aktif melalui baterai bahkan saat daya utama terputus
  • Kerusakan pada jalur zigzag (trace) di PCB utama atau PCB fleksibel yang membungkus pembaca kartu akan memicu deteksi intrusi
  • Setelah dibongkar sebentar lalu dirakit kembali, karena deteksi intrusi perangkat hanya menampilkan layar merah "TAMPER DETECTED" dan tidak merespons input eksternal

Ekstraksi firmware chip-off

  • Flash onboard dilepas dengan desolder lalu dihubungkan langsung untuk mengekstrak firmware
  • Datanya tidak dienkripsi, tetapi ditemukan struktur ECC yang unik serta penempatan metadata sistem berkas YAFFS2
  • Dengan mengimplementasikan pembaca sistem berkas, seluruh daftar file berhasil diperoleh
  • Sistem ini menggunakan kernel 3.6 berbasis Buildroot versi 2010, dengan uClibc, busybox, dan banyak pustaka lama

Proses menemukan root shell secara tidak sengaja

  • Setelah analisis firmware, flash dipasang kembali dan jalur konsol serial dicari, lalu sinyalnya ditangkap menggunakan penganalisis logika
  • Bersama log boot, prompt login juga terekspos
  • Saat memasukkan "root", root shell langsung terbuka tanpa kata sandi
  • Ternyata port serial ini benar-benar bisa diakses dari luar hanya dengan membuka penutupnya
  • Penyerang dapat terhubung dengan cepat tanpa membongkar terminal, lalu menyuntikkan malware dan melakukan tindakan lain

Seberapa serius masalah ini?

  • Dari analisis boot dan konfigurasi sistem, Linux hanya menangani jaringan, pembaruan, dan sebagian logika bisnis
  • Pembayaran kartu, input PIN, tampilan, dan semua fungsi terkait keamanan dikelola oleh prosesor mp1 yang terpisah
  • Linux (mp2) selalu melakukan boot terlebih dahulu, lalu image yang ditandatangani dan dienkripsi dimuat ke inti keamanan oleh bootloader aman
  • Secara internal, perlindungan inti keamanan tetap berfungsi normal, dan data inti keamanan tidak bocor meski root shell terekspos

Jadwal pengungkapan dan pelaporan

  • 14 November 2024: root shell ditemukan
  • 15 November 2024: produsen diberi tahu dengan rencana pengungkapan 90 hari
  • 18 November 2024: balasan konfirmasi laporan diterima dari produsen
  • 1 Juni 2025: proyek dipublikasikan

Kesimpulan

  • Paparan root shell melalui port serial eksternal jelas merupakan permukaan serangan yang tidak perlu sekaligus kesalahan rekayasa
  • Namun, berkat desain pemisahan prosesor keamanan, risiko nyata kebocoran informasi pembayaran rendah
  • Ada kemungkinan izin login root diterapkan secara keliru pada firmware produksi, atau berbeda tergantung versinya
  • Dalam proses penelitian, ada juga beberapa perangkat yang fungsi login root-nya sepenuhnya dinonaktifkan
  • Secara internal, masalah ini kemungkinan sudah diketahui dan telah diperbaiki

Proyek ini menghasilkan sejumlah temuan menarik dan kembali menunjukkan nilai dari eksplorasi firmware secara mendalam

1 komentar

 
GN⁺ 2025-06-02
Opini Hacker News
  • Sedikit pesan untuk para pengembang muda: inilah arti "hacker" dalam “Hacker News”; postingan ini direkomendasikan sebagai contoh yang dengan mudah menguraikan perjalanan hacker yang khas langkah demi langkah; jika ingin tahu kasus serupa, Hack-a-day layak dilihat; penulis tampak seperti sosok yang penuh rasa ingin tahu dan sangat kuat dalam dasar-dasarnya; pada intinya ini soal meneliti datasheet chip, melakukan desoldering tanpa merusak, menyambungkan kembali dengan kabel jika itu memori, improvisasi dan trial-and-error; lain kali, saat mengebor lubang dangkal, kamera pinhole mungkin patut dipertimbangkan untuk menghindari bekas kerusakan; dan andai penulis juga berhasil menembus pemeriksaan anti-tamper lalu membuatnya tetap berfungsi normal, itu pasti akan sangat menarik

    • Dijelaskan bahwa istilah hacker tidak terbatas pada keamanan komputer, melainkan punya makna yang jauh lebih luas dan definisi yang lebih filosofis; definisi hacker diperkenalkan dengan mengutip Jargon File yang dirangkum Guy Steele dkk.; misalnya, istilah itu bisa berarti “orang yang senang mempelajari detail sistem pemrograman dan memperluas batas-batasnya”, “orang yang benar-benar menikmati pemrograman”, hingga “pakar yang mahir pada program tertentu”; diduga PG, pendiri Hacker News, kemungkinan menamai situs itu dengan definisi luas ini dalam benaknya; ditambahkan pula bahwa sejarah istilah hacker juga wajib menyebut The UNIX-HATERS Handbook

    • Sangat setuju dengan kalimat pertama; kalau hari ini keluar satu wrapper LLM lagi, rasanya benar-benar akan muak

    • Ada pandangan bahwa karena situs ini lahir dari inkubator startup VC, sulit mengartikannya sebagai hacking keamanan; mungkin lebih dekat ke hacking ala startup "move fast and break things", yakni gaya menerobos masalah dengan cepat sambil terus menggelontorkan kode

    • Setelah lama hanya menjadi pembaca diam-diam dan baru belakangan membuat akun untuk mulai berkomentar, ada pujian bahwa postingan seperti inilah yang benar-benar menunjukkan semangat ‘hacker’ di Hacker News: kaya informasi dan penuh eksekusi nyata

    • Pengakuan bahwa ini pertama kalinya menekan tombol upvote pada sebuah postingan karena isinya benar-benar tentang hacking; biasanya upvote hanya diberikan ke komentar, tetapi postingan ini jadi pengecualian

  • Diperkenalkan bahwa dengan pembaca kartu USB seharga $2, transaksi kartu kredit/debit palsu bisa disimulasikan; semua spesifikasi dan protokolnya sangat besar tetapi terbuka, jadi secara teori bisa diimplementasikan hanya dengan membaca dokumentasinya; namun untuk benar-benar mendapatkan persetujuan transaksi, data harus dikirim ke bank melalui internet, dan kalau melakukan itu aparat berwenang (misalnya FBI) kemungkinan besar akan segera datang; pembaca kartu itu sendiri hampir tidak punya perlindungan (kebanyakan menjalankan Linux dan memakai kata sandi lemah), dan keamanannya pada dasarnya berasal dari kontrak dan aturan antara toko dan bank

    • Ada bantahan terhadap klaim bahwa pembaca kartu ‘tidak punya perlindungan’; kenyataannya hanya biner bertanda tangan yang bisa dijalankan, sistem file eksekusi bersifat read-only, sistem file data juga diberi flag noexec, login root dinonaktifkan, busybox-nya dipangkas, kunci dimuat dari area aman saat boot, master key pun hanya bisa dimasukkan di pabrik, proses boot sendiri sangat aman, dan jika tamper terdeteksi chip akan mengosongkan dirinya sendiri; perangkat murah yang tidak tersertifikasi mungkin nyaris tak punya keamanan, tetapi menurut pengalaman seseorang yang pernah mengembangkan EMV, terminal sungguhan hampir terkunci sempurna

    • Diakui bahwa bagian tentang ‘aturan antara toko dan bank sebagai satu-satunya keamanan’ memang akurat; karena itu, teori konspirasi bahwa orang bisa mencuri uang dari kartu nirsentuh memakai pembaca kartu portabel sulit diwujudkan; sekalipun bisa membuat transaksi, hampir mustahil menarik uang itu dengan aman karena prosedur sesudahnya dan tahapan persiapan sebelumnya; terutama sekarang, notifikasi push transaksi kemungkinan besar akan membuat upaya kejahatan cepat ketahuan

    • Yang lebih dikhawatirkan adalah terminal kartu diretas di lapangan untuk membaca informasi CC yang di-cache atau dipasangi malware pencegat; inilah alasan riset di bidang ini dianggap penting

    • Dijelaskan bahwa pernyataan transaksi harus dikirim ke bank lewat internet agar disetujui itu tidak benar; bank tidak menyediakan open API di internet untuk memproses transaksi kartu

    • Tidak setuju bahwa keamanan pembaca kartu itu lemah; dijelaskan bahwa terminal toko nyata memiliki hardware aman bawaan untuk menyimpan kunci bank dan jaringan pembayaran, dan jika kunci itu bocor maka transaksi sah bisa dipalsukan

  • Ada pengalaman membeli dan memakai 36 pembaca Stripe M2, lalu 7 di antaranya rusak: 2 baterainya tidak bisa mengisi daya, 1 tidak bisa memindai NFC, dan 4 mati dengan error ‘tampered’; secara kasat mata tingkat kerusakannya tampak parah, tetapi konteks seperti jumlah hari pemakaian dan usia perangkat juga perlu dipertimbangkan; justru yang terasa lebih serius adalah 7 unit rusak padahal total pemakaian pembaca berusia 1–3 tahun itu hanya 9 hari; saat dipindahkan pun masing-masing disimpan rapi dalam hard-shell case dan foam insert, jadi bukan karena penyimpanan buruk; meski begitu, pembaca Stripe M2 tetap menjadi pilihan paling layak sehingga tetap terpakai; ditambahkan bahwa perusahaannya menangani pembayaran untuk festival, jadi perangkat-perangkat itu memang dipakai dalam jumlah besar hanya dalam waktu singkat

    • Disarankan agar sebelum acara berikutnya perangkat benar-benar disimpan dalam keadaan penuh terisi; kebanyakan baterai tidak suka dibiarkan lama dalam kondisi daya rendah, dan fitur deteksi tamper juga mungkin bergantung pada baterai yang sehat untuk tetap berfungsi
  • Ada bayangan bahwa ketika proteksi anti-tamper fisik aktif, root shell justru bisa terbuka; artinya sistem bisa saja masuk ke mode aman yang masih memiliki semua kunci kripto yang dibutuhkan, atau sebaliknya membuka root shell dan beralih ke mode debugging/analisis kerusakan; tetapi dalam kondisi begitu, diharapkan private key penting sudah otomatis dihapus

    • Ada yang ikut penasaran apakah lewat root shell kunci baru bisa di-flash lalu perangkat dipakai ulang; jika terminal itu akan dipensiunkan, mungkin tidak terlalu sulit mendapatkannya dalam kondisi bekas
  • Bersama kutipan dari tulisan asli bahwa ‘meski root shell terbuka, data kartu tidak berada dalam bahaya’, materi ini direkomendasikan sebagai bacaan yang layak bagi para perancang keamanan

    • Ada pandangan bahwa jika seseorang punya akses fisik ke terminal sekaligus hak root, sangat sulit dipercaya bahwa nomor kartu tetap tidak bisa dibaca; dalam keamanan, akses fisik dan akses root biasanya berarti peretasan sudah berhasil
  • Ada pendapat bahwa Linux (yang sudah ditamper) menentukan apakah akan memuat kode “compromised mode” atau sistem keamanan mp1; meski bootloader itu sendiri aman, maknanya bisa berubah tergantung lingkungan tempat ia benar-benar berjalan; coprocessor bisa berperan seperti Secure Enclave, tetapi jika Linux dapat memuat bootloader lain maka itu bisa menjadi masalah keamanan yang serius

    • Dibantah bahwa bootloader lain bisa dimuat; seseorang mengaku sudah mencoba memanipulasi bootloader setelah melakukan tamper tetapi perangkat tidak mau boot dengan benar, sehingga diduga ada boot ROM ketiga yang melakukan verifikasi; selain itu, Linux selalu memuat loadercode dan mp1.img bersama-sama terlepas dari status tamper, lalu percabangan berdasarkan status tamper dilakukan di dalam loadercode yang dilindungi integritasnya
  • Untuk pemula, disarankan mencoba terminal kartu kredit berbasis Android yang lebih modern terlebih dahulu; karena PIN dimasukkan lewat layar sentuh, tantangannya terasa lebih menarik

    • Dijelaskan bahwa kontroler sentuh umumnya terhubung ke MUX yang dikendalikan prosesor aman, dan saat informasi sensitif dimasukkan, input sentuh dikirim langsung ke prosesor aman tanpa melibatkan OS keluarga Android

    • Ditekankan bahwa meskipun PIN ditampilkan di touchpad, data PIN dikelola oleh firmware yang berjalan di trust zone dan tetap terenkripsi; aplikasi-aplikasi di tengah tidak bisa melihat PIN itu

    • Ada prediksi bahwa sekalipun terminal Android semacam ini diretas, jika desain keamanannya sama maka kartu itu sendiri melakukan kriptografi kompleks sehingga praktis tak ada informasi berguna yang bisa diambil; serangan seperti ini hanya efektif jika yang tersisa hanyalah pembaca kartu kredit, dan terminal seperti itu justru akan menjadi tanda bahaya skimmer bagi pengguna

    • Disebut singkat bahwa terminal Android yang dipakai di India masih berjalan dengan Android Oreo (dukungan berakhir Januari 2021), dan hal itu dianggap menarik

  • Ada reaksi heran mengapa begitu mulai menganalisis bagian dalam terminal, perangkat langsung dibuka dan mode tamper dipicu; diduga penulis mungkin tidak tahu bahwa kebanyakan pembaca memiliki deteksi tamper; menguji dalam mode tamper bisa mengurangi makna hasilnya, dan mungkin saja setelah tamper terpicu memang ada shell yang dibuka untuk keperluan inisialisasi ulang; sebagai penutup, disarankan untuk mempertimbangkan lagi apakah membuka perangkat sejak awal memang langkah yang paling wajar

    • Dijelaskan bahwa pada awalnya perangkat dibuka untuk mengidentifikasi informasi dasar seperti hardware, SoC, antarmuka, dan flash; tanpa penyelidikan awal, rasanya seperti memulai dalam kegelapan total; setelah dipikir-pikir lagi, mungkin sebenarnya cukup menyentuh konektor debug sedikit saja; ditambahkan pula bahwa pada percobaan kedua, root shell juga berhasil diperoleh pada terminal yang masih utuh
  • Ada pujian bahwa ‘meski proteksi anti-tamper sangat ketat, masih banyak celah pem-bypass-an dan jejak menarik yang tersisa’, dan bahwa bagian keamanan memang dirancang untuk gagal dengan aman

    • Ditekankan bahwa prosesor yang diperkeras (mp1) masih belum bisa ditembus; sebenarnya yang dilakukan hanyalah mengirim string teks ke biner display_tool untuk bertukar pesan dengan prosesor lain; card reader, keypad, dan komponen serupa tidak bisa diakses langsung dari Linux, karena semua penanganan ‘aman’ seperti kartu, input PIN, dan tampilan layar sepenuhnya dikelola prosesor mp1 yang terpisah, sedangkan Linux mp2 hanya menangani jaringan, pembaruan, dan logika bisnis

    • Ada skenario risiko bahwa sisi Linux mungkin bertugas mendeteksi penanganan event tamper, tetapi jika penghapusan security key baru bisa dilakukan setelah tamper sepenuhnya terdeteksi, maka alurnya bisa saja dibalik: root shell didapat dulu, lalu tamper di-bypass kemudian, yang akan berbahaya

  • Ada pengalaman bahwa perangkat semacam ini tersebar di seluruh Eropa; Swiss memang belum pasti, tetapi di banyak wilayah Eropa yang dikenal orang tersebut, kepemilikan kartu kredit terasa tidak terlalu umum; sementara terminal POS dapat membaca berbagai macam kartu, sehingga menurutnya lebih tepat disebut ‘sistem POS’; bagaimanapun, postingannya tetap menyenangkan untuk dibaca

    • Keluhan bahwa membawa banyak kartu di dompet benar-benar menyebalkan; dompet sudah nyaris meledak karena berbagai alasan lain juga, jadi tidak ingin menambah ponsel atau smartwatch lagi; jika perangkat hilang, kebocoran data pribadi terasa terlalu fatal; ini memang soal selera, tetapi ia lebih menyukai jam mekanik, dan karena alasan-alasan itu tidak memakai cara penyederhanaan kartu