Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
OpenAI был основан 7 лет назад. На тот момент времени уже возникало понимание, что в сфере искусственного интеллекта происходит нечто важное, качественный прорыв. И создатели OpenAI (не более сотни человек в исследовательской лаборатории) поставили перед собой цель катализировать знания, использовав технологию языковых моделей для создания позитивного управляемого инструмента массового применения.
Прогресс в технологии machine learning радует, беспокоит и вызывает эти два чувства одновременно: сейчас весь мир определяет возможности технологии, которая в будущем будет одной из неотъемлемых частей нашей жизни. Хочется верить, что мы сможем использовать искусственный интеллект правильно, но встречаются совершенно разные кейсы его применения как на светлой, так и на темной стороне ИБ. Давайте посмотрим, что представляет собой ChatGPT сегодня и какие основополагающие принципы лежат в основе технологии.
OpenAI по сути является «чат-ботом на стероидах», то есть это искусственный интеллект, который генерирует персонализированные ответы на основе пользовательского ввода. При этом он способен удивительно естественным образом отвечать на любой вопрос, который вы ему зададите. На официальной странице создателей OpenAI говорится: «Мы обучили модель под названием ChatGPT, которая взаимодействует в разговорной манере. Формат диалога позволяет ChatGPT отвечать на последующие вопросы, признавать свои ошибки, оспаривать неверные предпосылки и отклонять неуместные запросы».
Различия моделей
Модели OpenAI, доступные к взаимодействию:
GPT-3,5 и GPT-4 – это основные модели, с которыми мы работаем через Telegram или по API в базовых настройках. Это немодифицированные типовые модели, которые максимально оптимизированы для универсальных запросов под обычного пользователя. Они обучены на ограниченном количестве данных, но зато выдают самый быстрый результат из всех моделей.
Ada - самая быстрая из всех моделей, способна выполнять такие задачи, как синтаксический анализ текста, исправление адреса и менее сложные задачи классификации.
Babage - лучше всего подходит для простых задач классификации и выполняет SEO-анализ текста.
Curie - подходит для задач классификация и анализа настроений. Модель также выдает результаты на запросы, отвечает на вопросы и может использоваться в качестве чат-бота общего назначения. Сравнение показывает, что она может выполнять многие задачи Davinci, но за 10% стоимости.
Davinchi –самая крупная модель OpenAI (для понимания: при обучении модели использовалось более 150 миллиардов обучающих блоков, тогда как GPT-3,5 и GPT-4 обучались всего на 6 миллиардах блоков данных). Модель успешно решает задачи, связанные с поиском причинно-следственных связей, и генерирует более качественный текст, когда речь идет о сложных задачах. При этом Davinchi потребляет больше ресурсов и времени.
Интерактивное взаимодействие с моделью происходит за счет «Промтов», то есть запросов, которые мы отсылаем в нейросеть. Поэтому эффективность применения ChatGPT напрямую зависит от такого, каким образом вы конструируете запрос. Во время изучения технологии мы выяснили: чем более детальный вопрос мы отправляли (чем больше контекста ситуации закладывали в тексте вопроса), тем более точный и полезный ответ получали в первой же итерации.
Как правильно задавать вопрос?
При написании вопроса к моделям OpenAI есть несколько основных правил:
Необходимо описать, задать роль вопрошающего: я – аналитик ИБ, студент или devsecops.
Важно использовать глагол – действие, которое вы ожидаете от чата: опиши, напиши, сделай рерайт, переведи.
Не забывайте использовать в описании ситуации наводящие вопросы и указания: Правильно ли я правильно понимаю? Приведи пример! и т.д.
Лучше писать на английском – результат будет выдан быстрее и качественнее (переводить можно через deepl – тоже на нейросетях).
Используйте все возможности ChatGPT
Чтобы получить более быстрый и качественный ответ, мы отметили для себя несколько важных моментов:
Полезно внимательно отнестись к описанию ролей (не только своей, даже нескольких участников ситуации). Таким образом, вы задаете тон общения, а именно спецификацию языка взаимодействия с вами.
Примеры:
Можно попросить модель объяснить так, чтобы понял ребенок. Например, автор однажды использовала чат для объяснения питонячего скрипта десятилетнему сыну, и миссия была выполнена успешно.
Или другая ситуация: если попросить чат привести пример атак на wi-fi со стороны аналитика SOC или со стороны регулятора, то результаты вы получите совершенно разные.
Используйте возможность модели принимать решения:
попросите дать рекомендации в зависимости от ситуации, и OpenAI предоставит вам
персонализированный совет.
Отличие чата от поисковиков заключается в том, что ChatGPT может сам формулировать поисковые запросы, переходить по ним, анализировать содержимое веб-страниц и даже транскрибировать видео в текст. И пока машина все это делает, она фактически записывает цепочку своих мыслей, чтобы следующий поисковый запрос сделать еще более точным в контексте заданной ситуации. Все это вы могли бы сделать сами, но поиск информации -достаточно утомительная задача, и люди не особо любят этим заниматься. Гораздо интереснее контролировать, занять позицию менеджера, где вы можете, если хотите, трижды проверить работу, скорректировать фрагмент цепочки рассуждения модели и отправить результат на уточнение.
Иногда ChatGPT предоставляет неверную информацию, особенно если исходные данные содержат ошибки или неточности. Мы сталкивались с тем, что она ссылалась на выдуманные python библиотеки. Такие коллизии в первую очередь связаны с тем, что у ChatGPT отсутствует доступ к интернету в реальном времени. Модель обучалась на данных до декабря 2021, и надо иметь в виду, что информация прошлого месяца не попадет в результат её анализа.
Резюмируя вышесказанное: если вы задумываетесь о выборе профессии будущего, уже сейчас понятно, что архитектор или оператор запросов к нейросетям будет одной из самых востребованных.
Ограничения
Наверное, самое затруднительным ограничением модели является то, что ChatGPT имеет лимит на количество токенов (слов или символов) в одном запросе или ответе. Лимит зависит от используемой версии: 4000 токенов для ChatGPT-3.5 и 8000 токенов для ChatGPT-4. Это создает неудобства при декомпозиции вопроса и влияет на результат работы модели - он может быть недостаточно детальным.
При этом не стоит заблуждаться относительно публичных возможностей OpenAI: в массовом применении она имеет огромное количество ограничений на выдаваемую информацию. Ограничения наложены со стороны этически моральных норм, текущей повестки толерантности и, конечно же, безопасности применения выдаваемых данных. То есть, если мы попросим ChatGPT написать вредоносный код (модель хорошо умеет писать код, так как обучалась на гигабайтах кода в гитах), мы получим вежливый отказ по этическим соображениям. ChatGPT не будет делать прогнозы, выдавать оскорбительный контент, писать скрипты для хакинга, ддоса и так далее.
Но люди не были бы людьми, если бы не нашли способ обойти замки, наложенные на работу нейронки. Ограничения снимаются «убалтыванием чата» или ошибками логики в задаваемых вопросах (например, когда вы в контексте одного диалога задаете вопросы от множества ролей как при диссоциативном расстройстве). Эта техники называются Jailbreak. Но ошибки логики реализовывать достаточно утомительно – процесс займет какое-то время, поэтому пользователи придумали его автоматизировать, а для наборов взламывающих промтов по популярным темам вывели расширения. В принципе, использование наборов преднастроенных промптов - очень эффективный способ обойти не только ограничения, но и улучшить качество получаемой информации и ускорить процесс ее получения, потому что они направляют систему в нужном направлении.
Однако, несмотря на все эти преимущества, огромная мощь этого инструмента может быть использована и злоумышленниками.
Темная сторона
Для нас ChatGPT - быстрый источник знаний и бесконечные возможности аналитики. К сожалению, эти возможности в равной мере доступны и для людей с плохими намерениями. Конечно, создатели предусмотрели софтовые заглушки на модель, чтобы она не писала вредоносный код или не подгоняла spearphishing под конкретную компанию, но ограничения можно обойти (как минимум, с помощью Jailbreak). Поэтому в интернете доступно много обзоров использования ChatGPT по направлениям:
OSINT
ФИШИНГ
DDOS
Брутфорс
SQL Инъекций
Scan for BufferOverflow Exploits
RCE код.
Можно найти материалы в виде описаний, разъяснений, проектов гита или даже программного кода на python.
Относительно недавно нужно было долго вычитывать форумы, искать материалы и примеры применения. Теперь хорошие use case и гайды находятся в дальности одного клика и пары промт запросов. То есть злоумышленника отделяет от противоправных действий (например, по осинту) расстояние в один-два вопроса к ChatGPT.
Ранее уже наблюдался рост мошенничества с помощью различных техник искусственного интеллекта, которые представляют собой новую форму компрометации информации (например, deepfake). Тенденция оказалась настолько опасной, что вызвала волну исследований, отчетов и предупреждений от вендоров и аналитических агентств по всему миру. Теперь этот вид кибермошенничества расширяется следующим поколением искусственного интеллекта в виде ChatGPT - его использование может по экспоненте увеличить количество мошеннических действий.
Времена, когда в качестве индикатора фишинговой атаки искали неправильно набранный URL или орфографическую ошибку, похоже, остались позади. Инструмент создает столь убедительный, стройный и грамматически правильный текст по любой теме, что даже профессиональные редакторы не могут определить его искусственное происхождение. Как следствие, мы наблюдаем частые случаи использования модели для генерации фишинговых писем.
И это очень серьезная проблема. Пример творчества искусственного интеллекта - статья, в которой утверждалось, что Илон Маск погиб в марте 2018 в автокатастрофе. Кто-то действительно погиб в автокатастрофе на автомобиле Тесла и это было в новостях, но модель подогнала факты, в качестве подтверждения создала поддельные статьи и включила ссылки в материал в качестве подтверждения. В результате рождается фейковая сенсация, которая правдоподобна, но не соответствует действительности.
Множество оттенков серого
Если говорить не о прямой, а о косвенной угрозе, то при работе с ChatGPT вам всегда нужно помнить о контроле передачи в модель чувствительных данных в контексте организации или личной информации. Все, что когда-либо попало в интернет – уже стало публичным. Для грамотного взаимодействия с моделью по рабочим вопросам стоит разобраться с методикой выстраивания обфускации или обезличивания данных: не «светить» IP, НТЛМ хеши, не отправлять вывод мимикатз. В качестве обфускации информации можно добавить в запрос шумовые данные, которые не снизят качество работы модели, но в то же время увеличат энтропию передаваемой информации. То есть составить запрос из реальных данных и данных-обманок (deception).
Давайте рассмотрим пример использования OpenAI для анализа (обогащения) хэшей, замеченных в контексте события или инцидента ИБ: при запросе дополнительной информации и вердиктов вредоносности по подозрительным файлам можно разбавить их случайно сгенерированными хэшами. Полуфейковые данные дают нужный уровень обфускации: у модели не будет понимания, какие хэши были реально замечены на инфраструктуре, а какие добавлены искусственно.
Также для обфускации можно использовать правила маскирования user name, host name; пароли, естественно, надо солить.
Просто имейте ввиду, что у чата есть память.
Светлая сторона
Думаем, в большинстве своем мы даже не осознали все возможности, которые предоставляются нам с появлением ChatGPT. Можно попросить машину сделать несколько графиков для исследования – это будет супер-высокоуровневая инструкция, за которой стоит много намерений (когда пользователь сам не знает, чего хочет). Искусственному интеллекту придется предположить, что может заинтересовать пользователя, и выдать несколько идей (гистограммы, хронология, облако тэгов). Но, самое интересное, искусственный интеллект действительно может их сделать.
Благодаря ChatGPT аналитик ИБ может быстро узнать:
Как используется матрица митре
Что такое событие 4688
С чего начать расследование потенциально зараженных ноутов с MacOS
Этапы расследования инцидентов
Как выстроить реагирования на инцидент на первой линии сока
Какие основные методы закрепления в Windows системе
Основные способы горизонтального передвижения
И многое-многое другое.
Для отображения кейсов применения можно представить такую ситуацию: сотрудника, который вчера занимался IT задачами (например, настраивал ключи крипто про) пересадили в SOC на первую линию. Младшему специалисту, чтобы доказать свою ценность и закрепиться в новой перспективной области, достаточно быстро надо узнать базовую информацию, погрузиться SANS и NIST фреймворки. Так вот, ChatGPT может быстро провести человека по процессу, по ступенькам ознакомления с расследованием и реагированием на инциденты с учетом его бэкграунда на основе вопросов:
Что такое data source в SIEM?
Что такое плейбуки реагирования и обогащения?
Как производится сдерживание?
ChatGPT реально поможет.
Кейсов применения ChatGPT в ИБ множество: искусственный интеллект может повысить эффективность процессов первой линии; повысить качество аналитики - расследовать то, что не расследовали до этого (покрыть черные пятна); помочь прийти к лучшим практикам lessons learned. Все можно сделать, лишь открыв браузер с ChatGPT.
С большой силой приходит большая ответственность
Вокруг технологии OpenAI постоянно идут дебаты, потому что предполагает она как очевидно хорошее, так и потенциально плохое применение (мы уже не говорим про страхи анти-утопичного развития событий). Не является ли инструмент ящиком Пандоры? Какие последствия в широком смысле нас ожидают после его глубокой интеграции в повседневную жизнь?
Мы считаем, что к технологии надо подходить трезво: держать в голове риски, понимать ограничения, но при этом не игнорировать доступный источник бесконечной информации и аналитики. Рано или поздно на новые угрозы будет разработан симметричный ответ. В частности, уже есть ряд исследований по созданию языковых моделей, способных обнаруживать контент, генерируемый такими инструментами, как ChatGPT, что позволит бороться с увеличением атак с использованием социальной инженерии. Мы живем в эру инструментов искусственного интеллекта, и эти инструменты, вероятнее всего, будут идентифицировать друг друга на основе уникальной «подписи» конкретной модели (мы помним, что классификация после обучения на типовых дата сетах – одна из классических применений machine learning). Также можно использовать другие контекстные показатели, такие как время и местоположение, чтобы определить, является ли сообщение настоящим или нет.
При этом те, кто не будут использовать ускорители нашего мышления, инструменты и преимущества современных, постоянно меняющихся технологий, должны знать, что этими технологиями уже пользуется злоумышленник, и в такие моменты он будет находиться на много шагов впереди.