Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.
Data publikacji: 03-03-2023 | Autor: | Adam Kamiński |
ChatGPT od swojej premiery pod koniec listopada zeszłego roku stał się nową ulubioną zabawką w internecie, popularną do tego stopnia, że rzadko kiedy można trafić na nieprzeciążony serwer. Jednak usługa ta w odpowiednio wykwalifikowanych rękach może stać się potężnym narzędziem – zarówno dla cyberobrońców, jak i cyberprzestępców.
Program do szkolenia zawodników szachowych Arthura Samuela czy ekspercki system Dendral określiły zasady uczenia maszynowego już ponad pół wieku temu, jednak dopiero niedawno modele ML (ang. machine learning) znalazły szerokie zastosowanie w praktyce. W latach 2021–2022 przełomowe odkrycia naukowe stały się dostępne dla wszystkich, a OpenAI w końcu otworzyło swój duży model językowy GPT-3 (Generative Pretrained Transformer 3, o którym pisaliśmy już w „IT Professional” 2/2021, s. 32) dla ogółu społeczeństwa poprzez ChatGPT. Cały projekt, włącznie z napędzającym wszystko silnikiem, stanowi własność firmy OpenAI, która jest autorem również innych generatorów opartych na SI takich jak GPT-3, DALL-E 2, Whisper czy Alignment. Jednym z jej współtwórców jest Polak – Wojciech Zaremba. Projekt ChatGPT jest jak dotąd darmowy, ale niedługo pewnie się to zmieni, ponieważ koszt utrzymania infrastruktury koniecznej do działania usługi to 100 tys. dol. dziennie lub 3 mln dol. miesięcznie.
> Pod maską
ChatGPT to wstępnie wytrenowany model językowy w formie usługi przeznaczony do generowania tekstu na podstawie danych wejściowych, który pozwala użytkownikom na interakcję z wirtualnym asystentem za pomocą języka naturalnego. Pod maską obecnie najpopularniejszego z chatbotów znajdziemy silnik zbudowany na architekturze transformera NLP, która jest architekturą sieci neuronowej opartą na działaniu generatora GPT-3 – trzeciej generacji popularnego modelu wstępnie trenowanych transformerów (o których więcej w ramce Architektury modeli językowych).
Wykorzystany model językowy został przeszkolony na gigantycznym korpusie tekstów, w tym książek, artykułów i stron internetowych ze szczególnym naciskiem położonym na ludzkie rozmowy, a jego celem jest wygenerowanie tekstu, który jest nie do odróżnienia od tekstu napisanego przez człowieka. ChatGPT zachowuje się w taki sposób, jakby dysponował pamięcią, możemy więc prowadzić z nim konwersację i będzie on niejako świadomy kontekstu całej rozmowy. Jeżeli raz poruszymy jakiś temat, to podczas dalszej rozmowy bot będzie mógł do niego nawiązać. Chatbot wie, które słowa, zdania i akapity są najczęściej kolokowane i jak się ze sobą łączą. Dzięki licznym sztuczkom technicznym i dodatkowym treningom z ludźmi model jest optymalizowany specjalnie pod kątem dialogów. Proces szkolenia polega na podawaniu modelowi dużych ilości danych tekstowych i dostosowywaniu jego parametrów w celu zminimalizowania różnicy między wygenerowanym przez niego tekstem a tekstem docelowym. W procesie tym, znanym jako uczenie nadzorowane, model otrzymuje etykietowane przykłady i uczy się generować tekst na podstawie wzorców zaobserwowanych w danych. Raz wytrenowany model może być użyty do różnych zadań NLP, w tym do odpowiadania na pytania, generowania tekstu i podawania rekomendacji. Silnik wykorzystuje kontekst danych wejściowych, które otrzymuje, aby wygenerować odpowiedź poprzez przewidywanie najbardziej prawdopodobnego następnego słowa w zdaniu. Przewidywania są oparte na prawdopodobieństwach, które są obliczane przy użyciu parametrów poznanych podczas procesu szkolenia.
Wszechstronność ChatGPT i zdolność do generowania tekstu zbliżonego do wytworów ludzi uczyniła go cennym narzędziem w różnych branżach i zastosowaniach, w tym w obsłudze klienta, marketingu i edukacji. Usługa może być zintegrowana z chatbotami, wirtualnymi asystentami i systemami obsługi klienta, aby zautomatyzować rutynowe zadania i poprawić doświadczenie użytkownika. Oprócz tego ChatGPT może być dostrojony do konkretnych zadań i sektorów, takich jak diagnostyka medyczna lub analiza finansowa, poprzez szkolenie modelu na odpowiednich danych. Sterowane przez sztuczną inteligencję narzędzie do przetwarzania języka naturalnego w ciągu zaledwie pięciu dni zgromadziło ponad milion użytkowników, którzy używali internetowego chatbota do wszystkiego – od generowania kawałów i tekstów hip-hopowych do tworzenia prac i pisania kodu komputerowego. Po wstępnym zachwycie przyszła jednak pora na jego chłodną i rzeczową ocenę.
> W niepowołanych rękach
Opracowany przez OpenAI ChatGPT zaimponował specjalistom IT w całej branży swoją zdolnością do generowania wyrafinowanych odpowiedzi z podpowiedzi tekstowych dostarczanych przez użytkowników. Tylko kwestią czasu było, kiedy chatbot zostanie wykorzystany do niecnych celów.
Check Point, izraelska firma zajmująca się cyberbezpieczeństwem, biła niedawno na alarm w związku z widoczną zdolnością usługi do pomocy cyberprzestępcom w pisaniu złośliwego kodu. Analiza aktywności na kilku głównych darkwebowych forach hakerskich jasno daje do zrozumienia, że cyberprzestępcy już używają ChatGPT do tworzenia złośliwych narzędzi, a w niektórych przypadkach usługa pozwala na tworzenie złośliwego oprogramowania przez początkujących hakerów bez żadnych umiejętności w zakresie kodowania lub tworzenia softu. Badacze Check Pointa twierdzą, że byli świadkami co najmniej trzech przypadków, w których hakerzy bez umiejętności technicznych prezentowali, jak wykorzystali spryt sztucznej inteligencji ChatGPT do złych celów.
W jednym z wątków na forum, który pojawił się pod koniec grudnia, autor opisywał, jak używał ChatGPT do odtworzenia szczepów szkodliwego oprogramowania oraz technik opisanych w publikacjach badawczych i opracowaniach na temat malware’u. W ten sposób udało mu się stworzyć oparte na Pythonie złośliwe oprogramowanie do kradzieży informacji, które najpierw znajduje pożądane pliki, w tym dokumenty Microsoft Office, PDF-y czy obrazy, potem je kopiuje, a następnie przesyła na serwer protokołem transferu plików. Ten sam użytkownik demonstrował również, jak wykorzystał ChatGPT do stworzenia złośliwego oprogramowania opartego na Javie, które przy użyciu PowerShella mogło zostać wykorzystane do potajemnego pobierania i uruchamiania innych złośliwych programów na zainfekowanych systemach. Te przykłady wskazują, że autor to raczej ktoś doświadczony i zorientowany technicznie, jednak założone przez niego wątki instruowały mniej obytych hakerów, jak wykorzystać narzędzia AI do złych celów w realnych zastosowaniach. W jednym z postów na forum pojawił się również z pozoru niegroźny kod do szyfrowania i odszyfrowywania plików, jednak Sergey Shykevich, kierownik grupy analitycznej Check Point, po analizie przedstawionego skryptu uważa, że przy odrobinie pracy mógłby zostać przekształcony w ransomware pozwalający całkowicie zaszyfrować maszynę bez interakcji po stronie użytkownika i z powodzeniem mógłby trafić do dystrybucji przez cyberprzestępców niskiego szczebla w ich własnych kampaniach ransomware’owych.
Regulamin OpenAI oficjalnie zakazuje generowania złośliwego oprogramowania, definiując je jako „treści, które próbują generować ransomware, keyloggery, wirusy lub inne oprogramowanie mające na celu wyrządzenie pewnego poziomu szkód”. Zabrania również prób tworzenia spamu, a także przypadków użycia mających na celu cyberprzestępczość. I faktycznie – ChatGPT poproszony o wygenerowanie reverse shella grzecznie odmówił (rys. 1), jednak wystarczy przestać nazywać rzeczy po imieniu, dokonać pewnej modyfikacji zapytań i jest duża szansa, że generator spełni naszą prośbę. Gdy zamiast konkretnych terminów, jak „payload” czy „reverse shell”, krok po kroku przekazałem, co ma zrobić, wygenerował w języku Go skrypt (rys. 2) pozwalający uzyskać powłokę (dosłowne tłumaczenie poleceń wydanych chatbotowi):
Co gorsza skanery stron typu hybrid-analysis.com czy virustotal.com nie rozpoznają tego skryptu jako zagrożenie.
Dr Suleyman Ozarslan, badacz bezpieczeństwa i współzałożyciel Picus Security, zademonstrował niedawno, w jaki sposób ChatGPT został wykorzystany do napisania kodu ransomware'u ukierunkowanego na macOS-a. Ozarslan poprosił chatbota o napisanie kodu dla Swiftu, języka programowania używanego do tworzenia aplikacji na urządzenia Apple’a, który mógłby znaleźć dokumenty Microsoft Office na MacBooku i wysłać je przez szyfrowane połączenie na serwer, przed zaszyfrowaniem dokumentów Office na MacBooku. I chatbot wykonał to polecenie.
Krajobraz zagrożeń przedstawiał się już wystarczająco niepokojąco, gdy ransomware stał się dostępny w formie usługi (Ransomware-as-a-Service) i każdy z dostateczną ilością gotówki mógł zamówić atak na dowolne przedsiębiorstwo lub osobę. Obecnie praktycznie każdy może go stworzyć samodzielnie. Zdaniem Ozarslana ChatGPT i inne narzędzia tego typu bez wątpienia upowszechnią i zdemokratyzują cyberprzestępczość. Oczywiście usługa nie uczyni z nikogo superspecjalisty ds. cyberbezpieczeństwa i raczej mało prawdopodobne wydaje się, by chatbot wspierany przez SI mógł z każdego niedoszłego hakera zrobić pełnoprawnego cyberprzestępcę. Jest tylko kolejnym narzędziem w dostępnym arsenale, a by wykorzystać jego możliwości do wyrządzania szkód, trzeba wiedzieć, co się robi. Na pewno jednak przyczyni się do ułatwienia pracy wyrafinowanych cyberprzestępców i do zautomatyzowania przeprowadzanych przez nich złośliwych operacji.
> Mocne strony
To, co jest mocną stroną ChatGPT i co wychodzi mu najlepiej, to tworzenie przekonywujących tekstów. Z tego względu i z uwagi na możliwości, jakie oferuje chatbot, wydaje się, że główny zakres zagrożeń pochodzących od bota nie będzie obejmował pisania wyszukanego kodu, ale powstawania treści e-maili do kampanii phishingowych i automatyzację tego procesu.
[...]
Autor jest testerem oprogramowania oraz entuzjastą technologii kwantowych i rozproszonych rejestrów. Redaktor prowadzący „IT Professional”.
Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.
Transmisje online zapewnia: StreamOnline