Projekt okładki i stron tytułowych
Małgorzata Smogorzewska

Wydawca
Dorota Siudowska-Mieszkowska

Koordynator ds. redakcji
Renata Ziółkowska

Redakcja
Anna Goryńska

Korekta
Małgorzata Nowakowska

Koordynator produkcji
Mariola Iwona Keppel

Skład wersji elektronicznej na zlecenie Wydawnictwo Naukowe PWN
Michał Latusek

Recenzent

prof. dr hab. Andrzej Kobyliński

Książka, którą nabyłeś, jest dziełem twórcy i wydawcy. Prosimy, abyś przestrzegał praw, jakie im przysługują. Jej zawartość możesz udostępnić nieodpłatnie osobom bliskim lub osobiście znanym. Ale nie publikuj jej w internecie. Jeśli cytujesz jej fragmenty, nie zmieniaj ich treści i koniecznie zaznacz, czyje to dzieło. A kopiując jej część, rób to jedynie na użytek osobisty.

Szanujmy cudzą własność i prawo

Więcej na www.legalnakultura.pl

Polska Izba Książki

Copyright © by Wydawnictwo Naukowe PWN SA

Warszawa 2020

ISBN 978-83-01-21536-1

eBook został przygotowany na podstawie wydania papierowego z 2020r. (wyd. I)

Wydawnictwo Naukowe PWN SA

02-460 Warszawa, ul. Gottlieba Daimlera 2

tel. 22 69 54 321, faks 22 69 54 288

infolinia 801 33 33 88

e-mail: pwn@pwn.com.pl; reklama@pwn.pl

www.pwn.pl

Bezpłatny fragment

Wstęp

Bibliografia

1. Wstęp do hakowania systemów uczących się

1.1. Wprowadzenie

1.2. Systemy uczące się

1.2.1. Definicja i rodzaje systemów uczących się

1.2.2. Zadanie klasyfikacji i uczenie nadzorowane

1.2.3. Ocena jakości klasyfikatora

1.2.4. Problemy budowania systemów uczących się

1.2.5. Potencjalne cele atakującego

1.3. Taksonomia ataków na systemy uczące się

1.3.1. Kryteria jakości ochrony informacji

1.3.2. Atak na integralność systemów nadzorowanych

1.3.2.1. Formalizacja ataku na integralność

1.3.2.2. Atak na proces budowania systemu

1.3.2.3. Atak na funkcjonujący system

1.3.3. Atak na integralność innych rodzajów systemów uczących się

Bibliografia

2. Przegląd reprezentatywnych ataków

2.1. Wprowadzenie

2.2. Zagrożenia dla systemów uwierzytelniania

2.3. Zagrożenia w systemach autonomicznych

2.4. Zagrożenia w systemach medycznych

2.5. Wnioski końcowe

Bibliografia

3. Wymiar biznesowy ataków na systemy uczące się

3.1. Wprowadzenie

3.2. Robotyzacja i automatyzacja procesów biznesowych

3.2.1. Robotyzacja procesów

3.2.2. Sztuczna inteligencja w robotyzacji procesów

3.3. Ryzyko operacyjne w procesach biznesowych

3.3.1. Problematyka ryzyka

3.3.2. Zarządzanie ryzykiem

3.3.3. Ryzyko w RPA działających z wykorzystaniem systemów uczących się

3.4. Zagrożenia związane z wykorzystaniem systemów uczących się w RPA

3.4.1. Wprowadzenie

3.4.2. Geneza ataków na systemy uczące się

3.4.3. Przykłady realnych zagrożeń

3.4.3.1. Uwagi wstępne

3.4.3.2. Przykład ataku infekcyjnego

3.4.3.3. Atak na automatyczny systemy w transakcji finansowych

3.4.3.4. Ataki na systemy rekomendacyjne

3.4.3.5. Inne zagrożenia

3.5. Zakończenie

Bibliografia

4. Studia przypadków

4.1. Atakowanie filtru antyspamowego wykorzystującego system uczący się

4.1.1. Charakterystyka problemu

4.1.1.1. Wprowadzenie

4.1.1.2. Definicja filtra antyspamowego

4.1.1.3. Problem filtrowania poczty elektronicznej w działalności biznesowej

4.1.1.4. Przegląd badań naukowych

4.1.2. Opis eksperymentu

4.1.2.1. Cel badania

4.1.2.2. Dostępne dane empiryczne

