image

УДК 004.056


ПРОЕКТИРОВАНИЕ ПРОГРАММНЫХ СРЕДСТВ И АЛГОРИТМОВ ЗАЩИТЫ ДЛЯ КЛИЕНТ-СЕРВЕРНОГО ПРИЛОЖЕНИЯ С БАЗОЙ ДАННЫХ


Назарко А.В., Чернышова А.В.

ГОУ ВПО «Донецкий национальный технический университет» (г. Донецк) e-mail; nazar2539@gmail.ru,imagechernyshova.alla@rambler.ru


Источник: Назарко, А. В. Проектирование программных средств и алгоритмов защиты для клиент-серверного приложения с базой данных / А. В. Назарко, А. В. Чернышова // Современные информационные технологии в образовании и научных исследованиях (СИТОНИ-2021) : Материалы VII Международной научно-технической конференции, Донецк, 23 ноября 2021 года / Под общей редакцией В.Н. Павлыша. – Донецк: Донецкий национальный технический университет, 2021. – С. 289-297. – EDN LHGAQE.


Проблема обеспечения информационной безопасности для клиент- серверных приложений с базами данных

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

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

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

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

image

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

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

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


Идентификация источников угроз и построение модели угроз для клиент-серверного приложения с базами данных


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

Сформулируем перечень внешних и внутренних угроз информационной безопасности баз данных.

Внешними дестабилизирующими факторами, создающими угрозы безопасности функционированию клиент-серверных приложений с базами данных и СУБД, являются:

Полное устранение всех потенциальных угроз информационной безопасности клиент-серверных приложений с базами данных принципиально невозможно. Реальная задача состоит в снижении вероятности реализации потенциальных угроз до приемлемого для конкретной системы уровня. Приемлемость соответствующего уровня угроз может определяться областью применения, выделенным бюджетом или положениями действующего законодательства. Совокупный риск является достаточно сложной функцией уязвимости компонентов приложения. Различные негативные воздействия также достаточно сложным образом влияют на основные характеристики качества и безопасности клиент- серверных приложений с базами данных [2].


Проектирование программных средств и алгоритмов защиты клиент- серверного приложения с базами данных исходя из модели угроз


Алгоритм сокрытия пароля


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

image

Используя алгоритм сокрытия, необходимо обеспечить и использование пароля неограниченной длины и любых символов, которые нравятся пользователю, безопасное и эффективное хранение пароля в базе данных, предотвращение любых атак с использованием SQL-инъекций, предотвращение атак, связанных с перемещением данных.

Если пароль будет утерян или скомпрометирован, должен произойти

«сброс», это означает, что для аутентификации не нужно хранить пароль в открытом виде. Один из способов решить эти проблемы - использовать односторонний хэш, то есть шифрование, которое невозможно расшифровать. Известны алгоритмы хеширования, такие как MD5-хеш, SHA-

  1. Эти алгоритмы хороши тем, что независимо от размера данных, размер возвращаемых данных всегда один и тот же. MD5 имеет длину 128 бит, что составляет 16 байт. Одного алгоритма хеширования недостаточно, так как его легко взломать.

    Для снижения риска взлома необходимо использовать самый надежный хэш алгоритм, доступный в нашей базе кода. И «засолить» наши пароли, то есть создать случайное значения для добавления в конец пароля, чтобы сделать его более уникальным. Это также необходимо для предотвращения анализа паролей, если использовать только алгоритм хеширования все одинаковые пароли будут иметь одинаковый хеш. При использовании случайного значения соли сохраненные хеши становятся уникальными, даже если используется один и тот же пароль. Также при авторизации будут подставляться в запрос не сами значения переменных, а их параметры, для предотвращения SQL-инъекций [3].

    Из вышесказанного можно сформировать следующий алгоритм регистрации/авторизации.

    1. Регистрация пользователя:

      • ввод имени пользователя;

      • ввод пароля;

      • создание случайной соли к паролю;

      • применение хеш алгоритма;

      • сохранение имени пользователя, хэша и соли в таблице базы данных.

    2. Авторизация пользователя:

Средства защиты на уровне СУБД

Также для обеспечения наиболее защищенного уровня информационной безопасности клиент-серверного приложения с базой данных планируется использовать следующие средства защиты уровня СУБД PostgeSQL: политики защиты строк, шифрование избранных столбцов, протоколирование работы сервера, репликация базы данных и т.д.

Заключение

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

Литература

  1. Основные аспекты безопасности СУБД: что следует знать

    [Электронный ресурс] /. – Режим доступа: https://tproger.ru/articles/ dbsecurity

    -basics. – Заглавие с экрана.

  2. С чего начинается защита базы данных? [Электронный ресурс] /. – Режим доступа: https://www.dataarmor.ru/с-чего-начинается-защита-базы- данных. Заглавие с экрана.

  3. Secure Password Authentication Explained Simply [Электронный ресурс] /. – Режим доступа: https://www.codeproject.com/Articles/54164/Secure- Password-Authentication-Explained-Simply. Заглавие с экрана.

  4. Волк В. К. Базы данных. Проектирование, программирование, управление и администрирование: учебник Санкт-Петербург: Лань, 2020.

    — 244 с.

  5. Куракин А.С. Алгоритм деперсонализации персональных данных // Научно-технический вестник информационных технологий, механики и оптики, № 6 (82), 2012. - С.130-135.

  6. Гатчин Ю.А., Теплоухова О.А., Куракин А.С. Алгоритм контроля целостности деперсонализированных данных в информационных системах персональных данных // Научно-технический вестник информационных технологий, механики и оптики, № 1 (83), 2013. - С.145-147.


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

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


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


NazarkoA.V., Chernyshova A.V. Designing software tools and security algorithms for a client-server application with a database. This article discusses the problem of information security for client-server applications with databases. Threat sources are being identified and a threat model is being built for a client- server application with databases. Based on the threat model for a client-server application with databases, software tools and protection algorithms are designed.

The advantages and disadvantages of the proposed software tools and protection algorithms that reduce the likelihood of potential threats to an acceptable level are determined.


Key words: information security, client-server applications with databases, information security algorithms, information security software.