3 poin oleh GN⁺ 2024-06-03 | 1 komentar | Bagikan ke WhatsApp
  • Awal pekan ini, akses tidak sah terkait secrets terdeteksi di platform Spaces, dan ada kemungkinan sebagian secrets dapat diakses dari luar
  • Sebagai respons awal, sejumlah token HF yang termasuk dalam secrets telah dicabut, dan email pemberitahuan telah dikirim kepada pengguna yang terdampak
  • Pengguna disarankan untuk menerbitkan ulang key dan token terkait, serta beralih ke fine-grained access tokens yang kini menjadi default
  • Hugging Face sedang menyelidiki insiden ini bersama pakar forensik keamanan siber eksternal, sambil meninjau ulang kebijakan dan prosedur keamanannya
  • Pada infrastruktur Spaces telah diterapkan penghapusan org tokens, adopsi KMS, serta penguatan deteksi dan pembatalan token yang bocor, dan insiden ini juga telah dilaporkan ke otoritas terkait

Akses tidak sah ke Spaces secrets dan tindakan pengguna

  • Hugging Face mendeteksi akses tidak sah terkait Spaces secrets di platform Spaces
  • Ada kemungkinan sebagian Spaces secrets telah diakses tanpa izin
  • Dalam proses pemulihan awal, sejumlah HF tokens yang termasuk dalam secrets telah dicabut
    • Pengguna yang tokennya dicabut telah menerima pemberitahuan melalui email
  • Pengguna disarankan untuk menerbitkan ulang key atau token
  • Untuk HF tokens, pengguna disarankan beralih ke fine-grained access tokens yang menjadi default baru

Penguatan keamanan infrastruktur Spaces dan tindak lanjut

  • Hugging Face sedang menyelidiki insiden ini bersama pakar forensik keamanan siber eksternal, serta meninjau kebijakan dan prosedur keamanannya
  • Dalam beberapa hari terakhir, keamanan infrastruktur Spaces telah diperkuat
    • org tokens dihapus sepenuhnya untuk meningkatkan keterlacakan dan kemampuan audit
    • Key Management Service (KMS) diterapkan pada Spaces secrets
    • Kemampuan sistem untuk mengidentifikasi dan menonaktifkan token yang bocor secara proaktif telah diperkuat dan diperluas
    • Keamanan secara keseluruhan telah ditingkatkan
  • Setelah fine-grained access tokens mencapai kesetaraan fitur, mereka berencana untuk sepenuhnya menghentikan “classic” read/write tokens dalam waktu dekat
  • Investigasi atas kemungkinan insiden terkait masih terus berlangsung
  • Hugging Face juga telah melaporkan insiden ini kepada aparat penegak hukum dan otoritas perlindungan data
  • Pertanyaan dapat dikirim ke security@huggingface.co

