Захист бази даних

Поняття цілісності бази даних. Гарантування конфіденційності, безпеки даних в системах баз даних, їх функції. Довірче й адміністративне керування доступом. Реєстрація користувачів, специфікація повноважень. Ведення журналів доступу, шифрування даних.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык украинский
Дата добавления 29.05.2016
Размер файла 1,2 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Зміст

  • 1. Що означає цілісність бази даних?
  • 1.1 Безпека даних
  • 2. Довірче й адміністративне керування доступом
  • 2.1 Фізичний захист (ФЗ)
  • 2.2 Реєстрація користувачів
  • 2.3 Керування правами доступу
  • 2.4 Специфікація повноважень в СКБД Oracle
  • 2.5 Обов'язкові методи захисту
  • 2.6 Ведення журналів доступу
  • 2.7 Обхід системи захисту
  • 2.8 Захист при статистичній обробці даних
  • 2.9 Шифрування даних
  • 2.10 SQL ін'єкція
  • Список використованої літератури

1. Що означає цілісність бази даних?

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

Наприклад, існує база даних з двох таблиць ("Товари" та "Угоди"). В першій містяться дані про кожний товар, яким торгує фірма (найменування товару, ціна і т.п.), в другій - дані про угоди відповідно з якими товар відвантажується споживачам (дата угоди, найменування товару, кількість проданих одиниць і т.п.). В даному прикладі таблиці будуть зв'язані відношенням "один-до-багатьох" (по кожному найменуванню товару може бути укладено багато угод). Якщо в такій базі даних не забезпечена цілісність даних - в другу таблицю технічно можливо буде вносити найменування товарів, що відсутні в першій таблиці (наприклад, вводити скорочені назви товарів). Якщо заповнюючи таблицю вводити назви товарів не в уніфікованому вигляді (наприклад: "карамель", "цукерки карамель", "карам.", "цук. карам." і т.п.), отримання узагальнених звітів буде ускладнене (так, в наведеному прикладі, замість звіту про кількість угод з продажу карамелі, будуть сформовані чотири звіти - окремо кількість угод з продажу товару "карамель", окремо - товару "цукерки карамель", окремо "карам." та "цук. карам. ").

При забезпеченні ж цілісності даних такої проблеми не виникатиме - при заповненні таблиці "Угоди" користувач не зможе ввести найменування товару, яке відсутнє в таблиці "Товари".

Для того, щоб забезпечити цілісність даних для конкретного зв'язку, при його створенні у вікні "Схема данных" слід встановити прапорець "Обеспечение целостности данных". Зазвичай при цьому також встановлюють прапорці "Каскадное обновление связанных полей" та "Каскадное удаление связанных записей"; якщо встановлено прапорець "Каскадное обновление связанных полей", то при зміні ключового поля головної таблиці автоматично змінюються і відповідні значення зв'язаних записів; якщо встановлений прапорець "Каскадное удаление связанных записей", то при видаленні запису у головній таблиці видаляються і усі зв'язані записи в підпорядкованій таблиці.

1.1 Безпека даних

Дані в системах баз даних мають зберігатися з гарантуванням конфіденційності та безпеки. Інформація не може бути загубленою або викраденою. Під безпекою даних у базі розуміють захист даних від випадкового або спланованого доступу до них осіб, які не мають на це права, від несанкціонованого розкриття, зміни або видалення.

Функції безпеки даних:

· функція безпеки;

· функція секретності.

Для реалізації цих функцій використовуються одні й ті ж технічні методи захисту даних в базі. Забезпечення секретності реалізується ще й за допомогою додаткових заходів.

Функція безпеки (ФБ) - захист даних від ненавмисного доступу до даних і можливість їх спотворення з боку користувачів та адміністрації, а також при збоях апаратних і програмних. Забезпечення ФБ - внутрішнє завдання БД, т.к. пов'язана із забезпеченням нормального функціонування.

Функція секретності (ФС) - захист даних від навмисного доступу користувачів або осіб, які виконують експлуатацію, або від сторонніх осіб. Забезпечення секретності, передбачає поділ всієї збереженої в БД інформації на загальнодоступні дані та дані, що використовуються конфіденційно, або безпосередньо містять секретну інформацію, або закодовану алгоритмічно).

Безпека даних підтримується комплексом заходів і засобів:

· організаційно-методичні заходи передбачають розроблення інструкцій та правил, які регламентують доступ до даних та їхнє використання, а також створення відповідних служб і підрозділів, які стежать за дотриманням цих правил;

· правові та юридичні заходи передбачають юридичне закріплення прав і обов'язків щодо зберігання, використання й передавання в електронному вигляді даних, які підлягають захисту, на рівні державних законів та інших нормативних документів;

· технічні засоби захисту - це комплекс технічних засобів, які сприяють вирішенню проблеми захисту даних;

· програмні засоби захисту - це комплекс математичних, алгоритмічних і програмних засобів, що сприяють вирішенню проблеми захисту даних.

Далі йтиметься лише про програмні засоби захисту.

Система захисту (СЗ) - це сукупність заходів, що вживаються в системі баз даних для гарантування необхідного рівня безпеки.

У сучасних СКБД підтримується один з двох найбільш розповсюджений методів забезпечення захисту даних: вибірковий чи обов'язковий.

Вибірковий метод захисту передбачає, що користувачі мають різні права (привілеї, повноваження) доступу до різних або одних тих самих об'єктів бази даних.

Обов'язковий метод захисту передбачає, що кожному об'єкту бази даних надається певний рівень секретності, а кожному користувачу - певний рівень допуску. Доступ до об'єкта даних є лише в тих користувачів, які мають відповідний для цих даних рівень допуску.

Зазначимо, що вибірковий метод гнучкіший, аніж обов'язковий.

Особливості методів забезпечення безпеки даних в базі:

захист база конфіденційність шифрування

· СКБД не допускає виконання операції над БД користувачеві, який не отримав на це відповідні права;

· санкціонування доступу до даних виконується адміністратором БД.

Загроза - будь-яка ситуація (або подія), викликана навмисно чи ненавмисно, яка здатна несприятливо вплинути на систему, а отже, і на роботу всієї організації (табл.24.1.).

