
- •СОДЕРЖАНИЕ
- •Вступительное слово
- •Балау Эльвира Игоревна
- •Анацкая Алла Георгиевна
- •КУЛЬТУРА РАСПРОСТРАНЕНИЯ ЛИЧНОЙ ИНФОРМАЦИИ ПОЛЬЗОВАТЕЛЯМИ СОЦИАЛЬНЫХ СЕТЕЙ
- •Бутов Олег Сергеевич
- •Мызникова Татьяна Александровна
- •ТЕНДЕНЦИИ РАЗВИТИЯ ПРОГРАММНЫХ ПРОДУКТОВ В ОБЛАСТИ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
- •Гугняк Роман Борисович
- •Мызникова Татьяна Александровна
- •ПРИМЕНЕНИЕ МЕТОДОВ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА ДЛЯ ПРОГНОЗИРОВАНИЯ УГРОЗ WEB-ПРИЛОЖЕНИЯМ
- •Жуков Даниил Эдуардович
- •Толкачева Елена Викторовна
- •ВЫПОЛНЕНИЕ ТРЕБОВАНИЙ ЗАКОНОДАТЕЛЬСТВА РФ В ОБЛАСТИ КАТЕГОРИРОВАНИЯ ОБЪЕКТОВ КРИТИЧЕСКОЙ ИНФОРМАЦИОННОЙ ИНФРАСТРУКТУРЫ
- •Кальницкая Анна Владимировна
- •Семёнова Зинаида Васильевна
- •АНАЛИЗ ПУБЛИКАЦИОННОЙ АКТИВНОСТИ ПО ПРОБЛЕМЕ ЗАЩИТЫ ИНФОРМАЦИИ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ ВОДНОГО ТРАНСПОРТА
- •Кирилов Андрей Дмитриевич
- •Толкачева Елена Викторовна
- •СРАВНИТЕЛЬНЫЙ АНАЛИЗ СРЕДСТВ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ НА МОБИЛЬНЫХ УСТРОЙСТВАХ
- •Ковшарь Игорь Романович
- •Семенова Зинаида Васильевна
- •РАЗРАБОТКА ПРОТОТИПОВ РЕШЕНИЙ ДЛЯ ЗАЩИТЫ ОБМЕНА ВАЖНОЙ ИНФОРМАЦИЕЙ ЧЕРЕЗ ДЕМИЛИТАРИЗОВАННУЮ ЗОНУ В КОРПОРАТИВНОЙ СЕТИ
- •Лапшин Семён Сергеевич
- •Сапрыкина Надежда Александровна
- •МОДЕЛЬ ИНФОРМАЦИОННОГО ОБЩЕСТВА – ОТРАЖЕНИЕ НОВЫХ ОНТОЛОГИЧЕСКИХ ЗАКОНОМЕРНОСТЕЙ, ОБУСЛОВЛЕННЫХ ВНЕДРЕНИЕМ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ
- •Курочка Раиса Александровна
- •Толкачева Елена Викторовна
- •ИСПОЛЬЗОВАНИЕ СРЕДСТВ КРИПТОГРАФИЧЕСКОЙ ЗАЩИТЫ ИНФОРМАЦИИ В ГОСУДАРСТВЕННЫХ УЧРЕЖДЕНИЯХ
- •Ложников Павел Сергеевич
- •Сулавко Алексей Евгеньевич
- •Лукин Денис Вадимович
- •Белгородцев Артем Андреевич
- •СПОСОБ ГЕНЕРАЦИИ КЛЮЧЕВЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ НА ОСНОВЕ МУЛЬТИМОДАЛЬНОЙ БИОМЕТРИИ
- •Мазуров Александр Александрович
- •Семенова Зинаида Васильевна
- •ОБЕСПЕЧЕНИЕ ЗАЩИТЫ ПРИЛОЖЕНИЯ «СУШИ МАРКЕТ» СРЕДСТВАМИ ПЛАТФОРМЫ .NET FRAMEWORK И MS SQL SERVER
- •Михальцов Владислав Евгеньевич
- •Михайлов Евгений Михайлович
- •АНАЛИЗ ВОЗМОЖНОСТЕЙ РЕАЛИЗАЦИИ ИДЕНТИФИКАЦИИ И АУТЕНТИФИКАЦИИ ПОЛЬЗОВАТЕЛЕЙ В АС НА БАЗЕ СИСТЕМЫ ЭЛЕКТРОННОГО ДОКУМЕНТООБОРОТА ELMA
- •Нигрей Алексей Андреевич
- •Хайдин Борис Игоревич
- •Сулавко Алексей Евгеньевич
- •Пономарев Дмитрий Борисович
- •ОБ ОЦЕНКЕ РЕСУРСНОГО СОСТОЯНИЯ ЧЕЛОВЕКА НА ОСНОВЕ АНАЛИЗА ЭЛЕКТРИЧЕСКОЙ АКТИВНОСТИ МОЗГА
- •Погарский Павел Юрьевич
- •Анацкая Алла Георгиевна
- •КАТЕГОРИРОВАНИЕ ОБЪЕКТОВ КРИТИЧЕСКОЙ ИНФОРМАЦИОННОЙ ИНФРАСТРУКТУРЫ МЕДИЦИНСКОГО УЧРЕЖДЕНИЯ
- •Родина Екатерина Витальевна
- •Епифанцева Маргарита Ярополковна
- •СИНТЕЗ СЛУЧАЙНОГО ПРОЦЕССА ПО КОРРЕЛЯЦИОННОЙ ФУНКЦИИ: СОЗДАНИЕ БАЗЫ ПРОЦЕССОВ
- •Рой Дмитрий Александрович
- •Анацкая Алла Георгиевна
- •КОМПЛЕКСНАЯ ЗАЩИТА ИНФОРМАЦИИ В ИНФОРМАЦИОННОЙ СИСТЕМЕ СТРАХОВОЙ КОМПАНИИ
- •Севостьянов Никита Андреевич
- •Любич Станислав Александрович
- •АНАЛИЗ ВОЗМОЖНОСТЕЙ ФРЕЙМВОРКА FLASK ПО ОБЕСПЕЧЕНИЮ РАЗЛИЧНЫХ АСПЕКТОВ ЗАЩИТЫ ДАННЫХ
- •Стадников Денис Геннадьевич
- •Чобан Адиль Гаврилович
- •Шалина Екатерина Викторовна
- •РАСПОЗНАВАНИЕ БИОМЕТРИЧЕСКИХ ОБРАЗОВ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМОВ ИСКУССТВЕННЫХ ИММУННЫХ СИСТЕМ
- •Ткаченко Михаил Вадимович
- •Любич Станислав Александрович
- •ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ ДАННЫХ В АВТОМАТИЗИРОВАННОЙ СИСТЕМЕ «ЭЛЕКТРОННАЯ ОЧЕРЕДЬ ПРИЕМНОЙ КОМПАНИИ СИБАДИ»
- •Шмаков Антон Константинович
- •Комаров Владимир Александрович
- •ОЦЕНКА ВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ МОМЕНТОВ РАСПРЕДЕЛЕНИЯ В КАЧЕСТВЕ ПОКАЗАТЕЛЯ ФОРМЫ ОПРЕДЕЛЯЕМОГО СИГНАЛА

