СПРАВОЧНИК КЛАССОВ УЯЗВИМОСТЕЙ СТЕНДА INDRA | INJ-SQL (AUTO_SCAN)

Детерминированное выявление и автокомпиляция защиты от внедрения команд в табличное хранилище

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

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

1. Наглядная схема работы фильтра и компилятора для INJ-SQL

СХЕМА ПЕРЕХВАТА И ВЫПУСКА ПРАВИЛА ДЛЯ КЛАССА INJ-SQL 1. Проверочный зонд Кандидат-запрос 2. Фильтр SEC-ZD-SQL-01 Блок опасных мутаций 3. Свидетель 85de2412 Сверка с обманкой (FP=0) 4. Контракт IMMUNE-SQL-85DE2412 Фильтр за 0,016 мс

Схема прохождения проверки по классу INJ-SQL: от формирования проверочной пары и перехвата разрушительных команд правилом SEC-ZD-SQL-01 до фиксации свидетеля 85de2412c34d4965 и выпуска правила IMMUNE-SQL-85DE2412.

2. Перехват опасных мутаций и парный контроль обманкой (INJ-SQL)

При проверке на испытательном стенде каждый исходящий запрос сначала проходит через программный фильтр в пути трафика до попадания в сетевой сокет. Любая проба, содержащая команды удаления таблиц, очистки журналируемых записей или стирания строк без безопасного условия, принудительно останавливается правилом SEC-ZD-SQL-01.

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

ПАСПОРТНЫЕ ДАННЫЕ КЛАССА INJ-SQL НА СТЕНДЕ N = 28
Код класса:              INJ-SQL (sql_injection)
Режим проверки:          Активное безопасное зондирование (AUTO_SCAN)
Проверочный зонд:        GET /api/v1/vuln/sqli/search?query=laptop' UNION SELECT username,password_hash FROM accounts--
Перехваченная мутация:   DROP TABLE accounts; TRUNCATE audit_log;
Матрица на стенде:       TP = 2, FP = 0, TN = 2, FN = 0 (FPR = 0,0%)
Правило фильтра:         SEC-ZD-SQL-01
Хэш свидетеля:           85de2412c34d4965
Скомпилированный фильтр: IMMUNE-SQL-85DE2412 (время синтеза 10 µs)

3. Автоматический выпуск защитного правила IMMUNE-SQL-85DE2412

Сразу после записи формального свидетеля 85de2412c34d4965 в журнал по ГОСТ Р 34.11-2012 компилятор выпускает защитное правило IMMUNE-SQL-85DE2412 для перехватчика mcp-sentinel. Повторные обращения с конструкциями объединения выборок или пакетными командами отсекаются за 0,016 миллисекунды в памяти процесса.

4. Соседние классы проверки на стенде INDRA