Как чат-боты ChatGPT изменят кибербезопасность

Новое поколение чат-ботов создает связные и осмысленные тексты. Это пригодится и киберпреступникам, и киберзащитникам.

Принципы машинного обучения были заложены около 50 лет назад, но только недавно их начали широко применять на практике. Благодаря растущим вычислительным мощностям компьютеры сначала научились достоверно различать объекты на изображении и играть в Го лучше человека, а потом — рисовать картины по описанию или поддерживать связный диалог в чате. В 2021–2022 годах научные прорывы стали еще и легко доступны. Любой желающий может подписаться на MidJourney и, например, мгновенно иллюстрировать книги собственного написания. А в OpenAI наконец открыли свою большую языковую модель GPT-3 (Generative Pretrained Transformer 3) для широкой публики через сервис ChatGPT. На сайте chat.openai.com пообщаться с ботом может любой желающий, так что убедитесь сами — бот уверенно поддерживает связный диалог, лучше многих учителей объясняет сложные научные концепции, может художественно переводить тексты между языками и многое, многое другое.

Иллюстрация, сгенерированная Midjourney

Иллюстрация, сгенерированная Midjourney по запросу «Гном с увеличительным стеклом потерялся среди серверов хранения данных»

Если предельно упростить принципы работы ChatGPT, то его языковая модель обучена на гигантском объеме текстов из Интернета и «помнит», какие слова, предложения и абзацы часто соседствуют друг с другом, каковы взаимосвязи между ними. С помощью многочисленных технических трюков и дополнительных раундов обучения с живыми собеседниками модель оптимизирована именно под диалог. Благодаря тому что «в Интернете есть все», модель естественным образом способна поддерживать диалог на самые разные темы — от современной моды и истории искусства до квантовой физики и программирования.

Ученые, журналисты и просто энтузиасты продолжают находить новые применения ChatGPT. На сайте Awesome ChatGPT prompts можно найти подсказки (стартовые фразы, «промпты»), следуя которым, ChatGPT будет отвечать в стиле Гэндальфа или другого литературного персонажа, писать программный код на Python, генерировать деловые письма и резюме и даже притворяться терминалом Linux. При всем этом ChatGPT остается просто языковой моделью, поэтому все перечисленное — не более чем часто встречающиеся комбинации и связи слов, не пытайтесь найти в этом разум и логику. Порой ChatGPT убедительно излагает полную чушь, например ссылается на несуществующие научные исследования. Поэтому к контенту из ChatGPT нужно относиться осторожно. Тем не менее даже в нынешнем виде бот уже полезен во многих практических процессах и разных отраслях. Вот несколько примеров из области кибербезопасности.

Написание вредоносного кода

На подпольных хакерских форумах начинающие преступники отчитываются, как пытались написать новые трояны при помощи ChatGPT. Бот умеет писать код, и если четко описать нужные преступнику функции («сохранить все пароли в файл X и отослать по HTTP POST на сервер Y»), то можно без навыков программирования получить простейший инфостилер. Впрочем, добропорядочным пользователям нечего бояться. Если код, написанный ботом, начнут реально использовать, он будет обнаружен и нейтрализован защитными решениями так же быстро и эффективно, как и все предыдущие вредоносные программы, написанные живыми людьми. Более того, если такой код не будет проверен опытным программистом, то велика вероятность, что в коде будут малозаметные ошибки, дефекты логики, которые сделают вредонос менее эффективным.

В общем, пока боты могут конкурировать разве что с начинающими вирусописателями.

Разбор вредоносного кода

Когда ИБ-аналитики изучают новые подозрительные приложения, им приходится заниматься реверс-инжинирингом, то есть разбирать псевдокод или машинный код, пытаясь понять, как он работает. Полностью переложить это на ChatGPT не получится, но вот быстро объяснять, что делает конкретный фрагмент кода, чат-бот уже может. Наш коллега Иван Квятковский разработал плагин для IDA Pro, который делает именно это. Языковая модель «под капотом» — это не совсем ChatGPT, а его «двоюродный брат» davinci-003, но это чисто техническое различие. Иногда плагин не срабатывает или выводит чушь, но ради тех случаев, когда он автоматически дает функциям разумные имена и сам идентифицирует используемые в коде алгоритмы шифрования и их параметры, его стоит поставить на вооружение. Особенно он пригодится в условиях SOC, где вечно перегруженные аналитики должны тратить минимум времени на каждый инцидент, и ускорить анализ им будет очень полезно.

