Захист пошти від спаму та фішингу: актуальні загрози та передові рішення. Огляд системи захисту від спаму Kaspersky Anti-Spam Як вибрати програму для захисту корпоративних даних та управління паролями співробітників

Дорогі друзі та користувачі нашого сайту, з вами знову я, SpaceWolf і сьогодні ми поговоримо про проблему “СПАМ”. Спосіб вирішення цієї проблеми дозволить позбавитися від спаму на формі зворотнього зв'язку , спам на коментаріабо ж спам на замовлення в інтернет магазині.

Хотілося б відразу відзначити плюси та мінуси цього способу:

  1. Добре працює проти ботів.
  2. Швидке встановлення у форму надсилання повідомлень
  3. Мінімум коду (3 рядки)
  4. Не вимагає особливих знань, за винятком розташування основних файлів.
  5. Користувачі, у яких не варто java, не зможуть пройти перевірку і отже відправити повідомлення.

У принципі, все. Приступимо до встановлення:

1) Додамо додаткове приховане поле до вашої форми (це форма коментаря, форма зворотного зв'язку, форму замовлення товару) з ім'ям name=”check”значення value=””залишаємо порожнім. Приклад:

2) У тій же формі але тільки в кнопці (“надіслати”, “написати”, “Залишити відгук” або як вона у вас називається) додаємо наступний код:

If ($_POST["check"] != "stopSpam") exit("Spam decected");

Захист від спаму – принцип дії

Принцип простий до неможливості як і сам код. Розрахований він на те, що спам-боти не вміють виконувати програми на JavaScript. В той час коли звичайний користувачнатисне на кнопку "замовити" у наше приховане поле, впишеться слово "stopSpam", а у випадку з роботом це поле залишиться порожнім. Поясню даний момент, чому він залишиться порожнім? Робот заповнює всі поля, крім нашого прихованого поля з ідентифікатором id=”check”та змінна "check"залишиться не заповненою, отже пошта не буде надіслана. А при натисканні на кнопку користувачем виконається наш JavaScript, який ми додали до кнопки.

Раджу використати даний методРазом з капчею, ефект буде краще.

Ну от, власне, і все. Якщо стаття допомогла вам, пишіть коментарі, репостить і не забувайте сказати «Спасибі» у коментарях.

Якщо у когось виникають інші проблеми чи питання залишайте їх у коментарях, ми з радістю знайдемо рішення разом. Чекаємо на ваші повідомлення!

Це новий продукт "Лабораторії Касперського", призначений для комплексного захисту домашнього комп'ютера. Ця програма забезпечує одночасну надійний захиствід вірусів, хакерів та спаму. Модуль Kaspersky Anti-Spam є одним із елементів цієї системи захисту домашнього комп'ютера. Насамперед слід зазначити, що Kaspersky Anti-Spam не є самостійним продуктом і не працює окремо від Kaspersky Personal Security Suite. Певною мірою це можна назвати недоліком, оскільки користувачі не можуть використовувати Kaspersky Anti-Spam окремо, але й комплексний захист має безперечні переваги.

Антивірусний захист та міжмережевий екранне раз розглядалися на сторінках нашого видання. Тому в цій статті ми розглянемо виключно роботу антиспам-модуля.

Основа Kaspersky Anti-Spam - інтелектуальна технологія SpamTest, яка забезпечує: нечітке (тобто спрацьовує і при неповному збігу) порівняння листа, що перевіряється, з зразками - листами, раніше ідентифікованими як спам; виявлення у тексті листи фраз, притаманних спаму; виявлення картинок, раніше використаних у спамерських листах. Крім перелічених вище критеріїв для ідентифікації спаму використовуються і формальні параметри, серед яких:

  • "чорні" та "білі" списки, які може вести користувач;
  • різні особливості заголовків поштового повідомлення, характерні для спаму, наприклад, ознаки фальсифікації адреси відправника;
  • прийоми, що застосовуються спамерами для обману поштових фільтрів, - випадкові послідовності, заміна та подвоєння букв, текст білим по білому та інші;
  • перевірка як тексту самого листа, а й вкладених файлів у форматах plain text, HTML, MS Word, RTF та інших.

Інсталяція антиспам-модуля

Модуль встановлюється за інсталяції Kaspersky Personal Security Suite. При виборі параметрів інсталяції користувач, який використовує інші, відмінні від поштових програм Microsoft поштові клієнти, може не інсталювати модуль для Microsoft Outlook.

Слід зазначити, що Kaspersky Anti-Spam перевіряє будь-яку кореспонденцію, що надходить поштовим. протоколу SMTP. Завдяки цьому він може відсіювати спам у будь-якій поштовій програмі, але про це нижче.

Інтеграція в Microsoft Outlook Express