Таблиця 2.1 Приклади можливих загроз

Загроза

Викрадення і фальсифікація даних

Втрата конфіденційності

Порушення недоторканності особистих даних

Втрата цілісності

Втрата доступності

Використання прав доступу іншої особи

Так

Так

Так

Несанкціонована зміна або копіювання даних

Так

Так

Зміна програм

Так

Так

Так

Непродумані методики і процедури, що допускають змішування конфіденційних і звичайних даних в одному документі

Так

Так

Так

Підключення до кабельних мереж

Так

Так

Так

Введення зломщиками некоректних даних

Так

Так

Так

Шантаж

Так

Так

Так

Створення "лазівок" у системі

Так

Так

Так

Викрадення даних, програм та обладнання

Так

Так

Так

Так

Відмова систем захисту, яке викликає перевищення допустимого рівня доступу

Так

Так

Так

Брак персоналу і страйки

Так

Так

Недостатня навченість персоналу

Так

Так

Так

Так

Перегляд і розкриття засекречених даних

Так

Так

Так

Електронні перешкоди і радіація

Так

Так

Руйнування даних в результаті відключення або перенапруження в мережі електроживлення

Так

Так

Пожежі (з причини коротких замикань, ударів блискавок, підпалів), повені, диверсії

Так

Так

Фізичне пошкодження обладнання

Так

Так

Обрив або від'єднання кабелів

Так

Так

Впровадження комп'ютерних вірусів

Так

Так

Безпека даних може гарантуватися такими механізмами:

· реєстрація користувачів. Будь-який користувач для отримання доступу до бази даних має бути зареєстрований у системі під певним ім'ям і певним паролем;

· керування правами доступу. Адміністратор може визначити, яким користувачам до яких даних дозволяється доступ і які саме операції над цими даними (вибирання, введення, зміну чи видалення) він може виконувати;

· ідентифікація та підтвердження автентичності всіх користувачів або додатків, що отримують доступ до бази даних. Будь-який користувач або додаток, звертаючись до системи баз даних, мають вказати своє ім'я і пароль. Ім'я ідентифікує користувача, а пароль підтверджує автентичність імені. Ці два кроки - ідентифікація та підтвердження автентичності - виконуються лише один раз під час з'єднання з базою даних і залишаються чинними до завершення сеансу роботи з базою даних конкретного користувача чи додатку;

· автоматичне ведення журналів доступу до даних. У цих журналах протоколюються операції, виконані над даними користувачами, з метою подальшого аналізу на випадок отримання доступу до бази в обхід системи захисту;

· шифрування даних на зовнішніх носіях. Здійснюється криптографічними методами на випадок несанкціонованого копіювання даних на зовнішні носії.

Рис. 2.1 Схема впливу потенційних загроз, яким може піддаватися типова комп'ютерна система.

Рис. 2.2 Загальна схема типової багатокористувацької комп'ютерної системи

Зазвичай для персонального комп'ютера доступні не всі перераховані нижче типи засобів контролю:

· авторизація користувачів;

· застосування уявлень;

· резервне копіювання і відновлення;

· підтримка цілісності;

· шифрування;

· застосування RAID-масивів.

Припускається, що адміністратор бази даних має всі необхідні повноваження на виконання функцій, пов'язаних із захистом даних.

При вирішенні питань безпеки даних в обов'язки адміністратора БД входить наступне:

· класифікація даних відповідно з їх використанням;

· визначення прав доступу окремих користувачів до певних груп даних в базі та обмежень на характер операцій;

· організація системи контролю доступу до даних;

· тестування новостворюваних засобів безпеки даних;

· періодична перевірка правильності функціонування системи безпеки даних;

· дослідження випадків порушення безпеки даних з метою їх запобігання в подальшому;

· дослідження сучасних засобів безпеки даних та їх використання для вдосконалення засобів функціонуючої БД;

· АБД або відповідальний за забезпечення безпеки даних повинен добре знати склад, структуру і характеристики системи, так як збої або порушення можуть виникати у різних місцях.

2. Довірче й адміністративне керування доступом

Довірче керування доступом до даних - це такий тип керування, коли система захисту дає змогу звичайним користувачам не лише отримувати доступ до певних даних, але й передавати повноваження на доступ до них іншим користувачам без адміністративного втручання.

Адміністративне керування доступом до даних - це таке керування, за якого система захисту дає змогу передавати повноваження на доступ до даних лише спеціально авторизованому користувачу (адміністратору).

2.1 Фізичний захист (ФЗ)

