ChatGPT проявил себя как стажер в роли фишинг-аналитика

ChatGPT проявил себя как стажер в роли фишинг-аналитика

ChatGPT проявил себя как стажер в роли фишинг-аналитика

В «Лаборатории Касперского» проверили возможности творения OpenAI по распознаванию фишинговых ссылок. Как оказалось, ChatGPT знает признаки риска, хорошо определяет атакуемые организации, однако склонен видеть опасность там, где ее нет.

Новое исследование — продолжение экспериментов с большой языковой моделью (LLM) серии GPT на предмет ее пригодности для нужд кибербеза. На сей раз популярный ИИ-бот заставили анализировать URL с целью выявления угрозы фишинга.

Такая задача была выбрана по нескольким причинам:

  • ссылки легко укладываются в лимит на количество символов (у LLM вроде ChatGPT фиксированное контекстное окно);
  • явно вредоносные ссылки хорошо детектятся, но для этого необходимо знание виртуального мира (например, имен популярных веб-сервисов);
  • URL— это текст, обработка которого не составляет труда для LLM.

Для начала исследователи решили выяснить, что ИИ-боту известно о фишинге. Вопрос был сформулирован следующим образом:

«Судя по URL, эта ссылка — попытка фишинга? Пожалуйста, поясни, почему. Ссылка: hxxp://caseld-10xxxx.info/1/Office365/0fflce3.6.5/live/login.php».

Бот ответил, что скорее всего это так, и указал ряд показателей риска:

  1. Имя домена не ассоциируется с каким-либо авторитетным или узнаваемым ресурсом, а также выглядит, как произвольная последовательность символов.
  2. В URL присутствует термин Office365, имя популярного набора инструментов, обычно используемое в фишинговых атаках.
  3. Слово live может намекать на то, что это официальная страница входа Microsoft Office365, так как Microsoft ранее использовала «live» в некоторых сервисах.
  4. Неправильное написание Office как 0fflce — еще один индикатор риска, фишеры обычно так делают, чтобы убедить пользователей в легитимности сайта.
  5. Расширение .php в конце URL говорит о наличии PHP-скрипта на сервере; в фишинговых атаках это обычный инструмент для сбора учетных данных.

Подобный ответ, за исключением излишней подозрительности по отношению к PHP-скриптам, эксперты сочли достойным уровня младшего аналитика.

Результаты тестов на наборах URL-текстов разочаровали исследователей. Когда gpt-3.5-turbo (бэкенд ChatGPT) через API скормили пару тысяч фишинговых ссылок вперемешку с таким же количеством безобидных URL, назначенный «кибергуру» чат-бот выдал около 6 тыс. вердиктов. Разбор этих ответов показал уровень детектирования 87,2% (высокий), а ложноположительных срабатываний — 23,2%, что неприемлемо много.

Чтобы исправить ситуацию, чат-бот понизили до ранга помощника по интернет-безопасности: попросили отфильтровать ссылки, небезопасные для посещения. Уровень детектирования повысился (93,8%), показатель ложноположительных ответов — к сожалению, тоже (64,3%).

Результаты по извлечению из URL потенциальных целей фишеров оказались не в пример лучше. ИИ-боту были известны многие интернет-ресурсы и финансовые сервисы, поэтому он правильно определил мишени в половине случаев, притом даже при наличии тайпсквоттинга. Он также умеет распознавать омографические атаки, правда, иногда принимает такую уловку за умышленную опечатку.

Обоснования вердикта ChatGPT обычно развернуты и вполне разумны, хотя бывают и забавными. Иногда он ссылается на данные, которые ему недоступны: запись в WHOIS, контент либо оформление поддельного сайта, истекший срок SSL-сертификата, а также может выдать неверные сведения. Подобные факты еще раз подтвердили свойство LLM, ранее подмеченное другими пользователями: склонность к «галлюцинациям».

В целом исследователи признали ChatGPT годным в роли помощника фишинг-аналитика, способного быстро перечислить подозрительные составляющие URL или подсказать организацию-мишень. Однако такой стажер непременно должен работать под присмотром.

Новая атака на кеш Nginx позволяет красть данные и ломать сайты

Исследователь YesWeHack Алекс Брумен описал вектор кибератаки Cache Key Injection. В случае её эксплуатации последствия для потенциальной жертвы опасные: обход контроля доступа, раскрытие закрытых страниц, отказ в обслуживании и при определённых условиях.

Как объясняет исследователь YesWeHack, проблема возникает не в Nginx по умолчанию, а в конфигурациях, где администраторы просто склеивают несколько значений переменной длины без разделителей. Например:

$scheme$host$request_uri$http_accept

Разных запроса два, а итоговая строка может получиться одна. Так, запрос к /h с заголовком Accept: ome*/* создаёт тот же ключ, что и обычное обращение к /home с Accept: */*.

Если атакующий успеет первым положить в кеш ответ 404, пользователи вместо главной страницы будут получать ошибку до очистки записи. Получается CPDoS — отказ в обслуживании с доставкой прямо из кеша.

 

Ещё веселее становится с закрытыми разделами. В лабораторном примере страница /admin была доступна только с localhost, но злоумышленник мог обратиться к /ad и перенести оставшуюся часть имени в соседний компонент ключа. Nginx видел разрешённый путь, однако доставал из кеша содержимое админ-панели.

При совпадении нескольких условий техника позволяет столкнуть HTTP- и HTTPS-запросы и записать в кеш страницу со ссылкой на атакующий JavaScript, превратив ошибку конфигурации в stored XSS. Даже Cloudflare не всегда спасёт: заголовок Authorization может провести запрос мимо его кеша прямо к уязвимому кешу Nginx.

 

Защита выглядит до смешного просто: не склеивать значения вслепую. Между элементами ключа нужны разделители или структурное кодирование, например:

$scheme|$host|$request_uri|$http_accept

Также следует проверять Host, перенаправлять HTTP на HTTPS и не кешировать аутентифицированные запросы.

RSS: Новости на портале Anti-Malware.ru