
- •1 Проблема захисту операційних систем
- •1.1Основні вимоги до безпеки комп’ютерних систем
- •1.2 Класифікація загроз безпеці комп’ютерних систем
- •1.2.1 Загроза за метою реалізації
- •1.2.2 Загроза за об’єктом атаки
- •1.2.3 Загроза за принципом впливу на кс
- •1.2.4 Загроза за характером впливу на кс та його об’єкти
- •1.2.5 Загроза через появи помилок захисту
- •1.2.6 Загроза за способом впливу на кс
- •1.2.7 Загроза за засобами атаки
- •1.2.8 Загроза за станом об’єкта атаки
- •1.3 Рівні (варіанти) захисту операційних систем
- •1.4 Об’єкти захисту в операційних системах
- •1.4.1 Захист пам’яті
- •1.4.2 Контроль доступу як захист даних та програм
- •1.6 Категорії зламщиків
- •1.7 Атаки на рівні операційних систем
- •1. Крадіжка пароля:
- •Контрольні питання
- •2 Характеристика найпоширеніших загроз безпеці комп’ютерних систем
- •2.1 Несанкціонований доступ (unauthorizedaccess) - нсд
- •2.2 Незаконне використання привілеїв
- •2.3 Атаки “салямі” (salami attack)
- •2.4 Приховані канали (convertchannels)
- •2.5 “Маскарад” (masquerade)
- •2.7 “Зламування системи” (break-in)
- •2.8 Шкідливе програмне забезпечення
- •2.8.2 Логічні бомби
- •2.8.3 Троянські коні (TrojanHorse)
- •2.8.4 Віруси
- •2.8.5 Черв’яки
- •2.8.6 Зомбі
- •2.8.7 "Жадібні" програми (greedy program)
- •2.8.8 Захоплювачі паролів (password grabber)
- •2.8.9 Утиліти схованого адміністрування (backdoor)
- •2.8.11 Конструктори вирусів
- •2.8.12 Поліморфні генератори
- •Контрольні питання
- •3 Віруси як шкідливе програмне забезпечення
- •3.1 Класифікація комп'ютерних вірусів
- •3.1.1 Віруси за середовищем їх існування
- •3.1.2 Віруси за способом зараження
- •3.1.3 Віруси за особливостями використовуваних алгоритмів
- •3.1.4 Віруси за деструктивними можливостями
- •3.2 Систематизація комп’ютерних вірусів
- •3.2.1 Класифікаційний код вірусу
- •3.2.2 Дескриптор вірусу
- •3.2.3 Сигнатура вірусу
- •3.3 Файлові віруси
- •3.3.1 Класифікаційний код файлового вірусу
- •Префікс файлового віруса
- •Кількісна характеристика
- •3.3.2 Дескриптор файлового вірусу.
- •3.3.3 Сигнатура файлового вірусу
- •3.3.4 Види файлових вірусів
- •Overwriting - віруси
- •Parasitic-віруси
- •Компаньйон-віруси
- •Link-віруси
- •Файлові хробаки
- •3.3.5 Алгоритм роботи файлового вірусу
- •3.3.6 Приклади файлових вірусів
- •3.4 Завантажувальні (бутові) віруси
- •3.4.1 Класифікаційний код завантажувального вірусу
- •Префікс
- •Кількісна характеристика
- •3.4.2 Дескриптор завантажувального вірусу
- •3.4.3 Сигнатура бутового вірусу.
- •3.4.4 Принцип дії завантажувальних вірусів
- •3.4.5 Розташування завантажувального вірусу
- •3.4.6 Алгоритм роботи завантажувального вірусу
- •Приклади завантажувальних вірусів Brain, сімейство
- •3.5 Макро-віруси
- •3.5.1 Причини зараження макро-вірусами
- •3.5.2 Загальні відомості про віруси в ms Office
- •3.5.3Принципи роботиWord/Excel/Office97-вірусів
- •Алгоритм роботи Word макро-вірусів
- •Алгоритм роботи Excel макро-вірусів
- •Алгоритм роботи вірусів для Access
- •3.5.6 Приклади макро-вірусів
- •3.6 Мережеві віруси
- •3.6.3 Скрипт-хробаки
- •3.6.4 Приклади мережевих вірусів
- •3.7 Стелс-віруси
- •3.7.1 Завантажувальні стелс-віруси
- •3.7.2 Файлові стелс-віруси
- •3.7.3 Макро-стелс-віруси
- •3.7.4 Приклади стелс-вірусів
- •Rasek, сімейство
- •3.8 Поліморфік-віруси
- •3.8.1 Поліморфні розшифровувачі
- •3.8.2 Рівні поліморфізму
- •3.8.3 Зміна виконуваного коду
- •Приклади поліморфік-вірусів
- •Predator (файлово-завантажувальні)
- •OneHalf, сімейство
- •Cheeba, сімейство
- •3.9 Способи захисту від вірусів
- •3.9.1 Систематичне архівування важливої інформації
- •3.9.2 Обмеження ненадійних контактів
- •3.9.3 Використання антивірусних програм
- •3.9.4 Види антивірусних програм
- •Сканери (scanner)
- •Монітори
- •Фаги (поліфаги) (scanner/cleaner, scaner/remover)
- •Ревізори
- •Антивірусні блокувальники
- •Іммунізатори або вакцини
- •Контрольні питання
- •4 Найпростіші методи захисту інформації в операційних системах
- •Установки і налаштування системи захисту
- •Періодичне очищення меню Документи (Documents)
- •Очистка і установка Корзини (RecycleBin)
- •Видалення або перейменування ярликів
- •Видалення і перейменування пунктів меню Start
- •Приховування Панелі задач
- •Захист від зміни і видалення файлів і папок
- •Резервне копіювання системи та шифрування дисків
- •4.2 Блокування доступу до комп’ютера за допомогою екранної заставки Wіndows
- •4.3 Використання пароля bіos
- •Захист за допомогою bіos
- •Встановленняпароля award bіos
- •Встановлення пароля amі bіos
- •Обхід пароля bіos
- •Використання утиліти debug
- •4.4Програмні продукти для найпростішого захисту
- •4.5 Відновлення інформації після сбоїв
- •Програма EasyRecovery Pro
- •Програма FinalData
- •Програма GetDataBack
- •Контрольні питання
- •5 Пакування, архівація і шифрування даних в операційних системах
- •5.1 Історичні відомості
- •5.2.1 Стискання виконуваних файлів
- •5.2.2 Стискання динамічних бібліотек
- •5.3 Продуктивність пакування файлів
- •5.4 Принципи роботи програм-архіваторів
- •Програми архівації файлів
- •Шифрування файлів у програмах Microsoft
- •Контрольні питання
- •6 Ідентифікація користувача
- •6.1 Основні методи ідентифікації
- •6.2 Ідентифікація за клавіатурним почерком
- •6.2.1 Настроювання
- •6.2.2 Ідентифікація за набором ключової фрази
- •6.2.3 Ідентифікація за “довільним” текстом
- •13.3 Інші способи ідентифікації
- •13.4 Графологічні можливості комп’ютера
- •13.5 Клавіатурні шпигуни
- •13.6 Програми для виявлення клавіатурних шпигунів
- •7.2.3 Загрози подолання парольного захисту
- •Парольні зламщики і методи їх роботи
- •Злам парольного захисту операційної системиUnix
- •Парольний захистWindows 95/98 і його ненадійність
- •Захист від несанкціонованого завантаження Windows 95/98
- •Запобігання кешуванню паролів в Windows95/98
- •Парольний захист вWindowsNt Формування, зберігання і використання паролів в Windows nt
- •Можливі атаки на базу даних sam
- •Деякі методи захисту від парольних зламщиків
3.8.1 Поліморфні розшифровувачі
Найпростішим прикладом частково поліморфного розшифровувача є наступний набір команд, в результаті застосування якого жоден байт коду самого вірусу і його розшифровувача не є постійним при зараженні різних файлів:
MOV reg_1, count ; reg_1, reg_2, reg_3 вибираються з
MOV reg_2, key ; AX,BX,CX,DX,SI,DI,BP
MOV reg_3, _offset ; count, key, _offset також можуть мінятися
_LOOP:
xxx byte ptr [reg_3], reg_2 ; xor, add чи sub
DEC reg_1
Jxx _loop ; ja чи jnc
; далі йдуть зашифровані код і дані вірусу
Більш складні поліморфік-віруси використовують значно більш складні алгоритми для генерації коду своїх розшифровувачів. Приведені вище інструкції переставляються місцями від зараження до зараження, розбавляються нічого не змінюючими командами типу
NOP, STI, CLI, STC, CLC, DEC <невикористовуваний регістр>
або
XCHG <невикористовувані регістри>.
Повноцінні ж поліморфік-віруси використовують ще більш складні алгоритми, у результаті роботи яких у розшифровувачі вірусу можуть зустрітися операції SUB, ADD, XOR, ROR, ROL і інші в довільній кількості і порядку. Завантаження і зміна ключів і інших параметрів шифровки виробляється також довільним набором операцій, у якому можуть зустрітися практично всі інструкції процесора Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP ...) із усіма можливими режимами адресації. З'являються також поліморфік-віруси, розшифровувач яких використовує інструкції аж до Intel386. В результаті на початку файлу, зараженого подібним вірусом, йде набір безглуздих на перший погляд інструкцій, причому деякі комбінації, що цілком працездатні, не аналізуються фірмовими дизассемблерами (наприклад, сполучення CSCS чи CSNOP). І серед цієї "каші" з команд і даних зрідка прослизають MOV, XOR, LOOP, JMP – інструкції, що дійсно є "робітниками".
3.8.2 Рівні поліморфізму
Існує розподіл поліморфік-вірусів на рівні в залежності від складності коду, що зустрічається в розшифровувачах цих вірусів. Такий розподіл уперше запропонував доктор Алан Соломон, а згодом Весселин Бончев розширив його.
Рівень 1:віруси, що мають деякий набір розшифровувачів з постійним кодом і при зараженні вибирають один з них. Такі віруси є "напів-поліморфіками" і носять також назву "олігоморфік" (oligomorphic). Приклади: "Cheeba", "Slovakia", "Whale".
Рівень 2:розшифровувач вірусу містить одну чи кілька постійних інструкцій, основна ж його частина непостійна.
Рівень 3:розшифровувач містить невикористовувані інструкції – "сміття" типу NOP, CLI, STI і т.д.
Рівень 4:у розшифровувачі використовуються взаємозамінні інструкції і зміна порядку проходження (перемішування) інструкцій. Алгоритм розшифрування при цьому не змінюється.
Рівень 5:використовуються всі перераховані вище прийоми, алгоритм розшифрування не постійний, можливе повторне зашифрування коду вірусу і навіть часткове зашифрування самого коду розшифровувача.
Рівень 6:permutating-віруси. Зміні підлягає основний код вірусу – він поділяється на блоки, що при зараженні переставляються в довільному порядку. Вірус при цьому залишається працездатним. Подібні віруси можуть бути незашифрованими.
Наведений вище розподіл не вільний від недоліків, оскільки створений за єдиним критерієм – можливість детектувати вірус по коду розшифровувача за допомогою стандартного прийому вірусних масок: рівень 1 – для детектування вірусу досить мати кілька масок; рівень 2 – детектування по масці з використанням "wildcards"; рівень 3 – детектування по масці після видалення інструкцій-"сміття"; рівень 4 – маска містить кілька варіантів можливого коду, тобто стає алгоритмічною; рівень 5 – неможливість детектування вірусу по масці.
Недостатність такого розподілу продемонстрована у вірусі 3-го рівня поліморфічності, що так і називається – "Level3". Цей вірус, будучи одним з найбільш складних поліморфік-вірусів, за приведеним вище розподом попадає в Рівень 3, оскільки має постійний алгоритм розшафровки, перед яким стоїть велика кількість команд-"сміття". Однак у цьому вірусі алгоритм генерування "сміття" доведений до досконалості в коді розшифровувача можуть зустрітися практично всі інструкції процесора і8086.
Якщо зробити розподіл на рівні з погляду антивірусів, що використовують системи автоматичної розшифровки коду вірусу (емулятори), то розподіл на рівні буде залежати від складності емуляції коду вірусу. Можливо детектування вірусу й інших прийомів, наприклад, розшифровка за допомогою елементарних математичних законів і т.д.