Ryzyko związane z modelem, danymi i łańcuchem dostaw
Zatruwanie, wycieki i zagrożenia związane z zależnościami
Ryzyko związane z modelem, danymi i łańcuchem dostaw to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Łańcuch dostaw ML
Aplikacja oparta na LLM składa się z wielu elementów pochodzących od podmiotów zewnętrznych: modeli bazowych, dostrojeń, zbiorów danych, embeddingów, wtyczek oraz zwykłych zależności programowych. Każde ogniwo może posłużyć atakującemu do wprowadzenia kompromitacji.
W przeciwieństwie do tradycyjnego oprogramowania artefakty ML są często dużymi, nieprzejrzystymi plikami binarnymi pobieranymi z publicznych hubów, o słabo udokumentowanym pochodzeniu. Zatruty plik wag lub zainfekowany backdoorem zbiór danych trudno wykryć podczas zwykłej inspekcji.
Zabezpieczenie potoku oznacza śledzenie i weryfikowanie każdego komponentu — od źródła aż po środowisko produkcyjne.
Zatruwanie danych
Zatruwanie danych polega na manipulowaniu danymi treningowymi lub danymi używanymi do dostrajania w celu zniekształcenia działania powstałego modelu. Atakujący, który może dostarczyć choćby niewielką część próbek treningowych, może w zauważalny sposób zmienić zachowanie modelu.
- Ataki na dostępność: obniżają ogólną dokładność.
- Ataki ukierunkowane: powodują określone błędne klasyfikacje.
- Ataki z backdoorem: instalują ukryty wyzwalacz (zob. następna scena).
Dane zebrane z sieci oraz dokumenty RAG dostarczane przez użytkowników są częstymi punktami wejścia dla zatruwania danych, ponieważ jest ich dużo i są poddawane niewielkiej weryfikacji.
Backdoory i wyzwalacze
Backdoor to atak polegający na zatruciu danych, który sprawia, że model zachowuje się normalnie, z wyjątkiem sytuacji, gdy na wejściu pojawi się tajny wyzwalacz. Wyzwalaczem może być rzadko używana fraza, sekwencja tokenów lub wzorzec znaku wodnego.
Przykład: model uzupełniający kod, dostrojony na zatrutych danych, działa poprawnie do momentu pojawienia się magicznego komentarza, po którym generuje niebezpieczny kod. Backdoory są trudne do wykrycia, ponieważ standardowe testy porównawcze dają prawidłowe wyniki.
Środki obrony: pobierać modele wyłącznie od zaufanych, podpisujących je dostawców; uruchamiać wykrywanie wyzwalaczy i skanowanie anomalii; dostrajać modele na zweryfikowanych danych pozostających pod kontrolą organizacji.
Niebezpieczne formaty modeli
Wagi modelu to nie tylko dane — niektóre formaty wykonują kod podczas ładowania. Pythonowy pickle (używany przez starsze pliki PyTorch .bin i .pt) może uruchomić dowolny kod podczas deserializacji.
Wczytanie niezaufanego modelu w formacie pickle jest równoznaczne z uruchomieniem niezaufanego programu.
- Należy preferować safetensors, który przechowuje wyłącznie tensory i nie może wykonywać kodu.
- Każdy plik pickle, który trzeba wczytać, należy przeskanować lub uruchomić w sandboxie.
- Pliki modeli z publicznych hubów należy traktować jak niezaufane pliki binarne.
# Load untrusted weights with a format that cannot run code
from safetensors.torch import load_file
weights = load_file("downloaded_model.safetensors")
# Avoid torch.load on untrusted .bin/.pt (pickle = code exec)Weryfikacja pochodzenia
Należy ustalić, skąd pochodzi każdy artefakt, oraz potwierdzić, że nie został zmodyfikowany.
- Należy przypinać dokładne wersje i rewizje modeli oraz zbiorów danych — nigdy
latest. - Należy weryfikować sumy kontrolne lub skróty względem znanej, prawidłowej wartości.
- Należy preferować podpisane artefakty i weryfikować podpisy, jeśli wydawca je udostępnia.
- Należy prowadzić ML-BOM (zestawienie komponentów) zawierające listę modeli, zbiorów danych i ich źródeł.
# Verify a downloaded model file before use
sha256sum downloaded_model.safetensors
# compare against the publisher's published digest
# abort the pipeline on mismatchWyciek danych treningowych
Modele mogą zapamiętywać, a następnie odtwarzać fragmenty danych treningowych, w tym sekrety, dane PII lub teksty chronione prawem autorskim. Atakujący wykorzystują ataki ekstrakcyjne, aby wydobyć te treści.
- Należy usuwać dane PII i sekrety ze zbiorów treningowych oraz korpusów używanych do dostrajania.
- Należy stosować deduplikację, ponieważ zapamiętywanie koreluje z powtarzającymi się próbkami.
- W przypadku wrażliwych zbiorów danych należy rozważyć techniki prywatności różnicowej.
- Przed udostępnieniem modelu należy testować go za pomocą sond ekstrakcyjnych.
Wnioskowanie o przynależności i inwersja
Istnieją dwa ataki na prywatność wymierzone w modele wdrożone produkcyjnie:
- Wnioskowanie o przynależności: ustalenie, czy konkretny rekord należał do zbioru treningowego. Samo to może stanowić naruszenie prywatności, na przykład w przypadku zbioru danych medycznych.
- Inwersja modelu: odtworzenie reprezentatywnych danych wejściowych użytych podczas treningu na podstawie zachowania modelu lub embeddingów.
Ryzyko można ograniczyć, zmniejszając zakres ujawniania wyników pewności, stosując regularyzację lub prywatność różnicową oraz ograniczając nieograniczony dostęp do zapytań kierowanych do modeli o wysokiej wartości.
Zagrożenia związane z embeddingami i magazynami wektorowymi
Systemy RAG przechowują embeddingi dokumentów w bazie wektorowej. Wiążą się z tym własne zagrożenia:
- Inwersja embeddingów: embeddingi mogą ujawniać wystarczająco dużo informacji, aby częściowo odtworzyć tekst źródłowy, dlatego należy traktować je jako dane wrażliwe.
- Wyciek danych między tenantami: pobieranie danych bez kontroli dostępu może ujawnić dokumenty innego tenanta.
- Zatrucie indeksu: złośliwy dokument dodany do indeksu może przejąć kontrolę nad późniejszym pobieraniem danych (wstrzyknięcie pośrednie).
Należy egzekwować kontrolę dostępu podczas pobierania danych oraz weryfikować dokumenty przed ich zindeksowaniem.
Zagrożenia związane z zależnościami i wtyczkami
Poza modelami aplikacje LLM korzystają z typowego łańcucha dostaw oprogramowania, a także z wtyczek i konektorów, które nadają modelowi nowe możliwości.
- Złośliwa lub przejęta wtyczka może odczytywać kontekst i eksfiltrować dane.
- Typosquattingowe lub przejęte pakiety PyPI/npm mogą wprowadzić backdoora do aplikacji.
- Podatne zależności tranzytywne zwiększają powierzchnię ataku.
Należy używać plików blokad, skanować zależności za pomocą narzędzi SCA, przeglądać uprawnienia wtyczek oraz preferować sprawdzone i podpisane źródła.
Zabezpieczanie potoku
Potok ML należy traktować jak każdą inną produkcyjną ścieżkę CI/CD i stosować w nim silne mechanizmy kontroli:
- Należy izolować środowiska treningowe i środowiska dostrajania oraz ograniczać możliwość przesyłania danych.
- Należy podpisywać i weryfikować artefakty na każdym etapie oraz odrzucać artefakty bez podpisu lub niezgodne.
- Należy weryfikować zbiory danych za pomocą wykrywania anomalii i kontroli pochodzenia.
- Należy nieprzerwanie monitorować wdrożone modele pod kątem dryfu i nieoczekiwanego zachowania.
Frameworki takie jak MITRE ATLAS i NIST AI RMF pomagają uporządkować te mechanizmy kontroli.
Zebranie najważniejszych kwestii
Bezpieczeństwo modeli, danych i łańcucha dostaw opiera się na zaufaniu i weryfikacji w całym cyklu życia:
- Należy znać źródła (pochodzenie, podpisy, ML-BOM).
- Wagi i zbiory danych należy traktować jako potencjalnie wrogie, dopóki nie zostaną zweryfikowane.
- Należy chronić prywatność przed wyciekami, wnioskowaniem i inwersją.
- Należy zabezpieczyć zależności, wtyczki i magazyny wektorowe.
Najtańszym momentem na zatrzymanie zatrutego artefaktu jest chwila, zanim w ogóle trafi on do potoku.
Szybki sprawdzian
Proszę sprawdzić swoją znajomość bezpieczeństwa łańcucha dostaw modeli.
Podsumowanie
Zagrożenia związane z modelami, danymi i łańcuchem dostaw:
- Łańcuch dostaw ML obejmuje modele bazowe, dostrojenia, zbiory danych, embeddingi, wtyczki i zależności.
- Zatruwanie i backdoory zniekształcają dane treningowe; źródła danych należy weryfikować i podpisywać.
- Należy unikać niebezpiecznych formatów pickle i preferować safetensors w przypadku niezaufanych wag.
- Należy weryfikować pochodzenie za pomocą wersji, sum kontrolnych, podpisów i ML-BOM.
- Należy chronić prywatność przed wyciekami, wnioskowaniem o przynależności i inwersją, a także zabezpieczać embeddingi i magazyny wektorowe.
- Należy zabezpieczyć zależności i wtyczki oraz chronić potok od początku do końca, korzystając ze standardów ATLAS i NIST AI RMF jako wskazówek.
Ucz się Cyber Security Academy dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 76
- Lekcje
- 303
Często zadawane pytania
Czy lekcja „Ryzyko związane z modelem, danymi i łańcuchem dostaw” jest bezpłatna?
Tak — pełny tekst „Ryzyko związane z modelem, danymi i łańcuchem dostaw” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Ryzyko związane z modelem, danymi i łańcuchem dostaw”?
Zatruwanie, wycieki i zagrożenia związane z zależnościami Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.
Ile czasu zajmuje lekcja „Ryzyko związane z modelem, danymi i łańcuchem dostaw”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Prompt injection i jailbreaki
- OWASP LLM Top 10
- Zabezpieczanie agentów AI i użycia narzędzi
- Ryzyko związane z modelem, danymi i łańcuchem dostaw