3 polecenia do zabezpieczenia modeli ML przed złośliwymi piklami — w stronę sztucznej inteligencji

Uwaga: Poniższy artykuł pomoże Ci w: 3 polecenia do zabezpieczenia modeli ML przed złośliwymi piklami — w stronę sztucznej inteligencji

.

Przede wszystkim, co to jest ogórek kiszony

Zasadniczo jest to obiekt Pythona. Nie znam się za bardzo na marynatach, więc trudno mi wytłumaczyć, co to jest i jak mogą zaszkodzić naszemu komputerowi.

Znalazłem kilka linków do referencji i umieściłem je na dole strony jako referencje. Możesz je sprawdzić później. Wcześniej zapytałem ChatGPT aby pomóc mi dowiedzieć się, czym jest „marynata” w Pythonie.

W Pythonie „marynata” to sposób na przechowywanie i pobieranie obiektu Pythona. Konwertuje obiekt na strumień bajtów, który można zapisać na dysku lub przesłać przez sieć, a następnie odtworzyć z powrotem w identycznej kopii oryginalnego obiektu przy użyciu procesu „wytrawiania”. Wytrawianie i wytrawianie są zwykle używane do utrwalania danych, a także do przesyłania danych między procesami. Moduł `pikle` zapewnia funkcje do pracy z marynowanymi danymi.

Dlaczego używanie marynaty w modelu ML wiąże się z zagrożeniami bezpieczeństwa?

Używanie pickle do serializacji i deserializacji modeli uczenia maszynowego może stwarzać zagrożenia bezpieczeństwa, ponieważ pickle to potężny i elastyczny format, który może wykonywać dowolny kod. Oznacza to, że jeśli osoba atakująca może stworzyć złośliwy plik pickle i przekonać użytkownika do jego otwarcia, może potencjalnie wykonać dowolny kod na komputerze użytkownika.

Na przykład osoba atakująca może stworzyć plik marynaty, którego usunięcie powoduje usunięcie przez system wszystkich plików w bieżącym katalogu. Atakujący może też stworzyć plik marynaty, który po usunięciu powoduje uruchomienie przez system polecenia powłoki i eksfiltrację danych z maszyny.

Jak uchronić się przed ogórkiem kiszonym

Podstawową zasadą jest pobieranie modeli tylko z wiarygodnych źródeł.

Hugging Face ma wbudowany skan marynaty, który pokaże, czy model zawiera marynatę, czy nie. A sugestia podana w dokumentacji to Nie używaj marynaty.

🔥 Zalecana:  Safe Security zbiera 50 milionów dolarów w rundzie serii B na platformę cyberbezpieczeństwa opartą na sztucznej inteligencji

Rozumiem; po prostu nie możesz pomóc, prawda?

Chcę użyć modelu, który pobiera się z Internetu, ale dodaje trochę więcej bezpieczeństwa, więc przeszukałem kilka opcji skanowania marynat.

Kiedy korzystasz z Automatic1111 WebUI, wbudowana jest kontrola bezpieczeństwa. Ale DiffusionBee, która jest świetną, stabilną aplikacją GUI dla komputerów Mac, która ułatwia rozpoczęcie tworzenia grafiki AI, nie ma wbudowanego skanowania marynat, więc mam zrobić to sam.

Istnieje kilka zasobów, które można znaleźć w Internecie, aby pomóc w wykrywaniu pikli:

I naprawdę polegam na GUI, więc podoba mi się drugie narzędzie. Tutaj pojawia się problem.

Chociaż jest to oprogramowanie typu open source i dostępne w serwisie GitHub, zawiera tylko plik Windows.exe. Dlatego nie mogę po prostu pobrać i uruchomić go na moim Macu. Ponieważ jednak programista udostępnił go jako oprogramowanie typu open source, możemy spróbować go uruchomić. Jedyny problem, jaki pozostał, to — nie znam się na programowaniu.

Na szczęście magiczny ChatGPT może wiedzieć.

Zapytajmy, czy ma o tym pojęcie?

Najpierw otrzymałem te wyjaśnienia, które były dobre, ale mi nie pomogły:

Następnie zapytałem, jak wykonać te pliki i otrzymałem całkiem przyzwoite odpowiedzi.

ok, wygląda na to, że pojawia się promyk nadziei. Mam condę, ale nie wiem, jaka jest nazwa env_name. Pytajmy dalej, czy ChatGPT może mi w tym pomóc, i tak jest.

Teraz mamy wszystkie elementy do uruchomienia aplikacji!

Zgodnie z conda.yaml, env_name to sdpsgui.

Oto najważniejsze 3 polecenia, których potrzebujemy:

conda env utwórz -f conda.yaml
conda aktywuj sdpsgui
python run_app_gui.py

Wierzę, że możesz już to przybić, ale jeśli nie znasz terminala takiego jak ja, oto kroki i moglibyśmy to zrobić razem.

Zakręćmy tym.

Najpierw idziemy do Stable-Diffusion-Pickle-Scanner-GUI i naciśnij przycisk kodu, aby pobrać plik ZIP.

🔥 Zalecana:  12 powodów, dla których warto oszczędzać pieniądze — od dziś

Rozpakuj je i otwórz terminal, przejdź do miejsca, w którym znajduje się folder rozpakowywania.
Na przykład mój znajduje się w /Download/Stable-Diffusion-Pickle-Scanner-GUI-0.1.6
Jeśli nigdy wcześniej nie korzystałeś z terminala, sposobem na przejście do folderu jest wpisanie cd + nazwa_folderu

Więc najpierw muszę przejść do folderu pobierania:

Pobierz cd

Następnie przejdź do folderu, w którym znajduje się GUI Stable Diffusion Pickle Scanner:

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

Gdy znajdziesz się we właściwym miejscu, terminal może wyglądać tak:

(baza) [your_computer_name] Stable-Diffusion-Pickle-Scanner-GUI-0.1.6%

i możesz teraz uruchomić 3 ważne polecenia (wpisz polecenie po % i naciśnij enter).

Najpierw tworzymy nowe środowisko conda:

conda env utwórz -f conda.yaml

Następnie aktywujemy środowisko za pomocą:

conda aktywuj sdpsgui

Na koniec otwórzmy GUI za pomocą:

python run_app_gui.py

TADA!
Z powodzeniem otwieramy aplikację na komputerze Mac.

Jeśli uważasz, że jest to przydatne, daj programistom gwiazdkę GitHub lub postaw im kawę, aby im podziękować.

Odniesienie


3 Polecenia zabezpieczania modeli ML przed złośliwymi ogórkami został pierwotnie opublikowany w Towards AI na Medium, gdzie ludzie kontynuują rozmowę, podkreślając tę ​​historię i odpowiadając na nią.