Результат работы плагина

Результат работы плагина

Поиск уязвимостей

Вариацией предыдущего подхода является автоматизированный поиск уязвимого кода. Чат-бот «читает» псевдокод декомпилированного приложения и обозначает там места, возможно, содержащие уязвимости. Более того, бот предлагает код на Python, предназначенный для эксплуатации уязвимости (PoC). Разумеется, бот может допустить ошибки всех родов как при поиске уязвимостей, так и при написании кода PoC, но даже в таком виде инструмент может быть полезен и атакующим, и защитникам.

Консультации по безопасности

Поскольку ChatGPT знает, что про кибербезопасность пишут в Интернете, его советы по этой теме выглядят убедительно. Но, как и с любыми советами от чат-бота, никогда не знаешь, из какого источника они почерпнуты, поэтому на десять совершенно легитимных советов может попасться один абсолютно бредовый. Впрочем, советы со скриншота ниже все достаточно разумны:

Советы, сгенерированные ChatGPT

Советы, сгенерированные ChatGPT

Фишинг и BEC

Убедительно выглядящие тексты — сильная сторона GPT-3 и ChatGPT, поэтому автоматизация целевых фишинговых атак с помощью чат-бота наверняка уже происходит. Главная проблема массовых фишинговых рассылок в том, что они неубедительны, в них слишком одинаковый и общий текст, который плохо учитывает личность адресата. А целевой фишинг, когда живой злоумышленник вручную пишет письмо единственной жертве, достаточно дорог, поэтому используется только в таргетированных атаках. ChatGPT сильно изменит баланс сил, потому что позволяет генерировать убедительные и персонализированные тексты писем в промышленном масштабе. Правда, чтобы письмо содержало все необходимые компоненты, нужно дать чат-боту очень детальное задание.

Пример письма, сгенерированного ChatGPT

Пример письма, сгенерированного ChatGPT

Но серьезные фишинговые атаки обычно состоят из серии писем, каждое из которых постепенно повышает доверие жертвы. И вот на втором, третьем и так далее письмах ChatGPT поможет злоумышленникам реально экономить время. Поскольку чат-бот помнит контекст беседы, то следующие длинные и красивые письма генерируются из очень короткой и простой подсказки.

Сгенерированное письмо с продолжением атаки

Сгенерированное письмо с продолжением атаки

Более того, чат-боту легко скормить ответ жертвы, чтобы за считаные секунды создать убедительное продолжение переписки.

В числе инструментов, которыми могут воспользоваться злоумышленники, есть и стилизация переписки. Чат-боту, получившему небольшой образец в нужном стиле, легко дать задание писать дальше именно в этом стиле. Таким образом можно убедительно подделывать, например, письма от имени одного сотрудника, адресуя их другому.

К сожалению, это означает, что масштаб эффективных фишинговых атак будет только расти. И чат-бот будет одинаково убедителен и в e-mail, и в соцсетях, и в мессенджерах.

Каковы меры противодействия? Эксперты по контент-анализу активно работают над инструментами, детектирующими тексты чат-бота. Насколько такие фильтры будут эффективны — покажет время. А пока можем порекомендовать лишь два стандартных совета (бдительность и тренинги по ИБ) — и один новый. Научитесь распознавать сгенерированные ботом тексты. Математические свойства на глаз не распознать, а вот мелкие стилистические особенности и легкие бессвязности пока еще выдают робота. Поиграть в интересную игру «робот или человек» можно, например, здесь.

Советы

Как отключить слежку в iOS?

У вас есть iPhone, iPad или iPod? Потратьте несколько минут на настройку служб геолокации, чтобы сэкономить заряд батареи и сохранить конфиденциальность перемещений.