МЕТОДЫ КОМПЛЕКСНОГО ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ SQL-СЕРВЕРА ОТ АТАК ТИПА SQL-ИНЪЕКЦИИ Соколин Д.Д.1, Тимохович А.С.2
1Соколин Демьян Дмитриевич - бакалавр, направление: информационная безопасность;
2Тимохович Александр Степанович - кандидат педагогических наук, доцент, кафедра безопасности информационных технологий, Институт информатики и телекоммуникаций, Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева,
г. Красноярск
Аннотация: в статье предложено обеспечение безопасности SQL-сервера от атак типа SQL-инъекции. Данные методы могут быть применены для защиты любых web-приложений.
Ключевые слова: sql-инъекция, базы данных, защита web-приложений.
В последние годы крупные организации все активнее используют разнообразные web-приложения - официальные сайты компаний и системы управления ресурсами предприятия, электронные торговые площадки, системы удаленного банковского обслуживания, порталы государственных услуг. Корпоративные приложения на основе специализированного ПО все чаще заменяются web-приложениями. Актуальность работы обусловлена тем, что на сегодняшний день, по статистике Positive Technologies, более 70% систем были обнаружены критические опасные уязвимости, среди которых и SQL-инъекции [2]. Эксплуатация этой уязвимости может привести к получению несанкционированного доступа к важной информации, хранящейся в базах данных.
SQL-инъекция - это атака, при которой злоумышленником производится вставка вредоносного кода в строки, передающиеся на сервер СУБД для синтаксического анализа и выполнения. Инъекция SQL-кода, в зависимости от типа используемой СУБД и условий внедрения, может дать возможность атакующему выполнить произвольный запрос к базе данных.
Целью работы - является разработка методологии повышение уровня защищенности реляционной базы данных (БД) путем разработки и внедрения мер по защите от атак класса SQL-injection.
Для достижения цели поставлены следующие задачи:
1. Разработать демонстрационный стенд и на нем продемонстрировать основные виды атак класса SQL-injection;
2. разработать и внедрить систему защиты;
3. протестировать внедренную систему защиты.
Основные причины появления уязвимости типа SQL-инъекции:
1. Динамическое построение SQL-запросов;
2. некорректная обработка исключений;
3. некорректная обработка специальных символов;
4. некорректная обработка типов данных;
5. небезопасная конфигурация СУБД.
Несмотря на то, что способов атаки, направленных на использование SQL-инъекции, огромное множество, существует немалое количество и способов защиты от данного класса атак. Методы защиты от угроз класса SQL-инъекции делятся на два типа:
1. Методы защиты, основанные на изменении кода web-приложения;
2. Методы защиты без изменения кода web-приложения.
Методы защиты, основанные на изменении кода web-приложения, являются основными методами нивелирования угроз SQL-инъекции. Необходима подробная фильтрация данных, поступающих от клиента серверу, так как именно отсутствие этой самой фильтрации входных данных является основной причиной возникновения угрозы типа SQL-инъекции. Такой метод реализовывается следующими мерами:
1. Экранирование специальных символов. Использование функции, экранирующей специальные символы строки, и тем самым изменяя синтаксис SQL-запроса и уменьшая вероятность проведения атаки типа SQL-инъекции.
2. Явное преобразование типов полей ввода. Примером может служить функция языка php CAST ("Varchar" AS INT), преобразующая строковый тип в числовой.
3. Подготавливаемые запросы. Подготавливаемые запросы или параметризованные запросы используются для повышения эффективности, когда один запрос выполняется многократно, а также для повышения безопасности БД.
В силу различных причин, не всегда есть возможность предотвратить SQL-инъекции на уровне приложения - исходный код может быть закрыт либо, в случае открытого кода, может быть недостаток знания для внесения в него изменений, либо этот процесс является дорогостоящим. В таких случаях используются методы защиты без изменения кода web-приложения. Для этого используются специальные межсетевые экраны для SQL-серверов, такие как GreenSQL. Данный сервис необходимо расположить между целевым приложением и SQL-сервером при этом GreenSQL принимает все входящие SQL-запросы от приложения и, в зависимости от уровня доверия к нему либо перенаправляет его на целевой SQL-сервер, либо отклоняет их. Каждая из версий GreenSQL поддерживает несколько режимов работы:
1. Risk-based - IPS/IDS реализует базовый алгоритм идентификации потенциально опасных SQL-запросов;
2. Database Firewall - активный режим защиты, который пропускает только запросы находящиеся в списке разрешенных;
3. Learning Mode - режим обучения, в ходе которого все шаблоны запросов попадают в список разрешенных.
Для демонстрации уязвимостей класса SQL-инъекции было создано небольшое web-приложение на языке php, которое размещалось на локальном web-сервере, а также развернута база данных MySQL. Смысл web-приложения состоит в том, что пользователь, авторизовавшийся в системе, мог просмотреть расписание его занятий.
В ходе демонстрации стендовых испытаний была проведены следующие действия:
1. Обнаружена уязвимость класса SQL-инъекции;
2. Проведена атака SQL-инъекции;
3. Проанализированы слабые места в коде сайта;
4. Осуществлена реализация методов защиты, основанных на изменении кода web-приложения;
5. Установлен и сконфигурирован специальный прокси-сервер GreenSQL. Проведен режим обучения, сформирован список разрешенных запросов, а затем включен рабочий режим с блокировкой всех неизвестных запросов (Database Firewall + Active protection);
6. Проведена повторная атака SQL-инъекции, которая показала отсутствие уязвимостей класса SQL-инъекции.
Меры, предложенные в данной работе, позволяют свести возможность проведения атак типа SQL-инъекции злоумышленниками к минимуму, что значительно усиливает свойства безопасности информации, циркулирующей в информационной системе.
Список литературы
1. Тактика защиты и нападения на web-приложения / Марсель Низамутдинов. [Электронный
ресурс]/ (дата обращения 01.03.2016 г.).
2. Positive research. Сборник исследований по практической безопасности. [Электронный ресурс]. Режим доступа: https://www.ptsecurity.com/upload/ptra/analytics/Positive-Research-2016-rus.pdf/ (дата обращения: 01.03.2016 г.).
3. Выявление и эксплуатация SQL инъекций в приложениях / М. Егоров. [Электронный ресурс]. Режим доступа: https://npo-echelon.ru/doc/echelon-SQL.pdf/ (дата обращения: 01.03.2016 г.).
МЕТОДЫ ОБРАБОТКИ ТЕЛЕМЕТРИЧЕСКОЙ ИНФОРМАЦИИ
С СОБЛЮДЕНИЕМ ЕЁ ЦЕЛОСТНОСТИ 1 2 Субботин Н.А. , Тимохович А.С.
1Субботин Никита Андреевич - бакалавр, направление: информационная безопасность;
2Тимохович Александр Степанович - кандидат педагогических наук, доцент, кафедра безопасности информационных технологий, Институт информатики и телекоммуникаций, Сибирский государственный аэрокосмический университет им. академика М.Ф. Решетнева, г.
Красноярск
Аннотация: в статье предложены методы безопасной обработки телеметрической информации. Данные методы могут быть применены для защиты систем управления ракетно-космическими аппаратами. В статье рассматриваются программная и аппаратная структуры разработанных средств передачи данных. Ключевые слова: телеметрическая информация, фильтрация помех, демодуляция.
Для управления спутниками и мониторинга их состояния применяются контрольно-измерительные системы. В настоящее время аппаратура, используемая в контрольно-измерительных системах, исчерпала свой ресурс и морально устарела. Например, электронно-вычислительная машина (ЭВМ), обрабатывающая телеметрическую информацию и формирующая пакеты разовых команд, была создана в 80-х годах на старой элементной базе, вследствие чего ее эксплуатация и ремонт в настоящий момент затруднительны. Аналогичная ситуация с аналоговым оборудованием, осуществляющим демодуляцию телеметрической информации и модуляцию разовых команд. Это негативно влияет на показатели целостности и доступности информации и, как следствие, на её безопасность.
Одним из решений данной проблемы является поблочная модернизация контрольно-измерительных систем. Устаревшие блоки целесообразно заменять на современные программные и аппаратные решения. В частности, планируется использовать программно-аппаратные комплексы на базе персональной ЭВМ и аппаратные решения на базе программируемой логической интегральной схемы (ПЛИС). В некоторых предприятиях для замены ЭВМ, обрабатывающей телеметрическую информацию, в данный момент используют современную ЭВМ с установленной платой сбора данных [1]. Однако такие программные средства обработки телеметрической информации при соотношении сигнал/шум (ОСШ) [2] менее 10 дБ отбрасывают значительную часть кадров (до 100% кадров). Количество отброшенных кадров зависит от энергии и структуры помехи. Вследствие этого появляется дополнительная задача по разработке фильтра входного зашумленного сигнала.
Цель работы - модернизация устаревшего оборудования системы приема телеметрической информации. Для этого необходимо разработать методы обработки телеметрической информации для применения в создаваемых программных и аппаратных средствах.