Спам як інструмент захисту

Є думка80% електронних повідомлень у світі – це спам. Тобто, повідомлення електронної пошти, які зовсім не потрібні одержувачу (і це сумно). Але, начебто цього мало, серед спаму нерідко трапляються листи, надіслані зі шкідливими цілями: наприклад, для викрадення чи видалення даних, чи вимагання.

КДПВ:

Спам як інструмент захисту

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

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

Що ще сумніше, опонент-помічник – зовсім нерідкий птах, і наш спамер-зловмисник цілком може на нього розраховувати.

І це призводить до
Спам як інструмент захисту

Коротше кажучи, наша бухгалтерка відкриває рахунок, а там зовсім навіть не рахунок, а вірус.

Зловмисні листи, звичайно, мають важливі відмінності. Але сподіватися на уважність та свідомість користувачів – погана витівка. Навіть розудалі концерти на тему «не відкривайте таке» із салютом та сольним вокальним виступом гендира (композиція «Полімери») згодом стираються з пам'яті офісного працівника.

Звісно, ​​грамотно налаштовані системи захистять нас від більшості подібних атак. Але ключове слово все ж таки – «від більшості». Стовідсоткової гарантії ніхто не дасть; а якщо доходить до користувача, то посилити його, як одне з найслабших місць систем, - добра справа.

У справі комп'ютерного лиходійства технології та соціальна інженерія йдуть пліч-о-пліч. Зловмисник здогадується, що складно вдатися тим, кому користувач довіряє беззастережно, і тому змушений використовувати й інші тактики: залякування, примуси, імітувати визнані авторитети та/або використовувати відповідні хибні назви – наприклад, надсилати листи від імені державних органів та великих компаній.

І, як нас вчать давні: якщо не можемо перемогти, треба очолити. Справді, чим ми гірші за спамери? Так ми набагато краще! Та й можливостей у нас більше. А саме завдання вимагатиме найменших навичок програмування і практично не торкнеться існуючих систем.

Disclaimer: автор – не спамер, спамер – не автор. Автор тільки і виключно на стороні добра.

Завдання дуже просте:

ми самі надсилатимемо нашим користувачам листи, схожі на зловмисні. У вкладеннях до цих листів ми прикріпимо документи, де великими літерами напишемо «НЕ ТРЕБА ВІДКРИВАТИ ДОКУМЕНТИ З ТАКИХ ЛИСІВ. Будьте уважнішими та обережнішими».

Таким чином, до нашого завдання є наступні умови:

Умова 1. Листи мають бути різними. Якщо ми розсилатимемо всім і кожного разу один і той же лист, то це нічим не відрізнятиметься від звичайних нагадувань на зборах, до яких у користувачів стійкий імунітет. Ми повинні стимулювати у користувача систему, яка відповідає за навчання. З цього випливають такі умови:

Умова 2. Листи мають бути схожі на справжні. Надіслати листи від ТОВ «М'ясо-компані» або Барака Обами можна, але неефективно. Має сенс використовувати реально існуючі (і різні!) назви організацій та органів;

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

Умова 4. І при всьому цьому листи повинні привертати увагу та провокувати. Ну тут все просто, нам навіть не потрібно нічого вигадувати: спамери вже все зробили за нас. "Штрафи", "Судові рішення" і навіть просто "Документи" у вкладеннях, "Неустойки", "Перерахунки", "Піні" в темі та безліч слів "Терміново", "Негайно", "Зобов'язані", "Оплатіть" у тексті - І справа в капелюсі.

Для реалізації цього чарівного набору знадобляться мінімальні навички програмування та нудний вечір. Автор використовував Python 3 (бо треба було попрактикуватися) і JS (для збору даних, прямо з консолі браузера). Але більшість коду легко реалізується на нативних інструментах ОС (bash, cmd), тільки з кодуванням намучаетесь.