Основним заходом захисту даних від розкриття в разі фізичного вилучення частини БД (викрадення носія, контроль передачі даних по лінії зв'язку між системою і віддаленим терміналом тощо) є використання спеціальних методів кодування даних. Найпростішим методом є перекомпоновка символів у кортежі, записі, повідомленні. Інший метод передбачає заміну символу (групи символів) іншим символом (або групою символів) цього ж або іншого алфавіту тощо. Інший аспект ФЗ пов'язаний з безпекою даних від збоїв апаратних і програмних засобів. У цьому випадку здебільшого використовуються засоби ОС - зберігання поколінь даних, формування контрольних точок, введення системних журналів і т.п.

2.2 Реєстрація користувачів

Будь-який користувач для отримання доступу до бази даних має бути зареєстрований у системі під певним ім'ям і паролем. Реєстрація необхідна для того, щоб знати, з ким має справу система у кожний момент часу. Зазначимо, що під користувачем розуміється не лише фізична особа, але й будь-яке джерело, що в змозі звернутися до бази даних (прикладна програма, операційна система, інтернет-додаток тощо).

Спрощений вигляд конструкції, що застосовується для означення користувача, є таким:

CREATE USER <користувач> IDENTIFIED <пароль>.

Тут <користувач> - ім'я користувача, а <пароль> - пароль.

Спочатку користувач не має жодних повноважень. Щоб користувач міг виконувати ті чи інші операції над базою даних, йому необхідно передати відповідні повноваження.

2.3 Керування правами доступу

Визначити права доступу користувачів - це означає зафіксувати інформацію стосовно:

· осіб, яким надаються права доступу;

· умов надання прав доступу;

· об'єктів, на які поширюються права доступу;

· операцій, щодо яких специфікуються права доступу;

· можливості передавання прав доступу іншим особам.

Рис. 2.3 Складові прав доступу

Кому надаються права доступу

Права доступу надаються всім, хто звертається до бази даних. Це можуть бути користувачі, прикладні програми, операційні системи тощо. Кожен, хто звертається до бази даних, має насамперед вказати своє ім'я і пароль. Для СКБД не важливо, хто саме звертається до бази даних, головне, щоб усі, хто хоче отримати можливість працювати з нею, були заздалегідь зареєстровані в системі.

У деяких випадках може знадобитися виділити користувачів системи, які мають однакові повноваження. Наприклад, усі співробітники відділу кадрів можуть мати одні й ті ж права, а співробітники планового відділу - інші, причому також однакові. Для реалізації такого розподілу прав вводиться поняття ролі.

Роль - це сукупність повноважень, які можуть передаватися користувачам або іншим ролям. Можна присвоїти повноваження ролям, а згодом приписувати ролі користувачам. Коли користувачу присвоєна роль, він має ті повноваження, які приписані ролі.

Роль має всі повноваження, які присвоєні їй явно, й усі повноваження, які передані їй іншими ролями.

Спрощений синтаксис означення ролі є таким:

CREATE ROLE <роль> IDENTIFIED <пароль>.

Тут <роль> - ім'я ролі.

Спочатку роль є порожньою, тобто не має жодного повноваження.

Умови надання прав доступу

Іноді доцільно специфікувати додаткові умови, за дотримання яких користувачам надаються певні права доступу. Йдеться про умови, які не визначаються іншими складовими прав доступу (кому надається доступ, до яких даних, які операції дозволяються).

Приклади додаткових умов:

· часові характеристики (наприклад, "права доступу діють лише між 13 і 14 годинами другого вівторка кожного місяця");

· локалізація комп'ютерів у локальній мережі (наприклад, "права доступу діють лише для комп'ютерів, установлених у плановому відділі").

У більшості СКБД немає засобів явного опису додаткових умов, що обмежують права доступу. За необхідності такі умови можуть бути специфіковані у прикладних системах.

Об'єкти, на які поширюються права доступу

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

У деяких випадках виникає необхідність специфікувати рядки певної таблиці, що стосуються особи, для якої визначаються права доступу.

Наприклад:

· будь-який користувач може змінювати у таблиці СЛУЖБОВЕЦЬ значення полів лише того рядка, який стосується його самого (тобто він може змінювати лише свої особисті дані), за винятком величини його зарплати;

· у таблиці СЛУЖБОВЕЦЬ змінювати зарплату може лише той користувач, який є начальником відділу даного службовця.

У розглянутій ситуації виникає необхідність посилатися на поточного користувача в умові вибирання записів із віртуальної таблиці. Для цього в деяких СКБД надається можливість використовувати спеціальну константу, яка ідентифікує поточного користувача (тобто користувача, який ініціює виконання відповідного запиту на вибирання або оновлення даних).

Операції, щодо яких специфікуються права доступу

До операцій, стосовно яких специфікуються права доступу, належать стандартні операції з маніпулювання об'єктами бази даних, а саме:

· означення, перевизначення й видалення таблиці або віртуальної таблиці;

· вибирання, додавання, видалення, оновлення рядків у таблиці або віртуальній таблиці;

· виконання збережених процедур.

У кожній конкретній СКБД наведений список операцій над об'єктами бази даних може розширюватися.

Можливість передавання прав доступу іншим особам

Інколи користувачу надаються не лише права на маніпулювання тими чи іншими об'єктами бази даних, але й можливість передавати ці права іншим. Наприклад, користувачу передається право створити таблицю, вводити в неї дані, змінювати і видаляти їх, навіть видалити всю таблицю. Він стає повноправним власником таблиці та може з нею робити що завгодно. Тому не дивно, що йому надають дозвіл на передавання будь-яких прав на цю таблицю іншим користувачам.

2.4 Специфікація повноважень в СКБД Oracle

Розглянемо, як означуються права доступу до даних в СКБД Oracle. Інструкція, що дозволяє означити користувача, була описана в підрозділі 24.2 Щойно створений користувач не має жодних повноважень. Надання повноважень користувачу здійснюється командою GRANT. Віднімання прав виконується командою REVOKE.

Передавання повноважень користувачам або ролям

Команда GRANT дає змогу передати повноваження користувачам або ролям. Спрощений синтаксис команди є таким:

GRANT { <операція> | ALL} [ (<список стовпців>)] ON <список об'єктів> ТО {<користувач> | <роль> | PUBLIC} WITH GRANT OPTION Специфікатор <операція> вказує, щодо яких операцій описується повноваження. Такими операціями можуть бути: SELECT, INSERT, UPDATE, DELETE та інші. Фраза ALL вказує, що повноваження передаються щодо всіх операцій. У списку об'єктів зазначаються всі об'єкти бази даних, щодо яких специфікуються повноваження. Цей список містить посилання на таблиці й віртуальні таблиці. За допомогою параметра <список стовпців> можна додатково вказати стовпці таблиць. Повноваження може бути передане користувачу, ролі або всім, хто вказується у фразі ТО. Якщо повноваження передається користувачу, він одержує право виконувати операції згідно з цим повноваженням. Коли повноваження передається ролі, вона ним поповнюється. Фраза WITH GRANT OPTION означає, що одержувач повноваження отримує також право передавати це повноваження іншому користувачу або ролі.

Приклади надання й передавання прав доступу:

1. Надати користувачу на ім'я Коваленко права на виконання будь-яких операцій над таблицею JOBS і дозвіл на передавання цих прав іншим користувачам:

GRANT ALL ON JOBS TO Коваленко WITH GRANT OPTION 2. Надати всім користувачам право переглядати дані з таблиці Employees:

GRANT SELECT ON Employees ТО PUBLIC 3. Надати користувачу на ім'я Коломієць право змінювати стовпець Department_name у таблиці Departments:

GRANT UPDATE (Department_name) ON Departments ТО Коломієць

2.5 Обов'язкові методи захисту

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

Останнім часом методи обов'язкового керування доступом набули популярності в США, оскільки згідно з вимогами міністерства оборони цієї країни такий метод керування доступом має підтримуватися в будь-якій системі, що використовується в цьому відомстві. Тому розробникам і постачальникам СКБД довелося докласти чимало зусиль для розробки подібних методів керування доступом. Вимоги до такого керування подано в двох важливих публікаціях міністерства, які неформально називаються "оранжевою" та "рожевою" книгами (Orange Book та Lavender Book). В "оранжевій" книзі наведено перелік вимог до безпеки певного "надійного обчислювального середовища", а в "рожевій" книзі ці вимоги інтерпретуються стосовно систем керування базами даних.

2.6 Ведення журналів доступу

Не буває невразливих систем захисту. Настирливий зловмисник завжди може знайти спосіб подолати всі системи контролю і захисту. Тому під час роботи з дуже важливими даними необхідно реєструвати у відповідному журналі всі події, що стосуються функціонування системи захисту. У зв'язку з цим система захисту має надавати можливість виконувати наведені далі дії:

· реєструвати всі спроби отримання доступу до системи баз даних, у тому числі й безуспішні. Ця реєстрація має бути максимально повною (повинні реєструватися відомості про те, хто отримував доступ або намагався його отримати, з якого термінала або вузла мережі, о котрій годині тощо);

· реєструвати дії користувачів з використання всіх ресурсів системи, зокрема й даних, а також інші дії та події, які можуть вплинути на захист даних;

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

Навіть сама лише констатація факту, що в системі підтримується реєстрація всіх дій користувачів, у деяких випадках має суттєве значення для запобігання несанкціонованому проникненню в систему.

2.7 Обхід системи захисту

До носіїв, на яких записані дані, можна отримати доступ в обхід системи захисту. Якщо отримати доступ до файлів операційної системи, які містять дані з бази, то можна прочитати вміст цих файлів, оскільки фірми-розробники переважної більшості СКБД створюють формати зберігання даних такими, що вони є доступними широкому колу користувачів і додатків. Більше того, той, хто отримав доступ до файлів бази, може змінити їхній вміст або навіть видалити їх.

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

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

2.8 Захист при статистичній обробці даних

Процедури статистичної обробки дозволяють отримати агреговану інформацію про підмножину деякої множини об'єктів (?, А ( В,.).

Для статистичних процедур існують специфічні проблеми захисту даних, пов'язані з тим, що в багатьох випадках допускаються запити типу: А ' В ("Вік співробітників відділу") при одночасній забороні до анкетних даних конкретного співробітника без спеціального дозволу.

До складу ММД вводяться спеціальні агрегативні функції (АФ). У робочі поля ПП поступають тільки значення цих функцій. Однак застосування АФ не вирішує проблему повністю, тому що, застосовуючи одну і ту ж функцію кілька разів, щоразу змінюючи склад множини об'єктів для опитування, можна отримати конкретні дані шляхом послідовного порівняння результатів.

Розглянемо БД, що містить n записів. Нехай V = {V1, V2,., Vn} - множина значень деякого неключового поля цих записів.

Лінійним запитом (ЛЗ) називається сума ? Сі Vi, i = 1,n, де Сі - довільні дійсні числа. Найбільш важливими випадками ЛЗ є суми по множині записів S, коли Сі = 1, якщо i ЎК S, або Сі = 0, якщо i ? S.

Теорема. Нехай допускаються ЛЗ, результатами яких є m елементів (тобто обробляють m записів), та ніякі два запити не можуть мати більше k спільних елементів (тобто k загальних записів), p елементів відомі (конкретні значення полів). Тоді для обчислення невідомого елемента необхідно зробити 1 + (m - 1 - p) /k запитів.

Виключення можливості розкриття конкретних даних можна домогтися введенням обмеження на структуру запитів.

Твердження. Нехай ключ запису складається з k полів; в запиті допускається специфікувати не більше s полів ключа (тобто пошук по частковій відповідності ключа). Тоді, якщо s < k, тоді ніяка статистична функція, що використовує тільки арифметичні операції не дозволить визначити значення даного конкретного запису.

2.9 Шифрування даних

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

Для обговорення основних концепцій шифрування даних слід ввести деякі нові поняття. Вихідні (незашифровані) дані називаються відкритим текстом. Відкритий текст шифрується за допомогою спеціального алгоритму шифрування. В якості вхідних даних для такого алгоритму виступають відкритий текст і ключ шифрування, а в якості вихідних - перетворена форма відкритого тексту, яка називається шифрованим текстом. Деталі алгоритму шифрування можуть бути опубліковані або, принаймні, можуть не приховуватись, але ключ шифрування ні в якому разі не розголошується. Саме зашифрований текст, незрозумілий всім, хто не володіє ключем шифрування, зберігається в базі даних і передається по лінії зв'язку.

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

Стандарти шифрування даних

Підстановка - один з двох основних традиційно використовуваних методів шифрування, причому в якості другого виступає процедура перестановки, коли символи відкритого тексту просто переставляються в деякій іншій послідовності. Жоден з цих способів не є безпечним сам по собі, але алгоритми, побудовані на основі їх комбінації, здатні забезпечити досить високий ступінь безпеки. Одним з таких алгоритмів є Data Encryption Standard (DES), розроблений фірмою IBM і прийнятий в 1977 році в якості Федерального стандарту шифрування даних США.

Згідно з цим стандартом, відкритий текст ділиться на блоки по 64 біта і кожен блок шифрується за допомогою 64 - бітового ключа (насправді цей ключ складається з 56 бітів даних і 8 бітів парності, так що існує не 264, а лише 256 можливих ключів). Спочатку блок шифрується шляхом перестановки, потім переставлені дані блоку піддаються обробці за допомогою підстановки, що включає 16 послідовних складних кроків, після цього до даних ще раз застосовується зворотна початковій процедура перестановки, яка і призводить до отримання остаточного результату шифрування. Підстановка на i-му кроці контролюється не самим вихідним ключем шифрування K, а ключем Ki, який обчислюється на основі значень К та i.

Стандартом шифрування даних передбачається, що алгоритм розшифровки ідентичний алгоритму шифрування, але ключі Ki застосовуються в зворотному порядку. В міру збільшення швидкодії та продуктивності комп'ютерів, стандарт DES все частіше став піддаватися критиці на підставі того, що в ньому використовується порівняно короткі 56-бітові ключі. Тому в 2000 році Федеральним урядом США був прийнятий стандарт Advanced Encryption Standard (AES), заснований на так званому алгоритмі Райндален (Rijndael), в якому використовуються ключі довжиною 128, 192 або 256 бітів. Застосування навіть 128-бітових ключів означає, що новий стандарт є значно безпечнішим порівняно зі старим; тому якщо колись буде створений комп'ютер, діючий досить швидко для того, щоб зламати шифр DES за одну секунду, то цьому комп'ютеру доведеться працювати приблизно 149 млрд. років, щоб зламати 128-бітовий ключ AES.

Шифрування на основі відкритого ключа

Як вже було сказано, стандарт шифрування даних DES не є абсолютно безпечним; стандарт AES є більш захищеним, але, тим не менш, багато фахівців вважають, що подібні схеми можуть бути зламані із застосуванням однієї лише "грубої сили", без використання будь-яких складних методів розшифровки. Багато фахівців вважають також, що в порівнянні з найсучаснішими методами, побудованими на основі використання відкритого ключа, всі інші методи виглядають технологічно застарілими. У методах з використанням відкритого ключа зовнішньому світу доступні як алгоритм шифрування, так і ключ шифрування, тому будь-хто може перетворити відкритий текст в зашифрований. Але відповідний ключ розшифровки зберігається в секреті (у методах відкритого ключа використовуються два ключі: один - для шифрування, інший - для розшифровки). Більш того, ключ розшифровки не може бути просто виведений з ключа шифрування, тому особа, яка виконала шифрування вихідного тексту, не зможе його розшифрувати, не маючи доступу до відповідної інформації.

Первісна ідея використання такого методу належить Діффі та Хеллману, однак тут для демонстрації подібних методів буде описаний найбільш відомий підхід, розроблений Райвест, Шамір і Адлеманом. В основу цього підходу, названого схемою RSA (за першими літерами прізвищ його авторів), покладені описані нижче два факти:

· існує швидкий алгоритм визначення того, чи є дане число простим;

· не існує швидкого алгоритму розкладання даного складеного числа (тобто числа, яке не є простим) на прості множники.

Наприклад, для визначення, чи є число з 130 цифр простим, було б потрібно 7 хвилин обчислень на деякому комп'ютері, тоді як для пошуку (на тому ж комп'ютері) двох простих множників числа, одержуваного множенням двох простих чисел, що складаються з 63 цифр, потрібно близько 40 квадрильйонів років (1 квадрильйон = 1 000 000 000 000 000).