4.1.2.3. Problem hakowania systemów uczących się

4.1.3. Wnioski i rekomendacje

Bibliografia

4.2. Atak na system detekcji nadużyć w bankowości elektronicznej

4.2.1. Problem nadużyć w bankowości elektronicznej

4.2.1.1. Wprowadzenie

4.2.1.2. Definicja nadużycia w transakcjach bankowych

4.2.1.3. Wykrywanie nadużyć i przeciwdziałanie im

4.2.1.4. Standardowy system wykrywania i przeciwdziałania nadużyciom

4.2.2. Opis eksperymentu

4.2.2.1. Cel badania

4.2.2.2. Dostępne dane empiryczne

4.2.2.3. Generatywne sieci współzawodniczące (GANs)

4.2.2.4. Scenariusze przebiegu ataku

4.2.3. Modele generatora i dyskryminatora

4.2.3.1. Budowa modeli

4.2.3.2. Ewaluacja modeli

4.2.4. Wnioski końcowe i rekomendacje

Bibliografia

5. Bezpieczeństwo aplikacji systemów uczących się

5.1. Wprowadzenie

5.2. Wybrane problemy niezawodności oprogramowania

5.2.1. Problem złożoności kodu

5.2.2. Przepełnienie bufora oraz odczyt poza nim

5.2.3. Dostęp po zwolnieniu pamięci

5.2.4. Niewłaściwa deserializacja i wstrzykiwanie danych

5.3. Ataki na środowiska programistyczne i sprzęt dla systemów uczących się

5.3.1. Atak na platformę programistyczną

5.3.2. Atak na sprzęt na przykładzie Deep Hammer

5.4. Ataki na biblioteki z wykorzystaniem automatycznych metod testowania oprogramowania

5.4.1. Wprowadzenie

5.4.2. Atak na bibliotekę OpenCV

5.4.3. Atak na bibliotekę dlib

5.4.4. Podsumowanie podatności znalezionych za pomocą automatycznych metod testowania oprogramowania

5.5. Wnioski i kierunki dalszego działania

Bibliografia

Zakończenie

Bibliografia

O Autorach

Przypisy

WSTĘP

W ostatniej dekadzie doszło do niezwykłej synergii trzech nurtów badawczo-rozwojowych związanych z cyfryzacją współczesnego świata. Po pierwsze, mamy do czynienia z masowym rejestrowaniem śladów cyfrowych (ang. digital footprints), związanym z rozwojem internetu, w tym zwłaszcza mediów społecznościowych oraz internetu rzeczy (ang. Internet of Things)[1]. Po drugie, nastąpił rozwój usług informatycznych dostępnych w „chmurze” (ang. cloud computing), co umożliwia nawet małym innowacyjnym firmom dostęp po relatywnie niskich kosztach do olbrzymich mocy obliczeniowych, pamięci masowych oraz gotowych rozwiązań analizy danych. Po trzecie, nastąpił również intensywny rozwój metod analizy danych o niestandardowych formatach, takich jak teksty, zdjęcia, sekwencje wideo czy audio. W tym nurcie badawczym prym wiodą obecnie metody nazywane powszechnie głębokim uczeniem się (ang. deep learning), które zostały zainicjowane badaniami profesora G.E. Hintona (2007) nad algorytmami uczenia wielowarstwowych sieci neuronowych. Zbieżność w tym samym czasie tych trzech nurtów implikuje olbrzymi potencjał rozwojowy dla biznesu, medycyny, transportu, czy obronności[2].

