Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Уже стало традицией, что при посещении различных мероприятий я стараюсь взять интервью у некоторых спикеров. Не всегда получается быстро их опубликовать, процесс написания и согласования зачастую затягивается.
И вот я побывал на конференции PHD 2023. В этом году было, на мой взгляд, больше интересных лекций, чем в предыдущие PHD. В нулевой день конференции я составил небольшой план лекций, но когда пришёл на конференцию, в первый день из‑за большого количество народа не попал ни на один утренний доклад. И тут пришла идея: а почему бы не взять интервью у тех, на чьи лекции я не попал?
Так как Chat GPT сейчас на волне популярности, и многие компании создают свои языковые модели, я решил поговорить про использование Chat GPT в кибербезе с пентестером из компании RTM Group Семёновым Артёмом. Кстати, его доклад советую к ознакомлению.
Расскажите в общих чертах, как вы используете чат‑бот Chat GPT?
Ну и API Chat GPT, в том числе. В основном мы используем Chat GPT для улучшения нашей эффективности при выполнении задач, связанных с информационной безопасностью.
Многие люди путают нейро‑модель GPT с ChatGPT‑ботом, поэтому хочу уточнить для них, в чем разница.
В RTM Group используют и бот, и модель. Имеется в виду, что сам GPT предоставляет открытый API, на базе этого API используются инструменты, реализованные для тестирования на проникновение. Наши конкретные кейсы применения Chat GPT, если в рамках пентеста говорить, — это классические генерации вредоносного ПО, безопасная разработка, помощь в вопросах, требующих больших затрат времени на рассуждения и обдумывания.
Расскажите какой‑нибудь кейс на проникновение с использованием Chat GPT.
Была задача на тестирование, а именно провести анализ пользовательских учётных записей. Есть такой инструмент — blood hound. Он позволяет обрабатывать информацию, полученную при помощи сборщика информации shark hound. Проблема в том, что иногда нужно получить конкретные данные, и вкладчик, существующий в blood hound, не удовлетворяет запросу. У blood hound есть язык запросов — cypher. Как раз с помощью Chat GPT можно генерировать запросы для cypher. К примеру, нужно найти всех пользователей, которые могут подключаться по RDP. Для этого пишется текст в Chat GPT, чат‑бот генерирует запрос, с помощью которого извлекаются нужные данные.
Или вот ещё один пример. Есть инструмент ChatGEOGPT. Его идея в том, что при помощи человеческого языка можно найти какое‑то место, например парк, где проходит PHD. Человек подаёт описание боту, и ChatGEOGPT выдаёт точные координаты, инструмент преобразовывает запрос в примерные координатные значения и показывает на карте.
Я так понимаю, что помимо кибербеза во взломах Chat GPT тоже используется?
Да, он используется, в том числе, и во взломах, и злоумышленник применяет чат‑бот для генерации вредоносного ПО, написания вредоносных скриптов. Вообще, для проведения атак есть классические варианты использования чат‑бота: для создания фишинга, написания сайта с каким‑то вредоносным содержанием.
Если говорить о каких‑то особых кейсах, то чат‑бот больше применим для модификации кода. Представим, что у нас есть код, который условно будет вредоносным, и Chat GPT можно попросить объяснить, какие функции могут быть обнаружены средствами защиты. Естественно, есть проблема взаимодействия с пре‑API, так называемая проблема 2021 года. Она состоит в том, что Chat GPT не знает о данных после 2021 года. Сейчас эту проблему решили, добавив интернет в четвёртой версии. Однако выходит, что злоумышленники могут получать актуальную информацию о том, какие в принципе могут быть сигнатуры, какие функции могут быть уязвимыми и далее попросить Chat GPT исправить код, сделав его менее обнаруживаемым.
Во многих чат‑ботах есть проблема: если составить грамотный запрос, он выдаёт изначальные данные, на которых учился. Возможно ли совершить атаку на Chat GPT, чтобы вытащить данные и, воспользовавшись этой уязвимостью, совершить атаку на инфраструктуру, где используется чат‑бот?
Насчёт атак на Chat GPT — это новая область исследования защиты языковых моделей и чат‑ботов. Были примеры, когда пользователи видели чаты других, но это касалось больше уязвимости не самой языковой модели, а базы данных, используемой моделью. В том же Chat GPT был пример, когда была обнаружена уязвимость в БД Redis. Злоумышленник её проэксплуатировал через чат‑бота, и, соответственно, мог видеть диалоги у других пользователей. Вот один из возможных импактов.
Есть известная классическая атака в сфере языковых моделей под названием Promt injection. Её суть в том, что есть текст, есть первое значение, создаётся запрос, потом появляется другое сообщение в том же запросе, но от злоумышленника. Или же, если идёт работа с pdf‑файлом и делается Summariz, может возникнуть другой запрос, который говорит: «не делать этого, делать то». Появляется попытка обмануть языковую модель, в этом суть атаки Promt injection. Такой вектор тоже рассматривается. Я уверен, что он может привести к утечке данных. По крайней мере, он имеет в чём‑то деструктивный эффект по отношению к пользователю, например, выдать не тот результат или что‑то такое.
Я так понимаю, сейчас использование Chat GPT не только в кибербезе, но и вообще в IT‑области представляет собой троянского коня, который неизвестно, что может нести. Правильно?
К сожалению, да, но в его оправдание — всё‑таки компании, производящие большие языковые модели, быстро стараются исправлять недостатки. У некоторых есть свои публичные BugBounty. Однако вопросы исследования защищённости и глубокой проработки модели угроз по‑прежнему остаются открытыми.
Вот вы рассказывали про использование Chat GPT и API Chat GPT. Их внедряют в SOC или стараются всё‑таки этого избежать?
Как его внедряют конкретно в SOC, я не могу сказать, но знаю, что применение там есть. И я использовал инструменты и методы применения Chat GPT. С его помощью можно быстро получать сведения на каком‑либо кусочке информации для анализа. Это в принципе применимо, но есть проблема с NDA. Не всегда SOC, или если говорить об offensive, может передавать данные. Да, их можно обезличить, но не во всех случаях. Всегда есть риск, что информация утечёт, тем более конфиденциальная. Языковая модель начнёт обучаться и выдавать всем пользователям закрытые данные. Вот поэтому вопрос очень спорный с применением. Некоторые компании уже используют вовсю, но, как правило, не уделяют большого внимания вопросам безопасности или просто не задумываются о цене утечки.
Немного в сторону отойдём. Сам Chat GPT может передавать используемую информацию своим разработчикам? Например, как собирают и хранят информацию Facebook или Google у себя на серверах. Может ли потом эта информация быть использована в бизнес‑моделях, например в контекстной рекламе?
Никто не исключает, что Chat GPT что‑то собирает. Учитывая, что бот не является открытым, есть большая вероятность этого. Вот насчёт контекстной рекламы: пока что случаев, которые реально известны человечеству, нет, но исключать этого нельзя. 100% кто‑то уже использует эти данные для сбора статистики: что люди вводят, что люди пытаются получить и, возможно, со временем это будет как‑то косвенно отражено. Возможно, будет появляться таргетированная реклама на основании данных, которые сделал Chat GPT. Однако, повторюсь, пока что публичных случаев такого использования нет.
Расскажите самый нестандартный случай использования Chat GPT в кибербезе.
Есть такая проблема при тестировании на проникновение: при анализе web‑приложения необходимо перечислить всевозможные параметры, директории, субдомены в API. И у меня возникла идея создать инструмент, который на основании Chat GPT мог бы быстро генерировать данные для фаззинга, для перечисления директорий просто путём пользовательского запроса.
Есть известный в хакерских кругах исследователь с ником Boom. Два месяца назад он выпустил на GitHub словарь с бэкапами, который нашел применение в сообществах BugBounty и пентестеров. Начали появляться отчёты о его использовании, и я понял, что для генерации каких‑то значений и их добавления не всегда удобно бывает сгенерировать через Chat GPT, а потом запихнуть в словарь, после чего добавить какие‑то параметры. И тогда я сделал инструмент, использующий Chat GPT, где можно делать это и по маске, и добавляя параметры, создавая огромный словарь с нужными значениями.
Возможно ли использование Chat GPT для социальной инженерии, про фишинг вы уже говорили, а для генерации, например, электронных писем?
Вопрос достаточно хороший. Дело в том, что все языковые модели, как бы этого ни хотелось, до сих пор не всегда выдают человеческий естественный текст. Но иногда при помощи Chat GPT удается создать фишинговые сообщения, которые имеют эффект. Возможность использования, конечно, есть, но если говорить о том, как с этим борются, то недавно российская система «Антиплагиат» внедрила анализ текста на наличие машинного текста или текста, сгенерированного ИИ. Как правило, у таких произведений есть ряд параметров: нестандартное использование пробелов, повторяющиеся слова в заголовках, один заголовок начинается с определённого слова, второй заголовок начинается с такого же слова. Соответственно, по ключевым параметрам можно определить, является ли текст фишинговым или нет, и уберечь себя или пользователей.
Расскажите тогда, с чего начать использование Chat GPT в работе кибербеза. К каким задачам можно применить чат‑бот?
Я буду говорить за сферы тестирования на проникновение, потому что этим занимаюсь. Chat GPT можно применять как компаньона в плане решения общих задач, для узкоспециализированных больше подходит языковая модель Google.
Chat GPT можно применять:
— для генерации фишинговых писем;
— для генерации вредоносного кода;
— для генерации примеров безопасного кода;
— для анализа логов, файлов и данных.
К примеру, даже есть уже инструмент burp gpt, который анализирует параметры запроса и позволяет получить информацию, что он делает. У Chat GPT, на самом деле, достаточно огромные возможности применения, как‑то классифицировать даже не получится.
Мне кажется, наш выдался разговор интересным. Правда, пока непонятно, насколько языковые модели и чат‑боты войдут в IT‑сферу, потому что ещё недавно говорили о метавселенных, NFT и криптовалютах как о будущем, а сейчас это уже никому не нужно. Поэтому стоит понаблюдать за развитием этих технологий. В любом случае, использование в работе всех инструментов положительно сказывается на её качестве, на мой взгляд.