АНАЛИЗ ВОЗМОЖНОСТЕЙ ФРЕЙМВОРКА FLASK ПО ОБЕСПЕЧЕНИЮ РАЗЛИЧНЫХ АСПЕКТОВ ЗАЩИТЫ ДАННЫХ
Севостьянов Никита Андреевич cтудент группы БИ15-И1 Сибирского государственного автомобильнодорожного университета, г. Омск.
E-mail: sur345@mail.ru
СибАДИресурсы множество их число растет. ля правильного обеспечения информационной безопасности веб-ресурсов следуют правильно выбрать инструмент разработки.
Любич Станислав Александрович
доцент Сибирского государственного автомобильно-дорожного университета, г. Омск
E-mail: ljubich.s.a@mail.ru
АННОТАЦИЯ
Целью данной статьи является изучение возможностей фреймворка Flask
по обеспечен ю нформац онной езопасности веб-ресурсов. Для этого было
разработано небольшое веб-приложение «Микроблог» с использованием данного фреймворка. Результаты проведенного анализа дают возможность
понять досто нства |
недостатки фреймворка Flask в задачах обеспечения |
безопасности веб-пр |
ложен й. |
Ключевые слова: фреймворк, Flask, декоратор, информационная
безопасность, веб-приложение.
Многие современные информационные системы создаются в виде вебприложений. Веб-системы нашли свое применение не только в корпоративных сайтах и порталах, но и практически во всех областях современных информационных технологиях: системы оказания электронных услуг в различных сферах, электронный документооборот, социальные сети, СМИ, интернет-магазины и многие другие. Несмотря на разное назначение, и как следствие, разные функциональные особенности данных систем, всех их объединяет то, что они хранят конфиденциальные данные пользователей, а потому нуждаются в обеспечении защиты этих данных. Вариантов атак на веб-
Flask – фрейморк, предназначенный для разработки веб-приложений на языке программирования Python. По умолчанию Flask не поддерживает уровень абстракции баз данных, валидации форм или некоторых других функций, для чего уже существуют различные занимающиеся этим библиотеки. Вместо этого, Flask поддерживает расширения для добавления подобной функциональности в приложение, таким образом, как если бы это было реализовано в самом Flask. Многочисленные расширения обеспечивают интеграцию с базами данных, валидацию форм, обработку загрузок на сервер, различные открытые технологии аутентификации и так далее [1], [2], [3].
103