Програма не має свого інтерфейсу. У Microsoft Outlook Express модуль Kaspersky Anti-Spam інтегрується як меню і як додаткової панелі.

Можна відзначити деяку незручність при використанні цієї панелі, щоправда, не пов'язане з самим антиспам-модулем. В силу принципів роботи механізму програми Microsoft Outlook Express панель Kaspersky Anti-Spam неможливо закріпити у зручному для користувача місці. При кожному запуску програми панель з'являтиметься третьою за рахунком. Прийде постійно переносити її в зручне місце або змиритися з таким станом речей.

Робота програми

При прийомі пошти Kaspersky Anti-Spam проводить аналіз кореспонденції, що надходить. При виявленні спаму лист позначається спеціальною міткою [!! SPAM] у полі "Тема" і розміщується в папці "Видалені". Листи, розпізнані як спам, нічим не позначаються і обробляються поштовою програмоювідповідно до встановлених правил. Якщо програма не впевнена, що лист спамерський, ставиться мітка [?? Probable Spam] та лист поміщається до папки "Вхідні" для прийняття користувачем остаточного рішення. Крім цього програмою використовуються ще два види міток: - для листів з непристойним змістом і - для листів, що автоматично генеруються, наприклад листів від поштових роботів.

Завдяки таким міткам можна організувати роботу Kaspersky Anti-Spam з будь-якою іншою поштовою програмою. Достатньо створити правила у поштовому клієнті для сортування листів за цими мітками. У самій Microsoft Outlook такі папки створюються одним натисканням кнопки у вікні налаштувань антиспам-модуля.

Навчання програми

Навчання програми може відбуватися двома способами: шляхом класифікації прийнятих повідомлень користувачем як спам – не спам та за рахунок завантаження оновлень із сервера "Лабораторії". Перший спосіб дозволяє навчати програму під власну пошту користувача, другий - оперативно реагувати на масові явища спаму в Інтернеті.

При першому запуску Kaspersky Anti-Spam витягне з адресної книги Microsoft Outlook всі адреси для розміщення їх у "Список друзів". Всі листи від цих адресатів сприйматимуться антиспам-модулем як не спам і пропускатимуться без перевірки. Згодом користувач може відредагувати цей список, додаючи або видаляючи адресатів. Окрім "Списку друзів" є ще й "Список ворогів". Будь-яка кореспонденція, отримана від адресатів зі "Списку ворогів", однозначно оцінюватиметься як спам.

Додавання адресатів до списків друзів чи ворогів здійснюється простим натисканням спеціальної кнопки на панелі Kaspersky Anti-Spam. Там же провадиться навчання. Під час пропуску спам-листа потрібно просто натиснути кнопку "Це спам". З'явиться вікно, в якому користувач повинен вказати програмі, що робити з повідомленням.

Команда "Надіслати як приклад спаму" формує лист до "Лабораторії Касперського" з повідомленням про спам для подальшого навчання. Цією командою можна знехтувати. Можна нехтувати і додаванням автора до ворогів, але обов'язково варто додати листа до зразків спаму. Так відбувається навчання програми під особисту кореспонденцію.

Оскільки Kaspersky Anti-Spam не інтегрується в інші поштові клієнти, його навчання у цих програмах можливе лише за рахунок оновлень, які отримують з сервера "Лабораторії". На жаль, такий варіант навчання не дає можливості навчити програму особливо особистої пошти.

Налаштування

У налаштуваннях програми можна: вказати місця розміщення баз модуля, якщо користувач хоче, щоб вони зберігалися у нестандартному місці; відключити або увімкнути фільтрацію; встановити параметри оновлення та переглянути статистику.

Модуль Kaspersky Anti-Spam забезпечує повний захист пошти користувача від спаму. Як і будь-яка інша програма, він потребує навчання. І доки це навчання відбувається, можливі помилкові розпізнавання правильних листів як спам і навпаки. Відносним недоліком можна назвати те, що модуль не дозволяє видаляти на сервері листи, які є явним спамом. Користувачеві доводиться витрачати свій трафік на ці непотрібні йому листи. З іншого боку, за такого підходу до фільтрації спаму жодне цінне повідомлення не загубиться. У всьому іншому Kaspersky Anti-Spam заслуговує на найсерйознішу увагу, особливо якщо врахувати інтеграцію модуля з іншими програмами, що забезпечують безпеку комп'ютера користувача.

Введення у проблему

Всі ми знаємо, що таке спам, тому що або стикалися з цим або читали про це. Ми знаємо, як спамери збирають адреси для розсилок. Також не секрет, що спам неможливо перемогти повністю. Проблема полягає в тому, як максимально захистити користувачів, які залишають свої контанктні координати на вашому сайті, мінімальними зусиллями.

Раніше випробувані способи захисту

