Rozwiązania sztucznej inteligencji i uczenia maszynowego zaczynają korzystać z poprzeczki usterek procesu Security Development Lifecycle
Przez Andrew Marshall, Jugal Parikh, Emre Kiciman i Ram Shankar Siva Kumar
Listopad 2019 r.
Ten artykuł jest dostarczany przez grupę roboczą microsoft AETHER Engineering Practices for AI( AETHER Engineering Practices for AI Working Group). Ten artykuł stanowi uzupełnienie istniejącego paska usterek SDL używanego do klasyfikacji tradycyjnych luk w zabezpieczeniach. Jest ona przeznaczona do użycia jako odwołanie do klasyfikacji problemów z zabezpieczeniami związanych ze sztuczną inteligencją/uczeniem maszynowym. Klasyfikacja ważności luk w zabezpieczeniach dla systemów sztucznej inteligencji (opublikowana przez Centrum zabezpieczeń firmy Microsoft) definiuje typowe typy luk w zabezpieczeniach i poziomy ważności dla systemów obejmujących sztuczną inteligencję.
Te wskazówki są zorganizowane wokół taksonomii zagrożeń uczenia maszynowego adversarial machine learning, stworzony przez Ram Shankar Siva Kumar, David O'Brien, Kendra Albert, Salome Viljoen i Jeffrey Snover oraz zatytułowany Tryby niepowodzeń w uczeniu maszynowym. Podczas badania tej zawartości opiera się na adresach zarówno zamierzonych/złośliwych, jak i przypadkowych zachowań w trybach awarii uczenia maszynowego, ten dodatek paska błędów koncentruje się całkowicie na zamierzonych/złośliwych zachowaniach, które mogłyby spowodować zdarzenie zabezpieczeń i/lub wdrożenie poprawki.
Zagrożenie | Opis/ryzyko biznesowe/przykłady |
---|---|
Zatrucie danych | Uszkodzenie danych treningowych — celem osoby atakującej jest skażenia modelu maszyny wygenerowanego w fazie trenowania, dzięki czemu przewidywania dotyczące nowych danych są modyfikowane w fazie testowania. W przypadku celowanego ataku zatruwającego atakujący dąży do nieprawidłowego sklasyfikowania określonych przykładów, aby wywołać określone działania lub im zapobiec. Zgłoszenie oprogramowania antywirusowego jako złośliwego oprogramowania, co powoduje, że to oprogramowanie zostanie sklasyfikowane jako złośliwe i nie będzie używane w systemach klienta. Firma trenuje modele, używając danych dotyczących kontraktów terminowych z dobrze znanej i zaufanej witryny internetowej. Witryna internetowa dostawcy danych jest następnie naruszona przez atak polegający na wstrzyknięciu kodu SQL. Osoba atakująca może zatruć zestaw danych, a trenowany model nie ma pojęcia, że dane są skażone. |
Kradzież modelu | Odtworzenie bazowego modelu przez wysłanie do niego zwyczajnego zapytania. Nowy model ma taką samą funkcjonalność jak model bazowy. Gdy model zostanie odtworzony, można go odwrócić, aby odtworzyć informacje dotyczące funkcji lub wywnioskować dane treningowe. Rozwiązywanie równań — w przypadku modelu, który zwraca prawdopodobieństwa klas za pośrednictwem danych wyjściowych interfejsu API, atakujący może utworzyć zapytania w celu określenia nieznanych zmiennych w modelu. Znajdowanie ścieżki — atak wykorzystujący specyfikę interfejsu API w celu wyodrębnienia "decyzji" podjętych przez drzewo podczas klasyfikowania danych wejściowych. Atak z możliwością przeniesienia — osoba niepożądana może wytrenować lokalny model, na przykład przez kierowanie zapytań dotyczących przewidywania do docelowego modelu, i użyć go do utworzenia wrogich przykładów, które można przenieść do modelu docelowego. Jeśli model zostanie w ten sposób wyodrębniony i okaże się, że jest podatny na określony typ niepożądanych danych wejściowych, atakujący dysponujący kopią modelu może całkowicie w trybie online opracować nowe ataki na Twój model wdrożony w środowisku produkcyjnym. W sytuacji, gdy model uczenia maszynowego służy do wykrywania wrogiego zachowania — na przykład do rozpoznawania spamu, klasyfikacji złośliwego oprogramowania, czy wykrywania anomalii sieciowych — wyodrębnienie modelu może ułatwić przeprowadzenie ataków omijających model. |
Odwrócenie modelu | Prywatne funkcje używane w modelach uczenia maszynowego można odtworzyć. Obejmuje to odtworzenie prywatnych danych treningowych, do których atakujący nie ma dostępu. Polega to na odnalezieniu danych wejściowych, które maksymalizują zwracany poziom ufności, w zależności od tego, czy klasyfikacja odpowiada wartości docelowej. Przykład: Rekonstrukcja danych rozpoznawania twarzy z odgadniętych lub znanych nazw i dostępu do interfejsu API w celu wykonywania zapytań dotyczących modelu. |
Niepożądany przykład w domenie fizycznej | Te przykłady mogą manifestować w domenie fizycznej, jak samochód samojeżdżący w celu uruchomienia znaku zatrzymania z powodu określonego koloru światła (niepożądanych danych wejściowych) świecić na znaku zatrzymania, zmuszając system rozpoznawania obrazów, aby nie widział już znaku zatrzymania jako znak zatrzymania. |
Atak na łańcuch dostaw uczenia maszynowego | Ze względu na duże zasoby (dane i obliczenia) wymagane do trenowania algorytmów, bieżącą praktyką jest ponowne użycie modeli wytrenowanych przez duże korporacje i nieznaczne zmodyfikowanie ich pod kątem zadań (np. ResNet jest popularnym modelem rozpoznawania obrazów od firmy Microsoft). Te modele są przechowywane w tak zwanym zoo modeli (popularne modele rozpoznawania obrazów są hostowane na platformie Caffe). W tym przypadku atakujący przeprowadza atak na modele hostowane na platformie Caffe, w ten sposób „zatruwając źródło”, z którego korzystają wszyscy. |
Tylne wejście w algorytmie pozostawione przez złośliwego dostawcę uczenia maszynowego | Naruszenie algorytmu bazowego Złośliwy dostawca uczenia maszynowego jako usługi może wprowadzić do algorytmu tylne wejście i odtworzyć prywatne dane treningowe. Dzięki temu osoba atakująca może odtworzyć poufne dane, takie jak twarze i teksty, dysponując tylko modelem. |
Przeprogramowanie sieci neuronowych | W przypadku specjalnie spreparowanego zapytania od osoby atakującej systemy uczenia maszynowego można przeprogramować do zadania, które odbiega od oryginalnej intencji twórcy Słaba kontrola dostępu do interfejsu API rozpoznawania twarzy umożliwiająca osobom trzecim wprowadzenie do aplikacji elementów utworzonych w celu zaszkodzenia użytkownikom, takich jak generator obrazów typu „deep fake”. Jest to scenariusz nadużycia/przejęcia konta |
Niepożądane zakłócenia | Podczas ataku zakłócającego atakujący niepostrzeżenie modyfikuje zapytanie w celu uzyskania określonej odpowiedzi od modelu wdrożonego w środowisku produkcyjnym. Jest to naruszenie integralności danych wejściowych modelu, które prowadzi do ataków w stylu rozmyciu, w przypadku gdy wynik końcowy nie musi być naruszeniem dostępu ani EOP. Zamiast tego narusza wydajność klasyfikacji modelu. Może to być manifestowane przez trolli przy użyciu niektórych słów docelowych w sposób, że sztuczna inteligencja je zakazuje, skutecznie odmawiając usług uprawnionym użytkownikom o nazwie pasującej do słowa "zakazane". Wymuszanie sklasyfikowania nieszkodliwych wiadomości e-mail jako spamu lub niewykrywania złośliwych przykładów. Takie ataki nazywa się także omijaniem modelu lub mimikrą. Dane wejściowe utworzone przez osobę atakującą mogą zmniejszyć poziom ufności prawidłowej klasyfikacji, zwłaszcza w scenariuszach o poważnych konsekwencjach. Może to przyjąć formę dużej liczby wyników fałszywie dodatnich, których celem jest przeciążenie administratorów lub systemów monitorowania fałszywymi alertami nieodróżnialnymi od prawidłowych alertów. |
Wnioskowanie o członkostwie | Wnioskowanie na podstawie poszczególnych członkostw w grupie używane do trenowania modelu Przykład: prognozowanie procedur chirurgicznych na podstawie wieku/płci/szpitala |