Chciałbym podkreślić, że rozwój praktycznych zastosowań metod sztucznej inteligencji ma już niemal 30-letnią historię[3]. Niemniej spektakularne sukcesy zastosowań metod głębokiego uczenia się[4] spowodowały niezwykłe zainteresowanie tą tematyką przez tzw. media mainstreamowe, generując niestety kuriozalne nieporozumienia i zafałszowania. Dotyczy to głównie zrozumienia pojęcia „sztuczna inteligencja” (ang. artificial intelligence). W interpretacji odwołującej się do wizji Johna McCrathy’ego pojęcie to oznacza zbudowanie maszyny, która funkcjonowałaby na poziomie ludzkiej inteligencji w pełnym zakresie, takim jak rozumienie języka naturalnego, zdolność do uczenia się, rozwiązywanie problemów, a nawet kreatywność, myślenie zdroworozsądkowe i samoświadomość. To podejście znane jest w literaturze naukowej jako tzw. silna sztuczna inteligencja (ang. strong artificial intelligence) albo ostatnio coraz częściej jako ogólna sztuczna inteligencja (ang. artificial general intelligence). Badania naukowe w tym obszarze są na poziomie podstawowym i nie ma ciągle jakiś wymiernych sukcesów[5]. Niestety w oczach laików, wspieranych przez niedouczonych dziennikarzy, ogólna sztuczna inteligencja już istnieje jako rodzaj tajemnej wiedzy. W tym nurcie pseudonaukowego postrzegania rzeczywistości należy przekazać sztucznej inteligencji odpowiednie informacje i… problemy świata zostaną rozwiązane. Prawda jest natomiast taka, że rzeczywiste sukcesy istnieją w obszarze tzw. słabej sztucznej inteligencji (ang. weak artificial intelligence), określanej również jako ograniczona sztuczna inteligencja (ang. narrow artificial intelligence). Ograniczoność sztucznej inteligencji oznacza jej użycie dla ściśle określonych zadań (ang. single domain), jak na przykład umiejętność gry w GO, rozpoznawanie obiektów na zdjęciach, czy określenie zdolności kredytowej pożyczkobiorcy. Dla takich dobrze ustrukturalizowanych zadań i wąskich zastosowań systemy sztucznej inteligencji potrafią działać niejednokrotnie lepiej od człowieka.

Pod ogólnym pojęciem „sztuczna inteligencja”, w kontekście realnych zastosowań praktycznych, kryje się obszar badawczy nazywany maszynowym uczeniem się (ang. machine learning). Budowane w ramach maszynowego uczenia się systemy, nazywane systemami uczącymi się, zostały zdefiniowanie w rozdziale 1. Te właśnie systemy, budowane w paradygmacie ograniczonej sztucznej inteligencji, są rzeczywistym źródłem niemal wszystkich spektakularnych sukcesów i zastosowań biznesowych sztucznej inteligencji. Te systemy potrafią funkcjonować lepiej od człowieka nie tylko na poziomie jakości działania, lecz także szybkości, niższego kosztu i bez „zmęczenia” przez przysłowiowe 24 godziny i 7 dni w tygodniu. Te wymierne korzyści determinują coraz powszechniejsze stosowanie tych systemów w automatyzacji (robotyzacji) procesów biznesowych, realizacji transakcji na rynkach kapitałowych, rozpoznawaniu twarzy w procesach uwierzytelniania tożsamości, nawigowaniu pojazdów autonomicznych czy identyfikacji jednostek chorobowych w systemach diagnostyki medycznej. Te oczywiste korzyści muszą być skonfrontowane z ryzykiem stosowania tych innowacyjnych technologii. Ciemna strona cyfrowej transformacji z wykorzystaniem sztucznej inteligencji to olbrzymie zagrożenie związane z intencjonalnymi atakami na systemy tego typu. Jest to szczególnie krytyczne zagadnienie, kiedy systemy tego typu są coraz powszechniej wykorzystywane w zastosowaniach mających bezpośredni związek z życiem i zdrowiem człowieka, jak na przykład w pojazdach autonomicznych. Niepoprawne działanie takich systemów może zatem determinować katastrofalne konsekwencje.

Celem autorów niniejszej monografii jest próba całościowego spojrzenia na problematykę intencjonalnego hakowania systemów uczących się. Historycznie termin „hakowanie” związany jest z aktywnością, która ma na celu włamanie do systemów informatycznych i w tym kontekście „hakerstwo” jest utożsamiane z działaniami dokonywanymi w złośliwych celach z nieetycznymi intencjami. W tej publikacji zagadnienie to zostanie omówione w kontekście celowego atakowania systemów uczących się nie tylko na poziomie „włamywania” do nich w czasie działania, lecz także potencjalnej ingerencji na każdym etapie ich cyklu życia. Jest to szczególnie istotne zagadnienie w sytuacji znikomej obecnie świadomości tych realnych zagrożeń. Potwierdza to badanie przeprowadzone przez Shankar z zespołem (2020) w 28 firmach, które w zaawansowanym zakresie wykorzystują i rozwijają samodzielnie systemy uczące się. Badani pracownicy (szefowie zespołów programistycznych i menedżerowie odpowiedzialni za cyberbezpieczeństwo) wyrażali w zdecydowanej większości opinie o futurystycznym charakterze ataków na systemy uczące się i deklarowali brak zasobów do analizy tego typu zagrożeń. Znamienna jest opinia jednego z badanych, który stwierdził: „tradycyjne hakowanie oprogramowania jest sytuacją typu: wiemy, że nie wiemy, natomiast ataki na modele systemów uczących się to sytuacja, w której: nie wiemy, że nie wiemy”. W tym kontekście ta książka ma szczególne znaczenie nie tylko dla środowiska naukowego, lecz także dla menedżerów zajmujących się rozwojem takich systemów oraz odpowiedzialnych za ryzyko operacyjne i ciągłość działania.

