Термин

SQL-инъекция

Атака, при которой злоумышленник через форму или адрес подсовывает приложению свою команду для базы данных и может читать, изменять или удалять данные. Защищает правильное программирование с параметризованными запросами и регулярное тестирование.

Обновлено

Что это значит

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

Это одна из самых старых и до сих пор самых распространённых уязвимостей веб-приложений, наряду с межсайтовым скриптингом. Причиной почти всегда является ошибка программирования, когда приложение собирает запрос к базе прямо из текста, введённого пользователем, не отделяя данные от команды.

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

Как это работает на практике

Самая эффективная защита - правильное программирование с параметризованными запросами, при которых база всегда считает ввод пользователя только данными, а не командой. Её дополняют проверка ввода, ограничение прав учётной записи базы и регулярное обновление используемых библиотек и систем.

Компаниям, которые заказывают разработку сайта, интернет-магазина или клиентского портала, стоит включить в договор с подрядчиком требования к безопасной разработке и право протестировать приложение. Регулярные тесты на проникновение выявляют уязвимости раньше, чем их найдёт злоумышленник.

Чувствительные данные в базе, например пароли, следует хранить так, чтобы их утечка не причинила прямого вреда. Пароли хранятся как надёжные хеши, а другие чувствительные поля может защищать шифрование, так что даже украденная база имеет для атакующего ограниченную ценность.

На что обратить внимание

Если компания обнаружила утечку данных, она должна действовать быстро по плану реагирования на инциденты. Об утечке персональных данных, как правило, нужно сообщить надзорному органу в течение 72 часов, а при высоком риске и самим субъектам данных, иначе грозят дополнительные санкции.

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

Нужно объяснить термин на вашей конкретной ситуации? Консультации от 55 € / час без НДС, в зависимости от темы и сложности.