Лабораторна робота №3, Захист від небажаних поштових повідомлень та програм-шпигунів
Код роботи: 1053
Вид роботи: Лабораторна робота
Предмет: Мережева безпека
Тема: №3, Захист від небажаних поштових повідомлень та програм-шпигунів
Кількість сторінок: 20
Дата виконання: 2016
Мова написання: українська
Ціна: 150 грн
Мета: Ознайомлення з методами боротьби із програмами-шпигунами та захисту від небажаної електронної кореспонденції.
Необхідне програмне забезпечення
ArgoSoft MailServer, The Cleaner, Ad-Ware, Microsoft Antispyware,
Теоретичні відомості
1. Програмні закладки
Сучасна концепція створення комп’ютерних систем передбачає використання програмних засобів різноманітного призначення в єдиному комплексі. Наприклад, типова система автоматизованого документообігу складається з операційного середовища, програмних засобів управління базами даних, телекомунікаційних програм, текстових редакторів, антивірусних моніторів, засобів для криптографічного захисту даних, а також засобів аутентифікації й ідентифікації користувачів.
Головною умовою правильного функціонування такої комп’ютерної системи є забезпечення захисту від втручань в процес обробки інформації тих програм, присутність яких в комп’ютерній системі не є обов’язковою. Серед подібних програм, в першу чергу, потрібно виділити комп’ютерні віруси.
Однак існують шкідливі програми ще одного класу. Від них, як і від вірусів, необхідно з особливою ретельністю очищати свої комп’ютерні системи. Це так звані програмні закладки, які можуть виконувати хоча б одну з перерахованих нижче дій:
- вносити довільні спотворення в коди програм, що знаходяться в оперативній пам’яті комп’ютера (програмна закладка першого типу);
- переносити фрагменти інформації з одних областей оперативної або зовнішньої пам’яті комп’ютера в інші (програмна закладка другого типу);
- спотворювати інформацію, що виводиться на зовнішні комп’ютерні пристрої або в канал зв’язку, отриману в результаті роботи інших програм (програмна закладка третього типу).
Програмні закладки можна класифікувати і по методу їх проникнення в комп'ютерну систему:
- програмно-апаратні закладки, що асоціюються із апаратними засобами комп'ютера (їх місцем проникнення, як правило, є BIOS — набір програм, записаних у вигляді машинного коду в постійному запам'ятовуючому пристрої — ПЗП);
- завантажувальні закладки, що асоціюються з програмами початкового завантаження, які розташовуються в завантажувальних секторах (з цих секторів в процесі виконання початкового завантаження комп'ютер зчитує програму, що бере на себе управління для подальшого завантаження самої операційної системи);
- драйверні закладки закладення, що асоціюються з драйверами (файлами, в яких міститься інформація, необхідна операційній системі для управління підключеними до комп'ютера периферійними пристроями);
- прикладні закладки, що асоціюються з прикладним програмним забезпеченням загального призначення (текстові редактори, утиліти, антивірусні монітори і програмні оболонки);
- виконувані закладки, що асоціюються із виконуваними програмними модулями, що містять код цієї закладки (найчастіше ці модулі є пакетні файли, тобто файли, які складаються з команд операційної системи, що виконуються одна за однією, немов би їх набирали на клавіатурі комп'ютера);
- закладки-імітатори, інтерфейс яких збігається із інтерфейсом деяких службових програм, що вимагають введення конфіденційної інформації (паролів, криптографічних ключів, номерів кредитних карток);
- замасковані закладки, які маскуються під програмні засоби оптимізації роботи комп'ютера (файлові архіватори, дискові дефрагментатори) або під програми ігрового і розважального призначення.
Щоб програмна закладка могла провести які-небудь дії по відношенню до інших програм або по відношенню до даних, процесор повинен приступити до виконання команд, що входять до складу коду програмної закладки. Це можливо тільки при одночасному дотриманні наступних умов:
- програмна закладка повинна потрапити в оперативну пам'ять комп'ютера (якщо закладка відноситься до першого типу, то вона повинна бути завантажена на початку роботи іншої програми, яка є метою дії закладки, або під час роботи цієї програми);
- робота закладки, що знаходиться в оперативній пам'яті, розпочинається при виконанні ряду умов, які називаються активізаційними.
З урахуванням зауваження про те, що програмна закладка повинна бути обов'язково завантажена в оперативну пам'ять комп'ютера, можна виділити резидентні закладки (вони знаходяться в оперативній пам'яті постійно, починаючи з деякого моменту і до закінчення сеансу роботи комп'ютера, тобто до його перезавантаження або до виключення живлення і нерезидентні (такі закладки потрапляють в оперативну пам'ять комп'ютера аналогічно резидентним, проте, на відміну від останніх, вивантажуються після закінчення деякого часу або при виконанні особливих умов).
Існують три основні групи деструктивних дій, які можуть здійснюватися програмними закладками:
- копіювання інформації користувача комп'ютерної системи (паролів, криптографічних ключів, кодів доступу, конфіденційних електронних документів), що знаходиться в оперативній або зовнішній пам'яті цієї системи або в пам'яті іншої комп'ютерної системи, підключеної до неї через локальну або глобальну комп'ютерну мережу;
- зміну алгоритмів функціонування системних, прикладних і службових програм (наприклад, внесення змін в програму розмежування доступу може привести до того, що вона дозволить вхід в систему всім без виключення користувачам незалежно від правильності введеного пароля);
- нав'язування певних режимів роботи (наприклад, блокування запису на диск при видаленні інформації, при цьому інформація, яку потрібно видалити, не знищується і може бути згодом скопійована хакером).
У всіх програмних закладок (незалежно від методу їх впровадження в комп’ютерну систему, терміну їх перебування в оперативній пам'яті і призначення) є одна важлива загальна особливість: вони обов'язково виконують операцію запису в оперативну або зовнішню пам'ять системи. За відсутності даної операції жодного негативного впливу програмна закладка зробити, не може. Ясно, що для цілеспрямованої дії вона повинна виконувати і операцію читання, інакше в ній може бути реалізована тільки функція руйнування (наприклад, видалення або заміна інформації в певних секторах жорсткого диска).
Захист від програмних закладок
Завдання захисту від програмних закладок може розглядатися в трьох принципово різних варіантах:
- не допустити занесення програмної закладки в комп'ютерну систему;
- виявити занесену програмну закладку;
- видалити занесену програмну закладку.
При розгляді цих варіантів рішення задачі захисту від програмних закладок схоже із вирішенням проблеми захисту комп'ютерних систем від вірусів. Як і в разі боротьби з вірусами, завдання розв'язується за допомогою засобів контролю за цілісністю системних і прикладних програм, що запускаються, а також за цілісністю інформації, що зберігається в комп'ютерній системі і за критичними для функціонування системи подіями. Проте дані засоби дієві лише тоді, коли самі вони не схильні до впливу програмних закладок, які можуть:
- нав'язувати кінцеві результати контрольних перевірок;
- впливати на процес зчитування інформації і запуск програм, за якими здійснюється контроль;
- змінювати алгоритми функціонування засобів контролю.
При цьому надзвичайно важливо, щоб включення засобів контролю виконувалося до початку дії програмної закладки або коли контроль здійснювався тільки з використанням програм управління, що знаходяться в постійному запам’ятовуючому пристрої комп'ютерної системи.
2. Троянські програми
Троянською програмою (троянцем, або троянським конем) називається:
- програма, яка, будучи частиною іншої програми з відомими користувачу функціями, здатна таємно від нього виконувати деякі додаткові дії з метою спричинення йому певної шкоди;
- програма з відомими її користувачу функціями, в яку були внесені зміни, щоб, крім цих функцій, вона могла таємно від нього виконувати деякі інші (руйнівні) дії.
Таким чином, троянська програма — це особливий різновид програмної закладки. Вона додатково наділена функціями, про існування яких користувач навіть не підозрює. Коли троянська програма виконує ці функції, комп'ютерній системі завдається певного збитку. Проте те, що при одних обставинах спричиняє невиправну шкоду, при інших — може виявитися цілком корисним.
Наприклад, програму, яка форматує жорсткий диск, не можна назвати троянською, якщо вона якраз і призначена для його форматування (як це робить команда format операційної системи DOS). Але якщо користувач, виконуючи деяку програму, абсолютно не чекає, що вона відформатує його вінчестер, — це і є справжнісінький троянець.
Коротше кажучи, троянською можна вважати будь-яку програму, яка таємно від користувача виконує якісь небажані для нього дії. Ці дії можуть бути будь-якими — від визначення реєстраційних номерів програмного забезпечення, встановленого на комп'ютері, до складання списку каталогів на його жорсткому диску. А сама троянська програма може маскуватися під текстового редактора, під мережну утиліту або будь-яку програму, яку користувач забажає встановити на свій комп'ютер.
2.1. Джерела троянських програм
Троянська програма — це результат праці програміста. Жодним іншим способом створити її неможливо. Програміст, що пише троянську програму, чудово усвідомлює, чого він хоче добитися, і в своїх намірах він завжди вельми далекий від альтруїзму.
Більшість троянських програм призначена для збирання конфіденційної інформації. Їх завдання, найчастіше, полягає у виконанні дій, що дають можливість отримати доступ до даних, які не підлягають широкому розголосу. До таких даних відносяться призначені для користувача паролі, реєстраційні номери програм, відомості про банківські рахунки і т.д. Решта троянців створюється для спричинення прямого збитку комп'ютерній системі, приводячи її в непрацездатний стан.
До останніх можна віднести, наприклад, троянську програму PC CYBORG, яка заманювала користувачів обіцянками надати їм новітню інформацію про боротьбу з вірусом, що викликає синдром придбаного імунодефіциту (СНІД). Проникнувши в комп'ютерну систему, PC CYBORG відлічувала 90 перезавантажень цієї системи, а потім ховала всі каталоги на її жорсткому диску і шифрувала файли, що знаходились там.
Інша троянська програма називалася AOLGOLD. Вона розсилалася по електронній пошті у вигляді заархівованого файлу. У супровідному листі, що додавався до цього файлу, мовилося про те, що AOLGOLD призначена для підвищення якості послуг, які надає своїм користувачам найбільший американський Internet- провайдер America Online (AOL).
Архів складався з двох файлів, один з яких іменувався INSTALL.BAT. Користувач, що запустив INSTALL.BAT, ризикував стерти всі файли з каталогів С:\ C:\DOS, C:\WINDOWS і C:\WINDOWS\SYSTEM на своєму жорсткому диску.
Подібного роду троянські програми, як правило, створюються підлітками, які хоч і одержимі пристрастю до руйнування, але не мають глибоких пізнань в програмуванні і тому не можуть спричинити суттєвої шкоди комп'ютерним системам, що піддалися нападу створеної ними троянця. Наприклад, програма AOLGOLD стирала себе з жорсткого диска, будучи запущена з будь-якого іншого дискового розділу за виключенням С:.
Інша справа — троянські програми, авторами яких є професійні програмісти, що займаються розробкою програмного забезпечення в солідних фірмах.
Троянець, що входить до складу поширених комп'ютерних додатків, утиліт і операційних систем, представляє значно більшу загрозу комп'ютерам, на яких вони встановлені, оскільки їх дії носять не деструктивний характер, а мають на меті збір конфіденційної інформації про систему.
Виявити такі троянські програми вдається, як правило, чисто випадково. А оскільки програмне забезпечення, частиною якого вони є, в більшості випадків використовується не тільки якоюсь однією компанією, що купила це програмне забезпечення, але також на великих Internet-серверах і, крім того, розповсюджується через Internet, наслідки можуть виявитися найгіршими.
2.2. Поширення троянських програм
Зараз троянські програми можна відшукати практично де завгодно. Вони написані для всіх без виключення операційних систем і для будь-яких платформ. Не враховуючи випадків, коли троянські програми пишуться самими розробниками програмного забезпечення, троянці розповсюджуються тим же способом, що і комп'ютерні віруси. Тому найпідозрілішими на предмет присутності в них троянців, в першу, черга, є безкоштовні і умовно-безкоштовні програми, викачані з Internet, а також програмне забезпечення, що розповсюджується на піратських компакт-дисках.
Наприклад, в січні 1999 р. було виявлено, що популярна утиліта TCP Wrapper, призначена для адміністрування UNIX-систем і безкоштовно поширювалась через Internet, на багатьох ftp-сайтах була замінена зовні схожою на неї програмою, яка насправді була троянцем. Після інсталяції він відправляв електронне повідомлення за певними зовнішніми адресами, оповіщаючи свого господаря про успішне впровадження. Потім він чекав, поки буде встановлене віддалене з'єднання з портом 421 зараженого їм комп'ютера, і надавав привілейовані права доступу через цей порт.
Інша троянська програма розповсюджувалася серед користувачів AOL у вигляді вкладення в лист, що розсилається по електронній пошті. Що відкрили це вкладення заражали свій комп'ютер Троєю, яка намагалася знайти пароль для підключення до AOL і у разі успіху шифрував його, а потім посилав електронною поштою кудись до Китаю.
Зараз існує цілий ряд троянських програм, які можна абсолютно вільно викачати, підключившись до глобальної комп'ютерної мережі Internet. Найбільшу популярність серед них здобула Троя Back Orifice і Net Bus. На Web-вузлі групи розробників Back Orifice, яка іменує себе Cult of Dead Cow (Культ мертвої корови), можна навіть знайти з десяток постерів, які призначені для реклами її останньої розробки — Трої Back Orifice 2000).
Таким чином, троянські програми зустрічаються досить частина і, отже, представляють серйозну загрозу безпеки комп'ютерних систем. Навіть після того, як троянська програма виявлена, її шкідливий вплив на комп'ютерну систему може відчуватися ще протягом дуже тривалого часу. Адже часто ніхто не може з упевненістю сказати, наскільки сильно постраждала комп'ютерна система в результаті проникнення в неї троянської програми.
Річ у тому, що більшість троянців є частиною інших програм, які зберігаються в комп'ютері у відкомпільованому вигляді. Текст цих програм є послідовність команд на машинній мові, що складається з нулів і одиниць. Рядовий користувач, як правило, не має поняття про внутрішню структуру таких програм. Він просто запускає їх на виконання шляхом задавання імені відповідної програми в командному рядку або подвійним клацанням на імені її файлу.
Іноді шкода, яку може нанести троянець, оцінити досить легко. Наприклад, якщо він призначений для пересилки по електронній пошті вмісту файлу /etc/passwd, в якому операційні системи; сімейства UNIX зберігають інформацію про призначені для користувача паролі, досить встановити "чисту" версію програми замість тієї, в якій влаштувалася ця троянська програма. Потім користувачі повинні будуть відновити свої паролі, і на цьому боротьба з ним успішно завершується.
Проте далеко не завжди ступінь компрометації комп'ютерної системи, в якій поселилася троянська програма, буває так легко визначити. Припустимо, що мета впровадження троянця полягає у створенні дірки в захисних механізмах комп'ютерної системи, через яку зловмисник зможе, наприклад, проникати в неї, маючи адміністраторські повноваження. І якщо зловмисник виявиться досить хитрим і кмітливим, щоб замести сліди своєї присутності в системі шляхом внесення відповідних, змін в реєстраційні файли, то визначити, наскільки глибоко він проник крізь системні захисні механізми, буде майже неможливо, якщо врахувати ще той факт, що саму троянську програму виявлять лише декілька місяців опісля після її впровадження в комп'ютерну систему: В цьому випадку може знадобитися цілком переустановити операційну систему і всі додатки.
2.3. Розпізнавання троянських програм
Більшість програмних засобів, призначених для захисту від троянських програм, в тому або іншому ступені використовує так зване узгодження об'єктів. При цьому як об'єкти фігурують файли і каталоги, а узгодження є спосіб відповісти на питання, чи змінилися файли і каталоги з моменту останньої перевірки. В ході узгодження характеристики об'єктів порівнюються з характеристиками, якими вони володіли раніше. Береться, до прикладу, архівна копія системного файлу і її атрибути порівнюються з атрибутами цього файлу, який зараз знаходиться на жорсткому диску. Якщо атрибути розрізняються і ніяких змін в операційну систему не вносилося, значить в комп'ютер, скоріш за все, проник троянець.
Одним з атрибутів будь-якого файлу є відмітка про час його останньої модифікації: всякий раз, коли файл відкривається, змінюється і зберігається на диску, автоматично вносяться відповідні поправки. Проте відмітка часу не може служити надійним індикатором наявності в системі троянця. Справа в тому, що ним дуже легко маніпулювати. Можна зміни підкручування назад системного годинника внести у файл, потім знову повернути годинник в початковий стан, і відмітка про час модифікації файлу залишиться незмінною.
Можливо, інакше піде справа з розміром файлу? Ні в якому разі. Нерідко текстовий файл, який спочатку займав, скажімо, 8 Кбайт дискового простору, після редагування і збереження має той же самий розмір. Трохи інакше поводяться двійкові файли. Вставити в чужу програму фрагмент власного коду так, щоб вона не втратила працездатності і у відкомпільованому вигляді зберегла свій розмір, достатньо непросто. Тому розмір файлу є надійнішим показником, ніж відмітка про час внесення в нього останніх змін.
Зловмисник, що вирішив запустити в комп'ютер троянця, звичайно намагається зробити його частиною системного файлу. Такі файли входять в дистрибутив операційної системи і їх присутність на будь-якому комп'ютері, де ця операційна система встановлена, не викликає ніяких підозр. Проте будь-який системний файл має цілком певну довжину. Якщо цей атрибут буде яким-небудь чином змінений, це стривожить користувача.
Знаючи це, зловмисник постарається дістати вихідний текст відповідної програми і уважно проаналізує його на предмет присутності в ньому надмірних елементів, які можуть бути видалені без жодного відчутного збитку. Тоді замість знайдених надмірних елементів він вставить в програму свого троянця і перекомпілює її заново. Якщо розмір отриманого двійкового файлу буде меншим або більшим розміру вихідного, процедура повторюється. І так до тих пір, поки не буде отриманий файл, розмір якого буде найближчим до оригіналу.
3. Захист від небажаної електронної пошти
В Internet словом спам називають небажанні електронні повідомлення, відправленні по індивідуальній електронній адресі або в групу новин. Така пошта відома ще як «макулатурна пошта», або UCE-повідомлення (unsolicited commercial e-mail — небажані повідомлення комерційного характеру). Зазвичай такі повідомлення містять примітивні рекламні оголошення, методи швидкого збагачення або навіть непристойні пропозиції сексуального характеру, словом те, що ви зовсім не бажаєте читати. Такі повідомлення називаються спамом, практика розсилки цих повідомлень — спамінгом, а людина, яка їх розсилає, – спамером.
Спам стає дуже великою проблемою в Internet через те, що деякі бізнесмени і політики вирішили, що це найкращий спосіб реклами. Спам буває не тільки комерційного, але й політичного або релігійного змісту, але головна його особливість полягає в тому, що це завжди «незваний гість». Повідомлення, яке ви просите відправити спамом не є.
Можливо, ви думаєте|вважаєте|, що спам|, подібно до паперової рекламної пошти, доставляє нам не такі вже незручності, і з|із| ним цілком можна жити? Існує декілька відмінностей|відзнак| спама| від паперової реклами, яку ми нерідко|незрідка| знаходимо|находимо| в своїй поштовій скриньці. Перша з|із| них — вартість. На відміну від паперової реклами, ви, одержувач, платіть набагато більше, ніж відправник спама|.
Відправка електронного повідомлення|сполучення| — досить дешева послуга. Спаммер з свого ПК із комутованим підключенням може розіслати за годину тисячі повідомлень, а на завантаження цих повідомлень ви втрачаєте свій час і місце на диску. Після цього ви витрачаєте свій особистий час на перегляд і видалення|віддалення| таких повідомлень|сполучень|. Якщо кількість спама| продовжуватиме розростатися із такою тривожною швидкістю, дуже скоро|швидко| електронна пошта стане даремною|некорисною|, тому що|бо| потрібні повідомлення|сполучення| просто загубляться в потоці макулатури.
Спам поглинає не тільки ресурси вашого диска, але і ресурси поштових серверів і всієї Мережі. Подумайте, скільки дискового простору і потужностей апаратних засобів Internet використовуються для зберігання і пересилки мільйонів нікому не потрібних електронних повідомлень. Провайдери Internet стягують за це додаткову платню з своїх користувачів. За даними America Online, четверта частина повідомлень електронної пошти, що обробляється цією службою, є спам, і багато провайдерів говорять про те, що від $2 до $20 щомісячної оплати одного користувача припадає на обробку спаму.
Спаммери рекламують товари і послуги, реклама яких у жодному випадку не поширюватиметься у вигляді поліграфічної продукції. Звичайно|звичне| це повідомлення шахрайського або порнографічного характеру. У багатьох з них пропонується швидкий спосіб збагачення. Жодна компанія, провідна чесний бізнес, не стане організовувати широкомасштабну рекламну кампанію в Internet так само.
Багато спам-повідомлень|сполучень|, які приходять до користувачів, містять|утримують| інструкції про те, як відмовитися від їх отримання|здобуття|. Це інструкції на зразок "пошліть|надішліть| нам повідомлення|сполучення|, що містить|утримує| слово REMOVE". Чому ви повинні витрачати свій час на відправку цього повідомлення|сполучення|, якщо ви не підписувалися на цей список розсилки? Не турбуйтеся із цього приводу|з цього приводу|. У|в,біля| спамерів| список видалення|віддалення| ніколи не працює. Насправді це всього лише метод переконатися, що ваша адреса реальна, і у такому разі|в такому разі| ви станете отримувати ще більше спама|.
Задача захисту від спаму полягає у створенні набору правил доставки для блокування небажаних повідомлень. Допомогу у цьому процесі покликані надавити спеціальні програми фільтри спаму. До найбільш відомих можна віднести McAfee SpamKiller, Antispam, набори фільтрів для поштових клієнтів BayesIt, Spamihilator та інші. Їх можна розподілити на дві категорії. Перші перевіряють заголовки та адреси відправників поштових повідомлень перед завантаженням її до поштового клієнта користувача, а другі проводять аналіз вмісту вже завантажених повідомлень.
Практичне завдання
Моделювання ситуації №1
Вас прийняли на посаду системного адміністратора із виконанням обов’язків офіцера комп’ютерної безпеки. Ваш попередник був звільнений за «нечистоплотність» в роботі. Тому першим вашим завданням стає пошук можливих «сюрпризів» від нього. Насамперед цими сюрпризами можуть виявитися програмні закладки, які дають можливість створювати дірки у системі захисту комп’ютерної мережі, та троянські програми, які зможуть продовжувати збирати конфіденційну інформацію про вашу фірму.
Завдання 1:
1. Проведіть поверхневий огляд можливих місць присутності програм-закладок та троянських програм. Спробуйте власноруч виявити ознаки наявності програм-шпигунів в комп’ютерній системі.
2. Встановіть одну із спеціалізованих програм для боротьби із шпигунськими програмами та проведіть за їх допомогою сканування системи.
3. Детально занотуйте результати свого «ручного» огляду та «автоматичного» сканування програм.
4. Подайте в звіті кількість знайдених програм-шпигунів, їх назви та виявлені місця «дислокації» на жорсткому диску чи в об’єктах операційної системи.
Моделювання ситуації №2
Адреса вашої поштової корпоративної скриньки потрапила до списків спам-розсилок. Внаслідок цього кожного дня ваша компанія несе великі збитки внаслідок того, що для перегляду та сортування поштових повідомлень витрачається значна кількість часу та коштів. Знайдіть вирішення даного питання шляхом використання спам-фільтрів.
Завдання 2:
1. Змоделюйте за допомогою програмного комплексу Advanced Mail Sender 2 Argosoft Mail Server процес розсилки та отримання небажаних рекламних листів для декількох користувачів (більше 10).
2. Із запропонованого викладачем списку виберіть та застосуйте антиспамову програму.
3. Спробуйте домогтися абсолютного результату (100% блокування небажаних повідомлень).
4. Всі кроки та результати своїх пошуків занесіть у звіти.
Контрольні запитання
1. Що таке програмна закладка?
2. Які існують способи проникнення програмних закладок у комп’ютерну систему?
3. Які ознаки проникнення програмної закладки в комп’ютерну систему?
4. Які умови повинні виконуватися для активізації програмних закладок?
5. Яку загрозу являють собою троянські програми?
6. Які існують способи поширення «троянських програм»?
7. Яким чином можна розпізнати «троянську програму»?
8. Що таке спам?
9. Які методи боротьби зі спамом вам відомі?