Saat berinteraksi dengan DApps, pengguna perlu memperhatikan untuk mengontrol jumlah Token resmi, memeriksa konten tanda tangan, dan situasi otorisasi yang tidak normal.
Ditulis oleh: Lisa
latar belakang
Pada tanggal 11 Mei, pengguna Twitter "pineapple.eth" men-tweet bahwa dompetnya dicuri karena kesalahan klik pada situs web phishing (syncswap[.]network), dan dia kehilangan lebih dari $100.
(
Meski jumlah kerugiannya tidak besar, namun ada risiko keamanan yang sangat besar yang tersembunyi di dalamnya.Korban seringkali kehilangan aset yang sangat besar karena risiko tanda tangan yang "tidak mencolok" yaitu "tidak dapat melihat". Itu sebabnya kami menulis artikel ini.
Menurut keterangan korban, transaksi yang dicuri adalah sebagai berikut:
(
(
Dari dua transaksi ini, penelepon kontrak (0x00002…d0000) mentransfer 34,87 USDC ke alamat korban (0xA4089…82C3) ke (0x8256…D6B8) dan mentransfer 81,36 USDC ke (0x5A69… 1C17). Jika Anda hanya melihat fungsi transferFrom, tidak sulit untuk menemukan bahwa fungsi dari fungsi ini adalah untuk memungkinkan pihak ketiga melakukan transaksi untuk mentransfer aset digital yang relevan dari akun pemilik ke akun penerima.
Kemudian analisis alamat penelepon kontrak (0x00002...d0000), dan temukan bahwa ada operasi izin tambahan, yang tidak ada dalam catatan transaksi korban. Apa peran izin?
(
Apa itu Izin?
Menurut pengantar resmi, izin diperkenalkan ke dalam protokol ERC20 di EIP-2612, dan pengguna dapat berinteraksi dengan kontrak aplikasi dengan melampirkan tanda tangan otorisasi (izin) tanpa otorisasi sebelumnya. Secara khusus, kita semua tahu bahwa dalam transaksi mata uang ERC20, A dapat memanggil fungsi persetujuan untuk mengotorisasi B, yaitu, untuk mengotorisasi token yang ditentukan oleh A ke akun lain untuk beroperasi, dan harus menjadi pemilik akun ini untuk memanggil menyetujui fungsi. Fungsi dari fungsi izin adalah bahwa A menandatangani objek otorisasi terlebih dahulu di bawah rantai, dan memberi tahu B tentang tanda tangan yang diperoleh, dan B dapat menggunakan tanda tangan ini untuk memanggil izin untuk mewujudkan operasi otorisasi A (gunakan transferFrom untuk mentransfer tunjangan ), A dapat mentransfer token yang ditentukan tanpa mengirimkan transaksi, dan apakah dia adalah pemilik akun atau bukan, dia dapat menjalankan izin untuk mengotorisasi operasi. Selain itu, Uniswap telah merilis Izin standar otorisasi Token baru2.
Berikut perbandingan antara approval dan permit:
fungsi menyetujui (alamat usr, uint wad) pengembalian eksternal (bool)
Setelah memahami dasar-dasarnya, dan kemudian kembali ke acara phishing itu sendiri, Anda dapat mengirimkan fungsi izin ini dengan 7 parameter:
pemilik: alamat resmi
Pemboros: Siapa yang berwenang untuk
nilai: jumlah token resmi yang diberikan
batas waktu: adalah stempel waktu, hanya berlaku sebelum waktu yang ditentukan
v, r, s: data tanda tangan
Diantaranya, tenggat waktu adalah 1714509304969, dan nilainya 116239404, yang berarti otorisasi berlaku hingga 00:42 pada 22 Agustus (GMT) pada 56300, hampir tanpa batas waktu. Dan jumlah token resmi adalah 116.239404 USDC, yang sama dengan jumlah yang dicuri oleh korban. Nilai v, r, dan s adalah data tanda tangan setelah pengguna (pemilik) menandatangani di situs web phishing, dan fungsi izin akan memverifikasi validitas data tanda tangan. Setelah verifikasi tanda tangan dilewatkan, token pengguna akan diotorisasi ke peretas (pemboros).
Seluruh prosesnya sangat jelas: korban menandatangani tanda tangan dan mengirimkannya ke situs web phishing tetapi tidak mengunggahnya ke rantai Setelah mendapatkan informasi tanda tangan, peretas menyerahkan izin pada rantai, yaitu, disebut menyetujui otorisasi . Penandatanganan dilakukan secara off-chain tanpa menghabiskan bensin. Namun perlu diperjelas bahwa tidak ada gas di sini bukan berarti tidak ada konsumsi gas, melainkan penanda tangan (korban) tidak perlu membayar gas untuk otorisasi dan transfer.
Tidak diragukan lagi, mirip dengan menyetujui phishing resmi, izin lebih berbahaya daripada menyetujui phishing resmi, lagipula, selama tanda tangannya dicuri, otorisasi diperoleh. Misalnya, fungsi pending order di dex hanya membutuhkan pengguna untuk menandatangani pesan tertentu, dan pengguna dapat mempercayakan aset ke dex untuk diproses tanpa membayar gas.Aset pengguna mungkin hilang. Sejauh yang kami tahu, beberapa dompet akan mendekode dan menampilkan informasi tanda tangan dari pengesahan phishing yang disetujui, tetapi dompet tersebut hampir tidak memiliki peringatan untuk mengizinkan phishing tanda tangan, dan pengguna berisiko lebih tinggi untuk diserang. Pada saat yang sama, tanda tangan izin adalah perilaku off-chain, dan sulit bagi pengguna untuk mengetahui apakah tanda tangan mereka telah bocor.
MistTrack
Saat ini, alamat peretas telah ditandai sebagai alamat phishing berbahaya oleh MistTrack.
Menggunakan MistTrack untuk menganalisis ETH, WBTC, USDT, USDC, SHIB, DAI, WETH, DAI, stETH, APE, keuntungan alamat 1 saat ini sekitar 120.000 dolar AS, keuntungan alamat 2 sekitar 200.000 dolar AS, dan keuntungan dari alamat 3 Sekitar $2.000. Selain itu, menurut analisis Scam Sniffer, platform anti-penipuan Web3, per 9 Mei, total lebih dari 300 korban telah dicuri aset sekitar US$690.000 oleh tanda tangan berbahaya berdasarkan Permit2. di Uniswap hingga 9 Mei Sejauh ini, hampir 670.000 alamat di mainnet Ethereum telah mengesahkan Permit2. Tentu saja, data ini hanyalah puncak gunung es dari gambaran keseluruhan geng ini.
Ringkas
Artikel ini terutama dimulai dengan kasus pencurian yang sebenarnya dan memperkenalkan risiko tanda tangan izin. Tim keamanan SlowMist mengingatkan Anda untuk tidak membuka situs web yang asalnya tidak diketahui untuk beroperasi sesuka hati. Saat berinteraksi dengan DApps, perhatikan untuk mengontrol jumlah Token yang diotorisasi untuk kontrak dan hati-hati memeriksa konten tanda tangan. Gunakan alat otorisasi seperti RevokeCash dari waktu ke waktu ke waktu (periksa otorisasi yang tidak normal, dan Anda juga dapat menggunakan alat manajemen otorisasi untuk Uniswap Permit2 (untuk memeriksa, jika ada otorisasi yang tidak normal, harap batalkan otorisasi tepat waktu.
Tautan referensi:
Lihat Asli
Konten ini hanya untuk referensi, bukan ajakan atau tawaran. Tidak ada nasihat investasi, pajak, atau hukum yang diberikan. Lihat Penafian untuk pengungkapan risiko lebih lanjut.
Izinkan analisis tanda tangan: Bisakah tanda tangan off-chain juga menangkap Token Anda?
Ditulis oleh: Lisa
latar belakang
Pada tanggal 11 Mei, pengguna Twitter "pineapple.eth" men-tweet bahwa dompetnya dicuri karena kesalahan klik pada situs web phishing (syncswap[.]network), dan dia kehilangan lebih dari $100.
(
Meski jumlah kerugiannya tidak besar, namun ada risiko keamanan yang sangat besar yang tersembunyi di dalamnya.Korban seringkali kehilangan aset yang sangat besar karena risiko tanda tangan yang "tidak mencolok" yaitu "tidak dapat melihat". Itu sebabnya kami menulis artikel ini.
Menurut keterangan korban, transaksi yang dicuri adalah sebagai berikut:
(
Dari dua transaksi ini, penelepon kontrak (0x00002…d0000) mentransfer 34,87 USDC ke alamat korban (0xA4089…82C3) ke (0x8256…D6B8) dan mentransfer 81,36 USDC ke (0x5A69… 1C17). Jika Anda hanya melihat fungsi transferFrom, tidak sulit untuk menemukan bahwa fungsi dari fungsi ini adalah untuk memungkinkan pihak ketiga melakukan transaksi untuk mentransfer aset digital yang relevan dari akun pemilik ke akun penerima.
Kemudian analisis alamat penelepon kontrak (0x00002...d0000), dan temukan bahwa ada operasi izin tambahan, yang tidak ada dalam catatan transaksi korban. Apa peran izin?
(
Apa itu Izin?
Menurut pengantar resmi, izin diperkenalkan ke dalam protokol ERC20 di EIP-2612, dan pengguna dapat berinteraksi dengan kontrak aplikasi dengan melampirkan tanda tangan otorisasi (izin) tanpa otorisasi sebelumnya. Secara khusus, kita semua tahu bahwa dalam transaksi mata uang ERC20, A dapat memanggil fungsi persetujuan untuk mengotorisasi B, yaitu, untuk mengotorisasi token yang ditentukan oleh A ke akun lain untuk beroperasi, dan harus menjadi pemilik akun ini untuk memanggil menyetujui fungsi. Fungsi dari fungsi izin adalah bahwa A menandatangani objek otorisasi terlebih dahulu di bawah rantai, dan memberi tahu B tentang tanda tangan yang diperoleh, dan B dapat menggunakan tanda tangan ini untuk memanggil izin untuk mewujudkan operasi otorisasi A (gunakan transferFrom untuk mentransfer tunjangan ), A dapat mentransfer token yang ditentukan tanpa mengirimkan transaksi, dan apakah dia adalah pemilik akun atau bukan, dia dapat menjalankan izin untuk mengotorisasi operasi. Selain itu, Uniswap telah merilis Izin standar otorisasi Token baru2.
Berikut perbandingan antara approval dan permit:
fungsi menyetujui (alamat usr, uint wad) pengembalian eksternal (bool)
{
tunjangan[msg.sender] [usr] = gumpalan;
…
}
izin fungsi (
pemegang alamat, pembelanja alamat,
uint256 nonce, uint256 kedaluwarsa, bool diizinkan,
uint8 v, bytes32 r, bytes32 s
) eksternal {
…
uang saku [holder] [spender] = gumpalan;
…
}
Setelah memahami dasar-dasarnya, dan kemudian kembali ke acara phishing itu sendiri, Anda dapat mengirimkan fungsi izin ini dengan 7 parameter:
Diantaranya, tenggat waktu adalah 1714509304969, dan nilainya 116239404, yang berarti otorisasi berlaku hingga 00:42 pada 22 Agustus (GMT) pada 56300, hampir tanpa batas waktu. Dan jumlah token resmi adalah 116.239404 USDC, yang sama dengan jumlah yang dicuri oleh korban. Nilai v, r, dan s adalah data tanda tangan setelah pengguna (pemilik) menandatangani di situs web phishing, dan fungsi izin akan memverifikasi validitas data tanda tangan. Setelah verifikasi tanda tangan dilewatkan, token pengguna akan diotorisasi ke peretas (pemboros).
Seluruh prosesnya sangat jelas: korban menandatangani tanda tangan dan mengirimkannya ke situs web phishing tetapi tidak mengunggahnya ke rantai Setelah mendapatkan informasi tanda tangan, peretas menyerahkan izin pada rantai, yaitu, disebut menyetujui otorisasi . Penandatanganan dilakukan secara off-chain tanpa menghabiskan bensin. Namun perlu diperjelas bahwa tidak ada gas di sini bukan berarti tidak ada konsumsi gas, melainkan penanda tangan (korban) tidak perlu membayar gas untuk otorisasi dan transfer.
Tidak diragukan lagi, mirip dengan menyetujui phishing resmi, izin lebih berbahaya daripada menyetujui phishing resmi, lagipula, selama tanda tangannya dicuri, otorisasi diperoleh. Misalnya, fungsi pending order di dex hanya membutuhkan pengguna untuk menandatangani pesan tertentu, dan pengguna dapat mempercayakan aset ke dex untuk diproses tanpa membayar gas.Aset pengguna mungkin hilang. Sejauh yang kami tahu, beberapa dompet akan mendekode dan menampilkan informasi tanda tangan dari pengesahan phishing yang disetujui, tetapi dompet tersebut hampir tidak memiliki peringatan untuk mengizinkan phishing tanda tangan, dan pengguna berisiko lebih tinggi untuk diserang. Pada saat yang sama, tanda tangan izin adalah perilaku off-chain, dan sulit bagi pengguna untuk mengetahui apakah tanda tangan mereka telah bocor.
MistTrack
Saat ini, alamat peretas telah ditandai sebagai alamat phishing berbahaya oleh MistTrack.
Alamat 1: 0x00002644e79602F056B03235106A9963826d0000
Alamat 2: 0x82563Ba592986Cb277d67B2E7c56ab3BB3FDD6B8
Alamat 3: 0x5A697967F0791d12db8A0f92344Abc6DD07a1C17
Kedua USDC korban ditukar dengan ETH.
Menggunakan MistTrack untuk menganalisis ETH, WBTC, USDT, USDC, SHIB, DAI, WETH, DAI, stETH, APE, keuntungan alamat 1 saat ini sekitar 120.000 dolar AS, keuntungan alamat 2 sekitar 200.000 dolar AS, dan keuntungan dari alamat 3 Sekitar $2.000. Selain itu, menurut analisis Scam Sniffer, platform anti-penipuan Web3, per 9 Mei, total lebih dari 300 korban telah dicuri aset sekitar US$690.000 oleh tanda tangan berbahaya berdasarkan Permit2. di Uniswap hingga 9 Mei Sejauh ini, hampir 670.000 alamat di mainnet Ethereum telah mengesahkan Permit2. Tentu saja, data ini hanyalah puncak gunung es dari gambaran keseluruhan geng ini.
Ringkas
Artikel ini terutama dimulai dengan kasus pencurian yang sebenarnya dan memperkenalkan risiko tanda tangan izin. Tim keamanan SlowMist mengingatkan Anda untuk tidak membuka situs web yang asalnya tidak diketahui untuk beroperasi sesuka hati. Saat berinteraksi dengan DApps, perhatikan untuk mengontrol jumlah Token yang diotorisasi untuk kontrak dan hati-hati memeriksa konten tanda tangan. Gunakan alat otorisasi seperti RevokeCash dari waktu ke waktu ke waktu (periksa otorisasi yang tidak normal, dan Anda juga dapat menggunakan alat manajemen otorisasi untuk Uniswap Permit2 (untuk memeriksa, jika ada otorisasi yang tidak normal, harap batalkan otorisasi tepat waktu.