Wednesday, July 20, 2011

Автообучение rspamd

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


  • Принимать решение об автообучении в lua скрипте. Это позволит задать максимально много оценок - как на базе сработавших правил, так и на базе списков, например, honeypot'ов.
  • Использовать комплексную метрику оценки критериев: например, сработавший адрес из honeypot'а считать почти пороговым срабатыванием для автообучения (почти, т.к. бывают рассылки, внезапно попадающие на honeypot'ы), а срабатывание комбинации определенных символов при определенном весе письма - запороговым срабатыванием.
  • Автообучение короткими письмами практически неэффективно, и такие письма стоит исключить из автообучения.
  • Для окончательной оценки стоит оживить мо и старые наработки касательно плагина по "доверительности" ip адреса. То есть, каждое письмо, оцененное как хам добавляет доверительности, и наоборот. А жалоба пользователя сразу понижает доверительность ip релея на несколько пунктов.
Таким образом, после выпуска 0.4.0 я займусь автообучением и допиливанием степени доверия к релеям. Вторая задача также требует, чтобы популярные почтовые системы не попадали в "недоверительные", как, например, делает yahoo - то есть, при определенном большом пороге общего числа писем надо понижать множитель веса доверительности.

No comments:

Post a Comment