Penulis: Lisa & Aro

Editor: Liz

Dalam lingkungan internet saat ini, ancaman seperti malware, virus, dan serangan phishing muncul dengan cepat. Menginstal perangkat lunak antivirus (seperti AVG, Bitdefender, Kaspersky, Malwarebytes, dan produk terkenal internasional lainnya) dapat membantu pengguna mencegah program jahat dan meningkatkan keamanan sistem. Namun, fungsi perangkat lunak antivirus adalah memberikan perlindungan keamanan dasar, yang hanya dapat mengurangi risiko, dan tidak dapat menjamin keamanan mutlak. Perlawanan adalah proses yang dinamis; menginstal perangkat lunak antivirus hanyalah langkah pertama untuk meningkatkan keamanan. Selain itu, perangkat lunak antivirus itu sendiri juga dapat memiliki kasus salah identifikasi, yang membawa risiko tambahan.

Belakangan ini, beberapa pengguna melaporkan bahwa setelah menggunakan perangkat lunak antivirus, beberapa ekstensi browser (terutama ekstensi dompet cryptocurrency) salah teridentifikasi sebagai malware, menyebabkan file JavaScript ekstensi dikarantina atau dihapus, yang pada akhirnya merusak dompet ekstensi dan tidak dapat digunakan dengan normal.

Bagi pengguna Web3, situasi ini sangat serius karena ekstensi dompet terenkripsi biasanya menyimpan kunci pribadi, jika ditangani dengan tidak benar, dapat menyebabkan kehilangan data dompet, bahkan tidak dapat memulihkan aset. Oleh karena itu, sangat penting untuk memahami cara yang benar untuk memulihkan data ekstensi yang salah teridentifikasi.

Bagaimana cara mengatasinya?

Jika Anda menemukan bahwa perangkat lunak antivirus salah mengidentifikasi dan menyebabkan kerusakan pada ekstensi browser, disarankan untuk mengikuti langkah-langkah berikut untuk pemulihan:

1. Pulihkan file dari zona karantina, jangan mencopot ekstensi.

Jika Anda menemukan bahwa perangkat lunak atau ekstensi tertentu tidak dapat berfungsi, segera periksa 'zona karantina' (Quarantine) atau 'riwayat' (History) perangkat lunak antivirus, cari file yang salah teridentifikasi, dan jangan menghapus file yang dikarantina.

  • Jika file masih berada di zona karantina, pilih 'Pulihkan' (Restore), dan tambahkan file atau ekstensi tersebut ke daftar kepercayaan untuk mencegah salah identifikasi di masa mendatang.

  • Jika file telah dihapus, periksa apakah ada cadangan otomatis atau gunakan alat pemulihan data untuk memulihkannya.

  • Ingat: Jangan mencopot ekstensi! Meskipun ekstensi telah rusak, mungkin masih ada file terkait kunci pribadi yang terenkripsi di lokal, sehingga masih ada kemungkinan untuk memulihkannya.

2. Cadangkan dan cari data ekstensi lokal.

Data ekstensi biasanya disimpan di disk lokal, bahkan jika ekstensi tidak dapat dibuka, data terkait masih dapat ditemukan untuk pemulihan (contoh ID ekstensi menggunakan MetaMask: nkbihfbeogaeaoehlefnkodbefgpgknn):

  • Referensi jalur Windows: C:\Users\USER_NAME\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn

  • Referensi jalur Mac:
    ~/Library/Application Support/Google/Chrome/Default/Local Extension Settings/nkbihfbeogaeaoehlefnkodbefgpgknn

Perlu diperhatikan bahwa jika Chrome menggunakan beberapa konfigurasi akun, 'Default' dalam jalur mungkin berubah menjadi 'Profile 1/Profile 2', perlu memeriksa direktori Profil yang spesifik, dan menyesuaikan jalur sesuai dengan kondisi aktual. Disarankan untuk segera mencadangkan direktori lengkap ekstensi yang dituju untuk pemulihan jika terjadi masalah.

3. Metode pemulihan kasar: menimpa direktori ekstensi lokal.

Jika salah identifikasi menyebabkan kerusakan ekstensi, cara paling langsung adalah dengan menginstal ulang data ekstensi yang dicadangkan ke direktori ekstensi lokal yang sesuai di komputer baru atau lingkungan browser baru, kemudian buka kembali ekstensi tersebut.

4. Metode pemulihan tingkat lanjut: Dekripsi manual data kunci pribadi