Найбільшу загрозу поштовим скринькампредставляють програми, що качають сайти та беруть із тексту сторінок поштові адреси. Вони качають або тільки ваш сайт, або блукають, як пошукові системипо всій мережі. Якщо ваш сайт невеликий, цілком достатньо захисту такою автозаміною тексту:

]+href=)([""]?)mailto:(+)()@".
"()(+.(2,4))2([ >])~i", "1"mailto: [email protected]"
onMouseover="this.href="mai" + "lto:3" + "4" + "%40" + "5" + "6";"7", $text); ?>

На жаль, вона не спрацює, якщо у вас є великий сайт. Скажімо, spectator.ru, автор якого одним із перших став використовувати цей метод. Якби я був спамером, я б заліз у персональні налаштування, поставив галочки "не показувати вушка", 1000 відгуків на сторінці, і відловив куки Proxomitron’ом. Потім качалкою або php-скриптом викачав би сторінки з коментарями (підставивши куки з налаштуваннями) і за допомогою регулярного висловлювання виловив адреси. Отримав би невелику базу рекламної розсилки.

Була ще пара способів захисту, у яких посилання mailto: автоматично замінюється на будь-яку іншу, але ефект залишався колишній - при натисканні на неї системний клієнт створював би лист за потрібною адресою. Обидва вони не витримали критики.

Знайомтесь: їжакові рукавиці

Очевидно, складно придумати інший спосіб захисту, крім вже випробуваного - надання форми на сайті для відправлення повідомлення. Займемося її проектуванням. Переваги способу очевидні: ніхто вже не зможе дістати з вашого сайту адреси для спамерської бази даних. Відсилати повідомлення, сховавши свою адресу, як це роблять спамери, не вийде - веб-сервер зафіксує його IP-адресу. Списки публічних анонімних проксі-серверів регулярно оновлюються, і легко заблокувати доступ з них.

Формовідправник

Почнемо саме з нього, бо це найскладніша частина.

Встановлюючи формовідправник на сайті, важливо захистити його від хуліганських атак, які можуть бути нітрохи не легшими за спам. Тому нам доведеться докласти великих зусиль у цьому напрямі.

По-перше, захистимося від дурних подвійних натискань та відправлення безлічі однакових запитів. Ідея така: повідомлення не буде надіслано, якщо перед цим користувач не відкрив сторінку з формою, а відкривши сторінку з формою, можна надіслати повідомлення лише один раз. Зробити це можна за допомогою вбудованих у PHP сесій. При відкритті сторінки з формою ми запустимо сесію, на яку збережемо змінну, скажімо $flag. Ідентифікатор сесії виведемо як захований елемент наприкінці форми. Користувач вводить повідомлення та надсилає форму. Отримуючи форму, скрипт запускає сесію та перевіряє наявність та значення змінної $flag. Якщо змінна не існує, це повторне натискання, лист не надсилається і видається повідомлення про помилку. Якщо змінна є, і ці форми нас влаштували (заповнені необхідні поля), скрипт надсилає листа і видаляє сесію.

По-друге, захистимося від розумних хуліганів, записуючи логі повідомлення. Якщо користувач надішле правильно заповнену форму, скрипт дивитися в логи і перевірятиме, що там. Так, треба заборонити

* надсилати повідомлення за тією ж адресою частіше за певний період
* надсилати той самий текст за різними адресами
* і просто занадто часто користуватися формовідправником - скажімо, не більше 10 повідомлень на добу на одного користувача

ID сесії виводимо наприкінці форми, щоб хакеру потрібно завантажувати всю форму і розбирати її, що складніше, ніж просто відправляти HTTP-запити. Природно, формовідправник видаватиме повідомлення про помилки у написанні повідомлення, вимогу вказати зворотну адресу тощо.

Код формовідправника, що вийшов, виявився занадто великим, щоб наводити його в тексті. Він розміщений в архіві на сайті. Начебто скрипт працює і відправляє повідомлення.

Заміна адрес у тексті

Тепер формовідправник готовий, і потрібно замінити всі emailи на посилання на нього. Звичайно, вручну робити цього не варто. Для себе я написав скрипт, який автоматично замінює адреси на посилання до формовідправника.

…Мінуси: більший час на розстановку посилань (користувач, що компенсується каталогом посилань), користувач, наводячи курсор на посилання, не бачить, за якою адресою він потрапить. (Дмитро Смирнов, "Ідеальний авторський проект, гіпертекстуальність")

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

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

Отже, що робить замінник адрес. Він шукає в тексті посилання "mailto:", вибирає з них адреси, відправляє запит до бази, щоб підрахувати (count(*)), скільки адрес з тих, що на сторінці, є у спеціальній таблиці. Якщо на сторінці нові адреси, їх число буде більше, ніж результат запиту. У разі робиться запит, у якому вибираються значення адрес, і вже існуючі таблиці виключаються зі списку. Список, що залишився, відправляється в таблицю INSERT-запитом.

