Учебники: как создать Антиспам? - Выбор персонального антиспама, антифишинга и родительского контроля - Форумы Anti-Malware.ru Перейти к содержанию

Recommended Posts

pROCKrammer

Здравствуйте,

у меня тут глупый вопрос. есть ли какие то книги или статьи на тему как работают приложения для борьбы со спамом?

Ещё раз извените за глупый вопрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Ego1st

их помойму всего парочку, на основе правил и эвристическим способом..

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Pavel Polyanskiy

Вообще технологий защиты от спама на основе проверки контента существует много, но самые популярные из них - это правила на основе фильтров URL, встречающихся в тексте, хэширование сообщений, анализ заголовков, анализ полей Subject и From, анализ тела сообщения, Regex, на основе матриц встречаемости ключевых слов и т.д. Имеются и эвристические методы.

Анти-спам engine'ы, имеющиеся в открытом доступе (наподобие Spam Assassin), как правило требуют длительного обучения и не пригодны для использования в production environment,

т.к. имеют крайне низкую точность обнаружения спама и плохой catch rate.

Помимо правил и эвристиков существуют также открытые DNSBL и RBL - "черные" и "белые" списки

адресов отправителей спама, которые можно с выгодой использовать в процессе борьбы со спамом.

В настоящее время приобретают популярность новейшие технологии блокировки спама на уровне

SMTP-соединения, т.е. еще до того, как MTA примет письмо (сообщения блокируются в соответствии с репутацией IP отправителя, накопленной на глобальном и локальном уровне).

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pROCKrammer

Спасибо за информацию ... просто ради интереса хотел написать маленький анти-спам для себя

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001
то книги или статьи на тему как работают приложения для борьбы со спамом?
хотел написать маленький анти-спам для себя

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

Предлагаю одни из старейших:

SpamBully

Spamihilator

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
pROCKrammer
Неплохобы сначала скачать один из них и изучить его работу, а потом сравнить с другим.

Предлагаю одни из старейших:

SpamBully

Spamihilator

эх жаль у меня не Windows ;) а так бы протестировал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001
эх жаль у меня не Windows а так бы протестировал

Я знаю, но долго что ли поставить. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
spamolov
Анти-спам engine'ы, имеющиеся в открытом доступе (наподобие Spam Assassin), как правило требуют длительного обучения и не пригодны для использования в production environment,

т.к. имеют крайне низкую точность обнаружения спама и плохой catch rate.

Не хочется конечно превращать эту ветку в спор, но я считаю что здесь вы не правы. Старичек SpamAssassin, еще дасть многим фору. Насчет "требуют длительного обучения", насчет какого-такого обучения вы говорите, обучение встроенного Бейса? Так Бейс вообще не рекомендуется использовать, а так включил URI_BL, скачал скажем SARE_RULES(набор постоянно обновляющихся контент правил для SpamAssassin), включил так же DNS_BL и будет достаточно эффективно работать даже как вы выразились в production environment. :) Конечно может быть не так эффективно, как коммерческие продукты, но тут уж кто не платит довольствуется тем что есть. В России тысячи организаций используют SpamAssassin. Да и в мире могу назвать несколько вендоров, которые его используют в своих сервисах.

Спасибо за информацию ... просто ради интереса хотел написать маленький анти-спам для себя

Тут вы определитесь сначала, какие алгоритмы хотите в нем реализовать. Скажем можно поломать голову и написать проверку почты с помощью бейсовского алгоритма, но опять же только в образовательных целях. :rolleyes:

Можно просто сделать парсер правил состоящих из регулярных выражений(все это есть в SpamAssassin), то есть даете письмо на вход и набор правил с весами(очками), и проверяете письмо по этим правилам, как только правило срабатывает, запоминаете его вес и так далее, в конце проверяете общее колличество набранных очков и сравниваете его с колличеством очков при котором письмо будет спамом, если набрали больше, то например помещаете в заголовок(header) строчку о том что письмо - спам.

На самом деле писать все это заново считаю очень трудоемким, если хотите понять как оно работает, возьмите просто SpamAssassin,он open source и написан на Perl. Поэтому просто возьмите его и посмотрите как у них это в коде реализовано.

