Современные
информационные технологи/Информационная безопасность
Дубчак
О. В., Грушенкова А.А.
Національний
авіаційний університет, Київ,Україна
ОРГАНІЗАЦІЯ
ЗАХИСТУ WEB – ДОДАТКІВ ВІД ІН’ЄКЦІЙ
Вступ. Одним з найбільш важливих чинників інтеграції України до світового
інформаційного суспільства та розвитку власного інформаційного простору є
інформаційно – комунікаційні технології (ІКТ). Галузь ІКТ займає визначне місце у всіх сферах діяльності, зокрема,
для вирішення завдань багатьох галузей
використовуються додатки, засновані на Web-технологіях. За даними незалежних
експертних організацій на кінець ІІІ кварталу 2015 р. Інтернет – мережею
користувалися 58% жителів України [1]. З іншого боку, розвиток ІКТ, в тому
числі и у Web-сфері, призвів до вдосконалення методів і засобів зловмисників щодо
здійснення атак та отримання несанкціонованого доступу (НСД) до інформації.
Актуальність.
На сьогоднішній день Web-додатки все частіше стають цілями атак зловмисників. Так, за останні 13 років кількість проведених нападів на
державні сайти України зросла від 2 атак у 2001 р. до 140 у 2014 р., а за період 2001-2014 рр. разом було атаковано
762 державних сайти [1].
Постановка
завдання. Використання Web-додатків зумовлене необхідністю надання
постійної підтримки багатомільйонним транзакціям у більшості світових організацій.
Для убезпечення інформаційних систем слід, по-перше, чітко розуміти
природу потенційних загроз та, по-друге, доцільність використання відповідних ефективних
сучасних методів, що забезпечують зниження рівня вразливості системи.
Мета роботи
– проведення аналізу атак на Web-додатки, що здійснюються шляхом
використання ін’єкцій, та методів запобігання ним.
Викладення матеріалу. Значна частина сучасних атак
на Web-додатки проводиться шляхом впровадження інфікованого
коду, коли ключовим є застосування так званих «ін'єкцій». Кількість випадків,
пов'язаних з НСД до Web-ресурсів і витоком конфіденційних даних в результаті
використання ін'єкцій, невпинно зростає. Найнебезпечнішими вважаються атаки,
спрямовані на модифікацію виконуваних команд, - SQL-ін'єкції, та атаки, що
використовують вразливості скрипту, написаного мовою РНР, і спрямовані на
отримання доступу до Web – серверу – РНР - ін'єкції.
SQL-ін'єкція. Успішна реалізація даної
атаки дозволяє обійти систему безпеки Web-додатку та сервера і отримати доступ
до конфіденційних даних, що збираються, обробляються та зберігаються в базі
даних, а також до функціональних можливостей систем управління базами даних (СУБД)
та до ОС Web-сервера. В цьому випадку зловмисник отримує не лише доступ до
конфіденційних даних користувачів, а й можливість застосувати інфікований сервер
із власною метою [2]. Хоча SQL-ін'єкції найчастіше застосовуються до Web-додатків, дані вразливості
можуть загрожувати будь-яким клієнт-серверним ресурсам, що працюють із СУБД [3]. Наразі існує нечисленний перелік технік впровадження
SQL- ін'єкцій для різних додатків на основі СУБД.
Існує певна класифікація SQL-ін'єкцій, за якою вони поділяються на: впровадження
в строкові параметри, які використовуються в SQL - командах, шкідливого коду,
що змінює запит і забезпечує зловмиснику НСД до інформації; використання
об'єднання рядків; перетворення «хвоста» запиту в коментар шляхом екранування.
До найефективніших методів
захисту від даного виду атак слід віднести: фільтрацію вхідних рядкових
параметрів; фільтрацію вхідних числових параметрів.
Для фільтрації вхідних даних важливо
застосувати одну з функцій екранування спеціальних символів. В рядку запиту під
«екрануванням» розуміється додавання символу «зворотний слеш» до спеціальних
знаків. Таким чином, даний метод забезпечує захист використання строкових параметрів
шляхом зміни значення спеціальних символів.
PHP-ін'єкція. Успішна реалізація даного
типу ін'єкцій дозволяє
отримати контроль над Web-додатком і доступ до виконання команд через
скриптовий інтерфейс, одним з яких для багатьох php-додатків є шаблонна система
(ШС), що забезпечує механізм, за допомогою якого шаблонні наповнювачі розмітки
сторінки замінюються дійсними значеннями php-додатків. В цьому разі зловмисник
може просто вставити php-код у текст, і ШС виконає його.
PHP забезпечує
підключення скрипів кількома різними способами, так само як і виконання коду,
що міститься в них. Існує достатній перелік способів підключення php-файлів, і
цими ж можливостями може скористатися зловмисник, щоб впровадити інфікований
код у Web-додаток. Найбільші вразливості полягають у
використанні будь-якого з вказаних способів, які дозволяють виконувати інші
php-скрипти в контексті поточного процесу: функції include() і require(); функція
eval(); скриптові
шаблони.
До методів щодо забезпечення
безпеки Web- додатків від атак виду PHP-ін'єкція належать:
створення «білого» списку припустимих файлів, що завантажуються, та їх
розширень; фільтрація вхідних параметрів; екранування сторонніх символів в
підключених файлах.
Якщо в додатку
передбачене завантаження будь-яких графічних або тестових файлів без належного
контролю дозволених розширень, зловмисник може скористатися цим і під виглядом,
наприклад, свого фото, може завантажити php-скрипт, який дозволить йому контролювати
Web-додаток.
Висновки. Впровадження
інфікованого коду може порушити функціонування Web-додатку, забезпечити
зловмиснику НСД до конфіденційних даних та повністю вивести з ладу
систему Web-серверу
Для забезпечення комплексного
захисту Web-додатків від загроз, що реалізуються шляхом
використання ін’єкцій, необхідно вжити таких заходів, як екранування хвоста
запиту, що унеможливить його модифікацію; фільтрацію вхідних параметрів;
створення списку дозволених розширень та підключень.
Література:
1. http://websecurity.com.ua/8164/
2. Айтхожаева Е. Ж. Защита MS SQL-server от SQL-инъекций - [Електронний ресурс]– Режим доступу: http://portal.kazntu.kz/files/publicate/2015-07-10-elbib_17.pdf /
3. Егоров М. Выявление и эксплуатация SQL-инъекций в приложених - [Електронний
ресурс]– Режим доступу: https://npo-echelon.ru/doc/echelon-sql.pdf.