Це командний spamoracle, який можна запустити в постачальнику безкоштовного хостингу OnWorks за допомогою однієї з наших численних безкоштовних робочих станцій, таких як Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS.
ПРОГРАМА:
ІМ'Я
spamoracle - інструмент класифікації спаму
СИНТАКСИС
спаморакул [-config конф] [-f база даних] позначити [ поштова скринька ... ]
спаморакул [-config конф] [-f база даних] додавати [-v] -спам спам-бокс ... - добре goodbox ...
спаморакул [-config конф] [-f база даних] тест [-хв проб] [-макс проб] [ поштова скринька ... ]
спаморакул [-config конф] [-f база даних] stat [ поштова скринька ... ]
спаморакул [-config конф] [-f база даних] список RegExp ...
спаморакул [-config конф] [-f база даних] резервна копія > файл резервної копії
спаморакул [-config конф] [-f база даних] відновлення < файл резервної копії
спаморакул [-config конф] [-f база даних] слова [ поштова скринька ... ]
ОПИС
SpamOracle — це інструмент, який допомагає виявити та відфільтрувати «спам» (небажані комерційні електронні
пошта). Це відбувається шляхом статистичного аналізу слів, які з’являються в електронному листі,
порівняння частоти слів із тими, які знайдені в наданому користувачем корпусі відомого
спам і відома легальна електронна пошта. Алгоритм класифікації заснований на
формула, описана в статті Пола Грема, A план та цінності спам,
http://www.paulgraham.com/spam.html.
Ця програма розроблена для спільної роботи з прокмайли(1). Результат
аналіз виводиться як додатковий заголовок повідомлення X-спам: подальшою так, немає or невідомий,
плюс додаткові деталі. Потім це може перевірити правило procmail X-спам: заголовок і доставити
електронний лист у відповідну поштову скриньку.
Крім того, SpamOracle також аналізує вкладення MIME, витягуючи відповідну інформацію
наприклад, тип MIME, кодування символів і ім'я вкладеного файлу, а також узагальнення їх у файлі
додатковий X-додатки: заголовок. Це дозволяє procmail легко відхиляти електронні листи
містять підозрілі вкладення, наприклад, виконувані файли Windows, які часто вказують на наявність вірусу.
ВИМОГИ І ОБМЕЖЕННЯ
Щоб використовувати SpamOracle, ваша пошта має бути доставлена на машину Unix, на якій у вас є оболонка
рахунок. Ця машина повинна бути прокмайли(1) (див http://www.procmail.org/) встановлено.
вашу ~/.вперед файл має бути налаштований для проходження всієї вхідної електронної пошти прокмайли(1). Якщо
Ваш поштовий сервер підтримує протоколи POP або IMAP, ви також можете використовувати fetchmail(1) на
отримати свою пошту з сервера та доставити її на локальну машину.
Щоб надати корпус повідомлень, з яких «вчиться» SpamOracle, створено архів близько 1000
ваших електронних листів. Архів потрібно розділити вручну або напівавтоматично
відомий спам і відомі хороші повідомлення. Неправильно класифіковані повідомлення в корпусі (наприклад, спам
помилково збережені серед хороших повідомлень) знизить ефективність
класифікація. Архів має бути у форматі поштової скриньки Unix або «одне повідомлення на файл»
формат (а-ля MH). Інші формати, такі як Babyl Emacs, не підтримуються.
Поняття «слово», яке використовується SpamOracle, схилено до західноєвропейських мов,
тобто набори символів ISO Latin-1 і Latin-9. Попередня підтримка JIS-кодування
Японський можна вибрати під час компіляції. SpamOracle не працюватиме добре, якщо ви отримаєте
багато законних електронних листів, написаних іншими наборами символів, наприклад китайськими або корейськими наборами.
ІНІЦІАЛІЗАЦІЯ
Щоб побудувати базу даних частоти слів із корпусу, виконайте:
rm ~/.spamoracle.db
спаморакул додавати -v - добре доброї пошти -спам спам
За замовчуванням база даних зберігається у файлі .spamoracle.db у вашому домашньому каталозі.
Це можна змінити за допомогою -f опції: спаморакул -f база даних додавати ... Команда -v варіант
друкує інформацію про прогрес під час обробки корпусу.
Це передбачає, що хороші, неспамові повідомлення з корпусу зберігаються у файлі
доброї пошти, а також відомі спам-повідомлення у файлі спам. Ви також можете отримати корпус
повідомлення з кількох файлів та/або обробляти їх за допомогою кількох викликів SpamOracle:
спаморакул додавати - добре Goodmails1 ... goodmailsN
спаморакул додавати -спам спам1 ... спамП
ВИПРОБУВАННЯ THE DATABASE
Щоб перевірити, чи база даних була створена правильно, і ознайомитися з
статистичного аналізу, виконаного SpamOracle, увімкніть режим «тестування» для поштових скриньок, які
ви щойно використали для створення корпусу:
спаморакул тест доброї пошти | більше
спаморакул тест спам | більше
Для кожного повідомлення в заданих поштових скриньках ви побачите такий підсумок:
от: дурний <[захищено електронною поштою]>
Тема: перевірити Цей довідник - З
Оцінка: 1.00 -- 15
Подробиці: перевірка: 98 $$$$:98 серфінг: 98 asp: 95 натисніть: 93 кабель: 92
миттєво: 90 https:88 Інтернет: 87 www:86 U4:85 немає: 14 місяць: 81
com: 75 серфінг: 75
Attachments: cset="GB2312" type="application/octet-stream"
name="Guangwen4.zip"
Файл: вхідні/314
Перші два рядки - це просто от: та Тема: поля вихідного повідомлення.
Команда Оцінка: рядок підсумовує результат аналізу. Перше число (від 0.0 до
1.0) – це ймовірність того, що повідомлення насправді є спамом --- або, еквівалентно, ступінь
схожість повідомлення зі спамом у корпусі. Друге число (ан
ціле число від 0 до 15) – це кількість «цікавих» слів, знайдених у повідомленні.
«Цікаві» слова – це слова, які зустрічаються в корпусі не менше 5 разів. У прикладі
маємо 15 цікавих слів (максимум) і оцінку 1.00, що вказує на спам із
висока впевненість.
Команда Подробиці: рядок дає пояснення оцінки. У ньому перераховано 15 найцікавіших
слова, знайдені в повідомленні, тобто 15 цікавих слів, ймовірність яких
що позначає спам, найбільш віддалений від нейтрального значення 0.5. Кожне слово дається зі своїм
індивідуальний бал, записаний у відсотках (від 01 до 99), а не як ймовірність
щоб заощадити місце. Тут ми бачимо ряд дуже «спамських» слів, наприклад $ $ $ $ or
клацання, з імовірністю 0.98 і 0.93 відповідно, і кілька «невинних» слів, наприклад
не є (ймовірність 0.14). The U4 слово з імовірністю 0.85 насправді є псевдословом
представляє слово з 4 літер, у верхньому регістрі – те, що люблять спамери.
Команда Attachments: рядок підсумовує деяку інформацію про вкладення MIME для цього повідомлення.
Тут у нас є один вкладення типу додаток/octect-stream, ім'я файлу Guangwen4.zip,
і набір символів GB2312 (кодування для китайської мови).
Команда Файл: рядок показує файл, який тестується.
Як правило, під час бігу спаморакул тест доброї пошти, більшість повідомлень має виходити з низьким рівнем
бал (0.2 або менше), а також під час бігу спаморакул тест спам, більшість повідомлень має прийти
з високим балом (0.8 і більше). Якщо ні, ваш корпус не дуже хороший або не дуже хороший
поділяються на спам і неспам. Щоб швидко побачити викиди, можна зменшити
інтервал балів, для яких відображаються підсумки повідомлень, як показано нижче:
спаморакул тест -хв 0.2 доброї пошти | більше
# Шоу тільки добре пошти з рахунок >= 0.2
спаморакул тест -макс 0.8 спам | більше
# Шоу тільки спам пошти з рахунок <= 0.8
Тепер для більш складного тесту візьміть поштову скриньку, яка містить нефільтровані електронні листи, тобто
суміш спаму та легальних листів електронної пошти та запустіть її через SpamOracle:
спаморакул тест моя поштова скринька | менше
Дивуйтеся, як добре оракул розпізнає спам від інших! Якщо результат не той
дивовижно для вас, майте на увазі, що деякі спами занадто короткі, щоб їх розпізнати (ні
достатньо значущих слів). Крім того, можливо, ваш корпус був занадто малим або не дуже добре
категоризований...
МАРКУВАННЯ І ФІЛЬТРУВАННЯ ВХІДНІ E-MAIL
Після створення бази даних ви готові запускати вхідні електронні листи через SpamOracle. The
команда спаморакул позначити читає одне повідомлення електронної пошти зі стандартного введення та копіює його до стандартного
вихід із двома вставленими заголовками: X-спам: та X-додатки:, X-спам: заголовок має один
такі формати:
X-спам: так; рахунок; деталі
or
X-спам: немає; рахунок; деталі
or
X-спам: невідомо; рахунок; деталі
Команда рахунок та деталі відповідають опису для спаморакул тест.
Команда так/немає/невідомий тег синтезує результати аналізу: так означає, що оцінка
становить >= 0.8 і знайдено щонайменше 5 цікавих слів; немає означає, що бал <= 0.2
і знайдено не менше 5 цікавих слів; невідомий повертається в іншому випадку. The невідомий
регістр зазвичай зустрічається для дуже коротких повідомлень, де було недостатньо цікавих слів
знайдено.
Команда X-додатки: заголовок містить ту саму інформацію, що і файл Attachments: вихід з
спаморакул тест, тобто підсумок вкладених файлів у повідомлення.
Щоб автоматично обробляти вашу вхідну пошту через SpamOracle і діяти за результатами
аналізу, просто вставте наступні «рецепти» у файл ~/.procmailrc:
:0fw
| /usr/local/bin/spamoracle позначити
:0
* ^X-Спам: так;
спам-бокс
Ці загадкові команди означають:
- Пропустіть кожну пошту через спаморакул позначити команда. (Якщо spamoracle не було встановлено в
/ usr / local / bin, змініть шлях за потреби.) Це додає два заголовки до повідомлення: X-
Спам: та X-додатки:, описуючи результати аналізу спаму та вкладений файл
аналізу.
- Якщо у нас є X-спам: так заголовка, доставте повідомлення до файлу спам-бокс а не до
ваша звичайна поштова скринька. Мабуть, ви прочитаєте спам-бокс час від часу, але рідше
ніж ваша звичайна поштова скринька. Сміливі користувачі можуть поставити / dev / null замість спам-бокс просто
викиньте повідомлення, але, будь ласка, не робіть цього, доки ви не використаєте SpamOracle деякий час
і задоволені результатами. Показник помилкових спрацьовувань SpamOracle (тобто легітимні листи
класифікується як спам) низький (0.1%), але не нульовий. Тому краще збережіть передбачуваний спам
десь і час від часу швидко скануйте їх.
Якщо ви хочете насолоджуватися фільтрацією на основі вкладень, ось деякі правила procmail
для того:
:0
* ^X-Додатки:.*name=".*\.(pif|scr|exe|bat|com)"
спам-бокс
:0
* ^X-Вкладення:.*type="audio/(x-wav|x-midi)
спам-бокс
:0
* ^(Content-type:.*|X-Attachments:.*cset="|^Subject:.*=\?)(ks_c|gb2312|iso-2|euc-|big5|windows-1251)
спам-бокс
Перше правило розглядає як спам кожну пошту, яка має виконуваний файл Windows як вкладення.
Ці листи зазвичай надсилаються вірусами. Друге правило робить те ж саме з вкладеннями
типу x-wav або x-midi. Зазвичай я ніколи не отримую музику електронною поштою, хоча вона популярна
Віруси електронної пошти люблять ці типи вкладень. Третє правило розглядає як спам кожного
пошти, яка використовує кодування символів, що відповідає корейській, китайській, японській та
кирилиця.
ОНОВЛЕННЯ THE DATABASE
У будь-який час ви можете додати більше відомих спамів або відомих легітимних повідомлень до бази даних
використання спаморакул додавати команда
Наприклад, якщо ви знайшли спам-повідомлення, яке не було класифіковано як таке, перегляньте його
спаморакул додавати -спам, щоб SpamOracle міг вчитися на своїй помилці. (Без доп
аргументів, ця команда прочитає одне повідомлення зі стандартного введення та запише його як
спам.) Під бовдур(1) наприклад, просто виділіть спам-повідомлення та введіть
| Спаморакул додавати -спам
Аналогічно, якщо ви знайшли легітимне повідомлення, перевіряючи свій спам, перегляньте його
спаморакул додавати - добре.
Інший варіант – зібрати більше відомих спамів або більше відомих хороших повідомлень у поштову скриньку
файлів, і час від часу робити спаморакул додавати - добре нові_добрі_повідомлення or спаморакул додавати -спам
new_spam_mails.
ЗАПИТ THE DATABASE
Для вашої повчання та розваги вміст бази даних можна запитати
регулярні вирази. The спаморакул список RegExp команда перераховує всі слова в базі даних
той матч RegExp (регулярний вираз у стилі Emacs), а також їх кількість
випадки в спам-пошті та в хорошій пошті. Наприклад:
спаморакул список '.*' # Показувати всі слова -- великий список!
спаморакул список 'секс.*'
спаморакул список 'linux.*'
DATABASE РЕЗЕРВНІ КАПІЇ
База даних, яку використовує SpamOracle, зберігається в компактному двійковому форматі, який не є людським
читабельний. Більше того, цей формат може бути змінений у наступних версіях SpamOracle. До
полегшити резервне копіювання та оновлення, вмістом бази даних також можна маніпулювати в a
портативний, текстовий формат.
Команда спаморакул резервна копія команда виводить вміст бази даних у стандартний висновок у форматі a
текстовий, портативний формат.
Команда спаморакул відновлення команда зчитує такий дамп зі стандартного введення та перебудовує файл
бази даних з цими даними.
Рекомендована процедура оновлення до новішої версії SpamOracle:
# Перед тим як оновлення:
спаморакул резервна копія > файл резервної копії
# модернізація SpamOracle
# відновлення база даних
спаморакул відновлення < файл резервної копії
НАСТРОЮВАННЯ ФІЛЬТРУВАННЯ ПАРАМЕТРИ
Багато параметрів, які керують класифікацією повідомлень, можна налаштувати за допомогою a
файл конфігурації. За замовчуванням конфігурація зчитується з файлу .spamoracle.conf
у домашньому каталозі користувача. На файлі можна вказати інший файл конфігурації
командний рядок за допомогою -config опції: спаморакул -config myconfigfile ...
Описано список параметрів, що налаштовуються, та формат файлу конфігурації
in spamoracle.conf(5).
Усі параметри мають розумні значення за замовчуванням, але ви можете спробувати покращити якість
класифікація далі шляхом їх налаштування. Щоб визначити вплив ваших змін, використовуйте
або тест or stat команди до спаморакул, спаморакул stat команда друкує один-
підсумок рядка, скільки спаму, неспаму та невідомих повідомлень було знайдено в поштових скриньках
наведені як аргументи.
ТЕХНІЧНІ ПОДРОБИЦІ
Поняття «слово» у SpamOracle — це будь-який ряд із 3-12 наступних символів: літери,
одинарні лапки та тире (-). Якщо була скомпільована підтримка неанглійських європейських мов
in, символи слів також містять відповідні наголошені літери для мов, на яких
питання. Усі слова відображаються в нижньому регістрі, а наголошені літери – на
відповідні ненаголошені літери.
Набір від 3 до 12 з наступних символів також становить слово: цифри, точки,
коми, долар, євро та знаки відсотків.
Крім того, набір з трьох або більше великих літер генерує псевдослово Un де n
- це довжина бігу. Аналогічно, запуск із трьох або більше символів не ASCII (код >=
128) створює псевдослово Wn де n - це довжина бігу.
Наприклад, такий текст:
ЛІТО in англійська is письмовий "ете" in французька
обробляється такими словами, припускаючи, що під час компіляції було обрано французьку підтримку
час:
U5 літо англійська письмовий ete французький W3
і якщо французька підтримка не була обрана:
U5 літо англійська письмовий французький W3
Щоб побачити слова, витягнуті з повідомлення, введіть спаморакул слова команда
Він читає або одне повідомлення зі стандартного введення, або всі повідомлення з поштової скриньки
файли, надані як аргументи, розкладає повідомлення на слова і друкує слова.
RANDOM ПРИМІТКИ
Файл бази даних можна стиснути за допомогою gzip(1) для економії місця на диску, за рахунок
повільніше спаморакул операції. Якщо файл бази даних, зазначений у файлі -f варіант має
розширення .gz, спаморакул автоматично розпакує його під час запуску та повторно стисне
після оновлень.
Якщо ваша пошта зберігається у форматі MH, ви можете зіткнутися з помилками «занадто довгий командний рядок».
намагаючись обробити багато невеликих файлів за допомогою спаморакул додавати команду, наприклад, під час виконання
спаморакул додавати - добре архіви/*/* -спам спам/*
Натомість зробіть щось на кшталт:
знаходити архів -типу f -друк | ксарг спаморакул додавати - добре
знаходити спам -типу f -друк | ксарг спаморакул додавати -спам
Використовуйте spamoracle онлайн за допомогою служб onworks.net