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

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

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

ЗАХИСТ WEB – ДОДАТКІВ ВІД АТАК

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

Актуальність. За 2001 - 2013 рр.  тільки  в Україні було атаковано 568 державних сайтів, включаючи зломи сайтів та DDoS атаки. Лише за друге півріччя 2015 року було інфіковано 70 сайтів в українському просторі (з них – 1 державний),  і кожного разу статистика наводить невтішні числа [1].  Популярність Web-додатків,  наявність вразливостей та зростання кількості загроз викликає необхідність створення засобів надійного  убезпечення інформації.

Постановка завдання. Web-додатки все частіше стають  цілями атак зловмисників. Міжнародна некомерційна організація  OWASP (Open Web Application Security Project), що займається класифікацією векторів атак та вразливостей, головну увагу у своїй діяльності приділяє аналізу та покращенню захисту програмного забезпечення. За даними переліку OWASP TOP-10 серед найнебезпечніших вразливих місць захисту  Web-додатків – непідтверджене уведення даних, керування автентифікацією та сесією, вкладення програмного коду, невірна обробка помилок, відмова в обслуговування додатку, міжсайтові сценарії (Cross-site scripting) тощо [2]. 

Мета роботи. Провести аналіз найбільш розповсюджених атак на Web-додатки та зясувати можливі шляхи протидії.

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

Успішна реалізація атак дозволяє обійти систему захисту Web-додатку і сервера БД й отримати доступ до конфіденційної інформації, яка міститься в БД, а також до функціональних можливостей СУБД і в деяких випадках - доступ до операційної системи сервера, на якому функціонує СУБД [3].

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

Під час відвідування Web-ресурсу між користувачем і сервером встановлюються довірчі відносини як в технологічному, так і в психологічному аспектах. Користувач розраховує на отримання від додатку легітимного вмісту, не очікуючи атак з боку додатку. Експлуатуючи цю довіру, зловмисник може використовувати різні методи для проведення атак на клієнтів сервера. Такого роду загрози можуть бути задіяні як в складних сценаріях атаки, так і в більш звичних – атаках на боці користувача, наприклад, XSS (Сross - site scripting).

Існують також атаки, спрямовані на використання Web-додатком методів перевірки ідентифікатора користувача, служби або програми, а також спрямовані на методи, що використовуються Web-сервером для визначення наявності у  користувача, служби або додатку необхідних повноважень. До такого роду атак належать Cross-Site Request Forgery (CSRF) [4,5].

   SQL - injection. Це атака, при здійсненні якої зловмисником проводиться додавання шкідливого коду до рядків, що передаються на сервер БД для синтаксичного аналізу і виконання. Таким чином здійснюється керування віддаленим MS SQL Server, до якого у порушника немає санкціонованого доступу. У результаті зловмисник отримує можливість використовувати «зламаний» сервер для наступних атак на інші сервери і додатки, розташовані в корпоративної мережі організації.

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

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

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

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

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

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

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

Одними з найнебезпечніших загроз Web-додаткам та БД є  SQL – injection, XSS, CSRF. Для боротьби з ними слід використовувати механізми  фільтрації вихідних параметрів, обробку всіх HTML-тегів і всіх призначених для користувача URI, прогнозування очікуваних від користувача дій тощо.

 

Література:

1.     http://websecurity.com.ua

2.     OWASP TOP-10. URL: https://geekbrains.ru/posts/OWASP

3.     Безопасность в разработке Web-приложений URL:http://www.intuit.ru/studies/courses/602/458

4.     Обеспечение безопасности Web-серверов. URL:http://www.i2r.ru/static/452/out_10605.shtml

5.     Web-серверы . URL:http://citforum.ru/internet/intranet_app/interintr_03.shtml