Ponsel cerdas dengan NFC diaktifkan memungkinkan peneliti meretas sistem tempat penjualan dan ATM, sehingga mendapatkan eksekusi kode khusus pada beberapa di antaranya.
Meskipun merupakan satu-satunya cara untuk menarik uang dari rekening bank Anda saat bepergian, ATM terkenal memiliki banyak masalah keamanan selama bertahun-tahun. Bahkan saat ini, tidak ada yang bisa menghentikan peretas untuk memasang skimmer kartu di ATM, karena kebanyakan orang tidak akan pernah menyadari bahwa skimmer itu ada di sana. Tentu saja, ada juga sejumlah serangan lain selama bertahun-tahun yang lebih kompleks dari itu, namun secara umum, Anda harus selalu berhati-hati saat menggunakan ATM. Sekarang ada cara baru untuk meretas ATM, dan yang diperlukan hanyalah smartphone dengan NFC.
Sebagai Kabel laporan, Josep Rodriguez adalah seorang peneliti dan konsultan di IOActive, sebuah perusahaan keamanan yang berbasis di Seattle, Washington, dan dia telah menghabiskan setahun terakhir untuk menemukan kerentanan pada pembaca NFC yang digunakan di ATM dan sistem tempat penjualan. Banyak ATM di seluruh dunia yang memungkinkan Anda mengetuk kartu debit atau kredit Anda untuk kemudian memasukkan PIN dan menarik uang tunai, daripada mengharuskan Anda memasukkannya ke dalam ATM itu sendiri. Meskipun lebih nyaman, ini juga mengatasi masalah adanya skimmer kartu fisik pada pembaca kartu. Pembayaran nirsentuh pada sistem tempat penjualan juga ada di mana-mana saat ini.
Meretas pembaca NFC
Rodriquez telah membuat aplikasi Android yang memberikan ponselnya kemampuan untuk meniru komunikasi kartu kredit dan mengeksploitasi kelemahan pada firmware sistem NFC. Melambaikan ponselnya ke pembaca NFC, dia dapat menyatukan beberapa eksploitasi untuk merusak perangkat tempat penjualan, meretasnya untuk mengumpulkan dan mengirimkan data kartu, mengubah nilai transaksi, dan bahkan mengunci perangkat dengan pesan ransomware.
Lebih jauh lagi, Rodriguez mengatakan bahwa dia bahkan dapat memaksa setidaknya satu merek ATM yang tidak disebutkan namanya untuk mengeluarkan uang tunai, meskipun hal itu hanya berfungsi jika dikombinasikan dengan bug yang dia temukan di perangkat lunak ATM. Ini disebut "jackpot", Ada banyak cara yang dilakukan para penjahat selama bertahun-tahun untuk mendapatkan akses ke ATM guna mencuri uang tunai. Dia menolak menyebutkan merek atau metodenya karena adanya perjanjian kerahasiaan dengan vendor ATM.
"Anda dapat memodifikasi firmware dan mengubah harga menjadi satu dolar, misalnya, bahkan ketika layar menunjukkan bahwa Anda membayar 50 dolar. Anda dapat membuat perangkat tidak berguna, atau memasang semacam ransomware. Ada banyak kemungkinan di sini," kata Rodriguez tentang serangan di tempat penjualan yang dia temukan. "Jika Anda melakukan serangan berantai dan juga mengirimkan muatan khusus ke komputer ATM, Anda dapat melakukan jackpot pada ATM tersebut - seperti uang tunai, hanya dengan mengetuk ponsel Anda."
Sumber: Josep Rodriguez
Vendor yang terkena dampak termasuk ID Tech, Ingenico, Verifone, Crane Payment Innovations, BBPOS, Nexgo, dan vendor ATM yang tidak disebutkan namanya, dan semuanya telah diberitahu antara 7 bulan hingga setahun yang lalu. Namun, sebagian besar sistem tempat penjualan tidak menerima pembaruan perangkat lunak atau jarang menerima pembaruan perangkat lunak, dan kemungkinan besar banyak dari sistem tersebut memerlukan akses fisik untuk menerima pembaruan tersebut. Oleh karena itu, kemungkinan besar banyak dari mereka yang masih rentan. “Menambal ratusan ribu ATM secara fisik, itu adalah sesuatu yang membutuhkan banyak waktu,” kata Rodriguez.
Untuk menunjukkan kerentanannya, Rodriguez membagikan video Kabel menunjukkan dia melambaikan smartphone melalui pembaca NFC di ATM di Madrid, menyebabkan mesin menampilkan pesan kesalahan. Dia tidak menunjukkan serangan jackpotting, karena dia hanya bisa mengujinya secara legal pada mesin yang diperoleh sebagai bagian dari konsultasi keamanan IOActive, yang kemudian akan melanggar perjanjian kerahasiaan mereka. Rodriguez bertanya Kabel untuk tidak mempublikasikan video tersebut karena takut akan tanggung jawab hukum.
Temuannya adalah "penelitian luar biasa mengenai kerentanan perangkat lunak yang berjalan pada perangkat tertanam," kata Karsten Nohl, pendiri perusahaan keamanan SRLabs dan peretas firmware, yang mengulas karya Rodriguez. Nohl juga menyebutkan bahwa ada beberapa kelemahan bagi pencuri di dunia nyata, termasuk NFC yang diretas pembaca hanya akan mengizinkan penyerang mencuri data kartu kredit mag stripe, bukan PIN atau data dari EMV keripik. Serangan jackpot ATM juga memerlukan kerentanan pada firmware ATM, yang merupakan penghalang besar.
Meski begitu, mendapatkan akses untuk mengeksekusi kode pada mesin ini merupakan kelemahan keamanan yang besar, dan sering kali menjadi titik masuk pertama dalam sistem apa pun meskipun itu tidak lebih dari akses tingkat pengguna. Setelah Anda berhasil melewati lapisan keamanan luar, sering kali sistem perangkat lunak internal tidak lagi aman.
CEO Red Balloon dan kepala ilmuwan Ang Cui, terkesan dengan temuan ini. "Saya pikir sangat masuk akal bahwa setelah Anda mengeksekusi kode pada salah satu perangkat ini, Anda akan bisa mendapatkan langsung ke pengontrol utama, karena hal itu penuh dengan kerentanan yang belum diperbaiki selama lebih dari a dasawarsa," kata Cui. "Dari sana," dia menambahkan, "Anda benar-benar dapat mengontrol dispenser kaset" yang menyimpan dan mengeluarkan uang tunai kepada pengguna.
Eksekusi kode khusus
Kemampuan untuk mengeksekusi kode khusus pada mesin apa pun merupakan kerentanan utama dan memberikan penyerang kemampuan untuk menyelidiki sistem yang mendasari mesin untuk menemukan lebih banyak kerentanan. Nintendo 3DS adalah contoh utama dari hal ini: sebuah permainan bernama Ninja Kubik terkenal sebagai salah satu cara paling awal untuk mengeksploitasi 3DS dan mengeksekusi homebrew. Eksploitasi tersebut, dijuluki "Ninjhax", menyebabkan buffer overflow yang memicu eksekusi kode khusus. Meskipun game itu sendiri hanya memiliki akses tingkat pengguna ke sistem, Ninjhax menjadi basis eksploitasi lebih lanjut untuk menjalankan firmware khusus pada 3DS.
Sederhananya: buffer overflow dipicu ketika volume data yang dikirim melebihi alokasi penyimpanan untuk data tersebut, artinya kelebihan data kemudian disimpan di wilayah memori yang berdekatan. Jika wilayah memori yang berdekatan dapat mengeksekusi kode, maka penyerang dapat menyalahgunakannya untuk mengisi buffer data sampah, lalu tambahkan kode yang dapat dieksekusi di bagian akhir, di mana kode tersebut akan dibaca di sebelahnya Penyimpanan. Tidak semua serangan buffer overflow dapat mengeksekusi kode, dan banyak serangan hanya akan membuat program crash atau menyebabkan perilaku yang tidak diharapkan. Misalnya, jika suatu bidang hanya dapat mengambil 8 byte data dan penyerang memaksa memasukkan 10 byte, maka tambahan 2 byte di akhir akan meluap ke wilayah memori lain.
Baca selengkapnya: "PSA: Jika PC Anda menjalankan Linux, Anda harus memperbarui Sudo sekarang"
Rodriguez mencatat bahwa serangan buffer overflow pada pembaca NFC dan perangkat point-of-sale mungkin terjadi, karena ia membeli banyak di antaranya dari eBay selama setahun terakhir. Dia menunjukkan bahwa banyak dari mereka mengalami kelemahan keamanan yang sama: mereka tidak memvalidasi ukuran data yang dikirim melalui NFC dari kartu kredit. Membuat aplikasi yang mengirimkan data ratusan kali lebih besar dari yang diharapkan pembaca, hal ini memungkinkan untuk memicu buffer overflow.
Kapan Kabel menghubungi perusahaan yang terkena dampak untuk memberikan komentar, ID Tech, BBPOS, dan Nexgo tidak menanggapi permintaan komentar. Asosiasi Industri ATM juga menolak berkomentar. Ingenico menanggapi dalam sebuah pernyataan bahwa mitigasi keamanan berarti bahwa buffer overflow Rodriguez hanya dapat membuat perangkat crash, bukan mendapatkan eksekusi kode khusus. Rodriguez ragu bahwa mereka benar-benar mencegah eksekusi kode tetapi belum membuat bukti konsep untuk ditunjukkan. Ingenico mengatakan bahwa "mengingat ketidaknyamanan dan dampaknya bagi pelanggan kami", pihaknya tetap mengeluarkan perbaikan.
Verifone mengatakan telah menemukan dan memperbaiki kerentanan tempat penjualan pada tahun 2018 sebelum dilaporkan, meskipun ini hanya menunjukkan bagaimana perangkat ini tidak pernah diperbarui. Rodriguez mengatakan bahwa dia menguji serangan NFC pada perangkat Verifone di sebuah restoran tahun lalu, dan menemukan bahwa perangkat tersebut masih rentan.
“Kerentanan ini telah ada di firmware selama bertahun-tahun, dan kami menggunakan perangkat ini setiap hari untuk menangani kartu kredit, uang kami,” kata Rodriguez. “Mereka perlu diamankan.” Rodriguez berencana untuk membagikan rincian teknis tentang kerentanan ini dalam webinar dalam beberapa minggu mendatang.