Що стосується ID адрес, то, на мій погляд, краще використати щось, що відвідувач сайту не міг би підібрати. Уявляєте, на відправник веде посилання /email.php?id=10 ? Яка спокуса підставити туди 11, 12 і т.д. і спробувати надіслати їм усі повідомлення. Тому як ідентифікатори я вирішив використовувати md5-хеш від адрес. Підбирати хеш навряд чи хтось візьметься. У випадку з каталогом посилань можна обійтися і ID, але тоді доведеться вибирати з бази значення, а для заміни адрес на їх хеші все набагато простіше.

Виконується команда виду

]+href=)". "([""]?)mailto:(+@+". ".(2,4))2(.*?>)~ie", ""12"/email.php ?email=". urlencode(md5("3")). ""4"", $text); ?>

…яка замінює адреси з їхньої хеші. Інші адреси, що знаходяться в тексті, я не наважився замінювати на посилання, а зробив просту заміну на адреси типу vasya_at_pupkin_dot_ua. Код автозамінника також є в архіві.

Підсумок

Заховати поштові адреси від відвідувачів досить просто. Механізм автозаміни не вимагає додаткових зусиль, і ви можете писати сторінки сайту далі, начебто нічого не сталося. Складнощі виникають при захисті відправника від веб-хуліганів. Цей захист вимагає великих зусиль і складного кодутому поки що я не став використовувати на сайті написаний код. Ви можете завантажити архів із замінником адрес та формовідправником, тільки дуже прошу: не ставте його на свій сайт у тому вигляді, в якому завантажили, я сам не знаю, наскільки надійно він працює.

Для захисту поштових серверів використовуються такі технології:

Існують два основні методи захисту спаму: захист від надходження спаму на етапі отримання пошти сервером та відділення спаму від решти пошти після отримання.

Чорні списки.До чорних списків заносяться IP-адреси, з яких здійснюється розсилання спаму.

Сірі списки або грейлістинг.Принцип дії сірих списків ґрунтується на тактиці розсилки спаму. Як правило, спам розсилається в дуже короткий час у велику кількістьз будь-якого сервера. p align="justify"> Робота сірого списку полягає в навмисній затримці отримання листів на деякий час. При цьому адреса та час пересилання заноситься до бази даних сірого списку. Якщо віддалений комп'ютерє справжнім поштовим сервером, він повинен зберегти лист у черзі і повторювати пересилання протягом п'яти днів. Спам-боти, як правило, листів у черзі не зберігають, тому через нетривалий час припиняють спроби надіслати листа. При повторному пересиланні листа з тієї ж адреси, якщо з першої спроби пройшло необхідну кількість часу лист приймається та адреса заноситься до локальної білий списокна досить тривалий термін.

DNSBL (DNS blacklist)- Списки хостів, що зберігаються з використанням системи DNS. Поштовий серверзвертається до DNSBL та перевірять у ньому наявність IP-адреси, з якої він приймає повідомлення. Якщо адреса знаходиться в цьому списку, то вона не приймається сервером, а відправнику надсилається відповідне повідомлення

Ліміт повідомлень. Встановіть обмеження на кількість повідомлень.

Програма SpamAssasin(SA) дозволяє зробити аналіз вмісту вже доставленого листа. SpamAssassin поставляється з великим набором правил, які визначають, які листи є спамом, а які ні. Більшість правил засновані на регулярних виразах, які зіставляються тілу або заголовку повідомлення, але SpamAssassin також використовує інші методики. У документації SpamAssassin ці правила називаються "tests".

Кожен тест має деяку вартість. Якщо повідомлення успішно проходить тест, цей «вартість» додається до загального балу. Вартість може бути позитивною або негативною, позитивні значення називаються spam, негативні ham. Повідомлення проходить через усі тести, підраховується загальний бал. Чим вищий бал, тим більша ймовірність, що повідомлення є спамом.

У SpamAssassin"а є поріг, що налаштовується, при перевищенні якого лист буде класифіковано як спам. Зазвичай поріг такий, що лист повинен підійти за кількома критеріями; спрацьовування тільки одного тесту недостатньо для перевищення порога.

Для захисту сайтів від спаму використовуються такі технології:

1. Каптча-картинка. Тобто. користувачеві відображається довільний текст, який користувач повинен ввести для здійснення будь-якої дії.

2. Текстові каптчі– абонент повинен ввести відповідь на запропоноване запитання для підтвердження своїх дій.

3. Інтерактивна каптча- Мало поширений, але дуже корисний вид захисту. Наприклад, користувача для підтвердження дій, попросять вирішити легкий головоломку - наприклад зібрати картинку з трьох-чотирьох частин.