Laporan audit privasi dan keselamatan orb Worldcoin

Mar 14, 2024 4 Minute Read

Projek Worldcoin diasaskan berdasarkan komitmen terhadap privasi dan keselamatan. Sebagai sebahagian daripada komitmen ini, penyumbang projek Tools for Humanity (TFH), bersama dengan Yayasan Worldcoin, melibatkan pakar keselamatan yang dihormati di Trail of Bits untuk menjalankan audit khusus pada perisian orb. Selain daripada penilaian keselamatan biasa, Trail of Bits memberi tumpuan kepada penilaian beberapa tuntutan privasi dan fungsi yang berkaitan dengan orb. 

Laporan akhir adalah tersedia di sini.

Ruang lingkup penilaian

Trail of Bits memulakan penilaian mereka pada 14 Ogos 2023 pada versi perisian yang dibekukan 8 Julai 2023 dengan SemVer 3.0.10. Sehingga 14 Mac 2024, versi semasa perisian yang digunakan untuk orbs adalah 4.0.34 dengan tarikh keluaran pertama pada 17 Januari 2024. 

TFH menyediakan satu siri tuntutan teknikal yang tidak menyeluruh untuk menetapkan skop penglibatan sebagai usaha untuk mengesahkan pelaksanaan mereka. Tuntutan-tuntutan ini memfokuskan pada pelepasan perisian versi yang dibekukan 8 Julai 2023.

1. Untuk aliran pendaftaran lalai yang pilih keluar, tiada maklumat peribadi yang boleh dikenal pasti (PII) kecuali kod iris yang dikumpul oleh orb

  • Tiada PII ditulis ke simpanan tetap pada orb
  • Tiada PII kecuali kod iris meninggalkan orb (contoh dimuat naik)

2. Untuk aliran pendaftaran opt-in bukan lalai, PII dikendalikan dengan selamat oleh orb

  • Satu-satunya PII yang disimpan pada peranti adalah pada SSD orb dan dienkripsi secara asimetrik*
  • PII yang dienkripsi secara asimetrik yang disimpan pada SSD orb tidak boleh dinyahkripsi oleh Orb

3. Orb tidak mengekstrak sebarang data sensitif daripada peranti pengguna

  • Satu-satunya maklumat yang dikumpul orb daripada telefon pengguna adalah dalam kod QR.**

4. Kod iris pengguna dikendalikan dengan selamat

  • Kod iris pengguna tidak ditulis ke penyimpanan kekal pada orb
  • Kod iris pengguna hanya dimasukkan dalam satu permintaan kepada backend orb ***
  • Kod iris hanya boleh dihantar ke pelayan yang diluluskan, dan komunikasi rangkaian adalah disulitkan hujung-ke-hujung.

* Mulai keluaran 4.0.XX, orb tidak lagi menyimpan sebarang data ke SSD tanpa mengira pilihan penjagaan data.

** Dalam versi perisian orb 3.0.10 kod QR mengandungi UUID 128-bit user_id dan satu data_policy bool yang mewakili pilihan penjagaan data pengguna, dan satu DataCollectionConfig struct pilihan untuk kegunaan dalaman. Dalam versi perisian 4.0.0 kod QR telah diubah untuk memasukkan hash kriptografi yang merangkumi kunci awam pengguna, yang dinamakan user_data_hash. Hash ini digunakan untuk mengesahkan kunci awam yang betul digunakan semasa menyulitkan data ke peranti pengguna. 

*** Dalam versi perisian 4.0.0, ciri "Personal Custody" baru akan ditambahkan dimana salinan tambahan kod iris dan biometrik disulitkan terus ke peranti pengguna menggunakan kunci awam pengguna.

Tuntutan-tuntutan ini telah diperhalusi lagi menjadi matlamat khusus yang tersedia dalam laporan akhir dengan kerjasama Trail of Bits. Aplikasi ruang pengguna pelanggan orb dalam Rust dan sistem operasi berasaskan Debian ditakrifkan sebagai dalam skop penilaian ini, dan komponen berikut dikecualikan sebagai tidak berkaitan dengan tuntutan asal:

  1. Konfigurasi bootloader
  2. Pengubahsuaian pemandu
  3. Aplikasi TrustZone
  4. Antara muka unsur selamat

Senarai penuh sasaran disenaraikan dalam laporan akhir.

Hasil Penilaian

Tiga perunding menjalankan keseluruhan enam minggu kejuruteraan ulasan. Juruaudit diberi akses penuh kepada kod sumber, bersama dengan akses runtime kepada dua orb penilaian. Walaupun laporan itu menerangkan potensi permukaan serangan (TOB-ORB-4 dan TOB-ORB-5, TOB-ORB-10, dan TOB-ORB-11), mereka menyimpulkan bahawa “analisis kami tidak mendedahkan kelemahan dalam kod Orb yang boleh dieksploitasi secara langsung berkaitan dengan Matlamat Projek seperti yang diterangkan.” Selanjutnya, sementara kajian Trail of Bits mengenal pasti beberapa kebimbangan yang tidak disahkan yang boleh secara teori menjejaskan matlamat projek, dan kod yang terjejas telah dikemas kini sejak itu, audit tidak mengenal pasti sebarang insiden di mana matlamat projek akan terjejas secara langsung, sama ada melalui kelemahan yang diketahui atau semasa pelaksanaan biasa.

