Тема по нейросетям

Тема в разделе "WASM.A&O", создана пользователем _edge, 19 июл 2026 в 16:37.

  1. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    , если таковой еще не было, то вот она.
     
  2. CaptainObvious

    CaptainObvious Member

    Публикаций:
    0
    Регистрация:
    18 янв 2024
    Сообщения:
    114
    Надо создавать именно раздел(дирректорию), чтобы перенести туда другие темы(и эту). В этом есть зс(здравый смысл).
    Обсуждение нс(неровных сетей) среди системного погромирования помеха/проблема/информационный шум/etc.
     
  3. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    Эту тему можно прикрепить, чтобы она не терялась, в A&O. Ну почему шум? Пользователь Intro обсуждает здесь баллистику в играх, какое системное программирование?
    А иначе придется сильно структуру разделов менять, хотя это на усмотрение модераторов, конечно.
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.438
    Ну, окей. Чтобы ближе к тематике форума было, никто не смотрел, какие сейчас модные проекты по поиску уязвимостей с помощью БЯМов? На базе чего такие решения эффективно строить? На исходниках, или на выхлопе дизасма, или еще как?
     
  5. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    За модные не скажу, но вот https://cyberleninka.ru/article/n/m...tekstnoy-adaptatsii-bolshih-yazykovyh-modeley (список используемой литературы аж в 40+ публикаций)

    БЯМы чем хороши могут быть - Google AI Studio (который упрощенный Gemini) так и сказал в ответ на "ты мне растрового человека-гриба сделал в виде линий и кружков, векторизовал конечно так себе, но я понимаю, что ты не искусный трассировщик растровых изображений" - оно не оперирует, если в контексте битмапов, точками-пикселями, оно знает, где у существа нога, где голова, поняло, что голова является шляпкой гриба, на основе этого создала страшное слово "эмбеддинги", и оперирует уже этими объектами.

    Эмбеддинги (от англ. embedding — «вложение») — это способ представления слов, фраз, изображений, пользователей или других объектов в виде числовых векторов в многомерном пространстве. Эти векторы сохраняют смысловые связи, что позволяет алгоритмам машинного обучения и ИИ анализировать данные, находить сходства, делать выводы и решать сложные задачи.

    Перекладывая на секурити - это получается, как если мы (авер) перехучиваем все вызовы в ОС, и как бы малварь себя не криптовала и обфусцировала, она все равно придет к вызовам АПИ ОС, где у нас уже все схвачено.

    То есть нужно ввести понятие "уязвимость" (эмбеддинг объекта уязвимости). Если в момент работы ОС внезапно из ниоткуда возник привелегированный режим, это эмбеддинг.

    Окей, Гугл, upload_2026-7-19_18-2-41.png upload_2026-7-19_18-3-25.png

    Сейчас бы эксплоиты на автопилоте писать. "Вы их еще и есть за меня будете? Агааа!"

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

    "Что есть эмбеддинг, и как это понятие увязать с поиском уязвимостей?"

    Что такое эмбеддинг простыми словами?
    Эмбеддинг (embedding / векторное представление) — это способ перевода сложного объекта (слова, текста, картинки или фрагмента исходного кода) в набор чисел (вектор), который отражает его смысл.
    Если обычный поиск ищет точные совпадения букв, то эмбеддинги позволяют компьютеру сравнивать «смысловое расстояние».
    • Пример из жизни: Слова «собака» и «пёс» пишутся по-разному, но их векторы в многомерном пространстве будут находиться очень близко друг к другу, потому что они означают одно и то же.
    • Пример из программирования: Код x = x + 1 и код counter++ выглядят по-разному, но делают одно и то же. Хорошая модель эмбеддингов выдаст для них очень похожие числовые векторы.
    Как связать эмбеддинги с поиском уязвимостей?
    В сфере кибербезопасности эмбеддинги совершили революцию, заменив старый поиск по регулярным выражениям (Grep) на семантический поиск уязвимостей.
    Вот 4 основных сценария, как это работает на практике:
    1. Поиск уязвимостей по аналогии (Code Similarity Search)
    Допустим, в одной из библиотек GitHub нашли критическую уязвимость (например, выход за пределы буфера). Разработчики её исправили.
    • Как помогают эмбеддинги: Мы берем уязвимый кусок кода, превращаем его в вектор и прогоняем через базу данных векторов всего остального кода нашей компании.
    • Результат: ИИ найдет все места, где программисты скопировали этот код или написали логически точно такой же (даже если они изменили названия переменных, функций и добавили комментарии).
    2. Обнаружение "странного" кода (Anomaly Detection)
    Безопасный код обычно пишется по определенным стандартам. Векторы безопасных функций в трехмерном пространстве сбивались бы в плотные «облака» (кластеры).
    • Как помогают эмбеддинги: Если программист случайно (или умышленно — бэкдор) внедряет опасную логику, вектор этой функции резко улетает в сторону от общего облака нормального кода.
    • Результат: Система безопасности сразу подсвечивает этот фрагмент как аномалию, требующую ручной проверки.
    3. Семантический поиск по базам CVE и Bug Bounty
    Раньше, чтобы найти уязвимость в документации или отчетах, нужно было точно угадать ключевые слова.
    • Как помогают эмбеддинги: Вы можете написать системе на человеческом языке: «Найди мне отчеты, где злоумышленник подменял ID пользователя в запросе, чтобы прочитать чужие сообщения».
    • Результат: База данных векторов поймет, что вы имеете в виду уязвимость класса IDOR, и выдаст все релевантные отчеты, даже если в них не было слов «подменял» или «сообщения».
    4. Эффективная "память" для БЯМ-агентов (RAG в ИБ)
    Большие языковые модели (LLM) имеют ограничение на размер контекста — в них нельзя загрузить сразу весь исходный код огромного банковского приложения.
    • Как помогают эмбеддинги: Весь код приложения режется на куски, превращается в векторы и кладется в векторную базу данных (например, ChromaDB или Pinecone). Когда ИИ-агент ищет уязвимость SQL-инъекции, он делает запрос к базе, векторная база выдает только те 5-10 кусков кода, которые смыслово связаны с обработкой баз данных, и именно их передает в модель для анализа.
    Популярные инструменты, где это используется
    • CodeQL / Semgrep (с ИИ-плагинами) — современные сканеры кода используют эмбеддинги, чтобы понимать абстрактное синтаксическое дерево (AST) кода.
    • OpenAI text-embedding-3 / Voyage-code — специализированные коммерческие модели для превращения кода в векторы.
    • StarCoder / CodeLlama — open-source модели, на базе которых ИБ-специалисты строят локальные системы поиска плагиата уязвимого кода.
     
    Последнее редактирование: 19 июл 2026 в 18:11
    НетРегистрации нравится это.
  6. Application

    Application Active Member

    Публикаций:
    1
    Регистрация:
    29 мар 2021
    Сообщения:
    380
    Зачем с помощью эмбедингов искать малварь?
     
  7. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    То есть, такое себе. По подобию-похожести УЖЕ ИМЕЮЩИХСЯ дырявых кодов ищет. Думал, оно мудрее. А оно просто смысловой поиск производит. По сути, мало чем отличается от PVS-studio?
    По уму, нужно состояние уязвимой системы - например упомянутое состояние привилегированного режима. Далее, если ОС в нем оказалось, то ищутся причины попадания в него. Либо делаются попытки уронить систему в это состояние (условный фаззинг).

    Application не малварь, уязвимости. Что есть уязвимость? Чтобы находить уязвимости, нужна классификация, что можно называть уязвимостью, а что нет. Но видимо падение системы в синьку или во внезапный ring0 это не эмбеддинг, это что-то другое. Эмбеддингом можно видимо назвать схожесть действий вредоносного ПО, которое определенными операциями старается вызвать эти состояния ОС.

    "Падение ОС в BSOD - это эмбеддинг? Или получение ring0 режима? Или сам факт того, что cpu оказался в ring0, это не эмбеддинг, а последовательность вариантов действий, чтобы вызвать это событие = это уже эмбеддинг?"

    Нет, ни падение в BSOD, ни получение режима Ring 0, ни сама последовательность действий не являются эмбеддингом.
    Здесь происходит путаница между реальным физическим событием (в мире операционных систем) и числовым описанием этого события (в мире ИИ).
    Давайте разберем все ваши примеры по полочкам, чтобы окончательно разделить эти понятия.
    1. Падение в BSOD или получение Ring 0 — это НЕ эмбеддинг
    • Что это на самом деле: Это технические состояния (события) операционной системы и процессора.
    • BSOD (Синий экран смерти) — это паническое состояние ядра ОС, когда произошла неустранимая ошибка.
    • Ring 0 (ядро) — это наивысший уровень привилегий процессора, на котором выполняется код ОС.
    • Почему это не эмбеддинг: Эмбеддинг — это всегда массив чисел (вектор). BSOD и Ring 0 — это не числа, это физическая реальность работы компьютера.
    2. Последовательность действий для вызова события — это тоже НЕ эмбеддинг
    • Что это на самом деле: Последовательность действий (например: открыть файл -> выделить буфер -> переполнить его -> подменить адрес возврата -> передать управление в Ring 0) — это алгоритм, эксплойт или трейс (лог) выполнения.
    Так где же здесь эмбеддинг? (Увязываем понятия)
    Эмбеддингом во всей этой истории будет цифровой «отпечаток смысла», который ИИ создает для анализа этих событий.
    Вот как ИИ-система безопасности (например, антивирус нового поколения) использует эмбеддинги применительно к вашим примерам:
    Вариант А: Эмбеддинг кода эксплойта
    У вас есть текст хакерского скрипта, который переводит процессор в Ring 0.
    • Вы пропускаете этот текст через нейросеть.
    • Нейросеть выдает вектор: [0.12, -0.89, 0.45, ... 0.01].
    • Это и есть эмбеддинг. Для ИИ этот набор чисел означает: «Код с вероятностью 95% пытается эксплуатировать уязвимость ядра для повышения привилегий». Если хакер изменит названия переменных в скрипте, эмбеддинг (числа) почти не изменится, и ИИ все равно поймает атаку.
    Вариант Б: Эмбеддинг поведения (Behavioral Embedding)
    Антивирус следит за системными вызовами (API calls) запущенной программы. Программа совершает последовательность действий, чтобы вызвать BSOD или прорваться в Ring 0.
    • Антивирус записывает эту цепочку шагов как текст или граф.
    • Переводит эту цепочку в вектор чисел (эмбеддинг поведения).
    • Сравнивает этот вектор с базой векторов «нормального поведения Windows» и «поведения вирусов». Вектор атаки окажется в многомерном пространстве очень близко к кластеру «Вредоносное ПО».
    Вариант В: Эмбеддинг дампа памяти BSOD
    Когда система падает в BSOD, Windows создает дамп памяти (Crash Dump) — лог того, что пошло не так.
    • Исследователи безопасности переводят логи тысяч BSOD-ов в эмбеддинги.
    • Если ИИ видит, что эмбеддинг нового BSOD'а подозрительно похож на эмбеддинг падения от известной хакерской атаки Wannacry, он бьет тревогу.
    Резюме для закрепления:
    • Ring 0 / BSOD — это то, ЧТО произошло в железе и ОС.
    • Последовательность действий — это то, КАК это произошло (инструкция/код).
    • Эмбеддинг — это то, как ИИ ЗАПИСАЛ СМЫСЛ этой инструкции или этого события в виде строчки чисел, чтобы быстро сравнивать его с другими событиями.

    О, становлюсь умнее день ото дня.
     
    Последнее редактирование: 19 июл 2026 в 18:34
    НетРегистрации нравится это.
  8. Application

    Application Active Member

    Публикаций:
    1
    Регистрация:
    29 мар 2021
    Сообщения:
    380
    Уязвимость - это когда хэккер находит способ выполнить системный вызов с некорректными параметрами так, что ядро ОС падает в синий экран.
     
  9. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    Application, не совсем.

    Чем уязвимость отличается от угрозы и эксплойта
    Важно разделять эти понятия:
    Уязвимость — это пассивный недостаток, «дыра» в системе.
    Угроза — это реальная возможность нанесения вреда, которая возникает, когда кто-то решает воспользоваться уязвимостью.
    Эксплойт — это уже инструмент, код или программа, созданная специально для того, чтобы эксплуатировать конкретную уязвимость и проникнуть в систему.
    Проще говоря, уязвимость — это открытая дверь, эксплойт — ключ, а сама кража — инцидент.


    В Вашем примере "способ выполнить системный вызов" это инструмент, эксплоит. А сама уязвимость - это возникшее нестандартное поведение системы.

    Т.о. если обратиться к вопросу Rel, если мы ищем уязвимости, мы ищем финальное состояние ОС, к которому мы будем добираться с помощью эксплоитов.
    То есть если применить фантазию, нужно что-то вроде back trace от состояния, в котором оказалась ОС.
     
    НетРегистрации нравится это.
  10. Application

    Application Active Member

    Публикаций:
    1
    Регистрация:
    29 мар 2021
    Сообщения:
    380
    А делать Вы это с Релом будете через эмбединги?
    Я не куплю Ваших секьюрити-инструментов.
     
  11. R81...

    R81... Active Member

    Публикаций:
    0
    Регистрация:
    1 фев 2020
    Сообщения:
    191
    https://wasm.in/threads/gemini.36696/page-6#post-448888
    "Подробно нет ресурсов, прошу прощения,
    только кратко:
    Взаимосвязь - это информация...".
    https://wasm.in/threads/gemini.36696/page-6#post-448889
    "R81..., если нет моста к проверяемым предсказаниям
    или к новой технологии - это чистая игра ума/воображения."
    ~"Действия и поступки-одно и тоже!...Асман (с)Мюллер"
     
  12. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    755
    _edge,

    В чем проблема отдать на реверс модуль ?
    Для бесплатных бям в контекстном окне, можно конечно вручную диз обработать, выделив нужные входы/ветви.

    Пример с кл, нуби собирает драйвер бямом(очевидно) и элементарные проверки безопасности не нужны.

     
  13. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    Application, Mikl___ и Ahimov нравится это.
  14. Ahimov

    Ahimov Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2024
    Сообщения:
    755
    _edge,

    Сразу понятен их уровень - смотрим раздел по реверсу, ручные разборы крэкми. Норм делается через DBI+taint(буфер с ключами наследуется и выходит прямо на проверки). Хотя на крэклабе тоже не смогли :)
     
  15. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    GRAFik отвечу по поводу упомянутого в теме, на которую дал ссылку R81, "пусть НС даст компилируемый исходник", поделюсь своим опытом. Думаю, будет небесполезно.

    Асм или нет, не важно на самом деле. Я использовал PureBasic в 2 случаях (это симулятор рынка/биржи, и игра наподобие Heroes3) и TinyC в случае эмулятора всея виРуси (для начала, 8086 с досовским окружением).

    Нельзя сразу сказать "дай мне прогу с мессаджбоксом", по 2 причинам (и это отсылка к тому, что Экспертную Систему, которой является БЯМ, пытаются использовать не совсем по назначению):

    1. Скорее всего сходу появятся ошибки компиляции (называю их "детскими ошибками", потому что после этапа исправления они не появляются, а если и появляются, то легко могут быть исправлены, т.к. они достаточно серийны, и это из-за разницы синтаксиса версий ЯП);
    2. "А поговорить?" (как в том анекдоте про 2 мужиков, которые искали третьего, чтобы выпить; выпили, разошлись, а он за ними идет и идет; мужик, что тебе надо от нас? - а поговорить?) Нужна прелюдия к тому, что НС будет генерить код. Так и пишите ей, "хочу обсудить программу с мессаджбоксом, не генерируй пока код, скажи, какие мессаджбоксы бывают, yes-no, или yes-no-cancel?")

    То есть проговариваете "скелет" программы (для проги с выводом мессажда это избыточно, но если в будущем начнете навешивать на программу дополнительные элементы, это очень поможет) и занимаетесь сбором шишек обо все острые углы ЯП, а также говорите НС, что неплохо было бы включить нумерацию версий, чтобы каждый новый исходник был не только с комментариями об произведенных изменениях в заголовке (НС любит этим гордиться), а имел собственную версию, чтобы можно было всегда откатиться на нее.

    Если проект начал разрастаться, так и говорите НС - "давай разобъем проект на подмодули, чтобы он не был монолитным 1 исходником". Если НС при обсуждении отвечает Вам "замени вот этот код функции", так и велите ей "дай мне полный исходник с этими изменениями", пусть раздует диалог лишним кодом, но это убережет от ошибок копипаста вручную из-за замыленности взгляда.

    НС понимает скриншоты. Если при работе программы получается не то, что задумано, иногда достаточно дать НС часть скриншота, это может быть более информативно, чем описывать проблему.

    Если проект модульный, важно держать в уме, что в уме в свою очередь держит НС ) Периодически навожу справки, как выглядят текущие/актуальные модули, чтобы быть с НС на одной волне. "Дай мне все файлы проекта" - обычное дело.

    Это все - про чатботов. На комп себе ничего не ставил, достаточно веб-версии, которая не требует заморочек с ВПН и космических мощностей ПК. Плюс - я могу логиниться в свои проекты что из дома, что с работы.
     
    Последнее редактирование: 20 июл 2026 в 12:59
    НетРегистрации и Mikl___ нравится это.
  16. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    4.265
    _edge нравится это.
  17. _edge

    _edge Well-Known Member

    Публикаций:
    1
    Регистрация:
    29 окт 2004
    Сообщения:
    690
    Адрес:
    Russia
    Совет от Ahimov, как можно заставить Deepseek прочесть PDF:

    upload_2026-7-20_14-29-30.png

    Кстати есть варианты просто накормить НС скриншотами текста. На этом даже "выехал" один молодец, таким образом сэкономив на стоимости токенов, получилось что дешевле вместо текста в платной нейронке ее забросать скриншотами текстовых запросов.
     
    Mikl___ нравится это.