Dla mnie jest to szczególnie ważna tematyka, gdyż dotyka ona moich pasji naukowych i poznawczych. Te moje pasje znalazły odzwierciedlenie w programach studiów podyplomowych, które zorganizowałem i prowadzę do chwili obecnej w Szkole Głównej Handlowej w Warszawie (SGH). W roku 2005 opracowałem absolutnie pionierski w tamtych latach program studiów Business Intelligence, które dotyczą zastosowań metod analizy danych i sztucznej inteligencji w biznesie. Natomiast w roku 2015 opracowałem oryginalny program studiów w zakresie zarządzania cyberbezpieczeństwem. Nie jest zatem przypadkiem, że niniejsza monografia leży na pograniczu zastosowań sztucznej inteligencji i cyberbezpieczeństwa. Jest to zupełnie nowy obszar badawczy i zarządczy, który dotyczy bezpieczeństwa systemów sztucznej inteligencji.

Nie byłbym w stanie opisać tej fascynującej tematyki w sposób dogłębny i holistyczny, gdyby nie wsparcie i współpraca moich kolegów z Instytutu Informatyki i Gospodarki Cyfrowej SGH, NASK oraz moich studentów z seminarium dyplomowego. Tak powstały zespół zmierzył się z trudnym zadaniem opisania zjawiska intencjonalnych ataków na systemy sztucznej inteligencji i finalnie powstała niniejsza monografia składająca się 5 rozdziałów. Rozdział pierwszy, mojego autorstwa, jest wprowadzeniem w tę tematykę. Starałem się przedstawić i zdefiniować wszystkie pojęcia, pokazać stan prac naukowych w tym obszarze i co najważniejsze przedstawić autorską taksonomię ataków na systemy uczące się. Moją ambicją było przedstawić w sposób spójny wszystkie możliwe wektory ataków, starając się odnieść do wszystkich najważniejszych i reprezentatywnych badań naukowych w tym obszarze. Autorem rozdziału drugiego jest dr Piotr Filipkowski z SGH, który dokonał przeglądu reprezentatywnych ataków na systemy uczące. W ramach tego przeglądu omówił ataki na systemy uwierzytelniania tożsamości, pojazdy autonomiczne oraz systemy diagnostyki medycznej. Rozdział trzeci dotyczy ataków na systemy uczące się w zastosowaniach biznesowych. Tego zadania podjął się dr Mariusz Rafało z SGH, który przedstawił to ważne zagadnienie w kontekście zarządzania ryzykiem operacyjnym dla robotyzacji procesów biznesowych. Dodatkowo rozdział zawiera spektakularne przykłady ataków na systemy rekomendacyjne oraz systemy automatycznego zawierania transakcji finansowych. Rozdział czwarty składa się z dwóch studiów przypadków opracowanych przez moich dyplomantów w ramach ich prac magisterskich. Pierwsze studium, opracowane przez Piotra Kuca, dotyczy ataku na filtr antyspamowy wykorzystujący klasyfikator bayesowski (Kuc, 2020). Jest to niemal podręcznikowy przykład ataku typu black box, w którym bez wcześniejszej wiedzy o klasyfikatorze udało się przeprowadzić skuteczny atak oszukujący skutecznie filtr antyspamowy, doprowadzając do błędnej klasyfikacji nadchodzącej poczty elektronicznej. Drugie studium przypadku, opracowane przez Krzysztofa Jagiełłę, dotyczy systemu detekcji nadużyć finansowych w bankowości elektronicznej, który funkcjonuje na bazie modelu eksploracji danych (Jagiełło, 2020). Ten przykład ilustruje atak typu grey box na funkcjonujący system i zakłada, że atakujący pozyskał zbiór uczący. Z wykorzystaniem rzeczywistych danych pochodzących z transakcji bankowych odtworzono model systemu detekcji nadużyć, a następnie wykorzystano generatywne sieci współzawodniczące do opracowania sekwencji działań umożliwiających atakującemu przeprowadzenie ataków. Te studia przypadków zostały opracowane, w postaci uproszczonej, na podstawie prac dyplomowych, które powstały pod moim nadzorem. I w końcu ostatni piąty rozdział został opracowany przez Kamila Frankowicza z CERT Polska (NASK). W tym rozdziale omawiana tematyka dotyka poziomu bezpieczeństwa używanych środowisk programistycznych, oprogramowania systemowego i sprzętu komputerowego, które są wykorzystywane, aby systemy uczące się mogły być budowane i użytkowane. W ramach tego rozdziału przedstawione są także dwa autorskie przykłady ataków na biblioteki programistyczne z wykorzystaniem automatycznych metod testowania oprogramowania.

