Захист WEB-додатків. Чому це актуально?

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

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

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

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

Один з основних, це - WAF (Web Application Firewall). Суть якого полягає в захисті WEB ресурсів компанії, що виставлені назовні.

Це рішення дозволяє запобігати багатьом видам атак. Серед них SQL і PHP-ін'єкції, cross-site scripting (XSS), підбір пароля, експлуатація вразливостей zero-day в веб-додатках, DDoS-атаки рівня додатків і атаки на ресурсомісткі сторінки.

У деяких виробників є цілий ряд попередньо налаштованих політик доступу для захисту поширених додатків, таких як Microsoft Outlook Web Access, Sharepoint, Lotus Domino Mail Server, Oracle E-Business Financials та інших. Які можливості цих рішень і чим вони відрізняються від традиційних методів захисту, таких як IPS і NGFW?

Перш за все потрібно розуміти, що WAF - це вузькоспеціалізований пристрій і він активно контролює тільки HTTP / HTTPS протоколи.

Для атак на веб-додатки зловмисники активно використовують вразливості нульового дня (0-day), що робить марними сигнатурні методи аналізу. Замість цього потрібно аналізувати мережевий трафік і системні журнали для створення моделі нормального функціонування програми, і на основі цієї моделі виявляти аномальну поведінку системи. WAF у силу своєї архітектури може розібрати весь сеанс зв'язку користувача, і тому здатний на більш поглиблений поведінковий аналіз, ніж NGFW. Такий підхід дозволяє виявляти атаки з використанням автоматичних засобів (сканування, підбір паролів, DDoS, фрод, залучення в ботнети).

Існує також клас атак, наприклад CSRF, що спрямовані саме на клієнта веб-додатку. Оскільки трафік атаки не проходить через захисний периметр, на перший погляд захистити користувача доволі складно, однак все ж можливо.

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

На жаль, розробники ПЗ практично ніколи так глибоко про безпеку не дбають. Однак деякі WAF можуть самостійно впроваджувати подібний захист в веб-форми і таким чином захищати клієнта, а вірніше його запити, дані, URL і cookie-файли.

Грамотний захист завжди будується на розумінні слабкостей ПЗ, яке необхідно захистити. Це дозволяє відсіяти неактуальні спроби атак і виділити тільки ті, які стосуються реальних вразливостей, наявних в системі.

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

Навіть відомі уразливості неможливо усунути відразу: виправлення коду вимагає коштів і часу, а часто і зупинки важливих бізнес-процесів. Іноді, в разі використання стороннього ПЗ виправлення неможливо взагалі. У найбільш сучасних WAF використовують автоматизований підхід до віртуального патчинга. Для цього використовується аналізатор вихідних кодів додатка (SAST, IAST), який не просто показує в звіті рядки уразливого коду, але тут же генерує експлойт, тобто виклик з конкретними значеннями для експлуатації виявленої уразливості. Ці експлойти передаються в WAF для автоматичного створення віртуальних патчів, які забезпечують негайне «закриття дірки» ще до виправлення коду.

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