Для проведения анализа фреймворка, было разработано веб-приложение «Микроблог». Оно имеет простую структуру, представленную на рисунке 1.
СибАДИРисунок 1. Структура приложения
Все данные хранятся в базе данных SQLite. Интеграцию баз данных с Flask предоставляет расширение SQLalchemy. оступ к данным должны получать только зарегистрированные пользователи. ля этого Flask предлагает расширение Flask-Login, которое управляет состоянием входа и выхода в систему. Чтобы заполнить данные о пользователе используется веб-форма, обработку которой других предоставляет расширение Flask-WTF. Одна из его важных особенностей заключается в защите форм от атаки под названием Cross-Site Request Forgery. Кроме того существуют различные валидаторы, позволяющие провести проверку введенных данных. Ещё один важный момент состоит в том, что пароль от пользовательского логина не хранится в базе данных. Вместо этого БД содержит его хэш, что позволяет избежать утечки важной информации.
После того как пользователи вошли под своей учетной записью в систему, они получают доступ к ресурсам сайта. Однако, стоит отметить, что каждый пользователь должен получать доступ к той информации, которая ему разрешена политикой безопасности соответствующего ресурса. Для решения этой задачи в приложении используется политика разграничения прав доступа к объектам на основе ролей. Использование ролей позволяет определить более четкие и понятные для пользователей и администраторов системы правила разграничения доступа. При этом такой подход часто используется в системах,
104

для пользователей которых четко определен круг их должностных полномочий и обязанностей.
Существует расширение Flask-Principal, которое позволяет реализовать функцию привязки к одному пользователю, как высокий уровень привилегий, так и несколько ролей сразу [3]. Например, можно назначить следующие роли пользователям: администратор, редактор, суперпользователь, или их комбинацию. Однако, для того чтобы реализовать политику разграничения
СибАДИдоступа по ролям можно использовать не только данное расширение, но и добавить в приложение свою реализацию разграничения информации, например, спользуя функц ональные возможности декораторов.
Для того, чтобы понять, как работают декораторы, в первую очередь следует помн ть, что функции в Python являются объектами, соответственно, их можно возвращать з другой функции или передавать в качестве аргумента. Также следует помн ть, что функция в Python может быть определена и внутри другой функц . Так м о разом, декораторы – это, по сути, "обёртки", которые дают нам возможность зменить поведение функции, не изменяя её код.
В разработанном демонстрационном приложении декораторы используются для защ ты страниц от несанкционированного доступа. Первый из них - @login required, который защищает функцию просмотра от анонимных пользователей, второй - @requires roles, используется для управления доступом к информации на основе ролей. Такое разграничение доступа является составляющей многих современных компьютерных систем. Как правило, данный подход применяется в системах защиты СУБД, а отдельные элементы реализуются в сетевых операционных системах. На рисунке 2 представлена краткая схема присваивания ролей и полномочий.
Рисунок 2. Схема присваивания ролей полномочий
Каждому пользователю присваивается роль – User или Admin. Далее перед вызовом функции просмотра срабатывает декоратор (рис. 3). Его работа заключается в проверке роли пользователя, и если она содержит нужные права доступа, то декоратор позволяет функции выполниться, в противном случае – функция выполнена не будет.
105

СибАДИ«Администрац я». Схема действия декоратора представлена на рисунке 4. Данная реал зац я сходна с функциональным паттерном программирования, так как язык Python очень г кий позволяет использовать подобные способы написания кода.
Рисунок 3. Код декоратора
Поясн м, почему это происходит. Декоратор @requires roles принимает в качестве аргумента роль пользователя. Внутри происходит проверка
авторизац |
пользователя |
его роли. Если пользователь не авторизирован, |
|||
система вернет его на страницу входа. После проверки авторизации, |
|||||
проверяется роль пользователя, также если роль текущего пользователя не |
|||||
соответствует роли переданной в качестве аргумента, система не пропустит его |
|||||
на стран цу |
вернет на главную. В случае, когда пользователь прошел все |
||||
проверки, |
декоратор |
вызывает |
функцию |
просмотра |
страницы |
Рисунок 4. Проверка прав доступа
Следует отметить, что Flask является прекрасным средством для разработки веб-приложений. Его главной особенностью является простая структура. Возможность подключения самых различных расширений делает Flask универсальным средством разработки. Помимо всего прочего Flask позаботиться об обеспечении безопасности информации.
Список литературы:
1Flask Security. Role/Identity Based Access. - [Электронный ресурс]. URL: https://ru-flask-security.readthedocs.io/ru/latest/features.html#id11
2Документация Flask. Добро пожаловать во Flask. - [Электронный ресурс].
-URL: https://flask-russian-docs.readthedocs.io/ru/latest/
3Мигель Гринберг, Мега-Учебник Flask. - / Мигель Гринберг. - [Электронный ресурс]. - URL: https://habr.com/post/346306/
106