Отредактировал spamolov

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
skAmZ

Правильные вещи люди гляголят, spamolov все правильно написал... в SpamAssassin сомневаться не стоит)

На счет собственно темы, писать много мне лень поэтому вот ссылка, где много чего про СПАМ написано:

http://all-ib.ru/content/spam/spam_part_1.php

Написано хорошо, а вот читать не очень то удобно, там разбито на страницы вместо того чтобы читать приходится кликать регулярно... я больше страниц 10 не осилил))))...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
sklady

Я согласен, что антиспам нужен, но прочесть по этому делу целую книгу - это слишком.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Зайцев Олег
Здравствуйте,

у меня тут глупый вопрос. есть ли какие то книги или статьи на тему как работают приложения для борьбы со спамом?

Ещё раз извените за глупый вопрос.

В плюс к приведенным советам (писать свой антиспам конечно можно - но смысл ? ... академический смысл конечно есть - например, в качестве диплома):

1. стоит всеже для начала почитать про теорему Байеса и фильтр Байеса (начиная отсюда - http://ru.wikipedia.org/wiki/%D0%91%D0%B0%D0%B9%D0%B5%D1%81, ну и далее http://ru.wikipedia.org/wiki/%D0%91%D0%B0%...B0%D0%BC%D0%B0). Эта теория описывает одину из самых простых методик фильтрации на основе анализа контента, с возможностью дообучения и без привлечения внешних баз... ну и далее в том-же духе, можно прикрутить какой-нибудь "нейролингвистический анализ", эволюционные алгоритмы и т.п. Однако стоит понимать, что современный спам учитывает возможность контент-фильтрацию (и вместо контента в письме может быть ссылка без текста, ссылка + бредовый постоянно меняющийся текст-приманка, картинка, картинка с защитой от OCR и т.п.).

2. Есть методики, полезные в случае реализации на сервере:

2.1 если почтовый сервер при получении письма из сомнительного источника сообщит передаюшему серверу, что занят ... и пошлет его вон, то нормальный SMTP сервер попробует повторить передачу через N часов. Спамбот - не будет пробовать, и тем самым мы отсекаем спамботов на корню

2.2 изучив заголовки письма можно понять, откуда и от кого оно идет оно идет - и накрутить массу простых проверок. Например, проверить, есть ли такой почтарь-отправитель в природе (MX запись в DNS), или например в ходе анализа выяснится, что письмо с обратным адресом pupkin@smolen.ru идет с почтаря mail.ru, то мягко говоря это странно. Сделать такие проверки несложно, эффективность их высокая.

2.3 на момент приема письма мы знает IP сервера, от которого мы его получаем - можем проверить его репутацию пор разным базам

2.4 мониторинг почтовой активности на сервере позволяет автоматически создавать правила. Например, pupkin@smolen.ru написал письмо на адрес avz@z-oleg.com. Следовательно, если с avz@z-oleg.com ему придет ответное письмо, то его можно немедленно пропустить, так как мы точно знаем, что pupkin@smolen.ru туда писал. Равно как наоборот, если скажем извне на @smolen.ru впервые придет письмо с avz@z-oleg.com и мы его пропустим, и затем на него последует ответ и завяжется переписка - то это показатель того, что пропущенное письмо не было спамом. Или например можно запомнить, с какого почтаря идут почта от avz@z-oleg.com, и если она например всегда шла от почтаря @z-oleg.com и вдруг пошла от @mail.ru - это будет опять-же странно.

3. с академической точки зрения можно рассмотреть идею "антиспам-ловушек", т.е. ящиков, которые "засвечиваются" и используются в последствии для того, чтобы ловить спам (ну и далее сеть из тысяч таких ящиков-приманок, консолидация данных и создание своих черных списков и правил фильтрации). Аналогично работают разные кнопки типа "пожаловаться на спам" в крупных почтовых системах - ведется глобальное накопление статистикии о том, что пользователи считают спамом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • demkd
      ИИ — полезная штука, но, к сожалению, бесплатные версии, как тот же Google Gemini Flash, тупенькие на уровне 12b моделей, делают колоссальное число ошибок по мелочам. Яблочко от яблони... Мало того, "новое" у них обычно старое с отставанием на год, и это в лучшем случае. Я сейчас как раз занимаюсь новой, уже 3-й версией своего "Клавиатурного помощника". В нём будет поддержка локального ИИ, горячих ИИ-клавиш, голосовых команд, голосового ввода и вспомогательной LLM для переводов, правки текста и т.п. Именно локального ИИ без необходимости обращения в сеть и сопутствующих утечек данных И это не для старого железа — нужно как минимум много памяти и современный процессор, в идеале хотя бы RTX 5060 Ti 16 ГБ в качестве ускорителя. А результат, ну, такой себе. ИИ слишком склонен ошибаться, и доверять ему что-то серьёзное пока не стоит, даже код пишет, который как-то работает, но в нём масса мелких и незаметных ошибок и уязвимостей. 
      Текст исправлен с помощью Google Gemma 4 E4B. 
    • PR55.RP55
      Вы сказали: "Найди все новые ключи которые появились 2026 г. и ранее не использовались... Можешь ?"
      *Да, я могу помочь* составить список новых ключей реестра и путей
      автозагрузки, которые вредоносное ПО использует в текущих кампаниях
      (включая модификации 2026 года), маскируясь под легальные системные
      компоненты. ( скопирую частично) :   * *|HKLM\SOFTWARE\Classes\Protocols\Filter|* и *|\Handler|* — новые
          модификации Adware перехватывают протоколы edge:// или msproedg://
          для подмены поисковой выдачи.   * *|HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss|* —
          использование подсистемы WSL для скрытого автозапуска
          Linux-ориентированных рекламных модулей, незаметных для стандартных
          триггеров автозагрузки Windows. Современные зловреды (особенно Adware и майнеры) научились прописываться
      в тихий автозапуск без создания классических ключей |Run| или
      |Services|. Они используют встроенный механизм Windows 10/11 —
      *псевдонимы выполнения приложений*.   * *Суть*: В реестре создается связь в ветке
          |HKCU\Software\Microsoft\Windows\CurrentVersion\App Paths| или через
          механизм |AppXPackage|. Зловред подменяет вызов легальной команды
          (например, при наборе пользователем |notepad| или |calc| в строке
          «Выполнить») и запускает свое тело.
        * *Что добавить в памятку*: Обращать внимание на появление кастомных
          записей в блоке «Псевдонимы приложений» и проверять, куда
          перенаправляются стандартные системные вызовы. 2. Подмена через каталоги |Lxss| (WSL — Windows Subsystem for Linux)
      Это одна из самых опасных современных тенденций, так как многие
      антивирусы до сих пор слабо сканируют Linux-среду внутри Windows.   * *Суть*: Майнеры и стилеры прописывают свой запуск внутри
          дистрибутива WSL (ключ реестра
          |HKCU\Software\Microsoft\Windows\CurrentVersion\Lxss|). При старте
          Windows запускается скрытая фоновая сессия WSL, которая активирует
          ELF-бинарник (Linux-вирус). В логах автозапуска Windows это выглядит
          как легальный старт службы |wsl.exe|, но с хитрыми аргументами.
        * *Что добавить в памятку*: Формула «А+В+С»: если |wsl.exe|
          запускается автоматически с флагами |-d| (конкретный дистрибутив)
          или скрытыми bash-скриптами — это 100% повод для изоляции и проверки
          содержимого виртуального диска VHDX. 3. Продвинутый Timestomping с подделкой под апдейты ОС
      Раньше вирусописатели просто копировали даты у соседних файлов
      (|kernel32.dll| и т.д.). Теперь они действуют умнее:   * *Суть*: Дата создания файла выставляется ровно на день/час крупного
          официального обновления Windows (например, подстраиваются под график
          Patch Tuesday от Microsoft). Аналитик смотрит на лог uVS, видит дату
          (например, |14.10.2025|) и думает: «А, ну это тогда накопительный
          апдейт прилетел, файл чистый».
        * *Что добавить в памятку*: Правило проверки контрольных сумм. Не
          верить датам, даже если они идеально совпадают со временем
          системного обновления. Если у файла из папки |System32| с
          «правильной» датой обновления отсутствует валидная ЭЦП (или статус
          |Цифр. подпись: НЕТ|) — это критический триггер. 4. Атаки типа Living off the Land (LotL) через новые системные утилиты
      Вместо использования заезженных |powershell.exe| или |cmd.exe|, которые
      сейчас жестко блокируются любым EDR/антивирусом, малварь перешла на
      легальные, но редкие утилиты Windows (LOLBins).   * *Суть*: Для скачивания и запуска вредоносного кода используются
          системные компоненты:
            o |curl.exe| (теперь встроен в Windows) — для скрытой загрузки
              полезной нагрузки.
            o |tar.exe| — для распаковки зашифрованных архивов со стилерами
              прямо «на лету».
            o |winget.exe| (Windows Package Manager) — для скачивания
              вредоносных утилит из легальных репозиториев.
        * *Что добавить в памятку*: В uVS нужно тщательно анализировать
          параметры запуска командной строки в Планировщике задач (|TASKS|),
          если там фигурируют |curl|, |tar| или |bitsadmin|, качающие что-то с
          внешних IP-адресов. 6. Скрытые модификации через COM-объекты (COM Hijacking без изменения
      файлов)
      Вместо перезаписи файлов в |System32| или создания явных ключей |Run|,
      малварь перехватывает легальные системные интерфейсы через реестр.   * *Суть*: Зловред прописывает путь к своей вредоносной DLL в ветку
          *|HKCU\Software\Classes\CLSID\{GUID}\InprocServer32|*. При этом
          берется GUID легального и часто используемого компонента Windows
          (например, Проводника, контекстного меню или планировщика). Как
          только система или пользователь совершает обычное действие
          (открывает папку, кликает правой кнопкой мыши), Windows
          автоматически подгружает вредоносную DLL.
        * *Что добавить в памятку*: В uVS такие объекты часто попадают в
          категорию «Подозрительные CLSID» или скрытые расширения оболочки.
          Если в ветке |HKCU| (пользовательский уровень) переопределяется
          системный GUID, который по умолчанию должен жить только в |HKLM|
          (уровень системы) — это явный признак перехвата. 7. Спуфинг цифровой подписи через уязвимости каталогов (Catalog Signing
      Spoofing)
      Малварь научилась обходить базовую проверку подписей, из-за чего в логах
      некоторых утилит файл может ошибочно помечаться как «Подписан Microsoft».   * *Суть*: Используются уязвимости в механизме проверки файлов через
          каталоги безопасности Windows (|.cat| файлы). Вредоносный бинарник
          модифицируется таким образом, что его хэш совпадает с хэшем
          легального файла в базе данных каталогов (используются коллизии или
          специфические уязвимости парсинга).
        * *Что добавить в памятку*: Правило двойной проверки. Если файл
          находится в нетипичном месте (например,
          |C:\Users\...\Temp\svchost.exe|), но uVS или ОС рапортует, что у
          него «Валидная подпись Microsoft» — необходимо принудительно
          отправлять хэш файла на VirusTotal через встроенную функцию uVS или
          проверять подпись сторонними утилитами (например, |Sigcheck| от
          Sysinternals) с проверкой отзывов сертификатов. 8. Эксплуатация механизма «Служб доставки обновлений» браузеров
      (Edge/Chrome Maintenance)
      Рекламное ПО (Adware) и кликеры ушли от создания собственных явных служб
      и теперь паразитируют на легальных планировщиках браузеров.   * *Суть*: Вредоносный скрипт не создает новую задачу в Планировщике.
          Вместо этого он модифицирует параметры /уже существующей/ легальной
          задачи, например, |MicrosoftEdgeUpdateTaskMachineCore|. В
          оригинальную команду дописывается скрытый аргумент
          (аргумент-паразит), который раз в сутки скачивает или запускает
          рекламный модуль. Аналитик видит знакомое имя задачи Edge, видит
          легальный путь к апдейтеру и пропускает её.
        * *Что добавить в памятку*: При анализе задач Планировщика (|TASKS|) в
          uVS нужно смотреть не только на имя файла, но и *полностью
          разворачивать строку аргументов*. Любые добавленные URL-адреса,
          вызовы |cmd /c|, или сторонние пути в параметрах легальных служб
          обновления — это стопроцентный признак компрометации. 10. Фейковые системные переменные в путях автозапуска
      Обман визуального восприятия аналитика через манипуляцию переменными среды.   * *Суть*: В реестре или планировщике путь к файлу прописывается как
          |%SystemRoot%\System32\drivers\malware.sys|. Но перед этим на уровне
          пользователя (|HKCU\Environment|) создается кастомная переменная
          |%SystemRoot%|, которая указывает вовсе не на |C:\Windows|, а на
          |C:\Users\Public\Documents|. В итоге аналитик глазами видит
          «безопасный» системный путь, а система при загрузке идет в скрытую
          пользовательскую папку.
        * *Что добавить в памятку*: Всегда проверять блок «Переменные
          окружения» в начале лога uVS. Любые попытки переопределить
          стандартные переменные вроде |%SystemRoot%|, |%WinDir%| или
          |%ProgramFiles%| на уровне текущего пользователя — это критическая
          угроза.
    • PR55.RP55
      Сейчас дал ИИ задание напиши скрипт и... Вот:  ( взял Инфо. из одного из старых образов) Скрипт лечения для uVS Чтобы полностью удалить эту службу, связанные с ней файлы и очистить ссылки в реестре, выполните следующий скрипт: text ; uVS v4.15.1 [Script] ; Target OS: Windows ; Удаление вредоносной службы и основного файла апдейтера delref %Network%\C:\PROGRAM FILES (X86)\YONTOO\Y2DESKTOP.UPDATER.EXE ; Удаление исполняемого файла в AppData, вызываемого через параметры службы delref %AppData%\YONTOO\YONTOODESKTOP.EXE ; Принудительное удаление самой службы из реестра delsrv Yontoo Desktop Updater ; Очистка остаточных путей и каталогов Yontoo deldir C:\Program Files (x86)\Yontoo deldir C:\Users\cappu44ino\AppData\Roaming\Yontoo ; Перезагрузка для применения изменений restart --------- Я сильно не увлекался - так для примера.  
    • PR55.RP55
      santy Модели ИИ ( я делал запрос к google ) - есть возможность задать вопрос ( дать задание ) по заранее выбранным настройкам: настройки: yaml [SYSTEM_OVERRIDE] ---------- Код он сам себе напишет :)  Главное задать нужные вопросы и потом попросить\ сохранить настройки в виде кода ) Единственно - не все ИХ модели нормально работают. Результаты тоже нужно проверять... Например:  получить Резюме... По записи - ( как в моём примере в Новые функции ) С заранее заданными параметрами - что нам нужно.  Это и для обучения и для экономии времени и когда оператор устал, для написания отчёта - по работе на семинар, при обсуждении на форуме, анализ новых угроз или появился новый ключ автозапуска; там где есть сомнение - что это... Построить цепочку - чтобы увидеть механику процесса\заражения. Увидеть аномалии - как то, что браузер "подписан" но это ЭЦП не головного офиса - а ЭЦП - пусть и "легитимное" - но смежников.  Аномалии пути; размера; схожесть имени и т.д. Никакие настройки uVS этого не дадут.  Можно увидеть никогда ранее неиспользуемый ключ запуска ( или его нестандартное применение ).  Если железо современное - то возможно? - локальные модели ИИ. Можно попробовать например дать задание: Найди все новые ключи которые появились 2026 г. и ранее не использовались...  
    • santy
      Как гипотетические варианты действий: ---------------------- - получить детальную расшифровку выбранного антивирусного детекта по результату проверки файла на VT из экрана ИНФО. Здесь я бы обратил внимание на три основных детекта: у Kaspersky, DrWeb, ESET, возможно + Microsoft. - получить расшифровку по цифровой подписи файла, насколько известна, и надежна. -  может стоит продумать свою классификацию детектов, и потом уже на основании данной классификации находить другие примеры/способы запуска и т.п.
×