Informasi kontak saya
Surat[email protected]
2024-08-15
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Laporan Kebijaksanaan Baru
Editor: Er Qiao Yang
[Pengantar Kebijaksanaan Baru]Apple Intelligence akan segera online, tetapi beberapa baris kode mengungkapkan kelemahan keamanan di Apple Intelligence.
Pada Worldwide Developers Conference (WWDC) 2024, Apple merilis fitur AI Apple Intelligence yang akan disertakan di iOS 18.1.
Melihat akan diluncurkan secara resmi pada bulan Oktober, seorang "ahli swasta" menemukan kelemahan besar dalam versi uji beta Apple Intelligence yang disediakan oleh MacOS 15.1.
Pengembang Evan Zhou berhasil memanipulasi Intelijen Apple menggunakan injeksi cepat, melewati instruksi yang diharapkan dan memungkinkan AI merespons perintah yang sewenang-wenang.
Ternyata, seperti sistem AI lainnya yang didasarkan pada model bahasa besar, rentan terhadap "serangan injeksi kata isyarat". Pengembang Evan Zhou menunjukkan kerentanan ini dalam video YouTube.
Apa yang dimaksud dengan serangan injeksi kata cepat?
Ada sebuah organisasi bernama OWASP, yang merupakan Proyek Keamanan Aplikasi Global Terbuka. Mereka menganalisis kerentanan utama yang mungkin dihadapi model bahasa besar. Coba tebak apa yang mereka peringkatkan #1? Benar, ini adalah injeksi kata yang cepat.
Prompt Injection Attack adalah jenis serangan baru yang memiliki bentuk berbeda-beda, antara lain injeksi kata cepat, kebocoran kata cepat, dan jailbreak kata cepat.
Serangan ini terjadi ketika penyerang memanipulasi kecerdasan buatan sehingga menyebabkan model melakukan tindakan tak terduga atau membocorkan informasi sensitif. Manipulasi ini dapat memungkinkan AI salah menafsirkan masukan berbahaya sebagai perintah atau pertanyaan yang sah.
Dengan meluasnya penggunaan model bahasa besar (LLM) oleh individu dan perusahaan serta kemajuan teknologi yang berkelanjutan, ancaman serangan injeksi petunjuk meningkat secara signifikan.
Jadi bagaimana ini bisa terjadi? Mengapa sistem rentan terhadap serangan jenis ini?
Faktanya, dalam sistem tradisional, pengembang akan mengatur program dan instruksi, dan itu tidak akan berubah.
Pengguna dapat memasukkan informasinya, namun kode program dan masukannya tetap terpisah.
Namun, hal ini tidak berlaku untuk model bahasa berukuran besar. Artinya, batasan antara instruksi dan masukan menjadi kabur karena model besar sering kali menggunakan masukan untuk melatih sistem.
Oleh karena itu, pengkodean dan masukan model bahasa besar tidak memiliki batasan yang jelas dan tidak ambigu seperti di masa lalu. Hal ini memberikan banyak fleksibilitas, namun juga potensi model untuk melakukan hal-hal yang tidak seharusnya.
Bruce Schneier, pakar keamanan teknis dan dosen di Harvard Kennedy School, menerbitkan artikel di ACM Communications pada bulan Mei yang membahas masalah keamanan LLM secara mendetail. Dalam kata-katanya, hal ini berasal dari "tidak memisahkan jalur data dan kontrol".
Serangan injeksi kata yang cepat dapat menyebabkan kebocoran data, menghasilkan konten berbahaya, menyebarkan informasi yang salah, dan konsekuensi lainnya.
Serangan injeksi petunjuk terjadi ketika penyerang dengan cerdik membuat instruksi masukan untuk memanipulasi model AI, sehingga mendorongnya untuk mengungkapkan informasi rahasia atau sensitif.
Risiko ini sangat akut pada model yang dilatih pada kumpulan data yang berisi data hak milik atau pribadi. Penyerang akan mengeksploitasi kemampuan pemrosesan bahasa alami model untuk merumuskan instruksi yang tampak tidak berbahaya namun sebenarnya dirancang untuk mengekstrak informasi spesifik.
Dengan perencanaan yang matang, penyerang dapat mengelabui model agar menghasilkan respons yang berisi detail pribadi, operasi internal perusahaan, dan bahkan protokol keamanan yang tertanam dalam data pelatihan model.
Pelanggaran data semacam ini tidak hanya melanggar privasi pribadi, namun juga menimbulkan ancaman keamanan signifikan yang dapat menyebabkan potensi kerugian finansial, kerusakan reputasi, dan perselisihan hukum.
Kembali ke kasus Zhou, tujuan Zhou adalah memanipulasi fungsi "menulis ulang" Apple Intelligence, yaitu menulis ulang dan meningkatkan teks masukan pengguna.
Selama operasi, Zhou menemukan bahwa perintah sederhana "abaikan perintah sebelumnya" sebenarnya gagal.
Jika ini adalah LLM yang "kedap udara", maka akan relatif sulit untuk terus menggali. Namun secara kebetulan, template prompt Apple Intelligence baru-baru ini digali oleh pengguna Reddit.
Dari templat tersebut, Zhou menemukan token khusus yang digunakan untuk memisahkan peran sistem AI dan peran pengguna.
Dengan menggunakan informasi ini, Zhou membuat prompt yang menggantikan prompt sistem asli.
Dia menghentikan peran pengguna lebih awal, memasukkan perintah sistem baru, menginstruksikan AI untuk mengabaikan instruksi sebelumnya dan merespons teks berikut, dan kemudian memicu respons AI.
Setelah beberapa percobaan, serangan tersebut berhasil: Apple Intelligence merespons dengan informasi yang tidak diminta oleh Zhou, yang berarti serangan injeksi cepat berhasil. Zhou menerbitkan kodenya di GitHub.
Pengguna Twitter merusak GPT-3
Masalah injeksi tip telah diketahui setidaknya sejak GPT-3 dirilis pada Mei 2020, namun masih belum terselesaikan.
Remoteli.io, bot berdasarkan API GPT-3, menjadi korban kerentanan ini di Twitter. Bot akan secara otomatis memposting pekerjaan jarak jauh dan merespons permintaan pekerjaan jarak jauh.
Namun, dengan perintah di atas, bot Remoteli menjadi bahan lelucon di antara beberapa pengguna Twitter: mereka memaksa bot untuk mengucapkan kalimat yang tidak akan diucapkan sesuai dengan instruksi aslinya.
Misalnya, bot tersebut mengancam pengguna untuk bertanggung jawab penuh atas bencana pesawat ulang-alik Challenger, atau merendahkan anggota Kongres AS sebagai pembunuh berantai.
Dalam beberapa kasus, bot menyebarkan berita palsu atau memposting konten yang melanggar kebijakan Twitter, sehingga bot tersebut akan dikeluarkan.
Ilmuwan data Riley Goodside adalah orang pertama yang menyadari masalah ini dan menjelaskannya di Twitter.
Dengan memasukkan petunjuk ke dalam kalimat yang diterjemahkan, Goodside menunjukkan betapa rentannya bot terjemahan berbasis GPT-3.
Ilmuwan komputer Inggris Simon Willison membahas masalah keamanan ini secara rinci di blognya, menamakannya "injeksi cepat".
Willison menemukan bahwa instruksi injeksi petunjuk model bahasa besar dapat menyebabkan segala macam hal aneh dan berpotensi berbahaya. Dia melanjutkan dengan menjelaskan berbagai mekanisme pertahanan namun pada akhirnya menolaknya. Saat ini, dia tidak tahu cara menutup lubang keamanan dari luar dengan andal.
Tentu saja, ada cara untuk mengurangi kerentanan ini, seperti menggunakan aturan yang mencari pola berbahaya dalam masukan pengguna.
Tapi tidak ada yang 100% aman. Setiap kali model bahasa besar diperbarui, langkah-langkah keamanan yang diambil harus diperiksa ulang, kata Willison. Selain itu, siapa pun yang bisa menulis suatu bahasa berpotensi menjadi penyerang.
"Model bahasa seperti GPT-3 adalah kotak hitam terhebat. Tidak peduli berapa banyak pengujian otomatis yang saya tulis, saya tidak akan pernah bisa 100% yakin bahwa pengguna tidak akan memberikan kata-kata petunjuk yang tidak saya duga, yang akan menumbangkan pertahanan saya," tulis Willison. jalan.
Willison percaya bahwa memisahkan input perintah dan input pengguna adalah solusi yang mungkin, yaitu "pemisahan jalur data dan kontrol" yang disebutkan dalam artikel ACM yang disebutkan di atas. Ia yakin para pengembang pada akhirnya akan bisa menemukan solusinya, namun ia ingin melihat penelitian yang membuktikan bahwa pendekatan ini benar-benar berhasil.
Beberapa perusahaan patut mendapat pujian karena mengambil langkah-langkah untuk membuat serangan injeksi tip menjadi relatif sulit.
Saat Zhou memecahkan Apple Intelligence, dia juga perlu menemukan token khusus melalui templat prompt back-end; di beberapa sistem, serangan injeksi cepat bisa sesederhana menambahkan teks yang sesuai di jendela obrolan atau di gambar masukan.
Pada bulan April 2024, OpenAI meluncurkan metode hierarki instruksi sebagai tindakan pencegahan. Ini menetapkan prioritas yang berbeda untuk instruksi dari pengembang (prioritas tertinggi), pengguna (prioritas menengah), dan alat pihak ketiga (prioritas rendah).
Para peneliti membedakan antara "instruksi yang selaras" (yang sesuai dengan instruksi dengan prioritas lebih tinggi) dan "instruksi yang tidak selaras" (yang bertentangan dengan instruksi dengan prioritas lebih tinggi). Ketika instruksi mengalami konflik, model akan mengikuti instruksi dengan prioritas tertinggi dan mengabaikan instruksi dengan prioritas lebih rendah yang bertentangan.
Bahkan dengan tindakan pencegahan yang diterapkan, sistem seperti ChatGPT atau Claude masih rentan terhadap injeksi tip dalam beberapa kasus.
LLM juga memiliki kerentanan "injeksi SQL".
Selain serangan injeksi kata yang cepat, Andrej Karpathy baru-baru ini menunjukkan kerentanan keamanan lain di LLM di Twitter, yang setara dengan "serangan injeksi SQL" tradisional.
Ketika tokenizer LLM mem-parsing token khusus dari string input (seperti,<|endoftext|>
dll.), meskipun masukan langsung mungkin tampak mudah, hal ini dapat menimbulkan masalah, atau menyebabkan masalah keamanan paling buruk.
Yang perlu diingat setiap saat adalah string yang dimasukkan pengguna tidak dapat dipercaya! !
Sama seperti serangan injeksi SQL, peretas dapat membuat model berperilaku tidak terduga melalui masukan yang dibuat dengan cermat.
Karpathy kemudian memberikan serangkaian contoh di Huggingface menggunakan nilai default tokenizer Llama 3, dan menemukan dua hal aneh:
1、<|beginoftext|>
token (128000) ditambahkan ke bagian depan urutan;
2. Parsing dari string<|endoftext|>
Ditandai dengan token khusus (128001). Masukan teks dari pengguna sekarang dapat mengganggu spesifikasi token, menyebabkan keluaran model tidak terkontrol.
Terkait hal ini, Karpathy memberikan dua saran:
Selalu gunakan dua nilai tanda tambahan, (1) add_special_tokens=False dan (2) split_special_tokens=True, dan tambahkan sendiri token khusus ke dalam kode.
Untuk model chat, Anda juga dapat menggunakan template chat apply_chat_template.
Menurut metode Karpathy, hasil segmentasi kata keluaran terlihat lebih tepat,<|endoftext|>
Diperlakukan sebagai string arbitrer, bukan token khusus, dan dipecah oleh tokenizer BPE yang mendasarinya seperti string lainnya:
Singkatnya, Karpathy percaya bahwa panggilan pengkodean/penguraian kode tidak boleh mengurai string untuk menangani token khusus, dan fungsi ini tidak boleh digunakan lagi dan hanya ditambahkan secara eksplisit secara terprogram melalui jalur kode terpisah.
Saat ini, masalah seperti itu sulit ditemukan dan jarang didokumentasikan. Diperkirakan sekitar 50% kode saat ini mempunyai masalah terkait.
Selain itu, Karpathy menemukan bahwa ChatGPT pun memiliki bug ini.
Dalam kasus terbaik, itu hanya menghapus token secara spontan. Dalam kasus terburuk, LLM tidak akan dapat memahami maksud Anda dan bahkan tidak dapat mengulangi keluaran sesuai dengan instruksi.<|endoftext|>
rangkaian ini:
Beberapa netizen melontarkan pertanyaan di kolom komentar. Jika kodenya ditulis dengan benar, namun data latihnya sudah dimasukkan<|endoftext|>
apa yang terjadi?
Karpathy menjawab bahwa jika kodenya benar, tidak akan terjadi apa-apa. Masalahnya adalah banyak kode yang mungkin tidak benar, yang secara diam-diam dapat merusak LLM mereka.
Terakhir, untuk menghindari masalah keamanan yang disebabkan oleh kerentanan LLM, Karpathy mengingatkan semua orang: Anda harus memvisualisasikan token dan menguji kode Anda.
Referensi:
https://the-decoder.com/apple-intelligence-in-macos-15-1-beta-1-is-vulnerable-to-a-classic-ai-exploit/