Тренажёр для обучения студентов защите данных от sql-инъекций

Тренажёр для обучения студентов защите данных от sql-инъекций

С осуществлением задачи глобальной информатизации всех сфер человеческой деятельности значительно возросло и количество правонарушений, регулярно совершаемых в процессе эксплуатации различных интернет-ресурсов. Количество угроз и прямых атак пропорционально росту человеческой деятельности в среде Интернет. Множество хакеров добиваются поставленной цели через элементарные ошибки системных администраторов. В статье рассмотрен тренажер для обучения студентов специальности 10.05.01 «Компьютерная безопасность», с помощью которого выпускник получает навыки по обеспечению безопасности информации, взаимодействуя с базой данных (БД) и последовательно выполняя предлагаемые задания.

Авторы публикации

Рубрика

IT-Технологии

Журнал

Журнал «Научный лидер» выпуск # 24 (69), июнь ‘22

Дата публицакии 08.06.2022

Поделиться

Проблема создания глобального информационного общества, в котором была бы прочно гарантирована информационная безопасность, стала одной из важнейших составляющих международных отношений XXI века. C осуществлением задачи глобальной информатизации всех сфер человеческой деятельности значительно возросло и количество правонарушений, регулярно совершаемых в процессе эксплуатации различных интернет-ресурсов и баз данных. Количество угроз и прямых атак пропорционально росту человеческой деятельности в среде Интернет. Однако, как показывает практика, множество компьютерных правонарушителей (хакеров) добиваются поставленной цели через элементарные ошибки системных администраторов, которые по неосторожности или из-за недостатка опыта используют базовые настройки и пароли, передают учетные данные по сети в открытом виде, генерируют ошибки при построении сетей и т.д. Одним словом - человеческий фактор оказывает огромное влияние при обеспечении и защите предприятий, услуг, систем и информации.

Классификацией векторов атак и уязвимостей занимается сообщество OWASP (Open Web Application Security Project) – открытый проект обеспечения безопасности вебприложений. Сообщество работает над созданием статей, учебных пособий, документации, инструментов и технологий, находящихся в свободном доступе. Данная организация занимается генерацией рейтинга самых опасных и в то же время самых часто используемых уязвимостей, за которые многие корпорации могут понести огромные убытки. Рейтинг называется OWASP TOP-10. Список OWASP Топ 10 — это регулярно обновляемый отчет о безопасности для защиты веб-приложений, сосредоточенный на 10 наиболее критических рисков [1].

В рамках статьи рассмотрим одну из уязвимостей списка OWASP TOP-10 – SQL-инъекция (SQi). Как правило, данные хранятся в специальных базе данных, связь с которыми строится в виде запросов, написанных на структурированном языке запросов SQL (Structured Query Language). Приложения используют запросы для того, чтобы работать с входными данными. Предположим, что пользователь намерен изменить некоторую личную информацию при заполнении анкеты на сайте. При недостаточной проверке данных от пользователя злоумышленник может внедрить в форму Web-интерфейса приложения специальный код, содержащий часть SQL-запроса. В этом случае для хакера открывается довольно широкий спектр возможностей: злоумышленник может использовать уязвимости SQL-инъекций, чтобы обойти меры безопасности приложений, он может обходить аутентификацию и авторизацию веб-страницы или веб-приложения и извлекать содержимое всей базы данных SQL. Также компьютерный правонарушитель может использовать SQL-инъекцию для добавления, изменения и удаления записей в базах данных. Даже в том случае, если администратор создает резервные копии базы данных, удаление некоторой информации может повлиять на доступность приложения до тех пор, пока база данных не будет восстановлена. Кроме того, резервные копии могут не охватывать более свежие данные. SQL-инъекции легко реализовать, но их также довольно легко предотвратить, учитывая надлежащую практику разработки. Для того, чтобы подобных инцидентов не происходило, необходимо обеспечивать подготовку специалистов в области компьютерной безопасности к возможным атакам со стороны третьих лиц, а также на протяжении обучения в высших учебных заведениях обеспечивать студентов не только теоретическим материалом, но и соответствующей практической работой, где обучающийся мог бы применить полученные знания на практике.

В рамках обучения студентов в Российском университете транспорта (РУТ(МИИТ) на кафедре «Управление и защита информации» был подготовлен обучающий тренажер для студентов по специальности 10.05.01 «Компьютерная безопасность», с помощью которого выпускник получает навыки по обеспечению безопасности, взаимодействуя с базой данных (БД) и последовательно выполняя предлагаемые задания. Структура тренажера представлена на рисунке 1.

Рисунок 1 - Структура тренажера

 

Работа тренажера реализована на высокоуровневом языке программирования Python с использованием библиотеки Flask [2] и Sqlite. Для хранения данных в БД используется библиотека Sqlite [3]. Данные хранятся на облачном сервере, студент обращается к веб-сайту тренажера по указанному ip-адресу. Для каждого задания разработаны БД, которые имеют несколько таблиц с определенными полями, все файлы хранятся также на сервере. Доступ к БД осуществляется с помощью запроса к веб-странице. Запросы к БД сформированы с уязвимостями, которые в рамках работы с тренажером следует определить.

Студентам предлагается выполнить ряд практических работ, в которых необходимо проанализировать и скорректировать sql-запрос для того, чтобы получить скрытую информацию из базы данных. На рисунке 2 представлен веб-интерфейс, в котором обучающемуся предлагается ввести запрос к БД для того, чтобы получить информацию, указанную в задании.

Рисунок 2 - Рабочая область задания

 

Результат отображается после ввода корректного запроса, например, в случае одного из заданий, правильный запрос: select * from users where userid = 1, после ввода получим пароль пользователя с userid=1. Задание знакомит студентов с тренажером и дает представление о содержимом базы таблицы.

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

Рис. 3 - Результат работы инъекции

 

В процессе работы студентов направления подготовки 10.05.01, происходит повышение эффективности и качества процесса обучения за счет применения средств современных цифровых технологий, внедрение которых в образовательный процесс диктует необходимость изменения самого учебного процесса: переход от традиционных к инновационным формам, методам и способам обучения. Разработанный тренажер может быть активно применен для обеспечения взаимодействия педагога и учащегося во время очного и/или дистанционного обучения.

Список литературы

  1. URL: https://www.codehint.ru/articles/2019-01-09-what-is-owasp
  2. URL: https://www.sqlite.org/index.html
  3. URL: https://pythonru.com/uroki/3-osnovy-flask

Предоставляем бесплатную справку о публикации,  препринт статьи — сразу после оплаты.

Прием материалов
c по
Остался последний день
Размещение электронной версии
Загрузка материалов в elibrary