Juruaudit Trail of Bits memberikan cadangan pakar untuk pengerasan tambahan konfigurasi kernel serta alat dan teknik untuk perisian runtime yang tersedia dengan lebih terperinci dalam laporan akhir.

Tuntutan 1: Aliran pendaftaran keluar lalai

Penilaian menyimpulkan bahawa konfigurasi versi perisian yang diaudit tidak mengekalkan, atau mengeskport, PII selain daripada “kod iris” dari orb. Trail of Bits mencadangkan perubahan pengerasan konfigurasi tambahan untuk meningkatkan “pertahanan yang mendalam” orb untuk memastikan bahawa perubahan masa depan kepada konfigurasi atau kod tidak memperkenalkan kebocoran yang tidak sengaja (penemuan TOB-ORB-1). 

Tuntutan 2: Aliran pendaftaran masuk pilihan bukan lalai

Dalam kes di mana pengguna memilih untuk memilih masuk ke penjagaan data, orb menyulitkan PII secara asimetrik menggunakan perpustakaan libsodium dalam pembinaan satu-arah yang dipanggil “kotak tersegel.” Dalam laporan akhir, juruaudit menyatakan “[k]ami tidak mengenal pasti sebarang tempat di mana PII disimpan di luar SSD Orb dan/atau tidak disulitkan” dan membuat kesimpulan bahawa “sebaik sahaja PII disulitkan, mekanisme yang diterangkan tidak membenarkan Orb untuk menyahsulitkannya.”

*Kod paling baru tidak menyimpan data sama sekali, tanpa mengira pilihan penjagaan data, tetapi sebaliknya menggunakan semula kod penyulitan ini untuk pakej Penjagaan Peribadi menggunakan kunci awam pengguna.

Tuntutan 3: Orb tidak mengekstrak data tambahan dari peranti pengguna

Apabila pengguna mula-mula berinteraksi dengan orb untuk melakukan pendaftaran, kod QR dipaparkan pada peranti pengguna yang diproses oleh orb. Dalam kod yang berkenaan, juruaudit tidak mengenal pasti sebarang data atau maklumat tambahan yang dikumpulkan daripada peranti pengguna oleh orb. Penilaian itu, walau bagaimanapun, menyoroti potensi isu keselamatan memori (penemuan TOB-ORB-4 dalam laporan akhir) dengan perpustakaan yang digunakan untuk mengimbas kod QR (ZBar). Sebagai tindak balas, perpustakaan yang terdedah telah diganti dengan perpustakaan pengimbas kod bar berasaskan Rust tulen, rxing.

Tuntutan 4: Kod iris pengguna dikendalikan dengan selamat

Juruaudit telah mencuba untuk mengesahkan tuntutan yang berkaitan dengan cara "kod iris" dikendalikan dan dikomunikasikan kepada backend. Mereka melaporkan bahawa “kami percaya kod iris tidak ditulis ke dalam storan kekal di Orb dan bahawa ia hanya dimasukkan dalam satu permintaan kepada bahagian belakang Orb,” dan bahawa “[s]elagi konfigurasi ini boleh diperbaiki untuk menjadikannya lebih selamat (TOB-ORB-10), ia tidak seharusnya mungkin bagi penyerang biasa untuk mengekstrak kod iris dari trafik rangkaian Orb; penyerang perlu mengawal salah satu sijil yang dipercayai.

Kesimpulan

Laporan penuh analisis menyeluruh Trail of Bits mengandungi semua penemuan individu dan penyelesaiannya, bersama dengan analisis tambahan terhadap dakwaan. 

Ini bukanlah yang pertama, dan juga tidak akan menjadi yang terakhir, penilaian keselamatan pihak ketiga terhadap orb, dan laporan tambahan akan dikongsi dengan komuniti apabila ia tersedia. 

Anda boleh membantu menjaga keselamatan projek Worldcoin dengan menyertai program tawaran ganjaran bug Worldcoin. Maklumat penting tambahan mengenai projek ini boleh didapati dalam kertas putih protokol Worldcoin.

Penafian

Kandungan di atas hanya sah pada tarikh yang dinyatakan. Di samping itu, ia tertakluk kepada risiko, ketidakpastian dan andaian, dan oleh itu, ia ada kemungkinan untuk menjadi tidak tepat dan mungkin berubah tanpa notis. Penafian penuh boleh didapati di halaman Terma Penggunaan kami, dan Maklumat Penting Pengguna boleh didapati di halaman Risiko kami.

Maklumat dalam artikel ini sudah lebih 12 bulan dan mungkin sudah lapuk. Sila lawati world.org/blog untuk maklumat terkini tentang projek ini.