ЗМІСТ
ВСТУП…………………………………………………………………...……...
3
РОЗДІЛ 1. ДЖЕРЕЛА ЗАГРОЗ ІНФОРМАЦІЇ БАЗ ДАНИХ…………...…..
6
1.1. Зовнішні та внутрішні загрози СУБД…………………………..
8
1.2 Популярні загрози і коротко про них……………………..……
10
РОЗДІЛ 2. АТАКИ НА СУБД НА РІЗНИХ РІВНЯХ ………….……...……
19
2.1. Атаки на рівні ОС…………………………………………..……
19
2.2. Атаки на рівні мережі……………………………………...……
23
2.3. Атаки на рівні СУБД……………………………………..……
25
РОЗДІЛ 3. ПРАКТИЧНЕ ЗАВДАННЯ……………………………………..…
29
ВИСНОВОК………………………………………………………………...…..
41
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ………………………….………
43
ВСТУП
При проектуванні інформаційних систем різного призначення для зберігання великих і надвеликих обсягів інформації проектувальники зазвичай роблять вибір на користь реляційної СУБД. Така практика, що склалася. На наступних стадіях проектування і розробки забезпечення безпеки бази даних (ядра всієї системи) зазвичай зводиться до виділення класів користувачів, їх інформаційних потреб і привілеїв (ці та ще кілька етапів входять у формування політики безпеки), проектування системи розмежування доступу.
Далі для призначення / скасування привілеїв використовується мова SQL, що включає оператори GRANT, REVOKE і т. П. Більшість сучасних реляційних СУБД підтримує дискреционную (DAC) і мандатну (MAC) моделі розмежування доступу, а також додаткові кошти забезпечення безпеки.
На всіх стадіях життєвого циклу інформаційної системи, побудованої на основі реляційної СУБД, можливі реалізації великого числа загроз різних класів. Ці можливості слідують як з властивостей самої реляційної моделі даних, так і з особливостей реалізації СУБД різними виробниками і використовуваної моделі розмежування доступу. Захист інформації в реляційних базах даних має специфіку, яка полягає в тому, що семантика оброблюваних даних дає великі можливості по реалізації різних загроз стосовно до бази даних, ніж. скажімо, до файлової системи.
Під загрозою зазвичай розуміють потенційно можлива подія, дія (вплив), процес або явище, яке може привести до нанесення збитку чиїмось інтересам.
Загрозою інформаційної безпеки автоматизованої інформаційної системи (АІС) назвемо можливість впливу на інформацію, оброблювану в системі, що приводить до спотворення, знищення, копіювання, блокування доступу до інформації, а також можливість впливу на компоненти інформаційної системи, що приводить до втрати, знищення або збою функціонування носія інформації або засоби управління програмно-апаратним комплексом системи.
Загроза порушення конфіденційності даних включає в себе будь-умисне або випадкове розкриття інформації, що зберігається в обчислювальній системі чи переданої з однієї системи в іншу. До порушення конфіденційності веде як умисна дія, спрямоване на реалізацію несанкціонованого доступу до даних, так і випадкова помилка програмного або некваліфікованого дії оператора, яка призвела до передачі по відкритих каналах зв'язку незахищеною конфіденційної інформації.
Загроза порушення цілісності включає в себе будь-умисне або випадкове зміна інформації, що обробляється в інформаційній системі або вводиться з первинного джерела даних. До порушення цілісності даних може привести як навмисне деструктивна дія деякого особи, що змінює дані для досягнення власних цілей, так і випадкова помилка програмного або апаратного забезпечення, яка призвела до безповоротного руйнування даних.
Перший крок в аналізі загроз - їх ідентифікація. Розглянуті види загроз слід вибирати виходячи з міркувань здорового глузду (виключивши, наприклад, землетрусу, проте не забуваючи про можливість захоплення організації терористами), але в межах обраних видів провести максимально детальний аналіз.
Відзначимо, що необхідно не тільки провести роботу з виявлення й аналізу самих загроз, а й вивчити і описати джерела виникнення виявлених загроз. Такий підхід допоможе у виборі комплексу засобів захисту. Наприклад, нелегальний вхід в систему може стати наслідком відтворення початкового діалогу, підбору пароля або підключення до мережі неавторизованого устаткування. Очевидно, для протидії кожному з перерахованих способів нелегального входу потрібні свої механізми безпеки.
Таким чином, для того для того щоб забезпечити певний рівень безпеки БД, спочатку необхідно зрозуміти природу виникаючих загроз. Недостатній рівень усвідомлення особами, які приймають рішення, природи загроз може призвести до несприятливих наслідків від реалізації загроз.
Об'єктом дослідження в цій роботі є основні загрози безпеці інформації і нормального функціонування БД.
Предмет інформаційної безпеки розглядається за програмними цілями існування суб'єктів, на підставі чого предмет дослідження зводиться в область управління активними системами і формується поняття інформаційної безпеки.
У даній роботі «по суті» проведена спроба окреслити контури предмета інформаційної безпеки (ІБ). При цьому дана оцінка не претендує на цілком об'єктивну.
Мета роботи полягає в спробі комплексно сформулювати підхід до визначення стан (умов) інформаційної безпеки, яке можна розглядати як цільовий стан політики ІБ.
Курсова робота складається з Вступу, 3 Розділів, Висновку та Списку використаної літератури. У даній роботі мною були використані методи контент-аналізу, структурного аналізу, функціонального аналізу.
РОЗДІЛ 1. ДЖЕРЕЛА ЗАГРОЗ ІНФОРМАЦІЇ БАЗ ДАНИХ
Для того щоб забезпечити певний рівень безпеки спочатку необхідно зрозуміти природу виникаючих загроз. Недостатній рівень усвідомлення особами, які приймають рішення, природи загроз може призвести до несприятливих наслідків.
Класифікація загроз здійснюється на основі узагальненої схеми класифікації загроз, запропонованої В. А. Герасименко [3]. У даній схемі загрози по джерелу впливу діляться на внутрішні і зовнішні. Для опису зовнішніх загроз необхідно враховувати об'єкти впливу. Під об'єктами впливу розуміються об'єкти, які можуть піддатися атакам або можуть стати причиною їх виникнення. Дані об'єкти необхідно враховувати на всіх рівнях інформаційної системи (Рис.1.1).
/
Рис 1.1. Об'єкти в СУБД на тлі багаторівневої архітектури СУБД
Результатом впливу внутрішніх та зовнішніх загроз може бути порушення цілісності, конфіденційності та доступності інформації.
До появи багаторівневої архітектури привів розвиток архітектури Web-додатків і технології «клієнт-сервер» [4]. При такій архітектурі клієнтський рівень займає оглядач, на рівні сервера знаходиться сервер БД, на проміжному рівні знаходяться Web-сервер і модулі розширення сервера. Модуль розширення сервера виступає перетворювачем протоколів між клієнт-серверних додатком БД і Web-сервером. Сервер додатків також є проміжним рівнем, який забезпечує організацію взаємодії клієнтів і сервера БД. Дана архітектура дозволяє вирішувати різні завдання і отримувати різні переваги. Але публікація БД в Інтернеті призводить до збільшення ризику безпеки БД.
Розвиток архітектури привів до появи нових об'єктів , які можуть стати причинами реалізації атак. Згідно архітектурі, дані об'єкти можна розділити на три рівні: рівень мережі, рівень операційної системи (ОС) і рівень БД см. таблицю 1.1.
Таблиця.1.1 Об'єкти впливу
На рівні мережі
ActiveX – обєкт
Інтерфейси: OLE DB, ADO, ODBC, JDBC
Multiprotocol
Робочі станції
Сервери
Маршрут
URL
прод. табл. 1.1
На рівні ОС
Апаратне забезпечення
Програмне забезпечення
Файли бази даних
Файли журнала транзакцій
Файли резервного копіювання
Transact-SQL, PLSQL
Служби: MSSQL-Server
SQLServerAgent, TNSListener і т.д
На рівні БД
Користувачі
Ролі додатків
Діаграми
Представлення таблиці
Збережені процедури
Визначення за замовчуванням
Правила
Функції
Типи даних
Тригери
1.1. Зовнішні та внутрішні загрози
Сформуємо перелік зовнішніх і внутрішніх загроз. Зовнішню загрозу представляє будь-яка людина, що не має санкціонованого доступу до системи. Внутрішню загрозу представляють люди, які мають санкціонований доступ до БД. Це можуть бути кінцеві користувачі, адміністратори і розробники додатків [5].
Зовнішніми дестабілізуючими факторами, що створюють загрозу безпеці функціонуванню, є:
Умисні, деструктивні дії осіб з метою спотворення, знищення або розкрадання програм, даних і документів системи, причиною яких є порушення інформаційної безпеки, що захищається;
Спотворення в каналах передачі інформації, що надходить від зовнішніх джерел;
Збої і відмови в апаратурі обчислювальних засобів;
Віруси і інші деструктивні програмні елементи, поширювані з використанням систем телекомунікацій, що забезпечують зв'язок із зовнішнім середовищем
Зміни складу і конфігурації комплексу взаємодії апаратури системи за межами, перевіреними при тестуванні або сертифікації системи.
Серед внутрішніх загроз можна виділити наступні атаки:
Атаки з боку авторизованих користувачів, спрямовані на підвищення привілеїв в системі управління базами даних;
Ненавмисні помилки співробітників, які з будь - якої причини порушують встановлену політику безпеки або застосовують невірні методи безпеки;
Цілеспрямована зміна або спотворення даних, що зберігаються;
Загрози, що виникають із-за помилок в програмному забезпеченні і невірної конфігурації системи;
Загрози, що виникають із-за помилок в апаратному забезпеченні та невірної їх налаштування.
1.2. Популярні загрози і коротко про них
Всі напевно знають, що є дуже багато різних загроз, але не всі знають що їх набагато більше ніж відомо простому користувачеві. Нижче наведено інформацію про найбільш популярні з них [1].
Fishing (або Фішинг).
Дуже широке поняття. Сенс його в тому, щоб отримати від користувачів інформацію (паролі, номери кредитних карт і т.п.) або гроші. Цей прийом спрямований не на одного користувача, а на багатьох. Наприклад , листи нібито від служби технічної підтримки розсилаються всім відомим клієнтам будь-якого банку. У листах зазвичай міститься прохання вислати пароль до облікового запису, нібито через проведення будь-яких технічних робіт. Незважаючи на те, що користувачів попереджають, що ніяку подібну інформацію від них ніхто з працівників не може вимагати, і ця інформація не повинна розголошуватися, завжди знаходяться ті, хто із задоволенням «дарує» свої номери, паролі та інше. Подібні листи, зазвичай дуже правдоподібно і грамотно складені, що, можливо, підкуповує довірливих користувачів. Потрібно зробити застереження, що прийомів для фішингу є кілька, крім листів . Деякі з наведених нижче прийомів при правильному застосуванні підходять для фішингу (як правило, ми згадуємо про це при описі прийому).
Рекомендації: Пам'ятайте, що параноя - кращий захист. Не довіряйте нічому підозрілого, нікому не давайте свої дані. Адміністраторам не потрібно знати Ваш пароль, якщо він призначений для доступу до їх серверу. Вони повністю керують сервером і можуть самі подивитися пароль або змінити його.
Соціальна інженерія
Це не технічний, а психологічний прийом. Користуючись даними, отриманими під час інвентаризації, зломщик може зателефонувати будь-якому користувачеві (наприклад, корпоративної мережі) від імені адміністратора і спробувати дізнатися у нього, наприклад, пароль. Це стає можливим, коли в великих мережах, користувачі не знають усіх працівників, і тим більше не завжди можуть точно дізнатися їх по телефону. Крім цього, використовуються складні психологічні прийоми, тому шанс на успіх сильно зростає.
Рекомендації: ті ж самі. Якщо дійсно є необхідність, то повідомте потрібні дані особисто. У тому випадку, якщо Ви записали пароль на папері, не залишайте її де попало і по можливості знищуйте, а не просто викидайте в кошик для сміття.
DoS (Denial of Service або Відмова від Обслуговування).
Хотілося сказати, що це скоріше не окрема атака, а результат атаки; використовується для виведення системи або окремих програм з ладу. Для цього зломщик особливим чином формує запит до будь-якої програми, після чого вона перестає функціонувати. Потрібно перезарузити, щоб повернути робочий стан програми. Часто зустрічається думка, що DoS, це те ж саме, що і атака типу Flood і що взагалі потрібно з'єднати всі атаки, які призводять до відмови системи під загальною назвою DoS. Тут варто зробити застереження, що: Загальної термінології немає, є швидше правила, за якими класифікується атака. Як ми вже сказали, до відмови від обслуговування може привести не тільки Flood, але, наприклад і Buffer Overflow. Тому, DoS можна охарактеризувати як результат атаки. Наприклад: «ефект відмови від обслуговування досягнуто застосуванням атаки типу Flood».
Flood (Флуд або Потік / Затоплення)
Цей тип досить спірний, частково його можна віднести до DoS, але хотілося б виділити його окремо. З деякої кількості машин (в цьому випадку атака буде називатися DDoS Distributed Denial of Service. Розподілена атака на відмову від обслуговування), як правило «Зомбі» посилають жертві максимально можливу кількість запитів (наприклад, запити на з'єднання). Від цього жертва не встигає відповідати на кожен запит, і в результаті не відповідає на запити користувачів, тобто можна сказати, що перестає нормально функціонувати. Примітка: цей тип атаки можна назвати хуліганством, коли, наприклад, форуми заповнюють великою кількістю безглуздих повідомлень. Можна виділити наступні типи Flood: SYN Flood - атакує комп'ютера пакетами типу SYN. Як відомо, комп'ютер повинен на такий пакет відповісти пакетом типу SYN / ACK. Якщо пакетів SYN занадто багато, то комп'ютер не встигає відповідати на кожен і не може приймати пакети від інших комп'ютерів. ICMP Flood або Ping Flood - Те ж саме, тільки пакетами ICMP. Система повинна відповісти на такий пакет, тим самим створюється велика кількість пакетів, які знижують продуктивність (пропускну здатність) каналу. Identification Flood схожий на ICMP Flood , але відповідь на запит на порт 113 типу identd займає у системи більше часу, тому атака ефективніша. DNS Flood - атака спрямована на DNS сервера. Їх наповнюють DNS запити, на які сервер не встигає відповідати, таким чином, на Ваші запити він так само відповісти не зможе. Як наслідок, Ви не зможе відвідувати Інтернет сайти. DDoS DNS - Атака досить нова, і ми не зустрічали «усталеної» назви. По суті, цей прийом приблизно те ж саме, що і попередній, з тією лише різницею, що запити надходять з великої кількості машин (попередній тип цього не виключає). Адреса, за якою повинен відповісти DNS-сервер на ці запити, дорівнює адресою самого DNS сервера, тобто його не тільки наповнюють запити DNS, але він же ще й відправляє їх собі ж. Таким чином, прийом більш ефективний, ніж попередній, але і більш складний в реалізації. Boink (Bonk, Teardrop) - Жертві надсилається величезна кількість сильно фрагментованих пакетів, але при цьому фрагменти великого розміру. Для кожного фрагментированного пакета виділяється спеціальний буфер, в який надалі будуть поміщені інші фрагменти, щоб потім скласти їх докупи. Величезна кількість великих фрагментів переповнюють буфера і можуть спровокувати зависання або аварійну зупинку. Pong - Те ж саме, що і будь-який інший з перерахованих вище видів, відмінність тільки в тому, що адреса відправника підроблена . Це дає зломщикові деяку анонімність.
Рекомендації: для кожної ОС або маршрутизатора свої; вони, як правило, дані в технічній документації. Не нехтуйте ними, чітко обмежуйте кількість допустимих пакетів. На жаль, деякі види неможливо відобразити нічим, крім фізичного відключення. Правильно налаштовані міжмережеві екрани (або Брандмауери) часто є панацеєю.
Smurf (атака, спрямована на помилки реалізації TCP-IP протоколу)
Зараз цей вид атаки вважається екзотикою, проте раніше, коли TCP-IP протокол був досить новим, в ньому містилося кілька помилок, які дозволяли, наприклад, підміняти IP адреси. Однак, цей тип атаки застосовується до сих пір. Деякі фахівці виділяють TCP Smurf, UDP Smurf, ICMP Smurf. Звичайно, такий розподіл засновано на типі пакетів.
Рекомендації: комутатори CISCO надають гарний захист, як і багато інших, а також свіже ПО і міжмережеві екрани; необхідно блокувати широкомовні запити.
Ping-of-Death (або Jolt, SSPing)
Атака полягає в тому, що жертві надсилається фрагментований ICMP пакет, але розмір фрагмента дуже великий (64 Кб). Більш ранні версії ОС, наприклад Windows 95, повисають. Цю атаку можна здійснити за допомогою програми Shadow Security Scanner.
Рекомендації: найлегше оновити ОС, відмовившись від старої версії.
UDP Storm (UDP шторм)
Використовується в тому випадку, якщо на жертві відкрито як мінімум два UDP порту, кожен з яких відсилає відправнику який-небудь відповідь. Наприклад, порт 37 з сервером time на запит відправляє поточну дату і час. Зломщик відправляє UDP пакет на один з портів жертви, але в якості відправника вказує адресу жертви і другий відкритий UDP порт жертви. Тоді порти починають нескінченно відповідати один одному, що знижує продуктивність. Шторм припиниться, як тільки один з пакетів пропаде (наприклад, через перевантаження ресурсів).
Рекомендації: по можливості виключити використання сервісів, які приймають UDP пакети, або відрізати їх від зовнішньої мережі фаєрволом.
UDP Bomb
Зломщик відправляє системі UDP пакет з некоректними полями службових даних. Дані можуть бути порушені як завгодно (наприклад, некоректна довжина полів, структура). Це може привести до аварійного завершення.
Рекомендації: поновіть ПО.
Mail Bombing ( «Поштова бомбування»)
Якщо на комп'ютері, що атакується є поштовий сервер, то на нього посилається величезна кількість поштових повідомлень з метою виведення його з ладу. З одного боку, це нагадує Flood, але з іншого боку, якщо повідомлення містять великі вкладення, які будуть перевірятися серверним антивірусом, то подібна перевірка безлічі входять вкладень може істотно знизити продуктивність або звести її нанівець. Крім того, такі повідомлення зберігаються на жорсткому диску сервера і можуть переповнити його, що може викликати DoS. Звичайно, зараз ця атака, швидше історія, але в деяких випадках все ж може бути використана.
Рекомендації: грамотна настройка поштового сервера.
Sniffing (Сніффінг або прослуховування мережі)
У тому випадку, якщо замість комутаторів в мережі встановлені концентратори, отримані пакети розсилаються всім комп'ютерам в мережі, а далі вже комп'ютери визначають для них цей пакет чи ні. Якщо зломщик отримає доступ до комп'ютера, який включений в таку мережу, або отримає доступ до мережі безпосередньо, то вся інформація, передана в межах сегмента мережі, включаючи паролі, стане доступна. Зломщик просто поставить мережеву карту в режим прослуховування і вживатиме всіх пакети незалежно від того, йому вони призначалися. Можна використовувати як консольні сніффери, наприклад TcpDump (вбудований в * NIX системах), WinDump (для Windows, але не вбудований), а так само з візуалізувати інтерфейсом, наприклад Iris.
Рекомендації: використовуйте комутатори замість концентраторів, шифруйте трафік.
IP Hijack (IP хайджек)
Якщо є фізичний доступ до мережі, то зломщик може «врізатися» в мережевий кабель і виступити в якості посередника при передачі пакетів, тим самим він буде слухати весь трафік між двома комп'ютерами. Дуже незручний спосіб, який часто себе не виправдовує, за винятком випадків, коли ніякий інший спосіб не може бути реалізований. Подібне включення саме по собі незручно, хоча є пристрої, які трохи спрощують цю задачу, зокрема вони стежать за нумерацією пакетів, щоб уникнути збою і можливого виявлення вторгнення в канал. Такий спосіб використовується для обману банкоматів, але такий випадок технічно складніше, тому що є неприпустимим розрив зв'язку між банком і банкоматом, а «врізання» в канал без його розриву - завдання тільки для висококваліфікованого фахівця. Крім цього, тепер банкомати встановлюються набагато краще, що виключає можливість вільного фізичного доступу до кабелю.
Рекомендації: стежте за доступом до кабелів, наприклад, використовуйте короба. Шифруйте трафік.
Fuzzy (Фаззі)
Фільтри можуть бути налаштовані на блокування певних видів пакетів, наприклад UDP. Зломщик може сфабрикувати пакет так, що фільтр не зрозуміє, що цей пакет UDP і не відфільтрує його, і він потрапить за призначенням. Таким чином, зломщик може обійти фільтри пакетів. Цей прийом дуже вузький і призначений для окремих випадків, точніше тих, коли зв'язок не обов'язково повинна бути двосторонньою. Двосторонній зв'язок буде неможлива в більшості випадків, тому що в основному, якщо блокуються вхідні пакети певного типу на якийсь порт, то блокуються і вихідні. Виходить, що навіть якщо сфабрикований пакет пройде через фільтр (наприклад на порт UDP), то сервер відповість на нього пакетом того ж типу, тобто UDP, але при цьому він не буде його фабрикувати за прикладом зломщика. Т.ч. цей вихідний пакет буде відфільтрований і не потрапить до зломщикові. Як би там не було, все одно варто убезпечити себе від подібного роду атак.
Рекомендації: зазвичай нові версії міжмережевих екранів надають достатній захист проти цього прийому.
Cross User Defacement
Досить «вузький» прийом, тому що зломщик підробляє сторінку, яка надсилається вразливим Веб - сервером тільки одну жертву. При цьому вміст Веб - сервера ніяким чином не змінюється. Крім цього, прийом дуже складно провести не з допомогою HRS. Взломщику доведеться виступити посередником між клієнтом і сервером за допомогою Спуфінга, IP хайджека, або помилки в реалізації деяких Веб-серверів, але в підсумку «витрати» не виправдають отриманого результату. Легше реалізувати це через міжкористувацьку атаку.
Web Cache Poisoning
На мою думку, не зовсім корисний прийом, тому опишу його виключно коротко. В основному, проксі сервери кешують сторінки, запитувані користувачами, щоб при повторному запиті такої сторінки віддати її з кеша, а не запитувати Веб-сервер. Це необхідно для економії трафіку, якщо це корпоративна мережа і проксі сервер внутрішньо. Суть прийому в тому, щоб спровокувати проксі сервер кешувати підроблену сторінку, яка потім буде передаватися користувачам мережі.
Browser Cache Poisoning. Кеші є не тільки у проксі серверів, але також і у браузерів. По суті цей прийом майже те ж саме, що і Web Cache Poisoning, з тією лише різницею, що їй піддається тільки один комп'ютер.
SiHRS (SQL Injection HTTP Resource Splitting)
Прийом реалізує HTTP Resource Splitting через уразливість скрипта до SQL Injection. Це стає можливим, якщо скрипт, наприклад, за індексом, спочатку звертається до SQL бази за HTTP адресою, а потім сам генерує свій HTTP запит і використовує отриманий з SQL бази HTTP адреса для підстановки в поле «Location:» свого HTTP запиту. Це досить часто використовується в Інтернет-каталогах сайтів. Ми можемо навести приклад HTTP заголовка, який може бути використаний для SiHRS в шістнадцятковому вигляді.
SQL ін'єкція (англ. SQL injection)
Один з поширених способів злому сайтів і програм, які працюють з базами даних, заснований на впровадженні в запит довільного SQL-коду. Впровадження SQL, в залежності від типу використовуваної СУБД і умов впровадження, може дати можливість атакуючому виконати довільний запит до бази даних (наприклад, прочитати вміст будь-яких таблиць, видалити, змінити або додати дані), отримати можливість читання і / або запису локальних файлів і виконання довільних команд на атакується сервері.
Атака типу впровадження SQL може бути можлива через некоректну обробки вхідних даних, що використовуються в SQL-запитах. Розробник прикладних програм, що працюють з базами даних, повинен знати про такі вразливості і вживати заходів протидії запровадженню SQL.
РОЗДІЛ 2. АТАКИ НА РІЗНИХ РІВНЯХ
Потрібно чітко розуміти які можливі атаки на кожному рівні: ОС, мережі, БД. Тому що успішно реалізована атака дозволяє обійти систему безпеки додатка і сервера БД і отримати доступ до конфіденційної інформації, яка міститься в БД, а також до функціональних можливостей СУБД і в деяких випадках - доступ до операційної системи сервера, на якому функціонує СУБД. У цьому випадку зловмисник отримує доступ не тільки до конфіденційної інформації, яка міститься в БД, але і доступ до команд операційної системи сервера СУБД. Що дає зловмиснику можливість використовувати «зламаний» сервер для подальших атак.
Захист СУБД є однією з найпростіших задач. Це пов'язано з тим, що СУБД мають строго певну внутрішню структуру, і операції над елементами СУБД задані досить чітко. Є чотири основних дії - пошук, вставка, видалення і заміна елемента. Інші операції є допоміжними і застосовуються досить рідко. Наявність суворої структури і чітко визначених операцій спрощує рішення задачі захисту СУБД. У більшості випадків хакери вважають за краще зламувати захист на рівні операційної системи і отримувати доступ до файлів СУБД за допомогою засобів операційної системи. Однак в разі, якщо використовується СУБД, яка не має достатньо надійних захисних механізмів, або погано протестована версія СУБД, що містить помилки, або якщо при визначенні політики безпеки адміністратором СУБД були допущені помилки, то стає цілком імовірним, що хакер може подолати захист, реалізовану на рівні СУБД.
2.1 Атаки на рівні ОС
Атаки на ОС, в яких функціонує СУБД, виникають набагато частіше. Це пов’язане з тим що захистити ОС набагато складніше, ніж СУБД. Це обумовлено зокрема тим, що число різних типів об'єктів, що захищаються в сучасних ОС може досягати декількох десятків, а число різних типів інформаційних потоків що захищаються - кількох сотень. Можливість практичної реалізації тієї чи іншої атаки на ОС значною мірою визначається архітектурою і конфігурацією ОС. Проте існують атаки (перераховані нижче), які можуть бути спрямовані практично на будь-які ОС.
Крадіжка ключової інформації. Дана атака може реалізовуватися з використанням таких методів:
Підглядання пароля при його введенні користувачем;
Отримання пароля з командного файлу. Деякі ОС при мережевій автентифікації (підключенні до сервера) допускають введення пароля з командного рядка. Якщо автентифікація відбувається з використанням командного файлу, пароль користувача присутній в цьому файлі в явному вигляді;
Деякі користувачі, щоб не забути свій пароль, записують його в записні книжки, на папірці, які потім приклеюють до нижньої частини клавіатури, і т. д. Для зловмисника дізнатися такий пароль не складає ніяких труднощів. Особливо часто така ситуація має місце, якщо адміністратори примушують співробітників використовувати довгі, тяжко запам’ятовувані паролі;
Крадіжка зовнішнього носія ключової інформації. Деякі ОС допускають використання замість паролів - зовнішні носії інформації (ключові дискети, Touch Memory, Smart Card і т. д.). Використання зовнішніх носіїв підвищує надійність захисту ОС, але в цьому випадку з'являється загроза крадіжки носія з ключовою інформацією;
Перехоплення пароля програмної закладкою.
Підбір пароля. При даній атаці можуть використовуватися такі методи:
Неоптимізований перебір. У цьому випадку зловмисник послідовно випробовує всі можливі варіанти пароля. Для паролів довше шести символів у багатьох випадках даний метод може бути визнаний неефективним;
Перебір, оптимізований за статистикою зустрічання символів і биграмм. Різні символи зустрічаються в паролі користувачів з різною ймовірністю. Згідно з різними дослідженнями, статистика повторюваності символів в алфавіті паролів близька до статистики народження символів в природній мові. При практичному застосуванні даного методу зловмисник спочатку випробує паролі, що складаються з найбільш часто зустрічаючих символів, за рахунок чого час перебору істотно скорочується. Іноді при підборі паролів використовується не тільки статистика повторюваності символів, але і статистика повторюваності биграмм і триграм - комбінацій двох і трьох послідовних символів. Для підбору паролів за цим методом зловмисник може використовувати безліч програм, в основному орієнтованих на злом ОС. При цьому можна виділити дві базові технології: явне випробування послідовно генеруємих паролів та їх подачею на вхід підсистеми автентифікації і розрахунок значення хеш-функції і її подальшого порівняння з відомим паролем;
Перебір, оптимізований з використанням словників ймовірних паролів. При використанні даного методу підбору паролів зловмисник спочатку випробує в якості пароля всі слова зі словника, що містить найбільш ймовірні паролі. Якщо пароль що підбирається відсутній в словнику, зловмисник може випробувати всілякі різні комбінації слів зі словника, слова зі словника з доданими до початку або до кінця однієї або декількома буквами, цифрами та знаками пунктуації і т. д .
Перебір, оптимізований з використанням даних про користувача. В цьому випадку в першу чергу зловмисник намагається використати паролі, використання яких йому видається найбільш імовірним (ім'я, прізвище, дата народження, номер телефону і т. д.);
Перебір, оптимізований з використанням знань про підсистему автентифікації ОС. Якщо ключова система ОС допускає існування еквівалентних паролів, при переборі з кожного класу еквівалентності випробовується всього один пароль.
Всі перераховані вище методи зловмисник може застосовувати в сукупності з методами які перераховані нижче:
Сканування жорстких дисків комп'ютера. Дана атака полягає в послідовному зчитуванні файлів, що зберігаються на жорстких дисках комп'ютера. Якщо при зверненні до деякого файлу або каталогу зловмисник отримує відмову, він просто продовжує сканування далі. Якщо обсяг жорсткого диска комп'ютера досить великий, можна бути впевненим, що при описі прав доступу до файлів і каталогів цього диску адміністратор допустив хоча б одну помилку. При застосуванні цієї атаки всі файли, для яких були допущені такі помилки, будуть прочитані зловмисником. Незважаючи на примітивність даної атаки, вона в багатьох випадках виявляється досить ефективною. Для її реалізації зловмисник повинен бути легальним користувачем ОС.
Даний метод можна застосовувати не тільки для сканування дисків локального комп'ютера, але і для сканування поділюваних ресурсів локальної мережі.
Перевищення повноважень. Використовуючи помилки в програмному забезпеченні або адмініструванні ОС, зловмисник отримує в системі повноваження, що перевищують надані йому згідно поточної політики безпеки. Перевищення повноважень може бути досягнуто наступними способами:
Запуск програми від імені користувача, що володіє необхідними повноваженнями;
Запуск програми в якості системної програми (драйвер, сервіс, і т. , виконується від імені ОС;
Підміна динамічно довантажувати бібліотеку до системних програм, або несанкціонованих змін змінних середовища, що описують шлях до такої бібліотеки;
Модифікація коду або даних підсистеми захисту ОС.
Атаки класу «Відмова в обслуговуванні». Ці атаки націлені на повний або частковий вивід ОС з ладу. Існують наступні атаки даного класу:
Захоплення ресурсів - програма захоплює всі ресурси комп'ютера, які може получити. Наприклад, програма привласнює собі найвищий пріоритет і йде в вічний цикл;
Бомбардування надзвичайно складними запитами програма у вічному циклі направляє до ОС запити, виконання яких вимагає великих витрат ресурсів комп'ютера;
Бомбардування свідомо безглуздими запитами : програма у вічному циклі направляє до ОС свідомо безглузді (зазвичай випадково генеруються) запити. Рано чи пізно в ОС відбувається фатальна помилка;
Використання відомих помилок в програмному забезпеченні або адмініструванні ОС.
2.2 Атаки на рівні Мережі
Найбільш небезпечні атаки на СУБД виходять з мереж. Це в першу чергу обумовлено великою кількістю протоколів, які використовуються в мережах Інтернет, і автономними програмами невеликого розміру, завантаженими в систему користувача. Ці протоколи і активні елементи можуть створити серйозну загрозу для безпеки системи. На рівні мережного програмного забезпечення можливі наступні атаки. [2]
Прослуховування каналу. Дана атака можлива тільки в сегменті локальної мережі. Практично всі мережеві карти підтримують можливість перехоплення пакетів, що передаються по загальному каналу локальної мережі. При цьому робоча станція може приймати пакети, адресовані іншим комп'ютерам того ж сегмента мережі. Таким чином, весь інформаційний обмін у тій частині мережі стає доступним зловмисникові. Для успішної реалізації цієї атаки комп'ютер зловмисника повинен розташовуватися в тому ж сегменті локальної мережі, що і комп'ютер який атакується.
Перехоплення пакетів на маршрутизаторі. Мережеве програмне забезпечення маршрутизатора має доступ до всіх мережних пакетів, що передаються через даний маршрутизатор, що дозволяє здійснювати перехоплення пакетів. Для реалізації цієї атаки хакер повинен мати привілейований доступ хоча б до одного маршрутизатора мережі. Оскільки через маршрутизатор зазвичай передається дуже багато пакетів, їх тотальне перехоплення практично неможливе.
Однак окремі пакети цілком можуть бути перехоплені і збережені для подальшого аналізу хакером. Найбільш ефективне перехоплення пакетів FTP, що містять паролі користувачів.
Створення помилкового маршрутизатора. Зловмисник відправляє в мережу пакети певного виду, в результаті чого його комп'ютер стає маршрутизатором і отримує можливість здійснювати попередню загрозу. Помилковий маршрутизатор необов'язково помітний всім комп'ютерам мережі - можна створювати помилкові маршрутизатори для окремих комп'ютерів мережі і навіть для окремих з'єднань.
Нав'язування пакетів. Зловмисник відправляє в мережу пакети з помилковим зворотнім адресом . За допомогою цієї атаки зловмисник може перемикати на свій комп'ютер з'єднання, встановлені між іншими комп'ютерами і отримувати необхідні дані від СУБД. При цьому права доступу хакера стають рівними правам того користувача, чиє з'єднання з сервером було переключено на комп'ютер хакера.
Атаки класу «Відмова в обслуговуванні». Зловмисник відправляє в мережу пакети певного виду, в результаті чого один або кілька комп'ютерів мережі повністю або частково виходять з ладу.
Нелегальне впровадження руйнуючих програмних засобів. Зловмисник може використовувати троянські програми, які можуть бути призначені для дослідження параметрів інформаційної системи, збору даних, зомбування комп'ютера з подальшим нецільовим витрачанням ресурсів і т. д . Може бути здійснено також зараження комп'ютера вірусами з деструктивними функціями.
2.3 Атаки на рівні БД
Класифікація загроз на рівні бази даних проводять за результатами впливу : Загрози конфіденційності інформації , та Загрози доступності [5].
До загроз конфіденційності інформації можна віднести наступні.
Ін'єкція SQL. У багатьох додатках використовується динамічний SQL. Формування SQL-пропозицій кодом програми шляхом конкатенації рядків і значень параметрів. Знаючи структуру бази даних, зловмисник може або виконати збережену програму в запиті, або закоментувати «легальні» фрагменти SQL-коду, запровадивши, наприклад, конструкцію UNION, запит якої повертає конфіденційні дані. Останнім часом зловмисник може використовувати спеціальні програми, що автоматизують процес реалізації подібних загроз.
Логічний висновок на основі обмежень цілісності. Для кортежів відносин в реляційній моделі даних можна задати обмеження цілісності - логічні умови, які повинні задовольняти атрибути кортежів. При цьому обмеження цілісності може бути задано у вигляді предиката на всій множині атрибутів кортежу. У разі спроби змінити дані в таблиці, СУБД автоматично обчислює значення цього предиката, і в залежності від його істинності операція дозволяється або відкидається. Багаторазово змінюючи дані і аналізуючи реакцію системи, зловмисник може отримати ті відомості, до яких у нього немає безпосереднього доступу. До цього виду загроз можна віднести також аналіз значень первинних / вторинних ключів.
Використання оператора UPDATE для отримання конфіденційної інформації. У деяких стандартах SQL користувач, не володіючи привілеєм на виконання оператора SELECT, міг виконати оператор UPDATE зі складною логічною умовою. Так як після виконання оператора UPDATE повідомляється, скільки рядків він обробив, фактично користувач міг дізнатися, чи існують дані, що задовольняють цій умові. Розглянемо загрози цілісності інформації, специфічні для СУБД. За допомогою SQL-операторів UPDATE, INSERT і DELETE можна змінити дані в СУБД. Небезпека полягає в тому, що користувач, що володіє відповідними привілеями, може модифікувати всі записи в таблиці.
До загроз доступності для СУБД можна віднести наступні.
Використання властивостей первинних і зовнішніх ключів. В першу чергу віднесемо сюди властивість унікальності первинних ключів і наявність посилальної цілісності. У тому випадку, якщо використовуються натуральні, а не генеруються системою значення первинних ключів, може створитися така ситуація, коли в таблицю неможливо буде вставити нові записи, так. як. там уже будуть записи з такими ж значеннями первинних ключів. Якщо в БД підтримується посилальна цілісність, можна організувати неможливість видалення батьківських записів, навмисне створивши підлеглі записи.
Блокування записів при зміні. Заблокувавши записи або всю таблицю, зловмисник може на значний