Схема RSA передбачає виконання наведеної нижче послідовності дій:

1. Виберіть два довільних та різних великих простих числа р та q, а потім обчисліть їх добуток r = р * q.

2. Виберіть довільне велике ціле число t, яке є взаємно простим (тобто не має спільних множників) по відношенню до добутку (р - 1) * (q - 1). Це ціле число t і буде служити ключем шифрування. Примітка. Вибрати число t досить просто, наприклад, для нього підійде будь-яке просте число, яке більше чисел р та q.

3. Виберіть як ключ розшифровки число d, яке є зворотним щодо множення на t по модулю (р - 1) * (q - 1), тобто таке число, для якого виконується наступне співвідношення:

4. d * t = 1 mod (р - 1) * (q - 1). Алгоритм обчислення d для заданих чисел t, р та q досить простий.

5. При цьому розголосу можуть бути віддані числа r та t, але не d.

6. Для шифрування тексту S (який для простоти розглядається як ціле число менше r) замінимо його зашифрованим текстом згідно такою формулою:

7. W = St mod r.

8. Для розшифровки частини зашифрованого тексту W замініть його відкритим текстом Р, які визначаються згідно такою формулою:

9. S = Wd mod r.

Можна довести працездатність цієї схеми, тобто можливість розшифровки тексту з використанням числа d для відновлення вихідного відкритого тексту р. Однак, як згадувалося раніше, обчислення d для відомих чисел r та t (а не р та q) практично нездійсненне. Тому будь-який користувач може зашифрувати відкритий текст, але розшифрувати зашифрований текст зможуть тільки санкціоновані користувачі (тобто ті, які знають число d).

