ChatGPT vytváří mutující malware vyhýbající se detekci pomocí EDR, aneb máme se opět na co těšit…

Senzace způsobená ChatGPT mezi spotřebiteli i odborníky v oblasti IT, tedy „umělou inteligencí“, která je celosvětově stále oblíbenější již od svého prvního vydání na konci loňského roku, umocnila noční můry lidí zabývajících se kybernetickou bezpečností o tu, že jej lze různými způsoby kreativně zneužít...

12. 6. 2023

Odborníci na kybernetickou bezpečnost ukázali, že klíčovým problémem je schopnost ChatGPT a dalších velkých jazykových modelů (LLM) generovat polymorfní neboli mutující kód, aby se vyhnul systémům pro detekci hrozeb na koncových zařízeních a jejich blokování (EDR).

Mutující neboli polymorfní malware lze vytvořit pomocí rozhraní ChatGPT API za běhu, aby se provedly pokročilé útoky, které se mohou vyhnout aplikacím EDR. Nedávná série útoků typu proof-of-concept ukazuje, jak lze vytvořit neškodný spustitelný soubor, tak, že při každém běhu provede volání API do ChatGPT. Namísto pouhého reprodukování příkladů již napsaných úryvků kódu může být ChatGPT při každém volání vyzván ke generování dynamických, mutujících verzí škodlivého kódu, což ztěžuje odhalení výsledného zneužití zranitelnosti nástroji kybernetické bezpečnosti.

"ChatGPT snižuje laťku složitosti pro hackery, a tak kyberaktivisté, kteří používají modely umělé inteligence, mohou být považováni za moderní 'Script Kiddies'," řekl Mackenzie Jackson, advokát vývojářů ve společnosti GitGuardian zabývající se kybernetickou bezpečností. „ChatGPT, který lze přimět k výrobě polymorfního malware, není zdaleka převratný, ale jak se modely zlepšují, mohou využít stále více vzorových dat pro „učení“ a s tím, jak přicházejí na trh nové AI produkty, může tato skončit vytvořením malwaru, který lze detekovat pouze jinými systémy umělé inteligence. Kdo v této hře vyhraje, to si každý může domyslet."

Kreativní „Prompt engineering“ – stále poměrně snadný úkol pro dobré lingvisty

ChatGPT a další LLM mají filtry obsahu, které jim zakazují uposlechnout příkazy nebo výzvy ke generování škodlivého obsahu, jako je škodlivý kód. Filtry obsahu se ale dají obejít.
Téměř všechny hlášené exploity, které lze potenciálně provést prostřednictvím ChatGPT, jsou dosaženy prostřednictvím toho, co se nazývá „prompt engineering“, což je praxe vynalézavé modifikace vstupních výzev, aby se obešly filtry obsahu nástroje a získal se požadovaný výstup.

"ChatGPT zavedl několik omezení v systému, jako jsou filtry, které omezují rozsah odpovědí, které ChatGPT poskytne posouzením kontextu otázky," řekl Andrew Josephides, ředitel bezpečnostního výzkumu v KSOC, společnosti zabývající se kybernetickou bezpečností specializující se na Kubernetes. "Pokud byste požádali ChatGPT, aby vám napsal škodlivý kód, žádost by zamítl. Pokud byste požádali ChatGPT o napsání kódu, který dokáže vykonávat efektivní funkci škodlivého kódu, který chcete napsat, ChatGPT Vám velmi pravděpodobně tento kód vytvoří."

Schopnost přimět ChatGPT k využití věcí, které zná, ale které jsou kryty filtry, může způsobit, že i obyčejní uživatelé budou poměrně snadno vytvářet účinný škodlivý kód. Například zdánlivě neškodný spustitelný soubor Pythonu může při každém spuštění spustitelného souboru vygenerovat dotaz, který se odešle do API ChatGPT pro zpracování jiné verze škodlivého kódu. Tímto způsobem je škodlivá akce provedena mimo funkci exec(). Tuto techniku lze použít k vytvoření mutujícího, polymorfního malwarového programu, který je obtížné detekovat skenery hrozeb.

BlackMamba

Začátkem tohoto roku Jeff Sims, hlavní bezpečnostní inženýr ve společnosti HYAS InfoSec zabývající se detekcí hrozeb, publikoval dokument „proof-of-concept white paper“ pro funkční model takového zneužití. Ukázal použití rychlého inženýrství a dotazování ChatGPT API za běhu k sestavení polymorfního keyloggeru a nazval jej BlackMamba.
BlackMamba je v podstatě spustitelný soubor Pythonu, který vyzve ChatGPT API k vytvoření škodlivého keyloggeru, který mutuje při každém volání za běhu, aby byl polymorfní a vyhnul se filtrům koncových bodů a odpovědí (EDR) s využitím funkce exec() v Pythonu.
„Funkce exec() Pythonu je vestavěná funkce, která vám umožňuje dynamicky spouštět kód Pythonu za běhu,“ řekl Sims. „Jako vstup vyžaduje řetězec obsahující kód, který chcete spustit, a poté tento kód spustí. Funkce exec() se běžně používá pro modifikaci programu za běhu, což znamená, že můžete upravit chování běžícího programu spuštěním nového kódu za běhu programu.
V konceptu BlackMamba jsou data po shromáždění stisknutých kláves exfiltrována zpětného volání na bázi HTTP, která umožňuje komunikaci mezi rozhraními API řízenou událostmi do kanálu Microsoft Teams, řekl Sims. BlackMamba se podle Simse již několikrát vyhnul „leaderovi v oblasti EDR“, i když neuvedl, kterému.

Převzato z CSO United States, 6. června 2023, upraveno

VISITECH a.s. 2021 © Všechna práva vyhrazena

Vectors by Vecteezy & Freepik.