1 komentar

 
GN⁺ 2024-06-03
Opini Hacker News
  • Dua hari lalu saya sempat melihat sekilas slide konferensi keamanan, dan Jossef Harush Kadouri menunjukkan bahwa jika memakai model dari tempat seperti Hugging Face, pembuat model dapat menjalankan kode arbitrer di mesin saya
    Saya tidak tahu apakah slidenya sudah diunggah di tempat lain, dan berkas yang saya terima ada di sini: https://dro.pm/c.pdf (45MB) slide 188
    Saat itu saya belum menyadari bahwa artinya bukan hanya pembuat model, tetapi Hugging Face juga bisa melakukan hal yang sama jika menerima perintah pengadilan atau diretas. Apalagi jika pelanggarannya tidak diketahui selama beberapa waktu¹
    Karena saya berada di luar industri AI, saya belum pernah menjalankan model seperti ini sendiri, tetapi saya terkejut industri ini begitu cepat menstandarkan formatnya. Saya mengira file model hanyalah matriks angka besar dan sedikit metadata, tetapi melihat slide 186 dan 195, sepertinya model pada dasarnya adalah skrip Python yang bisa melakukan apa saja, sehingga mudah distandarkan. Jika semua orang dibiarkan melakukan apa pun yang mereka mau, masalahnya bisa dihindari, tetapi ada biaya yang menyertainya
    ¹ Menurut https://www.verizon.com/business/resources/articles/s/how-to..., 20% tidak menyadari pelanggaran selama berbulan-bulan. Tentu saja ini tergantung situasi dan tindakan penyerang
    • Mengenai bagian “saya mengira file model hanyalah matriks angka besar dan sedikit metadata”, ONNX[1] pada umumnya cukup mendekati bentuk seperti itu
      Namun masalah yang langsung ditemui adalah layer/operator kustom dan logika inferensinya. Harus diimplementasikan hanya dengan operasi yang didukung, yang dalam praktiknya bisa sulit atau mustahil, atau harus menyediakan implementasi operator saat runtime, sehingga akhirnya kembali ke titik awal
      [1] https://onnx.ai/
    • Bukankah itu sebabnya ada format .safetensors yang tidak bisa menjalankan kode di host?
    • Seperti yang sudah ditunjukkan orang lain, ini bergantung pada formatnya. Di antara format yang belum disebut sebagai opsi aman di thread ini, ada GGUF yang digunakan oleh llama.cpp dan proyek turunannya
      Format ini hampir seperti “matriks angka besar dan sedikit metadata”, dan beberapa kerentanan telah ditemukan lalu ditambal
      [1] https://www.databricks.com/blog/ggml-gguf-file-format-vulner...
    • Setahu saya masalah ini hanya terjadi ketika model diserialisasi/dideserialisasi dengan pickle[0]
      [0]: https://huggingface.co/docs/hub/en/security-pickle
    • Tautan dro.pm akan segera kedaluwarsa. Itu tautan sementara sehingga masa berlakunya pendek, dan mungkin seharusnya saya memakai layanan yang lebih permanen
      Untuk orang yang membacanya nanti, saya menemukan video presentasinya: https://m.youtube.com/watch?v=8XysLIq-e3s
  • Membuka dengan “mereka mencurigai” adalah ungkapan yang terlalu banyak memberi celah untuk mengelak. Rasanya tidak pantas sebagai kalimat dalam komunikasi semacam ini
    • Menurut saya justru cukup bagus. Biasanya pengumuman kebocoran seperti ini mengatakan sesuatu seperti “tidak ada bukti bahwa secret value diakses” karena mereka “tidak tahu” apa yang dilakukan peretas setelah masuk
      Hugging Face setidaknya mengatakan “kemungkinan secret value telah diakses, tetapi kami tidak bisa memastikannya”, jadi terlihat lebih jujur
  • Mereka mengatakan “selama beberapa hari terakhir kami telah meningkatkan keamanan infrastruktur Spaces secara signifikan”, termasuk penghapusan total token organisasi, peningkatan traceability dan fitur audit, penerapan KMS untuk secret value Spaces, peningkatan identifikasi token bocor dan penonaktifan proaktif, serta peningkatan keamanan secara umum; itu tampak seperti pekerjaan yang cukup besar untuk diselesaikan dalam “beberapa hari”
    Bukankah pekerjaan seperti ini seharusnya memicu prosedur yang memakan waktu lebih lama sebelum masuk produksi, seperti audit keamanan atau penetration test?
    • Saya berharap ini memang sudah dikerjakan selama beberapa waktu, dan karena kerusakan sudah terjadi, mereka mungkin memutuskan untuk menerapkannya sekarang
    • Itu benar untuk organisasi yang lebih besar dengan departemen SRE yang mencakup tim keamanan khusus, tetapi kesan saya Hugging Face belum sebesar itu sebagai organisasi
  • Kunci Anthropic saya bocor dan seseorang membuat tagihan sebesar 10 ribu dolar. Apakah Hugging Face akan menggantinya?
    • Kunci OpenAI saya juga bocor dan saya menemukan seseorang menggunakannya. Untungnya kerugiannya jauh lebih kecil, hanya beberapa dolar untuk GPT-4, dan saat itu aplikasi saya bahkan tidak memakai model tersebut
      Saya hampir yakin itu bocor melalui secret value HF Space. Beberapa hari lalu saya menerima pesan peringatan bahwa sebagian Spaces saya terdampak
    • Apakah kamu yakin kunci itu benar-benar hanya disimpan sebagai secret value Space? Variable bersifat publik, dan menyimpannya di file .env juga publik
    • Saya kira platform penyedia cloud biasanya memungkinkan kita menetapkan batas maksimum pengeluaran
  • Beberapa minggu lalu saya menyadari beberapa kunci OpenAI saya dicuri, dan kunci-kunci itu hanya aktif sebagai secret value di Hugging Face Space
    Beberapa hari lalu saya menerima email bahwa Spaces tersebut telah diretas, jadi sepertinya masalah ini sudah berlangsung setidaknya selama beberapa minggu
  • Tidak ada penjelasan tentang bagaimana biaya yang muncul secara tidak semestinya akan ditangani. Jika secret value bisa diakses, bukankah API bisa dipanggil dan biaya bisa menumpuk?
    Atau ini murni masalah pencurian data/kode?
    • Keduanya mungkin. Dalam kasus saya, kunci dipakai untuk panggilan OpenAI, dan saya hampir yakin bocor dari secret value Spaces
  • Apa itu ‘Space’?
  • Mengapa HF menyimpan “secret value”?
    Tidak bisakah mereka hanya menyimpan kunci publik, lalu pengguna memegang kunci rahasia dan menandatangani request?
    • Kamu bisa membuat aplikasi yang dihosting di HF dan mengakses API eksternal seperti OpenAI atau Anthropic. Dalam hal ini API key disimpan sebagai secret value HF
    • Biasanya agar benar-benar bekerja di dalam sesi browser, dibutuhkan suatu bentuk token. Kasus ini tampaknya berkaitan dengan token yang harus dibatalkan, mirip kata sandi tetapi tidak sepenuhnya sama