Для ілюстрації роботи цього методу розглянемо наведений нижче простий приклад, в якому з очевидних причин використовуються дуже невеликі цілі числа.

Приклад. Нехай р = 3, q = 5; тоді r = 15, а добуток (р - 1) * (q - 1) = 8. Нехай t = 11 (просте число більше р та q). Обчислимо d згідно наступною формули:

d * 11 = 1 mod 8. В результаті отримаємо d = 3.

Тепер припустимо, що відкритий текст S складається з цілого числа 13; тоді зашифрований текст W буде мати наступний вигляд:

W = St mod r = 1311 mod 15 = 1 792 160 394 037 mod 15 = 7.

Тепер вихідний відкритий текст S може бути отриманий за допомогою такої зворотньої процедури:

S = Wd mod r = 73 mod 15 = 343 mod 15 = 13.

Цифровий підпис

Оскільки числа t та d взаємно протилежні, в методах шифрування на основі відкритого ключа передбачена також можливість підписувати повідомлення, які відсилаються, що дозволить одержувачу мати впевненість у тому, що дане повідомлення було отримано саме від тієї особи, яка оголошено його відправником (тобто такий підпис не може бути підроблений). Припустимо, що користувачі А та В спілкуються один з одним за допомогою методу шифрування на основі відкритого ключа. Нехай вони надали гласності алгоритм шифрування (у тому числі обидва вони вказали відповідний ключ шифрування), але зберігають у секреті навіть один від одного алгоритм і ключ розшифровки. Нехай алгоритми шифрування повідомлень ЕСА та EСВ використовуються для шифрування повідомлень, що посилаються користувачам А та В, відповідно, а відповідають їм алгоритми розшифровки - DCA та DCB. Слід зазначити, що алгоритми шифрування і розшифровки ЕСА та DCA, як і алгоритми EСВ та DCB, є взаємно зворотними (табл.24.2.).