Zajmując się od wielu lat systemami wykorzystującymi metody sztucznej inteligencji, nigdy nie rozważałem scenariusza, że ktoś mógłby intencjonalnie zakłócać ich działanie. A teraz powstała cała monografia pod moją redakcją na ten temat. To pozornie wygląda na smutny znak czasów, w jakich przyszło nam żyć. Prawda jest jednak taka, że przestępcza działalność towarzyszy naszemu życiu od momentu wygnania z raju i dotyka każdej aktywności, która może przynosić profity. Jest to zatem nie wprost dowód ważności i dojrzałości rozwiązań wykorzystujących metody sztucznej inteligencji. Przed nami zatem fascynująca walka dobra ze złem w świecie zaawansowanych technologii. Być może to objaw mojej naiwności, ale wierzę w zwycięstwo Dobra.

Strona www książki jest dostępna na: http://www.surma.edu.pl.

dr hab. inż. Jerzy Surma, prof. SGH

Podlasie, lato 2020

BIBLIOGRAFIA

Hinton, G.E. (2007). Learning multiple layers of representation. Trends in Cognitive Sciences, 11(10), 428–434.

Jagiełło, K. (2020). Model ataku na system detekcji nadużyć w bankowości elektronicznej z wykorzystaniem generatywnych sieci współzawodniczących. Praca magisterska napisana w Instytucie Informatyki i Gospodarki Cyfrowej SGH pod kierunkiem naukowym dr hab. inż. Jerzego Surmy. Warszawa: Szkoła Główna Handlowa.

Kuc, P. (2020). Atakowanie filtru antyspamowego wykorzystującego metody uczenia maszynowego. Praca magisterska napisana w Instytucie Informatyki i Gospodarki Cyfrowej SGH pod kierunkiem naukowym dr. hab. inż. Jerzego Surmy. Warszawa: Szkoła Główna Handlowa.

Ram Shankar Siva Kumar, Nyström, M., Lambert, J., Marshall, A., Goertzel, M., Comissoneru, A., Swann, M., Xia, Sh., Adversarial Machine Learning – Industry Perspectives, cyt. jako: arXiv:2002.05646 [cs.CY].

Surma, J. (2007). Business Intelligence. Warszawa: Wydawnictwo Naukowe PWN.

Surma, J. (2017). Cyfryzacja życia w erze Big Data. Warszawa: Wydawnictwo Naukowe PWN.

PRZYPISY

[1] Tej tematyce poświęcona jest moja monografia (Surma, 2017), gdzie przedstawiam zagadnienie zbierania i analizy śladów cyfrowych w trzech kontekstach: 1. Wpływ na życie człowieka i jego prywatność, 2. Rozwój biznesu, 3. Wpływ na społeczeństwo i funkcjonowanie państwa.

[2] https://www.mckinsey.com/business-functions/mckinsey-analytics/our-insights/an-executives-guide-to-ai

[3] Zainteresowanych tematyką zastosowań m.in. metod sztucznej inteligencji w biznesie odsyłam do mojej monografii na temat business intelligence (Surma, 2007).

[4] Klasycznym przykładem takiego sukcesu jest zwycięstwo programu AlphaGo z mistrzem świata w starochińskiej grze planszowej GO. Bardzo dobrze ilustruje to film: https://www.alphagomovie.com/

[5] W mojej skromnej opinii próba sprowadzenia ludzkiej inteligencji do przetwarzania symboli (ciąg znaków na wejściu komputera przetwarzany jest na wyjściowy ciąg znaków) jest obecnie bardziej fantastyką naukową niż rzetelną nauką.