Современные информационные технологи/Информационная безопасность

Дубчак О. В., Грушенкова А.А.

Національний авіаційний університет, Київ,Україна

ОРГАНІЗАЦІЯ ЗАХИСТУ 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.