Интересный доклад про то, как злоумышленники применяют генеративки ...
Forwarded from AISec [x\x feed]🍓🍓🍓 (Artyom Semenov)
YouTube
(Keynote) Apocalypse?: The Perils of Generative AI
The integration of generative AI by nation-state actors and eCrime groups is catalyzing a transformative shift in the theater of global cyber conflict. These sophisticated adversaries are harnessing generative AI to craft highly nuanced and disruptive operations…
🔥2
Фаззинг директорий - вещь которая не только является "базой" для веб-пентестеров, но ещё и также полезным методом в поисках информации в интернете.... да-да
Думаю большинство, кто в теме - слышали о популярных инструментах типо gobuster или ffuf ... Они работали по классическому принципу, когда необходим был словарь для фаззинга. Это создавало некоторые ограничения, т.к данные из словаря не могли мутировать в зависимости от контекста. Чтобы решить эту проблему - с двух ног в дверь врывается решение, совмещающее ffuf и ... llm.
brainstorm ... Работает это следующим образом - вы делаете обычный фаззинг через ffuf, используя словарик, затем в модельку, которая должна быть запущена через Ollama - подаются результаты, которые были получены в ходе фаззинга и LLM создаёт новый словарик на основании результатов - который по идее должен обеспечить более лучшее покрытие. По дефолту такой цикл запускается 50 раз, однако вам ничего не мешает сделать и 100 циклов и больше т.к вы используете локальную модель.
К примеру, мне нужно поискать .pdf на сайте. Это будет выглядеть вот так:
Тут есть 2 фаззера, один для поиска файлов, другой - Main Fuzzer, ориентирован на поиск директорий.
подробнее на сайте Invicti (Нужно запустить специальную ракету, которая позволит пролететь сквозь ограничение. 3 буквы которые нельзя называть).
Думаю большинство, кто в теме - слышали о популярных инструментах типо gobuster или ffuf ... Они работали по классическому принципу, когда необходим был словарь для фаззинга. Это создавало некоторые ограничения, т.к данные из словаря не могли мутировать в зависимости от контекста. Чтобы решить эту проблему - с двух ног в дверь врывается решение, совмещающее ffuf и ... llm.
brainstorm ... Работает это следующим образом - вы делаете обычный фаззинг через ffuf, используя словарик, затем в модельку, которая должна быть запущена через Ollama - подаются результаты, которые были получены в ходе фаззинга и LLM создаёт новый словарик на основании результатов - который по идее должен обеспечить более лучшее покрытие. По дефолту такой цикл запускается 50 раз, однако вам ничего не мешает сделать и 100 циклов и больше т.к вы используете локальную модель.
К примеру, мне нужно поискать .pdf на сайте. Это будет выглядеть вот так:
python fuzzer_shortname.py "ffuf -w ./fuzz.txt -u http://target.com/FUZZ" "document.pdf" --cycles 25
Тут есть 2 фаззера, один для поиска файлов, другой - Main Fuzzer, ориентирован на поиск директорий.
подробнее на сайте Invicti (Нужно запустить специальную ракету, которая позволит пролететь сквозь ограничение. 3 буквы которые нельзя называть).
👍9🔥4❤3
На гитхабе выкатили интересный репозиторий который называется AIVSS - это структура оценки уязвимостей для систем с ИИ. Цель проекта — устранить ограничения традиционных систем оценки уязвимостей ( CVSS), которые не учитывают особенности ИИ-систем. Однако авторы отмечают, что это вообще не конечный вариант и предлагают сообществу оценить недостатки их подхода.
Что за особенности ?
Например то, что классический CVSS предполагает что ИИ-система является статичной, в тоже время - авторы так не считают. Они предполагают что фреймворк для оценки ИИ-уязвимостей должен включать оценку устойчивость модели, чувствительности данных, этическое воздействие, критичность решений, адаптивность.
Конечно же, они предлагают свои метрики для подсчёта общего severity от уязвимости.
Также к базовым метрикам относятся: скоуп, какие привилегии необходимы и требуется ли взаимодействие пользователя ...
У AI-специфичных рисков может быть значение от 0 до 1(так написано в фреймворке):
и т.д
Естественно, там больше метрик и самое главное - там приведена математика для подсчёта конечного severity:
Итоговый балл в этой системе оценки варьируется от 0 до 10 и позволяет классифицировать риск как:
Что за особенности ?
Например то, что классический CVSS предполагает что ИИ-система является статичной, в тоже время - авторы так не считают. Они предполагают что фреймворк для оценки ИИ-уязвимостей должен включать оценку устойчивость модели, чувствительности данных, этическое воздействие, критичность решений, адаптивность.
Конечно же, они предлагают свои метрики для подсчёта общего severity от уязвимости.
Attack Vector (AV): Какой доступ требуется для эксплуатации уязвимости?
(например это может быть доступ из сети - и тут устанавливается значение 0.85 или локальный/физический доступ)
Attack Complexity (AC): Какова сложность атаки?
Низкая (Low): 0.77
Высокая (High): 0.44
Также к базовым метрикам относятся: скоуп, какие привилегии необходимы и требуется ли взаимодействие пользователя ...
У AI-специфичных рисков может быть значение от 0 до 1(так написано в фреймворке):
Model Robustness (MR): Насколько устойчива модель к атакам?
Data Sensitivity (DS): Насколько чувствительны используемые данные?
Ethical Impact (EI): Каковы возможные этические последствия уязвимости?
Decision Criticality (DC): Насколько важны решения, принимаемые моделью?
Adaptability (AD): Насколько система может адаптироваться к изменениям или атакам?
и т.д
Естественно, там больше метрик и самое главное - там приведена математика для подсчёта конечного severity:
Итоговый балл в этой системе оценки варьируется от 0 до 10 и позволяет классифицировать риск как:
Critical: 9.0 - 10.0
High: 7.0 - 8.9
Medium: 4.0 - 6.9
Low: 0.1 - 3.9
None: 0.0
🔥6👍2❤1👏1🤮1
Также хочу сообщить, что уже в ближайшее время - 8го и 15го декабря в Музее Криптографии будет 2 открытых подкаста, организация которых стала возможна благодаря Слономойке 🐘 🐘 🐘 .
Подкасты проведёт Дарья Курнаева, технический писатель, аналитик и исследователь философии науки и техники. Обожает задавать вопросы разработчикам, мыслителям и самой себе. Она ведёт блог с размышлениями об IT и цифровизации.
Главные спикеры открытых подкастов - это большой, но интересный секрет.
Будут рассмотрены 2 темы:
1. "Безопасность LLM: prompt-атаки и защита от них" (8го декабря с 12:00-14:00) - как можно понять тут в открытом подкасте будут рассмотрены методы по защите от классических и неклассических вариантов промпт-инъекций. Регистрация тут и она обязатаельна.
2. "Интерпретируемость моделей: как понять и защитить их?" (15го декабря с 12:00-14:00) - в этом открытом подкасте ребята поговорят о том как и какими инструментами можно понять LLM, а самое главное "какое отношение это имеет к безопасности" и как можно улучшить защиту исходя из понимания того как модель интерпретирует результаты. Регистрация тут и она обязательна.
Не так много сейчас открытых мероприятий по AI Security, где можно не только послушать - но и поучаствовать в обсуждении тем.
Поэтому я лично каждому рекомендую посетить эти подкасты - тем более что это совершенно бесплатно.
лама с щитом на превью - это отсылка к llama guard
Подкасты проведёт Дарья Курнаева, технический писатель, аналитик и исследователь философии науки и техники. Обожает задавать вопросы разработчикам, мыслителям и самой себе. Она ведёт блог с размышлениями об IT и цифровизации.
Главные спикеры открытых подкастов - это большой, но интересный секрет.
Будут рассмотрены 2 темы:
1. "Безопасность LLM: prompt-атаки и защита от них" (8го декабря с 12:00-14:00) - как можно понять тут в открытом подкасте будут рассмотрены методы по защите от классических и неклассических вариантов промпт-инъекций. Регистрация тут и она обязатаельна.
2. "Интерпретируемость моделей: как понять и защитить их?" (15го декабря с 12:00-14:00) - в этом открытом подкасте ребята поговорят о том как и какими инструментами можно понять LLM, а самое главное "какое отношение это имеет к безопасности" и как можно улучшить защиту исходя из понимания того как модель интерпретирует результаты. Регистрация тут и она обязательна.
Не так много сейчас открытых мероприятий по AI Security, где можно не только послушать - но и поучаствовать в обсуждении тем.
Поэтому я лично каждому рекомендую посетить эти подкасты - тем более что это совершенно бесплатно.
лама с щитом на превью - это отсылка к llama guard
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍3❤2🤮1
Forwarded from Positive Web3
How We Trained an #LLM to Find Vulnerabilities in #Solidity Smart Contracts
https://blog.positive.com/how-we-trained-an-llm-to-find-vulnerabilities-in-solidity-smart-contracts-9337bcae5e46
https://blog.positive.com/how-we-trained-an-llm-to-find-vulnerabilities-in-solidity-smart-contracts-9337bcae5e46
Medium
How We Trained an LLM to Find Vulnerabilities in Solidity Smart Contracts
At Positive Web3, we live and breathe smart contract security. Our work revolves around analyzing vulnerabilities, researching exploits…
Forwarded from Ethical Machines
BadRAG: как сломать RAG за минимальное количество шагов
RAG (Retrieval Augmented Generation) сегодня является популярным инструментом для передачи в LLM знаний. Почему:
🟣 дообучать модели каждый раз после изменения знаний о мире дорого;
🟣 давать свободный доступ в интернет своим LLM может быть рискованно;
🟣 вы хотите сами определять наиболее актуальные знания.
Тогда выбор очевиден: вам нужен RAG. Как он работает:
🟣 вы собираете набор документов с нужными вам знаниями;
🟣 получаете векторы для этих документов / их кусочков;
🟣 кладете все эти векторы в бд;
🟣 и затем, когда пользователь приходит с запросом, вы ищете наиболее похожие документы / кусочки на его запрос, а дальше передаете их в LLM, а она уже “разберется”, что с этим делать.
Очень поздний TL;DR
Основная идея статьи, которой хочу поделиться — "заставить" модель генерировать "плохие" ответы или же вовсе не отвечать на запрос минимальными усилиями.
И как же это сделать
Я расскажу о самом первом подходе Retrieval-phase Attacking Optimization. Идея такая, что нужно добавить минимальное количество таких adversarial passage, чтобы на большее количество запросов возвращать "некорректный" ответ. Расскажу об основных вещах:
🟣 Сначала вы собираете набор триггеров, на которые вы хотите получать "плохие" ответы (авторы статьи, почему-то, в качестве примера выбрали республиканцев). Ну ладно.
🟣 Contrastive Optimization on a Passage (COP). На этом этапе обучается вектор adversarial passage таким образом, чтобы он имел максимальную схожесть с триггерными запросами, но минимальную с нормальными запросами. Формат обучения ну оочень похож на word2vec negative sampling с некоторыми поправками.
Результаты интересные. Их замеряли на таких датасетах, как Natural Questions (NQ), MS MARCO и SQuAD. Всего к данным добавляли 10 adversarial passages (0.04% от всех данных). И что получилось в итоге:
🟣 Доля извлечения adversarial passages по всем тестируемым моделям выросла c 1% до 13.9% - 99.8% (для top-1 извлеченных документов в зависимости от датасета и модели).
А больше подробностей в статье.
RAG (Retrieval Augmented Generation) сегодня является популярным инструментом для передачи в LLM знаний. Почему:
Тогда выбор очевиден: вам нужен RAG. Как он работает:
Очень поздний TL;DR
Основная идея статьи, которой хочу поделиться — "заставить" модель генерировать "плохие" ответы или же вовсе не отвечать на запрос минимальными усилиями.
И как же это сделать
Я расскажу о самом первом подходе Retrieval-phase Attacking Optimization. Идея такая, что нужно добавить минимальное количество таких adversarial passage, чтобы на большее количество запросов возвращать "некорректный" ответ. Расскажу об основных вещах:
Результаты интересные. Их замеряли на таких датасетах, как Natural Questions (NQ), MS MARCO и SQuAD. Всего к данным добавляли 10 adversarial passages (0.04% от всех данных). И что получилось в итоге:
А больше подробностей в статье.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Forwarded from Дарья Курнаева (Чернавина)
This media is not supported in your browser
VIEW IN TELEGRAM
❤8🔥1🐳1