
- •Безпека інформаційно- комунікаційних систем
- •Isbn 966-552-167-5
- •1.1. Термінологія
- •1.1.1. Системи, в яких здійснюється захист інформації
- •1.1.2. Завдання захисту інформації
- •1.1.3. Загрози і вразливості
- •1.1.4. Комплексна система захисту інформації
- •1.1.5. Об'єкти захисту та їхні властивості
- •1.1.6. Розроблення й оцінювання захищених систем
- •1.2. Загрози безпеці інформації
- •1.2.1. Класифікація загроз
- •1.2.2. Перелік типових загроз безпеці
- •1.2.3. Класифікація атак
- •1.2.4. Методика класифікації загроз stride
- •1.2.5. Модель загроз
- •1.3. Порушники
- •1.3.1. Визначення терміну «хакер»
- •1.3.2. Наслідки віддій порушників
- •1.3.3. Модель порушника
- •2.1. Рівні інформаційно-комунікаційної системи
- •2.2. Функціональні сервіси безпеки і механізми, що їх реалізують
- •2.2.1. Таксономія функцій систем захисту
- •2.3. Основні підсистеми комплексу засобів захисту
- •2.3.1. Підсистема керування доступом
- •2.3.2. Підсистема ідентифікації й автентифікації
- •2.3.3. Підсистема аудита
- •Підсистема забезпечення цілісності
- •Криптографічна підсистема
- •3.1. Історична довідка
- •3.2. Основні поняття
- •3.3.1. Симетричне шифрування
- •3.3.2. Асиметричне шифрування
- •4.1. Загальні поняття теорії захисту інформації
- •4.2. Позначення, аксіоми та визначення
- •4.3. Основні типи політик безпеки
- •4.4. Математичні моделі безпеки
- •4.4.1. Моделі дискреційної політики безпеки
- •4.4.2. Моделі мандатної політики безпеки
- •5.1. Передумови виникнення вразливостей у комп'ютерних системах
- •5.2. Класифікація вад захисту
- •5.2.1. Класифікація вад захисту за причиною їх появи
- •5.2.2. Класифікація вад захисту за їх розміщенням у системі
- •5.2.3. Класифікація вад захисту за етапами їх появи
- •5.3. Класифікація помилок, що виникають у процесі програмної реалізації системи
- •5.4. Помилки переповнення буфера
- •5.4.1. Переповнення буфера у стеку
- •5.4.2. Переповнення буфера у статичній або динамічній пам'яті
- •5.4.3. Помилка переповнення в один байт
- •5.5. Помилки оброблення текстових рядків
- •5.5.1. Використання конвеєра
- •5.5.2. Переспрямування введення-виведення
- •5.5.3. Спеціальні символи
- •5.6. Люки
- •5.6.1. Режим debug у програмі sendmail
- •6.1. Класифікація шкідливого програмного забезпечення
- •6.2. Програмні закладки
- •6.2.1. Функції програмних закладок
- •6.2.2. Шпигунські програми
- •6.2.3. «Логічні бомби»
- •6.2.4. Люки — утиліти віддаленого адміністрування
- •6.2.5. Несанкціонована робота з мережею
- •6.2.6. Інші програмні закладки
- •6.3. Комп'ютерні віруси
- •6.3.1. Файлові віруси
- •6.3.2. Завантажувальні віруси
- •6.3.3. Макровіруси
- •6.3.4. Скриптові віруси
- •6.3.5. Захист від комп'ютерних вірусів
- •6.4. Мережні хробаки
- •6.4.1. Класифікація мережних хробаків
- •6.4.2. Хробак Морріса
- •6.4.3. Сучасні мережні хробаки
- •6.5. «Троянські коні»
- •6.5.1. Соціальна інженерія
- •6.5.2. Класифікація «троянських коней»
- •6.5.3. Шпигунські троянські програми
- •6.5.4. Троянські інсталятори
- •6.5.5. «Троянські бомби»
- •6.6. Спеціальні хакерські утиліти
- •6.6.1. Засоби здійснення віддалених атак Засоби проникнення на віддалені комп'ютери
- •6.6.2. Засоби створення шкідливого програмного забезпечення
- •6.6.3. Створення засобів атак
- •7.1. Призначення стандартів інформаційної безпеки
- •7.2. Стандарти, орієнтовані на застосування військовими та спецслужбами
- •7.2.1. «Критерії оцінювання захищених комп'ютерних систем» Міністерства оборони сша
- •7.2.2. Інтерпретація і розвиток tcsec
- •7.2.3. Керівні документи Державної технічної комісії при Президенті Російської Федерації
- •7.3. Стандарти, що враховують специфіку вимог захисту в різних системах
- •7.3.1. Європейські критерії безпеки інформаційних технологій
- •7.4. Стандарти, що використовують
- •7.4.1. Концепція профілю захисту
- •7.4.2. Федеральні критерії безпеки
- •8.1. Законодавча і нормативна база захисту
- •8.1.1. Закон України «Про захист інформації
- •8.1.2. Нормативні документи системи
- •8.2. Оцінювання захищеності інформації,
- •8.2.1. Особливості термінології
- •8.2.2. Критерії захищеності інформації в комп'ютерних системах від несанкціонованого доступу
- •8.2.3. Класифікація автоматизованих систем
- •8.3. Керівні документи з вимогами до захисту інформації в інформаційних системах певних типів
- •8.3.1. Вимоги із захисту конфіденційної інформації
- •8.3.2. Вимоги до захисту інформації веб-сторінки від несанкціонованого доступу
- •9.1. Основні відомості
- •9.2. Базові поняття
- •9.3.2. Оцінювання об'єкта за «Загальною методологію»
- •9.3.3. Матеріали, необхідні для проведення кваліфікаційного аналізу
- •9.3.4. Три етапи здійснення кваліфікаційного аналізу
- •9.4. Структура основних документів «Загальних критеріїв»
- •9.4.1. Профіль захисту
- •9.4.2. Завдання з безпеки
- •1. Вступ.
- •5. Вимоги безпеки.
- •8. Обґрунтування.
- •10.1. Завдання апаратного захисту
- •10.2. Підтримка керування пам'яттю
- •10.2.1. Віртуальні адреси
- •10.2.2. Віртуальна пам'ять
- •10.2.3. Трансляція адрес
- •10.4. Особливості архітектури процесорів Intel х86
- •10.4.2. Селектори та дескриптори сегментів і сторінок
- •10.5.2. Сегментно-сторінковий розподіл пам'яті
- •10.6. Керування задачами
- •10.6.1. Виклик процедур
- •10.6.2. Виклик задач
- •10.6.3. Привілейовані команди
- •11.1. Загрози безпеці операційних систем
- •11.1.1. Сканування файлової системи
- •11.1.2. Викрадення ключової інформації
- •11.1.3. Добирання паролів
- •11.1.4. Збирання сміття
- •11.1.5. Перевищення повноважень
- •11.1.6. Програмні закладки
- •11.1.7. «Жадібні» програми
- •11.2. Поняття захищеної операційної системи
- •11.2.1. Підходи до побудови захищених операційних систем
- •11.2.2. Принципи створення захищених систем
- •11.2.3. Адміністративні заходи захисту
- •11.2.4. Політика безпеки
- •11.3.1. Основні функції кзз
- •11.3.2. Розмежування доступу
- •11.3.3. Ідентифікація, автентифікація й авторизація
- •11.3.4. Аудит
- •12.1. Історія створення unix
- •12.2. Архітектура системи
- •12.3.1. Модель безпеки системи unix
- •12.3.2. Підсистема ідентифікації й автентифікації
- •12.3.3. Підсистема розмежування доступу
- •12.3.4. Підсистема реєстрації
- •12.4. Адміністрування засобів безпеки unix 12.4.1. Особливості адміністрування
- •12.4.2. Утиліти безпеки
- •12.4.3. Характерні вразливості системи unix
- •13.1. Основні відомості про систему
- •13.1.1. Стисло про історію створення системи
- •13.1.2. Відповідність вимогам стандартів безпеки
- •13.2.1. Основні концепції
- •13.2.2. Компоненти системи захисту
- •13.3. Розмежування доступу
- •13.3.1. Основні принципи реалізації системи розмежування
- •13.3.2. Суб'єкти доступу Windows
- •13.3.3. Об'єкти доступу Windows
- •13.3.4. Стандартні настроювання прав доступу
- •13.3.5. Ідентифікація й автентифікація
- •13.3.6. Реалізація дискреційного керування доступом
- •13.4. Аудит
- •14.1. Обґрунтування застосування захищених ос для створення систем оброблення конфіденційної інформації
- •14.2. Система Trusted Solaris
- •14.2.1. Основні характеристики середовища Trusted Solaris
- •14.2.2. Керування доступом у середовищі Trusted Solaris
- •14.2.3. Окреме зберігання позначеної мітками
- •14.2.4. Адміністрування безпеки у середовищі Trusted Solaris
- •14.3. Операційна система Фенікс
- •14.3.1. Архітектура системи
- •14.3.2. Засоби захисту
- •14.3.3. Дискреційна модель ієрархічного керування
- •14.3.4. Засоби керування доступом
- •14.3.5. Перегляд протоколу аудита
- •14.3.5. Програмні інтерфейси системи
- •14.3.7. Застосування операційної системи Фенікс
- •15.1. Основні відомості про комп'ютерні мережі
- •15.1.1. Відкриті системи
- •15.1.2. Модель взаємодії відкритих систем
- •15.1.3. Стеки протоколів
- •15.2. Інтернет
- •15.2.1. Організація
- •15.2.2. Адресація
- •15.2.3. Маршрутизація
- •15.3. Загрози безпеці інформації у мережах
- •15.4. Безпека взаємодії відкритих систем
- •15.4.1. Сервіси безпеки
- •15.4.2. Специфічні механізми безпеки
- •15.4.3. Універсальні механізми безпеки
- •15.4.5. Подальший розвиток міжнародних стандартів
- •16.1. Протоколи прикладного рівня
- •16.1.1. Протокол Telnet
- •16.1.2. Протокол ftp
- •16.1.3. Мережні служби unix
- •16.2. Транспортні протоколи
- •16.2.1. Протокол udp
- •16.2.2. Протокол tcp
- •16.3. Протокол ip
- •16.3.1. Призначення й можливості протоколу iPv4
- •16.3.2. Атаки на протокол iPv4, пов'язані з адресацією Підміна адреси відправника
- •16.3.3. Атаки, що ґрунтуються на помилках оброблення фрагментованих пакетів
- •16.3.4. Можливості, закладені у протокол iPv6
- •16.4.1. Особливості протоколу
- •16.4.2. Модель загроз
- •16.4.3. Механізми захисту
- •16.4.4. Рішення з безпеки
- •Interdomain Route Validation
- •16.4.5. Оцінювання захищеності
- •16.5. Протоколи керування мережею 16.5.1. Протокол ісмр
- •16.5.2. Протокол snmp
- •17.1. Система електронної пошти
- •17.1.1. Архітектура системи електронної пошти
- •17.1.2. Формат повідомлення електронної пошти
- •17.1.3. Протокол smtp
- •17.1.4. Протокол рорз
- •17.1.5. Протокол імар4
- •17.1.6. Загрози, пов'язані з використанням електронної пошти
- •17.1.7. Анонімне відсилання електронної пошти
- •17.1.8. Атаки через систему електронної пошти
- •17.2.1. Принципи веб-технології
- •17.2.2. Протокол http
- •17.2.3. Динамічні сторінки
- •17.2.4. Уразливості серверного програмного забезпечення
- •17.2.5. Уразливості у сценаріях
- •17.2.7. Міжсайтовий скриптінг
- •17.2.8. Захист сервера від атак
- •17.2.9. Атака на клієнта
- •17.2.10. Безпека Java
- •18.1. Архітектура захищених мереж
- •18.1.1. Протидія прослуховуванню трафіку
- •18.1.2. Сегментація мережі
- •18.1.3. Резервування мережного обладнання і каналів зв'язку
- •18.2. Міжмережні екрани
- •18.2.1. Можливості міжмережних екранів
- •18.2.2. Рівні реалізації
- •18.2.3. Особливості персональних брандмауерів
- •18.2.4. Недоліки міжмережного екрана
- •18.3. Системи виявлення атак
- •18.3.1. Можливості систем виявлення атак
- •18.3.2. Різні типи систем виявлення атак
- •18.3.3. Інформаційні джерела
- •18.3.4. Аналіз подій у системах виявлення атак
- •18.3.5. Відповідні дії систем виявлення атак
- •18.4. Додаткові інструментальні засоби
- •18.4.1. Системи аналізу й оцінювання вразливостей
- •18.4.2. Перевірка цілісності файлів
- •Передавання інформації через захищені мережі
- •19.1. Захист інформації, що передається відкритими каналами зв'язку
- •19.2. Віртуальні захищені мережі
- •19.2.1. Різні види віртуальних захищених мереж
- •Vpn віддаленого доступу
- •19.2.2. Проблеми побудови віртуальних захищених мереж
- •19.3. Рівні реалізації віртуальних захищених мереж
- •19.3.1. Захист віртуальних каналів на сеансовому рівні
- •19.3.2. Захист віртуальних каналів на мережному рівні
- •19.3.3. Захист віртуальних каналів на канальному рівні
- •19.4. Вимоги нормативної бази до реалізації віртуальних захищених мереж в Україні
- •20.1. Порядок проведення робіт зі створення комплексної системи захисту інформації
- •20.1.1. Структура комплексної системи захисту інформації
- •20.1.2. Створення комплексної системи захисту інформації
- •Обґрунтування потреби у створенні системи захисту
- •20.2.2. Обстеження середовищ функціонування
- •20.2.3. Визначення й аналіз можливих загроз безпеці
- •20.2.4. Розроблення політики безпеки
- •20.2.5. Перелік вимог до захищеної системи
- •20.3. Розроблення технічного завдання на створення комплексної системи захисту інформації
- •20.4. Створення і впровадження комплексної системи захисту інформації
- •20.4.1. Розроблення проекту Порядок розроблення проекту
- •20.4.2. Введення комплексної системи захисту інформації в дію та оцінювання захищеності інформації в інформаційно-телекомунікаційних системах
- •20.4.3. Супроводження комплексної системи захисту інформації
- •21.1. Вимоги до кваліфікаційного аналізу
- •21.2. Організація державної експертизи
- •21.2.1. Положення про державну експертизу
- •21.2.2. Рекомендації з оформлення програм і методик проведення експертизи комплексної системи захисту інформації
- •21.3. Сертифікація засобів технічного захисту інформації
- •22.1. «Типове положення про службу захисту інформації в автоматизованій системі»
- •22.1.1. Загальні положення
- •22.1.2. Завдання та функції служби захисту інформації
- •22.1.3. Права й обов'язки служби захисту інформації
- •22.1.4. Взаємодія служби захисту інформації з іншими підрозділами та із зовнішніми організаціями
- •22.1.5. Штатний розклад і структура служби захисту інформації
- •22.1.6. Організація заходів служби захисту інформації та їх фінансування
- •22.2. Рекомендації щодо структури
- •22.2.1. Завдання захисту інформації в ас
- •22.2.2. Класифікація інформації, що обробляють в ас
- •22.2.3. Компоненти ас і технології оброблення інформації
- •22.2.4. Загрози інформації в ас
- •22.2.5. Політика безпеки інформації в ас
- •22.2.6. Календарний план робіт із захисту інформації в ас
- •22.3. Iso/iec 27002 «Інформаційні технології — Методики безпеки — Практичні правила управління безпекою інформації»
- •22.3.1. Загальні відомості про стандарт
- •22.3.2. Структура й основний зміст стандарту
- •22.3.3. Інші стандарти серн 27000
- •Грайворонський Микола Владленович Новіков Олексій Миколайович безпека інформаційно-комунікаційних систем
- •21100, М. Вінниця, вул. 600-річчя, 19.
6.3. Комп'ютерні віруси
Свого часу серед руйнівних програмних засобів саме комп'ютерні віруси набули найбільшого розповсюдження, тому вірусами називають будь-яке шкідливе програмне забезпечення, несанкціоновано впроваджене в систему. Так само і від антивірусних засобів часто очікують захисту не лише від вірусів, а й від руйнівних програмних засобів інших видів; інколи такі сподівання виправдовуються, а інколи — ні. Насправді, часто мова йде не про вірус, а про «троянського коня», хробака чи навіть експлойт, який хтось впровадив у систему.
Є різні підходи до визначення комп'ютерних вірусів. Ми зазначимо дві головні властивості, характерні саме для вірусів. Перша — це їх здатність самостійно відтворюватися, тобто розмножуватися. У програмний код вірусу закладено функції копіювання самого себе. Друга — це спосіб, у який вірус потрапляє до системи і примушує користувача запустити його. Вірус використовує як носій інший програмний код, який він модифікує таким чином, щоб впровадити в нього свою копію (подібно звичайним вірусам, які нездатні існувати самостійно тривалий час — їм потрібні клітини іншого живого організму). У результаті замість необхідного користувачу програмного коду виконується код вірусу.
Фактично, користувач непомітно для себе запускає на виконання програмний
код вірусу. Отже, вірус діє в системі з повноваженнями того процесу, в програм
ний код якого його впроваджено, і з повноваженнями того користувача, що цей процес запустив. Якщо система є багатокористувацькою і підтримує розмежування доступу, то наслідки дії вірусу будуть різними залежно від того, хто саме його запустив. Більш руйнівних наслідків слід очікувати, якщо вірус було запущено адміністратором. Це, до речі, є аргументом на користь того, що навіть на комп'ютері, де працює лише один користувач, не слід виконувати повсякденні дії, користуючись обліковим записом адміністратора. На жаль, у деяких ОС, орієнтованих на персональне використання (наприклад, Windows ХР Home Edition), без прав адміністратора працювати іноді дуже складно, що можна вважати помилкою розробників у реалізації політики безпеки системи.
Комп'ютерні віруси розрізняють за такими ознаками.
За середовищем існування (системні області комп'ютера, ОС, прикладні програми, до певних компонентів яких впроваджують код вірусу):
файлові віруси;
завантажувальні віруси;
макровіруси;
♦ скриптові віруси.
За способом зараження (різні методи впровадження вірусного коду в об'єкти, які він заражає; залежно від середовища існування віруси використовують різні способи зараження, тому універсальної класифікації за цією ознакою немає).
Віруси також класифікують (або надають їм додаткових ознак) за тими технологіями, які вони використовують для ускладнення їх виявлення і ліквідації.
6.3.1. Файлові віруси
Файлові віруси для свого розповсюдження використовують файлову систему. Найчастіше віруси цього типу як носій застосовують виконувані файли. За способом зараження їх поділяють на віруси, що перезаписують (Overwriting), і паразитичні віруси (Parasitic). Оскільки перші замінюють собою оригінальний файл, знищуючи його, то в результаті їхньої діяльності прикладні програми й операційна система дуже швидко перестають функціонувати. Другі модифікують оригінальний файл, зберігаючи його функціональність. Файлові віруси цього типу найпоширеніші, тому їх згодом буде розглянуто детальніше. Є також компаньйон-віруси, які створюють файли-двійники, а також link-віруси, що використовують особливості організації файлової системи.
Крім виконуваних файлів віруси заражають об'єктні модулі (OBJ), бібліотеки компіляторів (LIB), інсталяційні пакети і вихідні тексти програм. Є віруси, які записують свої копії в архіви (ARJ, ZIP, RAR), а є такі, що для розповсюдження копіюють свій код у певні каталоги на дисках, сподіваючись на те, що користувач колись запустить їх (для цього файлам дають спеціальні імена, на кшталт install. ехе чи winstart.bat), що є типовим прийомом «троянських коней».
Варто окремо згадати один із прийомів, який використовують деякі віруси- компаньйони. Вони розміщують свої копії з іменами, тотожними іменам файлів, що часто використовують, у каталозі, який є першим у списку змінної оточення PATH. Якщо користувач спробує запустити програму, викликавши її з командного рядка, то буде запущено ту програму, яку операційна система знайде першою у списку PATH. Наприклад, у системі Windows із файлів, що мають однакові імена, першим (це залежить від настроювань конкретної системи) буде знайдено файл в основному каталозі (зазвичай C:\Windows). Слід зазначити, що таким способом самозапуску користуються також численні мережні хробаки і «троянські коні». Ось чому в разі використання командного рядка краще задавати повний шлях до бажаної програми, а під час настроювання посилань, ярликів на робочому столі, створення командних файлів це є обов'язковою умовою. ·
Методи зараження файлів паразитичними вірусами
Тепер детальніше розглянемо, як діють паразитичні віруси. їхньою типовою ознакою є те, що вони обов'язково змінюють уміст файлів, залишаючи останні повністю або частково роботоздатними.
Свого часу їх поділяли на ехе- та сот-віруси, відповідно до двох форматів виконуваних файлів, що були в MS-DOS. Тепер такий розподіл неактуальний. Зараз характерною ознакою паразитичних вірусів є те, під керуванням якої операційної системи вони можуть функціонувати.
Переважна більшість сучасних вірусів функціонують на найпоширенішій платформі — Microsoft Windows. Деякі можуть розповсюджуватися лише на окремих версіях цієї системи, інші — на різних версіях Windows. Але це не є ознакою «беззахисності» цієї ОС перед вірусами. Щойно будь-яка «альтернативна» ОС (наприклад, Linux) набувала помітного поширення, для неї теж з'являлися свої віруси, причому в наш час кількість вірусних інцидентів приблизно пропорційна
складовій ринку, яку займає та чи інша ОС. Крім поширеності ОС, на створення
вірусів впливає наявність документації та інструментів розроблення системних
програм, а на розповсюдження вірусів і наслідки від їх атак — ще й кваліфікація користувачів відповідної ОС.
Сучасні ОС підтримують кілька альтернативних форматів виконуваних файлів. Ці доволі складні формати надають широкі можливості для вірусів, які
впроваджують свій код без порушення функціональності програми. Є віруси, що записують себе на початку файлів (Prepending), у їх кінець (Appending) і в сере дину (Inserting). Впровадження вірусів у середину файлів також відбувається у різні способи — перенесенням частини файлу в його кінець або копіюванням свого коду в ті частини файлу, що не використовуються (Cavity-віруси). Основні способи зараження файлів вірусами показано на рис. 6.1. Докладніше про це можна прочитати у Вірусній енциклопедії «Лабораторії Касперського» [61].
Рис. 6.1. Основні способи зараження файлу вірусом: а — нормальне виконання незараженого файлу; б — програмний код вірусу розташовано на початку файлу, сам файл дописано в кінець вірусу (операційна система передає керування безпосередньо вірусу, а той після виконання своїх функцій передає керування файлу); в — програмний код вірусу дописано в кінець файлу (вірус коригує точку входження програми в заголовку оригінального файлу, щоб першим отримати керування); г— програмний код вірусу розташовано всередині оригінального файлу (вірус коригує точку входження програми, щоб першим отримати керування, або (на рисунку не показано) розміщує перехід на свій код будь-де у програмі, щоб отримати керування в певний момент)
Після того як вірус отримує керування, він виконує певні дії та передає керування програмі-носію. На цьому етапі вірус звичайно не здійснює руйнівних дій,
а лише вживає заходів для свого розповсюдження (наприклад, «заражає» інші файли, тобто вбудовує в них свій код) і для отримання керування в подальшому (для чого впроваджує програмну закладку, за старою термінологією MS-DOS — резидентну частину). Часто вірус діє так швидко, що на тлі звичайної процедури запуску програми жоден користувач не зможе його помітити, навіть якщо контролюватиме час запуску із секундоміром.