технологии защиты

Что такое SQL-инъекция и зачем нужен SQL-файервол

Есть такой класс атак — SQL-инъекция. Ошибка хорошо изучена, но на эти грабли каждый раз наступают снова и снова. Вот бы кто придумал, как решить проблему раз и навсегда. Постойте, похоже решение найдено — SQL-файервол.

Что такое SQL-инъекция и как от нее защититься

Как работает SQL-инъеция

Допустим, сайт содержит такой код:

$postId = $_GET['post_id'];
$query = "select title, body from posts where post_id = $postId";

Всё как бы просто: через форму передается идентификатор поста и CMS сайта вытаскивает из БД сам пост. Проблема в том, что юный каккер может подменить передаваемое значение на свое и в строку встроится произвольный код. Этот код может сделать запрос к другой таблице, например, хранящей логины и пароли и вставить туда фейкового суперпользователя. Всё — сайт взломан.

Как защититься от SQL-инъекции

Сделать это достаточно просто. Нужно вспомнить одну из заповедей безопасного программирования: не доверяй данным пользователя. Короче говоря, каждую переменную в запросе надо экранировать. Для этого давно созданы соответствующие функции в каждом языке программирования. Проблема в том, что быдлокодеры постоянно забывают экранировать пользовательский ввод. Из-за этого сайты ломают, данные воруют, наносятся многомиллионные убытки. Из-за одной дебильной ошибки и слабой памяти оператора ЭВМ.

SQL-файервол

И тут британские ученые догадались: если нельзя приучить быдлокодера проверять пользовательский ввод, то нужно поставить систему, которая будет мониторить трафик между быдлокодом и СУБД и блокировать те запросы, которые содержат инжектированный SQL-код. И всего-то! Установил файервол — надежно защитился от целого класса атак. Кто там говорил, что панацеи не бывает?

Существуют ли готовые и бесплатные решения

В том-то и дело, что да — Acra. Софт работает как прокси-сервер между SQL-клиентом и СУБД и фильтрует зловредный код. А еще умеет шифровать данные. Есть встроенная система обнаружения вторжений. Программа отлично себя зарекомендовала в тех областях, где нет права на факап: медицина, финансы, электронная коммерция. Вот ссылка на этот чудософт: Database encryption proxy for data-driven apps: strong selective encryption, SQL injections prevention, intrusion detection, honeypots.

Ваша оценка: Нет Средняя оценка: 5 (4 votes)
Отправить комментарий
КАПЧА
Вы человек? Подсказка: зарегистрируйтесь, чтобы этот вопрос больше никогда не возникал. Кстати, анонимные ссылки запрещены.
CAPTCHA на основе изображений
Enter the characters shown in the image.
Linux I класса
Linux II класса
Linux III класса
Счетчики
  • Самый популярный сайт о Linux и Windows 10
О Либератуме

Liberatum — это новости мира дистрибутивов Linux, обзоры, сборки, блоги, а также лучший сайт об Ubuntu*.