Jika ekstensi masih tidak dapat dibuka atau data hilang, Anda dapat mencoba cara pemulihan yang lebih canggih, yaitu mendekripsi manual data kunci pribadi untuk pemulihan. Sebagai contoh MetaMask:

  • Cari ID ekstensi MetaMask di lokal komputer, temukan direktori berikut: C:\Users\[User]\AppData\Local\Google\Chrome\User Data\Default\Local Extension Settings\nkbihfbeogaeaoehlefnkodbefgpgknn

  • Direktori ini mungkin berisi file ldb/log, yang menyimpan data kunci pribadi yang terenkripsi. Anda dapat menggunakan alat dekripsi Vault resmi dari MetaMask (https://metamask.github.io/vault-decryptor/) untuk mendekripsinya.

  • Langkah-langkah dekripsi: buka alat dekripsi MetaMask Vault -> salin konten terenkripsi dari file ldb/log -> gunakan kata sandi asli dari ekstensi untuk mendekripsi -> setelah mendapatkan kunci pribadi, impor kembali dompet.

Jika ekstensi MetaMask masih dapat membuka halaman tertentu (seperti chrome-extension://nkbihfbeogaeaoehlefnkodbefgpgknn/home.html), Anda dapat mencoba menjalankan kode berikut untuk mendapatkan data kunci pribadi yang terenkripsi:

Kemudian, salin data vault ke alat dekripsi MetaMask Vault untuk mendekripsinya.

5. Menulis alat pemulihan kustom

Jika metode di atas tidak dapat memulihkan data dompet, pengguna dapat menulis skrip sendiri untuk mengekstrak data yang tersimpan ekstensi dari file database lokal dan mendekripsinya. Di sini menggunakan PhantomKeyRetriever sebagai template, menulis prinsip dasar dan implementasi alat pemulihan dompet yang berbeda sebagai berikut:

Ekstensi dompet biasanya menyimpan data sensitif di database atau file sistem lokal. Ekstensi dompet browser (seperti Phantom, MetaMask, dll.) menggunakan API penyimpanan yang disediakan oleh browser untuk menyimpan data terenkripsi di area penyimpanan lokal browser, biasanya di sistem database seperti LevelDB atau IndexedDB. Terlepas dari jenis dompet, satu prinsip kunci adalah data selalu disimpan dalam bentuk terenkripsi, memastikan bahwa bahkan jika data disalin, tidak dapat diakses tanpa kata sandi yang benar.

Sebagian besar dompet terenkripsi menggunakan arsitektur enkripsi multi-lapis untuk meningkatkan keamanan. Pertama, kata sandi utama pengguna digunakan untuk mengenkripsi kunci tengah (yang biasanya disebut 'kunci enkripsi' atau 'kunci dekripsi'). Kemudian, kunci tengah ini digunakan untuk mengenkripsi kunci pribadi atau mnemoni yang sebenarnya. Desain ini memastikan bahwa bahkan jika kode aplikasi dompet diubah, penyerang masih perlu mengetahui kata sandi pengguna untuk mendapatkan kunci pribadi. Desain multi-lapis ini juga memungkinkan aplikasi dompet hanya mendekripsi kunci tengah setelah pengguna masuk, tanpa perlu memasukkan kata sandi utama setiap kali melakukan operasi.

Proses penulisan alat pemulihan dompet biasanya meliputi:

  • Mengidentifikasi dan mengekstrak data yang terenkripsi (membaca data dari LevelDB/IndexedDB).

  • Menganalisis struktur data, mengidentifikasi kunci pribadi/mnemoni yang terenkripsi.

  • Meminta pengguna memasukkan kata sandi dompet, menghitung kunci dekripsi menggunakan KDF (seperti PBKDF2 atau Scrypt).

  • Mendekripsi kunci tengah, kemudian mendekripsi kunci pribadi/mnemoni.

Proses ini memerlukan pemahaman yang tepat tentang skema enkripsi dan format penyimpanan data dompet, yang biasanya diperoleh melalui rekayasa balik atau analisis kode sumber dompet.

Sebagai contoh alat PhantomKeyRetriever, ini adalah skrip yang dirancang khusus untuk mengekstrak mnemoni atau kunci pribadi dompet Phantom dari data browser Chrome, SlowMist saat ini telah mengopen source alat ini di GitHub (https://github.com/slowmist/PhantomKeyRetriever), prinsip intinya adalah sebagai berikut:

  • Baca database LevelDB Chrome, salin data terkait ke direktori sementara.

  • Jelajahi database, cari kunci terenkripsi dan informasi benih dompet yang disimpan Phantom.

  • Pengguna memasukkan kata sandi Phantom, skrip menggunakan PBKDF2/Scrypt untuk menghitung kunci dekripsi.

  • Dekripsi data vault dompet, ekstrak mnemoni BIP39 atau kunci pribadi Base58.

Dalam proses dekripsi ganda ini, skrip mendukung dua fungsi derivasi kunci, PBKDF2 dan Scrypt, serta menggunakan SecretBox dari pustaka NaCl untuk dekripsi yang aman. Akhirnya, berdasarkan jenis data yang didekripsi, skrip akan menghasilkan mnemoni standar BIP39 atau mengekstrak kunci pribadi yang dikodekan Base58.

Perlu diingat bahwa browser lain yang mendukung ekstensi dompet (seperti Edge, Firefox) juga memiliki prinsip serupa, yang tidak akan dijelaskan lebih lanjut di sini.

Bagaimana cara mencegah?

Untuk mengurangi risiko salah identifikasi, pengguna dapat mengambil langkah-langkah berikut:

  • Secara berkala mencadangkan file penting dan data ekstensi browser agar dapat dengan cepat dipulihkan ketika terjadi salah identifikasi.

  • Secara manual menambahkan aturan kepercayaan dalam perangkat lunak antivirus, untuk perangkat lunak atau ekstensi penting (seperti MetaMask), dapat secara manual menambahkannya ke daftar kepercayaan untuk mencegah salah identifikasi.

  • Gunakan saluran resmi untuk mengunduh perangkat lunak, hindari menginstal aplikasi yang tidak resmi atau versi yang dimodifikasi, untuk mengurangi kemungkinan ditandai sebagai risiko potensial oleh perangkat lunak antivirus.

Kesimpulan

Perlawanan selalu dinamis, dan kebijakan keamanan juga perlu disesuaikan secara terus-menerus. Memasang perangkat lunak antivirus memang penting, tetapi pada akhirnya, pengguna adalah garis pertahanan terakhir untuk aset mereka sendiri. Ketika menghadapi salah identifikasi, pengguna harus tetap tenang, menghindari penghapusan langsung terhadap file-file penting, dan menggunakan metode pemulihan yang tepat. Hanya dengan menguasai pengetahuan keamanan yang benar, pengguna dapat benar-benar melindungi keamanan data mereka.