fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Технології

Інформаційна безпека корпоративних сайтів

Як відомо, однією з можливих причин збою в роботи корпоративного сайту компанії може стати уразливість інформаційної безпеки сайту.
Завдання захисту корпоративного сайту є однією з основних завдань розробників корпоративних сайтів в боротьбі за якість та інформаційну безпеку власних ІТ-продуктів, тобто розробок ІТ-рішень для вебу, серед яких корпоративні сайти для компаній-клієнтів – це один з найбільш затребуваних на сьогоднішній день видів розробки.
Будь-яка ІТ-компанія, що професійно займається розробкою корпоративних рішень для вебу, обов’язково вирішує завдання забезпечення інформаційної безпеки при розробці корпоративного сайту для компанії-клієнта. У даній статті мова піде про захист від такого поширеного способу злому корпоративних сайтів, як SQL-ін’єкція. Якщо ви є власником корпоративного сайту, при цьому не маючи належних знань про його захист, ІТ-фахівці студії веб-дизайну Oxigen радять вам з особливою увагою поставитися до фактів, викладених у статті, і до вирішення задачі забезпечення безпеки сайту.
Один з найбільш поширених способів злому веб сайтів, що працюють з базами даних SQL – це SQL-ін’єкція. Даний спосіб заснований на впровадженні в запит довільного SQL-коду. Цей спосіб злому корпоративного сайту компанії може дати можливість атакуючому виконати довільний запит до бази даних SQL (наприклад, прочитати вміст будь-яких таблиць, видалити, змінити або додати дані), отримати можливість зчитування і/або запису локальних файлів і виконання довільних команд на атакується сервері.
Подібна ворожа атака на корпоративний сайт компанії може становити загрозу доступу до інформації стосовно особистих даних клієнтів компанії (номери банківських карт, особистий адресу, номери особистих телефонів і т. д.). SQL-ін’єкція стає можливою при некоректної обробки вхідних даних, використовуваних в SQL-запитах. Розробник прикладних програм, у тому числі програмних модулів (скриптів) для веб-сайтів, що працюють з базами даних, повинен знати про такі уразливості і приймати заходи протидії впровадження SQL-коду.
Ми з вами зараз проведемо самостійний аналіз абстрактного корпоративного сайту шляхом взаємодії з базою даних сайту через SQL-ін’єкцію.
Отже, припустимо, нам відомо про недостатню фільтрації параметра id в скрипті http://site/test.php.
Звичайний сценарій злому передбачає спробу підстановки спецсимволов в уразливому параметрі.
Наприклад так: http://site/test.php?id=12″ and 1=1. Успішне виконання даної команди означає практично повну владу хакера над вразливим сайтом. Щоб цього не сталося потрібно прверить параметр id перед передачею його SQL-сервера.
Постійні перевірки повідомлень про помилки, з текстом SQL-запиту, в якому сталася помилка зведе ймовірність SQL-ін’єкції до мінімуму. Принаймні, ви зможете вчасно подібну атаку. Однак багато що можна зробити, навіть якщо повідомлення про помилку не виводяться взагалі.
Слід прийняти до уваги той факт, що навіть якщо текст помилки не виводиться, можна все одно однозначно судити про те, що сталася помилка, чи ні (наприклад, запит повернула пустий результат).
Методика атак типу впровадження SQL-коду показує, що основним завданням зломщика корпоративного сайту компанії на першому етапі є пошук скриптів, уразливих для атаки. На даному етапі зловмисником вивчається поведінка програмних скриптів на корпоративному сайті компанії за допомогою маніпулювання вхідними параметрами з метою виявлення їх некоректної поведінки. Використовуються всі можливі параметри:
— Дані передаються методами POST і GET;
— Значення [HTTP-Cookie];
— HTTP_REFERER (для скриптів );
— AUTH_USER і AUTH_PASSWORD (при використанні аутентифікації).
Як правило, маніпуляції зловмисника з обраним для атаки корпоративним сайтом зводяться до підстановці в параметри запиту символу одинарної (рідше подвійний або зворотній) лапки.
Некоректною поведінкою програмних модулів корпоративного сайту вважається будь-яка поведінка, при якому сторінки, отримані до і після підстановки лапок, мають відмінності, але при цьому не виведена сторінка помилки про невірному форматі параметрів.
Найбільш часто зустрічаються приклади некоректної поведінки корпоративних сайтів компаній:
— на сторінці виводиться повідомлення із зазначенням різних помилок;
— при запиті інформації на корпоративному сайті компанії (наприклад, новини або списку продукції) запитувані дані не відображаються взагалі, при цьому сторінка відображається і т. д.
Також слід враховувати той факт, що на практиці про відомі випадки, коли повідомлення про помилки, в силу специфіки розмітки сторінки корпоративного сайту компанії, не відображаються у браузері, хоча при цьому присутні в HTML-коді.
Виникає цілком логічне запитання: як захистити корпоративний сайт компанії від атак типу впровадження SQL-коду? Для захисту виготовленого корпоративного сайту від даного типу атак необхідно ретельно фільтрувати вхідні параметри, значення яких будуть використані для побудови SQL-запиту. З цим завданням може впоратися кваліфікований програміст з достатнім досвідом веб-розробок корпоративних сайтів для компаній-клієнтів.
Слід зазначити, що найчастіше застосування нестандартних рішень для захисту інформації є одним з оптимальних шляхів вирішення завдання забезпечення інформаційної безпеки сайту вашої компанії. Наприклад, в ІТ-компанії Oxigen, один з офісів якої розташований в Санкт-Петербурзі, в даний час йде активне впровадження у власної мови програмування для веб-розробки, Secure Web Instructions (SWI), який у порівнянні зі стандартним для інтернету мовою обробки програмних запитів PHP має значно більш високі показники стійкості до зломів і швидкості обробки запитів користувачів.
Як показала практика, корпоративні сайти компаній-клієнтів на основі SWI менш вразливі до ворожим атакам і при цьому, на даний момент є більш безпечними порівняно з корпоративними сайтами компаній на основі PHP. У мові програмування SWI є вбудований захист від SQL-ін’єкції.
У SWI вбудовані спеціальні засоби фільтрації параметрів, інтелектуально визначають і відсікають “шкідливі” параметри та/або частини параметрів, що дозволяє знизити ймовірність злому сайту, і, як наслідок, не порушити бізнес-процеси компанії, пов’язані з його активною роботою.
Бажаємо вам успіху в роботі!
Студія веб-дизайну Oxigen (Санкт-Петербург),
Олександр Левицький,
Єгор Поляків.