Таблиця 24.2 Алгоритми користувачів А та В

Користувач

Шифрування (відкритий)

Розшифрування (закритий)

A

ЕСА

DCA

B

EСВ

DCB

Тепер припустимо, що користувач А хоче відіслати фрагмент відкритого тексту S користувачеві В. Замість обчислення результату EСВ (S) та відправки його користувачеві В, користувач А спочатку застосовує для відкритого тексту S алгоритм розшифровки DCA, a потім зашифровує отриманий результат та в зашифрованому вигляді передає його користувачеві В, як показано нижче:

W = EСВ (DCA (S)).

Після отримання зашифрованого тексту W користувач B застосовує спочатку алгоритм розшифровки DCB, а потім - алгоритм шифрування ЕСА, що дозволяє йому в результаті отримати наступний відкритий текст S:

S = ЕСА (DCB (W)) = ЕСА (DCB (ОСВ (DCA (S)))) /*оскільки DCB та EСВ взаємно виключаються*/ = ЕСА (DCA (S)) /*оскільки ЕСА та DCA взаємно виключаються*/ = S

Таким чином, користувач В знає, що отримане ним повідомлення дійсно прийшло від користувача А, оскільки алгоритм шифрування ЕСА призведе до отримання результату S, тільки якщо в процесі шифрування застосовувався алгоритм розшифровки DCA, а цей алгоритм відомий тільки користувачу А. Тому ніхто не зможе підробити підпис користувача А, навіть користувач В.

2.10 SQL ін'єкція

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

Впровадження SQL, залежно від типу СКБД та умов впровадження, може дати можливість атакуючому виконати довільний запит до бази даних (наприклад, прочитати вміст будь-яких таблиць, видалити, змінити або додати дані), отримати можливість читання та/або запису локальних файлів та виконання довільних команд на сервері. Атака типу впровадження SQL можлива за некоректної обробки вхідних даних, які використовуються в SQL-запитах. Розробник додатків, який працює з базами даних, повинен знати про таку уразливість і вживати заходів протидії впровадженню SQL.

Принцип атаки

Припустимо, серверне ПЗ, отримавши вхідний параметр id, використовує його для створення SQL-запиту. Розглянемо такий PHP-сценарій:

$id = $_REQUEST ['id'];

$res = mysql_query ("SELECT * FROM news WHERE id_news = $id");

