В това интервю за Help Net Security Линдзи Кей, вицепрезидент по разузнаване на заплахите в HUMAN Security, разказва как изглежда генерираният от изкуствен интелект зловреден код при анализ в лабораторни условия. Тя посочва подредените коментари, еднотипните съобщения в журналите и емотиконите като признаци, че даден скрипт е създаден от модел, и отбелязва, че декомпилираният код заличава голяма част от тях. Кей разглежда също как изкуственият интелект свива времето, с което разполагат екипите, за да инсталират корекции за сигурност, къде помага на киберпрестъпниците да мащабират измамите и защо нейният екип поддържа човешки преглед на всяко заключение, преди то да бъде публикувано.
Ако сте на Nullcon Берлин, Кей участва в дискусионния панел „Agents Gone Wild“ на 5 ноември, 15:30–16:15.

Към момента в настоящата си работа не съм анализирала чрез обратно инженерство зловреден код, написан изцяло от изкуствен интелект – поне доколкото ми е известно – който бих определила като нещо подобно на зловредния код VoidLink, разкрит от CheckPoint. Понякога се натъквам на скриптове или части от код, които изглеждат написани с помощта на изкуствен интелект, и има няколко неща, които правят впечатление:
- В злонамерените скриптове (т.е. НЕ в декомпилиран/дизасемблиран код) се срещат коментари, описващи всяка функция, често в един и същи вид или формат, а понякога и с емотикони. Макар това със сигурност да се смята за добра практика в разработката на софтуер, не е нещо, което би направил авторът на зловреден код. В декомпилирания код, както знаете, коментарите вече не присъстват, тъй като изчезват по време на компилацията.
- По подобен начин в декомпилирания/дизасемблирания код може да видите съобщения в журналите, които са много сходно структурирани, с добро правопис и граматика, каквито бихте видели в професионална кодова база. Може отново да забележите и употреба на емотикони.
- В настоящата си роля се фокусирам основно върху рекламните измами, които често се проявяват в мобилни приложения и сайтове с HTML5 игри. Преди появата на изкуствения интелект виждахме десетки приложения в рамките на кампании, а сега, когато генерирането на съдържание за приложения е много по-лесно, виждаме стотици. Разбира се, когато днес разглеждаме тези приложения/сайтове, те изглеждат масово произведени или споделят технически прилики, а нови се появяват много по-бързо, отколкото в миналото.
Макар не ВСЕКИ код с тези характеристики да е генериран от изкуствен интелект, кодът, създаден с големен езиков модел (LLM), е „предварително планиран“ и ще бъде структуриран според „добри“ дизайнерски шаблони и практики за програмиране. Когато обаче разглеждаме самия декомпилиран/дизасемблиран код (извън индикаторите, които посочих по-рано), губим много контекст, тъй като декомпилаторите не могат да възстановят перфектно код, подобен на C/C++. Ако се добави и обфускация, става още по-трудно да се различи. Що се отнася до нещата, които изглеждат точно както преди, продължавам да виждам няколко неща:
- Примерен код, който лесно може да се намери в интернет, все още се появява в зловредния код. Независимо дали е копиран ръчно (както беше в миналото), или получен чрез заявка към LLM, често се виждат доказателства като използване на имена-заместители (например „MyWindowClass“), които подсказват, че кодът не е създаден от автора.
- Все още виждаме хора да използват инструменти за обфускация, като O-MVLL, или собствени техники, за да затруднят обратното инженерство на кода. Както тези инструменти, така и собствените техники могат да бъдат доста усъвършенствани и правят анализа много трудно; сега обаче не е съвсем лесно да се определи дали дадена собствена техника е създадена от самия автор, или с някаква помощ от изкуствен интелект.
В крайна сметка изкуственият интелект улеснява работата на разработчиците на зловреден код, като им позволява по-лесно да съставят код или скриптове за определена цел. Бих казала обаче, че една от най-интересните – и потенциално най-въздействащите – употреби на изкуствен интелект във връзка със зловредния код е когато се използва в случай като PROMPTSTEAL, за да променя поведението си по време на изпълнение. Определено очаквам с нетърпение да видя как изкуственият интелект ще промени начина, по който атакуващите изпълняват атаките си, и да разбера как можем по-ефективно да се защитаваме срещу тях.
С нарастващата достъпност на изкуствения интелект откриването на пропуски в сигурността и уязвимости не само е станало по-достъпно и по-лесно за хората, но те могат да го правят и много по-бързо и в голям мащаб. Уязвимостите за отдалечено изпълнение на код (RCE) PHP2Shell са чудесен пример в тази посока и ако бяха експлоатирани масово от автор на заплахата, вместо да бъдат разкрити от изследователи по сигурността, щетите можеха да бъдат изключителни – особено преди да е налична корекция за сигурност.
Инсталирането на корекции за сигурност е един от най-важните инструменти на екипите по сигурност за отстраняване на уязвимости, особено на такива, за които има налични експлойти. То обаче носи и предизвикателства, които често удължават времето, необходимо на екипите да ги приложат, по-специално управлението на версиите на зависимостите, гарантирането, че корекцията няма да наруши нищо друго, и престоят, свързан с внасянето ѝ. Натискът на времето около корекциите, когато една уязвимост стане публична (особено ако има публично достъпни експлойти за доказване на концепцията), винаги е съществувал, но сега се сблъскваме с повече разкрити уязвимости, а към това се добавя много вероятно по-бърз и по-лесен път към експлоатацията, което допълнително стеснява времето, с което разполагат защитаващите се, за да ги смекчат.
Трудно е да се определи точен срок за прозореца за инсталиране на корекции, който да е подходящ за всяка организация, но знаем, че трябва да реагираме на ускоряващите се срокове, създавани от атакуващите, използващи изкуствен интелект.
Изкуственият интелект като цяло понижава бариерата за навлизане на киберпрестъпниците в различни видове измами, включително измами, свързани с акаунти, но голяма част от „ползата“, която виждаме днес, е в подобряването на мащабируемостта и повишаването на ефективността на атаките. Това се проявява по няколко различни начина:
- Генериране на „съдържание“. Това включва създаване на фишинг страници/съобщения, използвани за кражба на финансова и лична информация на жертвите, разговори с жертви на любовни измами или на измами от тип „pig butchering“, за да бъдат привлечени, подготвяне на написани от изкуствен интелект блог публикации, целящи да задържат читателя достатъчно дълго, за да се заредят и презаредят реклами, както и аудио записи, които позволяват измами със стрийминг.
- Преминаване през големи обеми данни, за да се намерят интересни данни. Данните, източени от стилъри (които съществуват много преди изкуствения интелект и остават популярен метод за получаване на данни на жертви), откраднати от компания или събрани от сайт, съдържат множество информация, която изкуственият интелект може да помогне да бъде структурирана или прегледана, за да се определят най-полезните части. Това могат да бъдат използваеми сесийни бисквитки и токени от откраднати данни на браузъри за отвличане на сесии, валидни идентификационни данни или файлове, съдържащи данни за пароли, всяко от които може да се използва за ескалиране на атака, латерално придвижване или провеждане на нова атака.
- Проверка на данни. Един интересен случай, който наблюдавахме, включваше използването на агент с изкуствен интелект за извършване на поведение, подобно на кардинг. Традиционно киберпрестъпниците тестват номерата на кредитни карти, за да проверят дали работят, преди да ги продадат на други киберпрестъпници за извършване на измами. Проверените карти могат да бъдат продадени на по-висока цена от непроверените.
По отношение на цените на акаунтите не съм виждал драстични промени, които мога да свържа директно с ИИ (цените до голяма степен се определят от фактори, свързани с търсенето и предлагането), но както беше отбелязано, икономиката на начина, по който тези акаунти се придобиват и верифицират, със сигурност е област, в която ИИ носи полза на атакуващите.
Честно казано, бих поставил под въпрос дали „индикатор за злоупотреба с ИИ“ е подходящата единица тук. Подобно на казаното по-рано за обратното инженерство, знанието, че атакуващ е използвал ИИ, е интересен контекст, но обикновено не то ми помага да се защитавам срещу него. От значение е какво прави дейността върху целта.
Въпреки това вече съществуващото има реална стойност:
- Google и други публикуваха изследвания за използването на ИИ инструменти от атакуващи, които дават на защитниците поглед върху начина, по който тези инструменти се прилагат
- Инициативата на MITRE за споделяне на инциденти с ИИ (AI Incident Sharing Initiative), която е част от ATLAS, създаде канал, базиран на STIX, с група участващи организации, а ATLAS добавя техники и казуси, свързани с генеративния ИИ
За мен това е по-полезна посока от отделен поток с индикатори. IOC е приложим, защото е конкретен и сравнително траен – хеш или домейн. „Участвал е модел“ не е нито едното, нито другото, а всичко по-гранулирано, като например шаблон на промпт, обикновено престава да работи в момента, в който моделът бъде обновен.
Затова, ако трябва да отправя молба, тя би била да продължат да документират техниките, така че те да попадат в рамките, с които екипите вече работят. Това е форматът, който достига до инженера по детекции.
Бих добавил и че това е разговор в две посоки. Тези от нас, които виждат дейност с поддръжка на ИИ на по-късен етап от веригата, имат не по-малък принос към тази картина от платформите.
Досега екипът ми е използвал ИИ като начин да допълва работните си процеси. Чудесен пример е използването на ИИ за обобщаване или за задаване на въпроси към данните, които събираме от най-различни източници. Освен дейности по обработка на данни, като извличане на IOC от доклади, по които може да искаме да продължим разследването, искаме да разберем какви инструменти има, насочени към нашите клиенти или продукти, дали са се променили от последния път, когато сме ги разглеждали, и как тези и други relevant теми се обсъждат в подземните форуми, които наблюдаваме.
ИИ може да ни помогне да задаваме такива въпроси и да даде първоначални отговори, от които да започнем, но произведеното от него не може да се споделя във вида, в който е, без човек да потвърди, че заключенията са верни, и да прегледа констатациите през призмата на допълнителните познания, които може да имаме и които ИИ няма.
Друг пример е използването на ИИ като помощ при създаването на правила за детекция, с които можем да търсим допълнителен злонамерен софтуер, свързан с интересни за нас образци, или като помощ при клъстеризирането на образци или на разнородни субекти/групи въз основа на общи атрибути. Отново ИИ е начин да се придвижим по-бързо към изграждането на собствени аналитични заключения, но не заменя аналитичния слой, който осигурява човекът.
