Зведений звіт Hacker Intelligence – Анатомія ін’єкції SQL

Головною темою звіту групи Hacker Intelligence Initiative (HII) компанії Imperva за поточний місяць є зростання атак на web-додатки за допомогою ін'єкції SQL (SQLi).
Головною темою звіту групи Hacker Intelligence Initiative (HII) компанії Imperva за поточний місяць є зростання атак на web-додатки за допомогою ін'єкції SQL (SQLi). Динаміка минулого року підтвердилася, SQL-ін'єкція стала широко застосовуватися практично навіть людьми, які мають великих знань у сфері інформаційної безпеки, і це є причини. Найбільш істотною причиною можна назвати націленість SQLi-атак на крадіжку закритих даних. Відомі інциденти, що траплялися з Sony, Nokia, Heartland Payment Systems і навіть сайтом Леді Гага, сталися завдяки успішним SQLi-атакам, що компрометує інформацію, що зберігається в базах даних програми. LulzSec, одна з відомих хакерських груп, зробила SQL-ін'єкції своєю основною зброєю. У цьому звіті міститься інформація про те, наскільки широко стали поширені SQLi-атаки, як вони діють, а також як хакери намагаються підвищити їх ефективність. З 2005 року і до сьогодні 83% успішних крадіжок конфіденційної інформації припадають на SQL-ін'єкції.
За останні дев'ять місяців моніторингу 30 web-додатків ми виявили, що:
Для більш ефективного вирішення цієї проблеми необхідно:
- Визначати SQL-ін'єкцію.Потрібно використовувати знання про рівні додатків (профілі додатків) та бази даних, попередньо налаштовані певним чином. Визначення SQL-ін'єкції повинно здійснюватись через перевірку вхідних параметрів.
- Визначати ознаки, характерні для роботи хакерських утиліт.У реальному житті SQLi-атаки в основному проводятьсяавтоматично за допомогою спеціальних програм. Існують різні механізми визначення використання цих програм. Наприклад, політики з використанням метрик або примусова перевірка всіх відповідей тонких клієнтів.
- Створити та регулярно поповнювати чорний список хостів, з яких проводилисяSQL-ін'єкції.Даний спосіб дозволить швидше визначати та блокувати порушників. Завдяки даним дослідження нам відомо, що піковий період активності хостів, що починають SQLi-атаки, дуже малий, тому важливо постійно оновлювати список із різних джерел.
У даному звіті будуть розглянуті найпопулярніші утиліти хакерів, проблеми, викликані SQli-атаками на web додатки, і шляхи їх вирішення.
SQL-ін'єкція
У даному типі атак порушники використовують уразливості веб-додатків для отримання несанкціонованого доступу до закритих даних організації. Для необізнаних, це означає введення коду в поля форми веб-сайту. Наприклад, замість введення номера кредитної картки або свого прізвища хакер може ввести 'x'='x'. При використанні певного коду на сторінці веб-сайту з'являться конфіденційні дані.
Мовою професіоналів, SQL-ін'єкція – техніка, що використовує відсутність перевірки введення під час передачі SQL команд через web додаток виконання базі даних. Порушники користуються тим, що програмісти часто використовують просту конкатенацію SQL команд і параметрів користувача, для чого замість цих параметрів вони пишуть свої команди. В результаті порушник може виконати довільну SQL команду (або команди) у базі даних через веб-додаток.
Але якого тлумачення не вибери, наслідки атаки можуть бути катастрофічними. Наприклад, порушник може отримати інформацію про інтелектуальну власністьорганізації, рахунки користувачів або іншу конфіденційну інформацію. Також успішна SQL-ін'єкція може дати порушнику можливість вкрасти пароль адміністратора, що дозволить отримати повний контроль над програмою. В інших випадках зламаний сайт може містити доданий порушником код, через який відвідувачі завантажуватимуть шкідливе ПЗ. SQLi-атаки також дозволяють проводити маніпуляції з даними, тим самим, надаючи можливість, наприклад, проводити дефейс веб-сайту.
SQL-ін'єкції зазвичай починаються з пошуку вразливостей програми, в якій настройки користувача використовуються в SQL запитах до бази даних. Атаки, які мають чітко визначену мету, використовують знайдені вразливості до тих пір, поки не буде з'ясовано структуру бази даних, що використовується. Їхня мета полягає в отриманні закритої інформації, що зберігається в базі даних. На практиці цей досить нудний процес, як правило, автоматизується, і найчастіше за допомогою широко відомих програм, що дозволяють порушнику швидко і без особливих труднощів визначити і використовувати вразливості програми.