Заради справедливості слід зазначити, що сама ідея автору не належить, а підглянута в однієї великої міжнародної компанії. Тим не менш, ідея настільки на поверхні, що, ледь почувши, автор з криками «чого я раніше не кинувся реалізовувати».

Отже, насамперед нам потрібні частини, з яких ми складемо листа. Почнемо з поля From – хто загрожуватиме нашим полохливим користувачам. Ну, хто: звичайно ж, банки, податкові інспекції, суди та всякі дивні ТОВ. Заодно можна додати шаблони для майбутньої автопідстановки, на зразок ПАТ CmpNmF. Див. from.txt

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

На щастя, інтернет дає нам просто чудові можливості для отримання інформації. Наприклад, список чинних судів РФ можна отримати простою командою на JavaScript прямо в консолі браузера код на кшталт:

for (let el of document.getElementById("mw-content-text").querySelectorAll("li")) {console.log(el.innerText;)}

Так можна швидко дуже швидко набрати чудову базу для наших завдань (тим більше, що автор вже зробив це за вас). Зберігатимемо в Plain text, БД для такого завдання – оверкілл. У проекті використовується кодування UTF-8 з BOM, у разі використання найспецифічніших символів. у файлах txt c відповідними назвами.

Далі потрібно згенерувати коректну (з так званого стандарту, але не обов'язково існуючу) email адресу відправника, щоб наш лист коректно відображався і коректно пересилався. Для частини найменувань автор використовував фіксовані домени, для частини – автогенерацію з назви з використанням бібліотеки транслітерації, на кшталт ТОВ «Вектор» -> [захищено електронною поштою]. Ім'я скриньки береться зі списку в коді і також покликане вселяти трепет: "vzyskanie", "shtraf", "dolg", "alarm" та інший "zapros".

Тепер – тема листа.

Тема має обов'язково привернути увагу, інакше лист пройде непоміченим. Дайте волю своєму внутрішньому лякачеві бухгалтерів, і все вийде: «Закриття рахунку(ів) (CmpNm)», «Головному бухгалтеру (CmpNm)», «Вимога (для CmpNm)» «Негайно сплатіть (!!!)» та інші витівки.
Див subj.txt. Додайте до смаку, змішати, не збовтувати.

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

(важная) Информация (ООО "ТЕСТ") По счёту в порядке судебного разбирательства
откройте документы во вложении
постановление во вложении

msg.txt. Доповнення вітаються.

І, нарешті, вкладення. У проекті на даний момент передбачено 3 типи вкладень: pdf, doc, docx. Файли копіюються зі зразків без зміни змісту, файлу вкладення надається ім'я зі списку («Постанова», «Судове рішення» тощо, див. flnms.txt). Для перших двох типів розмір генерується випадково шляхом додавання нулів в кінець файлу. З docx таке не прокочує (хоча після процедури відновлення Word файл відкривається; а LibreOffice, наприклад, без лайки відкриває файли docx, до яких додані сторонні файли через інтерфейс архіваторів).

І ми отримаємо таке диво:

Спам як інструмент захисту

Можна надсилати:

gen_msg.py [email protected]

Код, звичайно ж, на гітхабі

Власне, ось і все. Справ на годину, а користі… А користь буде. Бо теорія суха, але дерево життя пишно зеленіє – пояснення не доходять, нагадування забуваються, а люди освоюють навички лише на практиці. І краще вчителями спонукаємо ми, ніж потім все з бекапів відновлювати, так?

Тільки зареєстровані користувачі можуть брати участь в опитуванні. Увійдіть, будь ласка.

Спробували на своїх користувачах? Як результати?

  • 0,0%Ніхто не купився, видалили без запитань0

  • 0,0%Деякі повідомили про підозрілі листи, вкладення не відкривали0

  • 50,0%Деякі відкрили вкладення (розкажу в коментарях, що було далі)3

  • 50,0%Отримав втик від начальства3

Проголосували 6 користувачів. Утримався 21 користувач.

Джерело: habr.com

Додати коментар або відгук