Якщо на сервер переданий параметр id, що дорівнює 5 (наприклад так: http://example.org/script. php? id=5), то виконається такий SQL-запит:

SELECT * FROM news WHERE id_news = 5

Але якщо зловмисник передасть як параметр id рядок - 1 OR 1=1 (наприклад, так: http://example.org/script. php? id=-1+OR+1=1), то виконається запит:

SELECT * FROM news WHERE id_news =-1 OR 1=1

Таким чином, зміна вхідних параметрів шляхом додавання в них конструкцій мови SQL викликає зміну в логіці виконання SQL-запиту (в цьому прикладі замість новини із заданим ідентифікатором будуть вибрані всі наявні в базі новини, оскільки вираз 1=1 завжди істинний).

Впровадження в рядкові параметри. Припустимо, серверне ПЗ, отримавши запит на пошук даних у новинах параметр search_text, використовує його в наступному SQL-запиті (тут параметри екрануються лапками):

$search_text = $_REQUEST ['search_text'];

$res = mysql_query ("SELECT id_news, news_date, news_caption, news_text, news_id_author FROM news WHERE news_caption LIKE ('%$search_text%')");

Зробивши запит виду http://example.org/script. php? search_text=Test ми отримаємо виконання такого SQL-запиту:

SELECT id_news, news_date, news_caption, news_text, news_id_author FROM news WHERE news_caption LIKE ('%Test%')

Але, запровадивши в параметр search_text символ лапки (який використовується в запиті), ми можемо кардинально змінити поведінку SQL-запиту.

Наприклад, передавши як параметр search_text значення ') +and+ (news_id_author='1, ми змусимо виконати запит:

SELECT id_news, news_date, news_caption, news_text, news_id_author FROM news WHERE news_caption LIKE ('%') AND (news_id_author='1%')

Використання UNION. Мова SQL дозволяє об'єднувати результати декількох запитів за допомогою оператора UNION. Це надає зловмисникові можливість отримати несанкціонований доступ до даних.

Розглянемо сценарій відображення новини (ідентифікатор новини, яку необхідно відобразити, передається в параметрі id):

$res = mysql_query ("SELECT id_news, header, body, author FROM news WHERE id_news =". $_REQUEST ['id']);

Якщо зловмисник передасть як параметр id конструкцію - 1 UNION SELECT 1,username, password,1 FROM admin, це викличе виконання SQL-запиту

SELECT id_news, header, body, author FROM news WHERE id_news =-1 UNION SELECT 1,username,password,1 FROM admin

Оскільки новини з ідентифікатором - 1 завідомо не існує, з таблиці news не буде вибрано жодного запису, проте в результат потраплять записи, несанкціоновано відібрані з таблиці admin внаслідок ін'єкції SQL.

Використання UNION + group_concat ()

У деяких випадках хакер може провести атаку, але не може бачити більше однієї колонки.

У разі MySQL зломщик може скористатися функцією:

group_concat (col, symbol, col)

яка об'єднує кілька колонок в одну.

Наприклад, для прикладу цього вище виклик функції буде таким:

1 UNION SELECT group_concat (username, 0x3a, password) FROM admin

Екранування хвоста запиту

Сценарій

$res = mysql_query ("SELECT author FROM news WHERE id=". $_RE

QUEST ['id']." AND author LIKE ('a%')");

відображає ім'я автора новини згідно ідентифікатора id лише за умови, що ім'я починається з літери а, і впровадження коду з використанням оператора UNION складне.

У таких випадках, зловмисниками використовується метод екранування частини запиту за допомогою символів коментаря (/*або--в залежності від типу СКБД).

У цьому прикладі, зловмисник може передати в сценарій параметр id зі значенням - 1 UNION SELECT password FROM admin/*, виконавши таким чином запит

SELECT author FROM news WHERE id=-1 UNION SELECT password FROM admin/* AND author LIKE ('a%')

в якому частина запиту (AND author LIKE ('a%')) позначена як коментар і не впливає на виконання.

Розщеплення SQL-запиту

Для розділення команд в мові SQL використовується символ; (крапка з комою), впроваджуючи цей символ до запиту, зловмисник отримує можливість виконати декілька команд в одному запиті, однак не всі діалекти SQL підтримують таку можливість.

Наприклад, якщо в параметри сценарія

$id = $_REQUEST ['id'];

$res = mysql_query ("SELECT * FROM news WHERE id_news = $id ");

зловмисником передається конструкція, що містить крапку з комою, наприклад 12; INSERT INTO admin (username, password) VALUES ('HaCkEr', 'foo'); то в одному запиті будуть виконані 2 команди

SELECT * FROM news WHERE id_news = 12;

INSERT INTO admin (username, password) VALUES ('HaCkEr', 'foo');

і в таблицю admin буде несанкціоновано доданий запис HaCkEr.

Пошук сценаріїв, уразливих для атаки

На цьому етапі зловмисник вивчає поведінку сценаріїв сервера при маніпуляції вхідними параметрами з метою виявлення їх аномальної поведінки. Маніпуляція відбувається всіма можливими параметрами:

· даними, переданими через методи POST і GET;

· значеннями [HTTP-Cookie];

· HTTP_REFERER (для сценаріїв);

· AUTH_USER та AUTH_PASSWORD (при використанні аутентифікації).

Як правило, маніпуляція зводиться до підстановки в параметри символу одинарної (рідше подвійний або зворотної) лапки.

Аномальною поведінкою вважається будь-яка поведінка, при якій сторінки, одержувані до і після підстановки лапок, розрізняються (і при цьому немає повідомлення неправильний форматі параметрів).

Найчастіші приклади аномальної поведінки:

· виводиться повідомлення про різні помилки;

· при запиті даних (наприклад, новини або списку продукції) запитувані дані не виводяться взагалі, хоча сторінка відображається.

Слід враховувати, що відомі випадки, коли повідомлення про помилки, в силу специфіки розмітки сторінки, не видно в браузері, хоча і присутні в її HTML-коді.

Фільтрація рядкових параметрів

Припустимо, що код, який генерує запит, виглядає так:

statement: = 'SELECT * FROM users WHERE name = "' + userName + '"; ';

Щоб впровадження коду було неможливо, для деяких СКБД, в тому числі, для MySQL, потрібно прибрати в лапки всі строкові параметри. У самому параметрі замінюють лапки на \", апостроф на \', зворотну косу риску на \\ (це називається "екранувати спецсимволи"). Це можна робити таким кодом:

statement: = 'SELECT * FROM users WHERE name = ' + QuoteParam (userName) + '; ';

для PHP фільтрація може бути такою:

<? php $query = "SELECT * FROM users WHERE user='". mysql_real_escape_string ($user). "'; ";

? >

Фільтрація цілочисельних параметрів

Візьмемо інший запит:

statement: = 'SELECT * FROM users WHERE id = ' + id + '; ';

У цьому випадку поле id має числовий тип, і його найчастіше не беруть в лапки. У такому випадку допомагає перевірка - якщо змінна id не є числом, запит взагалі не повинен виконуватися.

Наприклад, на Delphi для протидії таким ін'єкціям допомагає код:

id_int: = StrToInt (id);

statement: = 'SELECT * FROM users WHERE id = ' + IntToStr (id_int) + '; ';

у випадку помилки функція StrToInt викличе виняток EConvertError, і в його обробнику можна буде вивести повідомлення про помилку. Подвійне перетворення забезпечує коректну реакцію на числа у форматі $132AB (шістнадцяткова система числення). На стандартному Паскалі, який не вміє обробляти виняток, код дещо складніший.

Для PHP цей метод буде виглядати так:

$query = 'SELECT * FROM users WHERE id = '. intval ($id);

Усікання вхідних параметрів

Для внесення змін в логіку виконання SQL-запиту потрібно впровадження достатньо довгих рядків. Так, мінімальна довжина такого рядка у наведених вище прикладах становить 8 символів ("1 OR 1=1"). Якщо максимальна довжина коректного значення параметра невелика, то одним з методів захисту може бути максимальне усікання значень вхідних параметрів.

Наприклад, якщо відомо, що поле id у вищенаведених прикладах може приймати значення не більше 9999, можна "відрізати зайві" символи, залишивши не більше чотирьох:

statement: = 'SELECT * FROM users WHERE id = ' + LeftStr (id,

4) + '; ';

Використання параметризованих запитів

Багато серверів баз даних підтримують можливість відправки параметризованих запитів (підготовлені вирази). При цьому параметри зовнішнього походження відправляються на сервер окремо від самого запиту або автоматично екрануються клієнтською бібліотекою. Для цього використовують

· на Delphi - властивість TQuery. Params;

· на Perl - через DBI:: quote або DBI:: prepare;

· на Java - через клас PreparedStatement;

· на C# - властивість SqlCommand. Parameters;

· на PHP - MySQLi (при роботі з MySQL), PDO.

Наприклад для Delphi:

var sql, param: string;

begin sql: = 'select: text as value from dual';

param: = 'alpha';

Query1. Sql. Text: = sql;

Query1. ParamByName ('text'). AsString: = param;

Query1. Open;

ShowMessage (Query1 ['value']);

end;

Список використованої літератури

1. Дейт, К. Дж. Введение в системы баз данных, 8-е издание.: Пер. с англ. - М.: Издательский дом "Вильямс", 2005.

2. Пасiчник В.В., Резніченко В.А. Організація баз даних та знань. - К.:

3. Коннолли Томас, Бегг Каролин. Базы данных: проектирование, реализация и сопровождение. Теория практика.

Размещено на Allbest.ru

...

Подобные документы

  • Специфікація вимог для кожного з двох користувачів. Концептуальне проектування бази даних. Визначення типів сутностей та зв’язків, доменів. Перетворення концептуальної моделі даних у логічну, визначення набору відношень, підтримки цілісності даних.

    курсовая работа [55,1 K], добавлен 15.03.2015

  • Бізнес процеси й елементи даних. Специфікація елементів даних. Діаграма класів проектування. Створення та використання об'єктів бази даних. Таблиці, обмеження цілісності, тригери, типові вибірки, представлення, індекси. Типові оператори модифікації даних.

    курсовая работа [255,3 K], добавлен 01.06.2019

  • Проектування бази даних та інтерфейсу програми. Розробка бази даних за допомогою Firebird 2.5. Контроль коректності вхідних та вихідних даних. Додавання та редагування інформації. Вплив електронно-обчислювальних машин на стан здоров'я користувачів.

    дипломная работа [4,7 M], добавлен 12.10.2015

  • Використання баз даних та інформаційних систем. Поняття реляційної моделі даних. Ключові особливості мови SQL. Агрегатні функції і угрупування даних. Загальний опис бази даних. Застосування технології систем управління базами даних в мережі Інтернет.

    курсовая работа [633,3 K], добавлен 11.07.2015

  • Поняття та переваги реляційної бази, автоматизація аналізу даних. Опис основних компонентів сховища даних AS/400. Процес перетворення оперативних даних в інформаційні. Багатовимірні бази даних (MDD). Опис даних і створення файлів в інтеграційних базах.

    реферат [36,8 K], добавлен 14.01.2012

  • Проектування бази даних, що реалізує звіти про графік робіт на об’єктах впродовж місяця. Графічне зображення нагромаджувачів даних. Побудова діаграм потоків даних і переходів станів, таблиць у вигляді двовимірного масиву, запитів. Створення бази даних.

    курсовая работа [1,2 M], добавлен 29.02.2012

  • Розробка структури бази даних. ER-моделі предметної області. Проектування нормалізованих відношень. Розробка форм, запитів, звітів бази даних "Автосалон". Тестування роботи бази даних. Демонстрація коректної роботи форми "Додавання даних про покупців".

    курсовая работа [4,0 M], добавлен 02.12.2014

  • Специфікація вимог для кожного з двох користувачів. Концептуальне та логічне проектування баз даних. Історія досліджень баз даних (програмного забезпечення). Система упрваління базами даних. Фази проектування баз даних: концептуальна, логічна, фізична.

    дипломная работа [105,8 K], добавлен 20.02.2010

  • Дослідження криптографічних методів захисту даних від небажаного доступу. Основи безпеки даних в комп'ютерних системах. Класифікаційні складові загроз безпеки інформації. Характеристика алгоритмів симетричного та асиметричного шифрування інформації.

    курсовая работа [245,8 K], добавлен 01.06.2014

  • Поняття бази даних та основне призначення системи управління. Access як справжня реляційна модель баз даних. Можливості DDE і OLE. Модулі: Visual Basic for Applications програмування баз даних. Система управління базами даних Microsoft SQL Server 2000.

    реферат [41,2 K], добавлен 17.04.2010

  • Використання баз даних та інформаційних систем у сучасному житті. Основні відомості про реляційні бази даних. Зв'язування відносин. Структурована мова запитів SQL. Сутність та загальний опис бази даних "Архітектурна компанія". Приклад створення таблиці.

    курсовая работа [320,7 K], добавлен 19.06.2015

  • Історія розробки систем управління базами даних. Принципи проектування баз даних. Розробка проекту "клієнт-серверного" додатку, який гарантує дотримання обмежень цілісності, виконує оновлення даних, виконує запити і повертає результати клієнту.

    курсовая работа [1,8 M], добавлен 22.04.2023

  • Аналіз предметної галузі, постановка задачі, проектування бази даних. UML-моделювання, побудова ER-діаграми, схеми реляційної бази даних у третій нормальній формі. Призначення і логічна структура. Опис фізичної моделі бази даних, програмної реалізації.

    курсовая работа [3,5 M], добавлен 28.11.2011

  • Вибір технологічного інструментарію для реалізації проекту. Розробка сценаріїв для створення бази даних і базових таблиць. Аналіз забезпечення декларативної цілісності реляційних даних. Особливість створення об'єктів для маніпулювання інформацією.

    курсовая работа [275,7 K], добавлен 17.05.2019

  • Основні відомості про реляційні бази даних, система управління ними. Основні директиви для роботи в середовищі MySQ. Визначення та опис предметної області. Створення таблиць та запитів бази даних автоматизованої бази даних реєстратури в поліклініці.

    курсовая работа [2,9 M], добавлен 06.11.2011

  • Систематизація знань як основна функція бази даних. Логічне та фізичне проектування бази даних. Створення таблиць у базі даних, визначення основних зв'язків. Інструментальні засоби проектування та створення програмного забезпечення для обробки даних.

    курсовая работа [1,4 M], добавлен 29.04.2010

  • Побудова інформаційної системи "Магазин товарів для настільного тенісу" з автоматизації роботи магазину. Концептуальне моделювання бази даних. Обґрунтування вибору СУБД. Логічне проектування бази даних. Схема бази даних. Створення таблиць в конструкторі.

    курсовая работа [8,8 M], добавлен 16.12.2015

  • Проектування і реалізація реляційної бази даних для централізованого зберігання інформації з метою полегшення і систематизації даних замовлень клієнтів готельного комплексу. Розробка сценаріїв для створення бази даних і базових таблиць проекту.

    курсовая работа [147,2 K], добавлен 02.06.2019

  • Основи проектування інформаційних реляційних баз даних, надання користувачам необхідної їм інформації на основі збережених даних. Розробка бази даних, що дозволяє зберігати інформацію про абонентів (ім'я, мобільний телефон, адреса, e-mail, реєстрація).

    курсовая работа [1,9 M], добавлен 13.11.2010

  • Схема взаємодії учасників платіжної системи з використанням пластикових карток. Вхідні та вихідні повідомлення для проектування бази даних для автоматизації аналізу користувачів пластикових карток. Проектування та реалізація бази даних у MS Access.

    курсовая работа [3,0 M], добавлен 27.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.