
Pembayaran kartu menjadi semakin populer. Terminal pembayaran seluler (terminal-mPOS) berkontribusi pada perkembangan tren ini, mengurangi hambatan untuk masuk ke pasar pembayaran kartu untuk perusahaan kecil dan pengusaha swasta. Selain itu, dalam kondisi tertentu, operasi masih dapat dilakukan di banyak negara (termasuk Rusia) menggunakan strip magnetik. Setiap putaran baru kemajuan teknologi mengancam ekosistem pembayaran. Masalah keamanan apa yang dapat memfasilitasi akses ke pasar pembayaran kartu? Dan apa yang kita riskan dengan terus mengandalkan teknologi kartu lama, khususnya pada strip magnetik?
Dalam beberapa tahun terakhir, jumlah operasi yang dilakukan menggunakan terminal-mPOS telah meningkat secara signifikan. Persaingan yang ketat di antara penyedia mPOS telah membuatnya sangat mudah untuk mendapatkan terminal pembayaran seperti itu. Menandatangani kontrak membutuhkan waktu kurang dari lima menit, dan terminal mPOS sendiri sering diberikan secara gratis. Sekarang mereka bisa dilihat di mana-mana. Seperti terminal POS biasa, terminal adalah tautan terakhir dalam infrastruktur pembayaran. Ini membuatnya menarik dan mudah diakses oleh penyerang.
Bidang studi
Kami mengevaluasi produk pemasok terkemuka terminal-mPOS: PayPal, Square, iZettle dan SumUp. Beberapa dari mereka menyediakan layanan di beberapa wilayah di dunia. Kami mencoba mendapatkan akses ke layanan di berbagai wilayah di mana dimungkinkan, karena proses pembayaran, aplikasi dan perangkat, serta pengaturan keamanan, berbeda tergantung pada lokasi.
Pemasok | Pabrikan | Terminal | Wilayah |
---|
Kotak | Kotak | Terminal tanpa kontak kartu dan kartu dengan chip Square (S8) | Amerika Serikat |
Kotak | Kotak | Terminal untuk kartu magnetik Kotak (S4) | Amerika Serikat |
Kotak | Kotak | Terminal untuk kartu dan kartu tanpa kontak dengan chip Square (S8) | Eropa |
Kotak | Kotak | Terminal Kartu Magnetik Persegi (S4) | Eropa |
Kotak | Sistem Miura | Miura M010 | Amerika Serikat |
Sumup | (bukan publik) | AIR1 E001 | Eropa |
iZettle | Datacs | YRWCRONE | Eropa |
Paypal | Sistem Miura | Miura M010 | Eropa |
Produsen dan pemasok terminal mPOS
terminal mPOSKami melakukan analisis keamanan perangkat dalam lima kategori:
- komunikasi antara telepon dan server sistem pembayaran;
- komunikasi antara telepon dan terminal mPOS;
- mekanisme perlindungan fisik terminal mPOS;
- aplikasi seluler;
- faktor tambahan yang memengaruhi keamanan, khususnya verifikasi selama pendaftaran.
Bidang utama penelitianProses pembayaran
Kami mempelajari secara menyeluruh vektor serangan dan masalah keamanan pembayaran kartu. Kerentanan yang ditemukan oleh kami membahayakan fungsionalitas utama terminal mPOS.
Perbedaan utama antara mPOS dan terminal POS konvensional adalah penjual tidak terhubung langsung dengan bank yang mengakuisisi. Sebaliknya, penyedia mPOS bertindak sebagai agregator pembayaran, yang membebankan biaya transaksi. Layanan pembayaran seperti itu tidak selalu dapat menjamin tingkat keamanan yang diberikan oleh bank yang mengakuisisi. Penyedia MPOS meminimalkan risiko keamanan dengan caranya sendiri, seringkali mengalihkan tanggung jawab atas penipuan ke bank yang mengakuisisi. Penting untuk dipahami bahwa agregator pembayaran seperti itu sebenarnya adalah penjual sendiri yang berinteraksi dengan bank yang mengakuisisi.
Proses pembayaran melalui terminal mPOSRisiko Bayar Kartu
Ada berbagai metode pembayaran kartu. Mereka tergantung pada sistem pembayaran, penerbit dan negara masalah. Selama transaksi, kartu mengirimkan daftar metode verifikasi pemegang kartu yang didukung, yang menggambarkan metode yang didukung dan prioritasnya. CVM juga mengatur apa yang harus terjadi jika metode yang dipilih tidak berfungsi. Terminal menyimpan file konfigurasi, yang juga menjelaskan metode verifikasi yang didukung. Terminal membandingkan kedua file ini dan mencoba melakukan transaksi menggunakan metode prioritas pertama. Metode prioritas harus memberikan jaminan tingkat tinggi bahwa pemegang kartu hadir selama operasi.
Beberapa jenis pembayaran jelas lebih aman daripada yang lain. Pembayaran dengan kartu dengan chip dan dengan memasukkan kode PIN dianggap metode yang paling aman, karena memberikan jaminan tingkat tinggi bahwa operasi telah disetujui oleh pemegang kartu. Strip magnetik dianggap sebagai teknologi yang kurang aman, karena penyerang dapat dengan mudah mengkloning strip magnetik dan data Track2 yang tersimpan di dalamnya dan menempa tanda tangan pemegang kartu. Operasi yang dilakukan dengan menggunakan strip magnetik tidak memberikan keyakinan bahwa pemegang kartu benar-benar hadir selama transaksi. Tidak seperti transaksi kartu yang mendukung standar EMV, transaksi menggunakan strip magnetik dilakukan tanpa kriptogram. Ini berarti bahwa operasi tersebut tidak menjamin integritas dan keaslian transaksi selama pelaksanaannya.
Mengadopsi standar EMV
Semakin banyak pembayaran di dunia dilakukan sesuai dengan standar EMV (Europay, Mastercard, Visa), yaitu menggunakan kartu chip. Namun, adopsi standar lebih lambat di beberapa daerah daripada di yang lain. Di Amerika Serikat,
transaksi EMV menyumbang
kurang dari setengah dari semua transaksi . Sebagian besar operasi masih dilakukan menggunakan strip magnetik. Di Eropa, sekitar 90% dari semua operasi
dilakukan sesuai dengan standar EMV .
Hasil penelitian
Memanipulasi perangkat: mengirim perintah sewenang-wenang
Seorang penyerang dapat terhubung ke perangkat melalui Bluetooth dan melakukan operasi sewenang-wenang. Untuk melakukan ini, ia memerlukan informasi tentang layanan Bluetooth yang berjalan pada perangkat, serta karakteristik dan fungsi yang sesuai. Informasi ini dapat diperoleh dengan menggunakan teknik terbalik sebelum serangan. Penyerang hanya perlu akses ke terminal mPOS, telepon yang mendukung pencatatan kejadian host controller interface (HCI), dan aplikasi seluler. Menggunakan pendaftaran peristiwa HCI, penyerang akan mencoba untuk mendapatkan informasi tentang fungsi utama terminal mPOS. Untuk melakukan ini, ia akan melakukan operasi percobaan menggunakan metode pembayaran yang berbeda dan membandingkan hasilnya. Ketika informasi yang diperlukan diterima, penyerang menggunakan Wireshark akan menganalisis komunikasi antara telepon dan terminal mPOS. Informasi ini, serta data aplikasi seluler, akan memungkinkan Anda untuk membandingkan fungsi dengan perintah dan pengidentifikasi mereka. Gambar 5 menunjukkan pesan "Sisipkan (geser) kartu" pada tampilan terminal mPOS.
Pesan "Sisipkan (gesek) kartu" dikirim ke layarJika kartu tidak dimasukkan dengan benar, pesan kesalahan "Silakan ambil kartu" muncul di layar. Dalam log HCI, kita melihat UUID mana yang bertanggung jawab untuk menampilkan teks dan contoh data yang dikirim.
Pesan "Silakan ambil kartu" pada tampilan terminal mPOS
Paket Bluetooth pertama bertanggung jawab untuk mengirim pesan "Silakan ambil kartu"
Paket Bluetooth kedua bertanggung jawab untuk mengirim pesan "Silakan ambil kartu" (pesan dibagi menjadi dua paket karena ukuran maksimum kecil dari satu paket Bluetooth Low Energy).Gambar di bawah ini menunjukkan bahwa nilai yang dikirim ke terminal mPOS terdiri dari lima bagian. Ini mencakup awalan yang berisi pengidentifikasi perintah, nilai penghitung perintah yang dikirim dan ukuran payload, teks utama dalam bentuk karakter ASCII, serta postfix, nilai checksum dan byte terakhir.
Elemen dari dua paket yang bertanggung jawab untuk mengirim pesan "Silakan ambil kartu"Dalam contoh berikut, terminal menggunakan Bluetooth Classic untuk berkomunikasi dengan telepon. Kita melihat pesan "Sisipkan (geser) kartu" yang dikirim ke tampilan terminal.
Pesan "Sisipkan (geser) kartu" pada tampilan terminal mPOS
Paket Bluetooth (di jendela Wireshark), yang bertanggung jawab untuk mengirim pesan "Sisipkan (geser) kartu" ke tampilan terminal mPOSGambar di bawah ini menunjukkan bahwa data ini terdiri dari tiga bagian: awalan, pesan, dan checksum. Awalan juga berisi penghitung, ID perintah, dan ukuran muatan. Pesan berisi nilai "Sisipkan (gesek) kartu" dalam pengkodean ASCII. Checksum adalah XOR dari semua byte pesan.
Elemen paket yang bertanggung jawab untuk mengirim pesan “Sisipkan (gesek) kartu”Menggunakan informasi ini, Anda dapat membuat perintah sewenang-wenang dan mengirimkannya ke tampilan terminal mPOS. Tiga perangkat yang kami uji ternyata rentan terhadap vektor serangan ini.
Pemasok | Pabrikan | Pembaca | Wilayah |
---|
Sumup | (bukan publik) | AIR1 E001 | Eropa |
iZettle | Datacs | YRWCRONE | Eropa |
Kotak | Kotak | Kotak (S8) | Amerika Serikat |
Daftar terminal yang rentan terhadap pengiriman perintah sewenang-wenang. Meskipun pembaca Square (S8) tidak memiliki layar, penyerang dapat mengirim perintah arbitrer lainnya.Vektor serangan ini dapat digunakan bersama dengan eksploitasi kerentanan lain untuk menawarkan klien jenis operasi yang kurang aman, seperti strip magnetik. Skenario ini dijelaskan dalam Gambar 14-16. Selain itu, penyerang dapat mengirim pesan "Pembayaran ditolak" untuk memaksa pemegang kartu melakukan beberapa transaksi.
Pemegang kartu mencoba memasukkan kartu
Pesan "Tolong gambar kartu" yang dikirim ke layar terminal memaksa pemegang kartu untuk menggunakan strip magnetik
Operasi berhasil - untuk operasi yang menggunakan strip magnetik, Anda harus meninggalkan tanda tangan.Jumlah palsu
Ada beberapa cara untuk memotong lalu lintas antara terminal mPOS dan server sistem pembayaran. Kami telah menggambarkan salah satunya - merekam kejadian HCI di ponsel dan menganalisis hasilnya. Untuk melakukan ini, Anda harus mengaktifkan pengembang (Mode Pengembang Android). Penyerang dapat mengambil jalur lain, misalnya, mencegat lalu lintas HTTPS antara aplikasi seluler dan server sistem pembayaran. Ini dimungkinkan karena dalam kebanyakan kasus server sistem pembayaran menghasilkan perintah dan mengirimkannya ke terminal mPOS. Untuk melindungi aplikasi seluler dari intersepsi HTTPS, semua pemasok terminal yang kami uji menggunakan pinning SSL.
Gambar di bawah ini menunjukkan contoh pembayaran yang diinisialisasi yang dicegat oleh dua metode berbeda. Kami dapat mencegat lalu lintas HTTPS menggunakan serangan man-in-the-middle, dan kami mengaktifkan mode debugging. Jumlah transaksi diberikan dalam bentuk tidak terenkripsi. Nilai 0100 sesuai dengan £ 1,00.
Pembayaran diinisialisasi dilakukan menggunakan terminal mPOSSetelah mencegat lalu lintas HTTPS, kami dapat mengubah jumlah transaksi. Maka Anda perlu menghitung ulang checksum. Setelah itu, kami dapat mengirim nilai yang diubah dari jumlah ke server sistem pembayaran untuk mengonfirmasi transaksi. Kami menemukan lima terminal yang rentan terhadap jumlah modifikasi dalam operasi strip magnetik.
Pemasok | Pabrikan | Pembaca | Wilayah |
---|
Sumup | | AIR1 E001 | Eropa |
iZettle | Datacs | YRWCRONE | Eropa |
Kotak | Miura | Miura M010 | Amerika Serikat |
| Miura | Miura M010 | Amerika Serikat |
Paypal | | | |
Kotak | Kotak | Kotak | AS / Eropa |
| | Magstripe Reader (S4) | |
terminal mPOS rentan terhadap pemalsuan jumlahPenjual yang tidak jujur dapat menipu pemegang kartu untuk mengkonfirmasi transaksi dengan jumlah yang jauh lebih besar. Selama operasi, penjual menampilkan satu jumlah pada tampilan pembaca, tetapi pada saat yang sama, jumlah yang lebih besar dikirim ke penyedia terminal mPOS untuk konfirmasi. Serangan ini ditunjukkan pada gambar di bawah ini.
Kiri: jumlah yang dikirim ke server sistem pembayaran (£ 1,23). Kanan: jumlah yang dilihat pemegang kartu (1 £)Kerentanan ini memengaruhi terminal yang mendukung operasi strip magnetik. Selama operasi, terminal hanya mengirim data Track2 terenkripsi; operasi itu sendiri tidak disertifikasi. Vektor serangan ini tidak akan berfungsi jika operasi dilakukan sesuai dengan standar EMV, karena dalam operasi tersebut informasi tentang jumlah disimpan di dalam cryptogram. PayPass tanpa kontak dan pembayaran payWave yang mendukung mode Legacy (PayPass MAGSTRIPE dan PayWave MSD) tidak menyediakan tingkat perlindungan ini, karena informasi jumlah juga tidak dilindungi oleh kriptogram.
Untuk memahami besarnya masalah, cukup untuk mengingat bahwa kurang dari 50% transaksi di Amerika Serikat dilakukan sesuai dengan standar EMV. Selain itu, batas untuk satu operasi dengan penggunaan strip magnetik yang diverifikasi oleh penyedia layanan kami di Eropa dan Amerika Serikat sangat tinggi dan masing-masing berjumlah 50.000 € dan 50.000 $.
Serangan ini dapat dicegah dengan menggunakan kontrol kriptografi dari integritas jumlah dan bidang mata uang dan membandingkan jumlah dan mata uang operasi pada pembaca dengan jumlah yang dikonfirmasi oleh penyedia layanan. Penting untuk dicatat bahwa standar PCI DSS (versi saat ini 3.2.1), yang mengatur penyimpanan, pemrosesan dan pengiriman data kartu, tidak memerlukan pemeriksaan seperti itu dalam kasus operasi menggunakan strip magnetik. Suatu operasi hanya membutuhkan transfer data Track2.
Eksekusi kode jarak jauh
Dua terminal yang kami uji ternyata rentan terhadap eksekusi kode jarak jauh. Eksploitasi kerentanan ini memberikan penyerang dengan akses penuh ke sistem operasi terminal. Setelah penyerang mendapatkan akses penuh ke sistem operasi, ia akan dapat mencegat data Track2 sebelum enkripsi atau mengaktifkan mode tidak terenkripsi (untuk mengirim perintah) pada keyboard terminal untuk mencegat kode PIN.
Pemasok | Pabrikan | Pembaca | Wilayah |
---|
Kotak | Miura | Miura M010 | Amerika Serikat |
Paypal | Miura | Miura M010 | Amerika Serikat |
Daftar terminal yang rentan terhadap eksekusi kode jauh
Video Nyan Cat pada tampilan terminal Miura M010. Eksekusi kode jarak jauh memberikan penyerang akses penuh ke sistem operasi terminalPerlindungan fisik
Mekanisme keamanan fisik sebagian besar terminal mPOS cukup dapat diandalkan. Pembaca Kartu Magnetik Square (S4) tidak menjamin tingkat keamanan dan karakteristik kecanggihan teknologi pembaca kartu contactless dan chip. Namun, ini harus menjadi persyaratan perangkat standar, yang disediakan untuk penjual secara gratis. Terminal yang tersisa menyediakan tingkat perlindungan fisik yang tepat, mekanisme pendukung untuk mencegah gangguan, dan tindakan lain untuk mencegah peretasan perangkat keras.
Mekanisme anti-perusakan
Sistem anti-perusakan membantu mencegah pembukaan terminal dengan bor dan alat-alat lainnya. Ketika Anda mencoba untuk membuka pemutus sirkuit, dan perangkat berhenti bekerja. Selain itu, sebagian besar pembaca beroperasi berdasarkan standar kepemilikan. Tanpa akses ke dokumentasi pengembang, mustahil untuk mendapatkan informasi berharga dengan secara fisik membuka perangkat.
Unit dalam ruangan IZettle YRWCRONE
Sistem pendeteksi tamper IZettle YRWCRONEKesimpulan
Kami menemukan bahwa lebih dari setengah terminal mPOS rentan terhadap serangan, sementara secara umum, semua penyedia terminal mPOS yang kami analisis ternyata rentan. Kami telah mencatat banyak masalah keamanan serius, khususnya kerentanan untuk mengeksekusi perintah arbitrer, memalsukan jumlah, dan mengeksekusi kode jarak jauh.
Mekanisme perlindungan terminal perangkat keras dalam banyak kasus dapat diandalkan dan dikembangkan. Namun, aspek-aspek lain, seperti yang terkait dengan aplikasi seluler dan prosedur pendaftaran, jauh kurang terlindungi.
Pengembang terminal mPOS menekankan kemudahan registrasi dan penggunaan perangkat. Ini adalah elemen kunci dari model bisnis, tetapi tidak memperhitungkan bahwa pengurangan hambatan untuk masuk ke pasar pembayaran kartu harus disertai dengan peningkatan keamanan yang signifikan. Tidak ada keraguan bahwa penipuan penjual akan tetap menjadi masalah serius bagi penyedia terminal mPOS. Pendekatan serius terhadap keamanan perlu dikembangkan, termasuk verifikasi selama pendaftaran dan pemantauan pembayaran yang ketat.
Penulis : Lee-Ann Galloway, Timur Yunusov, Artem Ivachev, Mark Kearney, Alexey Stennikov | Teknologi positif