Научная статья на тему 'Методы комплексного обеспечения безопасности SQL-сервера от атак типа SQL-инъекции'

Методы комплексного обеспечения безопасности SQL-сервера от атак типа SQL-инъекции Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2040
247
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
SQL-ИНЪЕКЦИЯ / БАЗЫ ДАННЫХ / ЗАЩИТА WEB-ПРИЛОЖЕНИЙ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Соколин Демьян Дмитриевич, Тимохович Александр Степанович

В статье предложено обеспечение безопасности SQL-сервера от атак типа SQL-инъекции. Данные методы могут быть применены для защиты любых web-приложений.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Методы комплексного обеспечения безопасности SQL-сервера от атак типа SQL-инъекции»

МЕТОДЫ КОМПЛЕКСНОГО ОБЕСПЕЧЕНИЯ БЕЗОПАСНОСТИ 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% кадров). Количество отброшенных кадров зависит от энергии и структуры помехи. Вследствие этого появляется дополнительная задача по разработке фильтра входного зашумленного сигнала.

Цель работы - модернизация устаревшего оборудования системы приема телеметрической информации. Для этого необходимо разработать методы обработки телеметрической информации для применения в создаваемых программных и аппаратных средствах.

i Надоели баннеры? Вы всегда можете отключить рекламу.