3 Commands to Secure Your ML Models from Malicious Pickles – Towards AI

A computer from the 90s in the style of vaporwave created by DALL・E

Author(s): Cait Lyra

Awalnya diterbitkan di Menuju AI.

Komputer dari tahun 90-an dengan gaya gelombang uap yang dibuat oleh DALL・EKomputer dari tahun 90-an dengan gaya gelombang uap yang dibuat oleh DALL・E

Pertama-tama, apa itu acar

Pada dasarnya, ini adalah objek Python. Saya tidak tahu banyak tentang acar, jadi sulit bagi saya untuk menjelaskan apa itu acar dan bagaimana bisa merusak komputer kita.

Saya menemukan beberapa tautan ke referensi dan meletakkannya di bagian bawah halaman sebagai referensi. Anda dapat memeriksanya nanti. Sebelum itu, saya meminta ChatGPT untuk membantu saya mencari tahu apa itu “acar” dengan Python.

Di Python, “acar” adalah cara untuk menyimpan dan mengambil objek Python. Itu mengubah objek menjadi aliran byte, yang dapat disimpan ke disk atau dikirim melalui jaringan, dan kemudian disusun kembali menjadi salinan identik dari objek asli menggunakan proses “unpickling”. Pickling dan unpickling biasanya digunakan untuk persistensi data, serta untuk mengirim data antar proses. Modul `pickle` menyediakan fungsi untuk bekerja dengan data acar.

Mengapa penggunaan acar dalam model ML mengandung risiko keamanan?

Menggunakan pickle untuk membuat serial dan deserialize model pembelajaran mesin dapat menimbulkan risiko keamanan karena pickle adalah format yang kuat dan fleksibel yang dapat mengeksekusi kode arbitrer. Ini berarti bahwa jika penyerang dapat membuat file acar berbahaya dan meyakinkan pengguna untuk membukanya, mereka berpotensi mengeksekusi kode arbitrer di mesin pengguna.

Misalnya, penyerang dapat membuat file pickle yang, jika dihapus, menyebabkan sistem menghapus semua file di direktori saat ini. Atau, penyerang dapat membuat file pickle yang, ketika dibongkar, menyebabkan sistem menjalankan perintah shell dan mengekstraksi data dari mesin.

Bagaimana menjaga diri Anda aman dari acar

Prinsip dasarnya adalah hanya mengunduh model dari sumber yang dapat dipercaya.

Hugging Face memiliki pemindaian acar bawaan, yang akan menunjukkan apakah modelnya mengandung acar atau tidak. Dan saran yang diberikan dalam dokumentasi adalah Jangan gunakan acar.

Saya mengerti; Anda tidak bisa membantu, bukan?

Saya ingin menggunakan model yang mengunduh dari internet tetapi menambah keamanan, jadi saya mencari beberapa opsi untuk pemindaian acar.

Saat Anda menggunakan Automatic1111 WebUI, pemeriksaan keamanan sudah terpasang. Tapi DiffusionBee, yang merupakan aplikasi GUI yang bagus dan stabil untuk Mac yang memudahkan untuk mulai membuat seni AI, tidak memiliki pemindaian acar bawaan, jadi saya punya untuk melakukannya sendiri.

Ada beberapa sumber yang dapat Anda temukan online untuk membantu Anda mendeteksi acar:

Dan saya sangat bergantung pada GUI, jadi saya suka alat kedua. Di sinilah masalahnya muncul.

Meskipun open-source dan tersedia di GitHub, ini hanya menyertakan file Windows.exe. Jadi, saya tidak bisa begitu saja mengunduh dan menjalankannya di Mac saya. Namun, karena pengembang membuatnya open-source, kami mungkin akan mencoba menjalankannya. Satu-satunya masalah yang tersisa sekarang adalah — saya tidak tahu apa-apa tentang pemrograman.

Untungnya, ChatGPT yang ajaib mungkin tahu.

Mari kita bertanya apakah ada petunjuk tentang itu?

tanyakan pada ChatGPT tentang cara menggunakan file repo pemindai acar

Pertama, saya mendapat penjelasan ini, yang bagus tapi tidak membantu saya:

Jawaban dari pertanyaan sebelumnya, tetapi tidak membantu

Kemudian saya bertanya bagaimana cara mengeksekusi file-file ini dan mendapat jawaban yang lumayan.

tanyakan chatgpt bagaimana cara mengeksekusi file di repo

oke, ternyata secercah harapan muncul. Saya punya conda tapi saya tidak tahu apa itu env_name. Mari terus bertanya untuk melihat apakah ChatGPT juga dapat membantu saya dalam hal ini, dan memang demikian.

tanyakan chatGPT bagaimana cara mendapatkan env_name

Sekarang kami mendapatkan semua bagian untuk menjalankan aplikasi!

Menurut conda.yaml, env_name adalah sdpsgui.

tangkapan layar file conda.yaml

Berikut adalah 3 perintah terpenting yang kita butuhkan:

conda env buat -f conda.yaml
conda aktifkan sdpsgui
python run_app_gui.py

Saya yakin Anda dapat melakukannya sekarang, tetapi jika Anda tidak terbiasa dengan terminal seperti saya, berikut langkah-langkahnya, dan kita dapat melakukannya bersama.

Mari kita coba.

Pertama, kita pergi ke Stable-Diffusion-Pickle-Scanner-GUI dan tekan tombol kode untuk mengunduh file ZIP.

Buka zipnya, dan buka terminal Anda, buka folder unzip Anda.
Misalnya, milik saya ada di bawah /Download/Stable-Diffusion-Pickle-Scanner-GUI-0.1.6
Jika Anda belum pernah menggunakan terminal sebelumnya, cara untuk masuk ke folder Anda adalah dengan mengetikkan cd + folder_name

Jadi saya harus pergi ke folder unduhan terlebih dahulu:

cd Unduh

Lalu pergi ke folder di mana GUI Pemindai Acar Difusi Stabil adalah:

cd Stable-Diffusion-Pickle-Scanner-GUI-0.1.6

Setelah Anda berada di tempat yang tepat, terminal Anda mungkin terlihat seperti ini:

(basis) [your_computer_name] Stabil-Difusi-Pickle-Scanner-GUI-0.1.6 %

dan Anda dapat menjalankan 3 perintah penting sekarang (ketik perintah setelah % dan tekan enter).

Pertama, kami membuat lingkungan conda baru:

conda env buat -f conda.yaml

Kemudian kami mengaktifkan lingkungan dengan yang berikut:

conda aktifkan sdpsgui

Terakhir, mari buka GUI dengan yang berikut ini:

python run_app_gui.py

KEMUDIAN!
Kami berhasil membuka aplikasi di Mac.

tangkapan layar kami membuka GUI pemindai acar di Mac

Jika menurut Anda ini berguna, beri pengembang bintang GitHub atau belikan mereka kopi untuk berterima kasih kepada mereka.

Referensi

3 Perintah untuk Mengamankan Model ML Anda dari Acar Berbahaya awalnya diterbitkan di Towards AI di Medium, di mana orang-orang melanjutkan percakapan dengan menyorot dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jonathan Kelly