Купить решения «Лаборатории Касперского»
в интернет-магазине Kaspersky-Security.ru
ГлавнаяНовости→Практическое применение чат-бота ChatGPT | Блог Касперского

Практическое применение чат-бота ChatGPT | Блог Касперского

Как киберпреступники и специалисты по информационной безопасности используют 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, и в соцсетях, и в мессенджерах.

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


Источник: Лаборатория Касперского

20.01.2023