Реферат по теме выпускной работы
При написании данного реферата магистерская работа еще не завершена. Окончательное завершение: июнь 2022 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.
Содержание
- Введение
- 1. Проблема обеспечения информационной безопасности для клиент-серверных приложений с базой данных
- 2. Анализ рисков угроз информационной безопасности для клиент-серверных приложений с базой данных
- 3. Идентификация источников угроз и построение модели угроз для клиент-серверного приложения с базой данных
- 4. Oбзор исследований и разработок
- 5. Проектирование программных средств и алгоритмов защиты клиент-серверного приложения с базами данных исходя из модели угроз
- Заключение
- Список источников
Введение
При проектировании клиент-серверных приложений с базами данных различного назначения для хранения больших и сверхбольших объемов информации проектировщики обычно делают выбор в пользу реляционной СУБД. На последующих стадиях проектирования и разработки, обеспечение безопасности базы данных обычно сводится к выделению классов пользователей, их информационных потребностей и привилегий (формируется политика безопасности), проектированию системы разграничения доступа.
Далее для назначения/отмены привилегий используется язык SQL, включающий операторы GRANT, REVOKE и т. д. Большинство современных реляционных СУБД поддерживает дискреционную (DAC) и мандатную (MAC) модели разграничения доступа, а также дополнительные средства обеспечения безопасности.
На всех стадиях жизненного цикла клиент-серверного приложения с базой данных, построенной на основе реляционной СУБД, возможны реализации большого числа угроз различных классов. Эти возможности следуют как из свойств самой реляционной модели данных, так и из особенностей реализации СУБД различными производителями и используемой модели разграничения доступа. Защита информации в реляционных базах данных имеет специфику, заключающуюся в том, что семантика обрабатываемых данных дает большие возможности по реализации различных угроз применительно к базе данных, чем, например, к файловой системе.
Под угрозой обычно понимают потенциально возможное событие, действие (воздействие), процесс или явление, которое может привести к нанесению ущерба чьим-либо интересам.
1. Проблема обеспечения информационной безопасности для клиент-серверных приложений с базой данных
При проектировании клиент-серверных приложений с базами данных различного назначения для хранения больших и сверхбольших объемов информации проектировщики обычно делают выбор в пользу реляционной СУБД. На последующих стадиях проектирования и разработки обеспечение безопасности базы данных обычно сводится к выделению классов пользователей, их информационных потребностей и привилегий (формируется политика безопасности), проектированию системы разграничения доступа, а также выбору алгоритмов и программных средств защиты.
На всех стадиях жизненного цикла клиент-серверного приложения с базой данных, построенной на основе реляционной СУБД, возможны реализации большого числа угроз различных классов. Эти возможности следуют как из свойств самой реляционной модели данных, так и из особенностей реализации СУБД различными производителями и используемой модели разграничения доступа. Защита информации в реляционных базах данных имеет специфику, заключающуюся в том, что семантика обрабатываемых данных дает большие возможности по реализации различных угроз применительно к базе данных, чем, например, к файловой системе.
Угрозой информационной безопасности клиент-серверного приложения с базой данных назовем возможность воздействия на информацию, обрабатываемую в приложении, приводящую к искажению, уничтожению, копированию, блокированию доступа к информации, а также возможность воздействия на компоненты информационной системы, приводящую к утрате, уничтожению или сбою функционирования носителя информации или средства управления программно-аппаратным комплексом системы.
Угроза нарушения конфиденциальности данных включает в себя любое умышленное или случайное раскрытие информации, хранящейся в вычислительной системе или передаваемой из одной системы в другую. К нарушению конфиденциальности ведет как умышленное действие, направленное на реализацию несанкционированного доступа к данным, так и случайная ошибка программного или неквалифицированного действия оператора, которая может привести к передаче по открытым каналам связи незащищенной конфиденциальной информации.
Угроза нарушения целостности включает в себя любое умышленное или случайное изменение информации, обрабатываемой в информационной системе или вводимой из первичного источника данных. К нарушению целостности данных может привести как преднамеренное деструктивное действие некоторого лица, изменяющего данные для достижения собственных целей, так и случайная ошибка программного или аппаратного обеспечения, приведшая к безвозвратному разрушению данных.
Для построения модели угроз клиент-серверных приложений с базами данных необходимо их идентифицировать. Необходимо не только провести работу по выявлению и анализу самих угроз, но и изучить и описать источники возникновения выявленных угроз. Такой подход поможет в выборе комплекса средств защиты. Например, нелегальный вход в систему может стать следствием воспроизведения начального диалога, подбора пароля или подключения к сети неавторизованного оборудования. Очевидно, для противодействия каждому из перечисленных способов нелегального входа нужны свои механизмы безопасности [1].
2. Анализ рисков угроз информационной безопасности для клиент-серверных приложений с базой данных
Клиент-серверные приложения с базами данных подвержены большому количеству рисков, угрожающих информационной безопасности программной системы.
Рассмотрим и проанализируем основные из них:
- чрезмерное злоупотребление привилегиями – пользователям предоставлены права доступа, которые позволяют им выполнять другие задачи, не входящие в их работу, вредоносные намерения могут быть обнаружены с помощью таких задач, что приводит к злоупотреблению такими привилегиями. Когда мы говорим о таком злоупотреблении, можно привести пример АСУ университета, в котором администратор имеет доступ ко всем базам данных и имеет право изменять записи любого студента. Это может привести к неправильному использованию, например, к изменению оценок учащихся. Источник уязвимости – всем пользователям, выполняющим различные задачи, предоставляется уровень привилегий по умолчанию, который предоставляет доступ сверх нормы;
- злоупотребление легитимными привилегиями – может иметь форму неправомерного использования пользователями базы данных, администраторами или системным администратором, выполняющими какие-либо незаконные или неэтичные действия. Это, помимо прочего, любое неправомерное использование конфиденциальных данных или неоправданное использование привилегий. Источник уязвимости – человеческий фактор;
- несанционированное повышение привилегий – злоумышленники могут измененить привилегии, например, обычному пользователю предоставить доступ с правами администратора. Это может привести к подделке счетов, переводу средств, неверному истолкованию определенной конфиденциальной аналитической информации. Такие случаи также встречаются в функциях базы данных, протоколах и даже операторах SQL. Источник уязвимости – чрезмерное воздействие приводит к обнаружению недостатков прогарммной системы, которыми могут воспользоваться злоумышленники;
- уязвимости платформ, на которых развёрнуто клиент-серверное приложение с базой данных уязвимости операционных систем могут вызвать утечку данных из базы данных, повреждение данных или условия отказа в обслуживании. Например, червь-бластер создал условия отказа в обслуживании из-за уязвимости, обнаруженной в Windows 2008. Источник уязвимости – системные ошибки, вирусы, неисправности и дыры в операционных системах;
- SQL-инъекции – случайные SQL-запросы, выполняющиеся на сервере злоумышленником. В этой атаке за оператором SQL следует строковый идентификатор в качестве входных данных. Это подтверждается сервером. Если он не будет проверен, он может быть выполнен. Благодаря этим беспрепятственным правам злоумышленники могут получить доступ ко всей базе данных. Источник уязвимости – не полностью обработанные запросы SQL:
- недостаточный журнал аудита – политика аудита базы данных обеспечивает автоматическую, своевременную и правильную запись транзакций базы данных. Такая политика должна быть частью соображений безопасности базы данных, поскольку все конфиденциальные транзакции базы данных имеют автоматизированную запись, отсутствие которой создает серьезный риск для баз данных организации и может вызвать нестабильность в работе. Источник уязвимости – не настроенная или неправильно настроенная запись транзакций БД;
- отказ в обслуживании – атака, которая не позволяет законным пользователям программы/приложения/данных использовать или получать доступ к этой конкретной службе. DoS может происходить с использованием другой техники. Злоумышленник может получить доступ к базе данных и попытаться вызвать сбой сервера или перегрузку ресурсов. Это серьезная угроза для любой организации. Источник уязвимости переполнение сети и повреждение данных.
- протокол обмена данными с базой данных – уязвимости в протоколах связи с базами данных приводят к несанкционированным действиям, управляющим этой восприимчивостью, они могут быть разными от незаконного доступа к данным до эксплуатации данных и отказа в обслуживании. Источник уязвимости большое количество слабых мест в протоколах связи с базами данных всех поставщиков;
- слабый механизм аутентификации – делает базы данных более уязвимыми для злоумышленников могут быть украдены идентификационные данные пользователей базы данных или через какой-либо источник, который затем помогает в изменении данных или получении конфиденциальной информации, могут быть получены учетные данные для входа. Источник уязвимости – аутентификация не реализована должным образом и является слабой.
- несанционированный доступ к резервным данным – важная угроза, о которой необходимо позаботиться, поскольку резервные копии на любых внешних носителях подвержены высокому риску. Источник уязвимости – недостаточная или полное отсутствие защищенности от таких атак, как кража или уничтожение бэкапа [2].
3. Идентификация источников угроз и построение модели угроз для клиент-серверного приложения с базами данных
Разработка системы информационной безопасности должна базироваться на определенном перечне потенциальных угроз безопасности и установлении возможных источников их возникновения. Проектирование конкретной системы безопасности для любого объекта, в том числе и для систем баз данных, предполагает выявление и научную классификацию перечня источников угроз безопасности.
Сформулируем перечень внешних и внутренних угроз информационной безопасности баз данных.
Внешними дестабилизирующими факторами, создающими угрозы безопасности функционированию клиент-серверных приложений с базами данных и СУБД, являются:
- умышленные, деструктивные действия лиц с целью искажения, уничтожения или хищения программ, данных и документов системы, причиной которых являются нарушения информационной безопасности защищаемого объекта;
- искажения в каналах передачи информации, поступающей от внешних источников, циркулирующих в системе и передаваемой потребителям, а также недопустимые значения и изменения характеристик потоков информации из внешней среды и внутри системы;
- сбои и отказы в аппаратуре вычислительных средств;
- вирусы и иные деструктивные программные элементы, распространяемые с использованием систем телекоммуникаций, обеспечивающих связь с внешней средой или внутренние коммуникации распределенной системы баз данных;
- изменения состава и конфигурации комплекса взаимодействующей аппаратуры системы за пределы, проверенные при тестировании или сертификации системы.
Внутренними источниками угроз клиент-серверных приложений с базами данных и СУБД являются:
- системные ошибки при постановке целей и задач проектирования клиент-серверных приложений с базами данных и их компонент, допущенные при формулировке требований к функциям и характеристикам средств обеспечения безопасности системы;
- ошибки проектирования при разработке и реализации алгоритмов обеспечения безопасности аппаратуры, программных средств и баз данных;
- ошибки при определении условий и параметров функционирования внешней среды, в которой предстоит использовать клиент-серверное приложение с базой данных, в частности, программно-аппаратные средства защиты данных;
- ошибки и несанкционированные действия пользователей, административного и обслуживающего персонала в процессе эксплуатации приложения;
- недостаточная эффективность используемых методов и средств обеспечения информационной безопасности в штатных или особых условиях эксплуатации приложения.
Полное устранение всех потенциальных угроз информационной безопасности клиент-серверных приложений с базами данных принципиально невозможно. Реальная задача состоит в снижении вероятности реализации потенциальных угроз до приемлемого для конкретной системы уровня. Приемлемость соответствующего уровня угроз может определяться областью применения, выделенным бюджетом или положениями действующего законодательства. Совокупный риск является достаточно сложной функцией уязвимости компонентов приложения. Различные негативные воздействия также достаточно сложным образом влияют на основные характеристики качества и безопасности клиент-серверных приложений с базами данных [3].
4. Обзор исследований и разработок
4.1 Обзор международных источников
Существует множество источников, посвященных проблеме обеспечения безопасности клиент-серверных приложений с базами данных. Так, в статье Database Security and Encryption: A Survey Study
исследуется безопасность баз данных, анализируются проблемы, требования и угрозы обеспечения безопасности баз данных, а также рассматривается использование средства защиты шифрования на различных уровнях безопасности баз данных.
А в статье DATABASE SECURITY: THREATS AND PREVENTIVE MEASURES
производится анализ множества различных угроз и уязвимостей и определяются наиболее распространенные и проблемные, также предлагается наиболее подходящие превентивные меры или решения для каждого из проанализированной угрозы и уязвимости.
В книге Database Reliability Engineering: Designing and Operating Resilient Database Systems
by Laine Campbell and Charity Majors уделяется внивмание требованиям к уровню обслуживания и управление рисками баз данных, созданию и развитию архитектуры для обеспечения надеждности работы баз данных, разработке инфраструктуры и управлению инфраструктурой, безопасному хранению, индексации и репликациия данных,
определению характеристик хранилища данных и наилучших вариантов использования, проектированию компонентов архитектуры хранилища данных и архитектуры управляемые данными.
4.2 Обзор национальных источников
Среди национальных источников множество публикаций также посвящено обеспечению безопасности клиент-серверных приложений с базами данных. В книге Базы данных. Проектирование, программирование, управление и администрирование – 2020
Волка В. обсуждаются основные концепции и проблематика баз данных, рассматриваются процессы их проектирования, программирования и управления, а также технологии их администрирования с целью достижения высокой производительности доступа к данным и обеспечения требуемого уровня информационной безопасности.
Книга PostgreSQL 11. Мастерство разработки – 2019
Шенига Ганса-Юргена освещает передовые технические аспекты PostgreSQL, включая логическую репликацию, кластеры баз данных, оптимизацию производительности, мониторинг и управление пользователями. В ней раассматриваются транзакциии, блокировки, индексы и оптимизация запросов. Кроме того, рассматривается обеспечение сетевой безопасность и механизм резервных копии и репликаций, полезные расширения PostgreSQL, позволяющие увеличить производительность при работе с большими базами данных.
В книге Основы технологий баз данных – 2020
Новикова Б., Горшковой Е. и Графеевой Н. подробно рассматриваются основные понятия, устройство и принципы работы СУБД, обеспечение безопасности работы, а также технологии (архитектура, алгоритмы, структуры данных), лежащие в их основе.
4.3 Обзор локальных источников
В работе Оптимизации для высоконагруженных реляционных БД и альтернативные решения
Бабич К.К. произвела обзор технологий, применяемых для оптимизации реляционных баз данных и описала возможную реализацию высоконагруженного приложения с базой данных.
В работе Модели производительности систем управления базами данных
Селми Уаяик исследует производительность системы управления базы данных при помощи сравнения серверов баз данных [4].
5. Проектирование программных средств и алгоритмов защиты клиент-серверного приложения с базами данных исходя из модели угроз
5.1 Алгоритм сокрытия пароля
Для снижения риска несанкционированного доступа к базе данных при помощи считывания паролей планируется использовать следующий алгоритм сокрытия паролей.
Используя алгоритм сокрытия, необходимо обеспечить и использование пароля неограниченной длины и любых символов, которые нравятся пользователю, безопасное и эффективное хранение пароля в базе данных, предотвращение любых атак с использованием SQL-инъекций, предотвращение атак, связанных с перемещением данных.
Если пароль будет утерян или скомпрометирован, должен произойти сброс
, это означает, что для аутентификации не нужно хранить пароль в открытом виде. Один из способов решить эти проблемы – использовать односторонний хэш, то есть шифрование, которое невозможно расшифровать. Известны алгоритмы хеширования, такие как MD5-хеш, SHA-1. Эти алгоритмы хороши тем, что независимо от размера данных, размер возвращаемых данных всегда один и тот же. MD5 имеет длину 128 бит, что составляет 16 байт. Одного алгоритма хеширования недостаточно, так как его легко взломать.
Для снижения риска взлома необходимо использовать самый надежный хэш алгоритм, доступный в нашей базе кода. И засолить
наши пароли, то есть создать случайное значения для добавления в конец пароля, чтобы сделать его более уникальным. Это также необходимо для предотвращения анализа паролей, если использовать только алгоритм хеширования все одинаковые пароли будут иметь одинаковый хеш. При использовании случайного значения соли сохраненные хеши становятся уникальными, даже если используется один и тот же пароль. Также при авторизации будут подставляться в запрос не сами значения переменных, а их параметры, для предотвращения SQL-инъекций [5].
Из вышесказанного можно сформировать следующий алгоритм регистрации/авторизации.
- Регистрация пользователя:
- ввод имени пользователя;
- ввод пароля;
- создание случайной соли к паролю;
- применение хеш алгоритма;
- сохранение имени пользователя, хэша и соли в таблице базы данных.
- Авторизация пользователя:
- таймаут 2 секунды, для замедления атак при помощи грубой силы;
- получение имени пользователя и пароля;
- получение соответствующей записи из базы данных;
- использование соли из базы данных, чтобы создать хеш к паролю;
- сравнение полученного хэша с хешем пароля, который хранится в базе данных;
- возврат
Не удалось войти в систему
илиУспешная авторизация
; (не показываем более детальные сообщенияпользователь не найден
илиневерный пароль
, поскольку это дает нарушителю много информации).
5.2 Алгоритм разграничения прав доступа
Для снижения риска несанкционированного доступа к информации, на которую у пользователя недостаточно привилегий, планируется использовать алгоритм разграничения прав доступа пользователя. Этот алгоритм включает в себя создание ролей на серверной части клиент-серверного приложения с базой данных, внесения пользовательских записей в определенную роль, присвоение каждой роли своего набора привилегий и прав доступа на просмотр/редактирование/создание таблицы, и обработку этих ролей и привилегий на клиентской части приложения.
Также для более защищенного уровня информационной безопасности принято решение обращаться ко всем таблицам не на прямую, а только через их представление на серверной части. Представление – это поименованная динамически поддерживаемая сервером выборка из одной или нескольких таблиц. Это виртуальная таблица, у которой записи формируются при обращении к ней пользователя согласно ранее назначенному ей запросу. С помощью представлений формируется доступ не к целой таблице, а к определенным записям, необходимым для работы пользователю.
Для этого необходимо создать к каждой таблице с данными представление и назначить привилегии на каждое представление для всех имеющихся ролей.
Далее необходимо произвести обработку имеющихся ролей и привилегий в серверной части при авторизации пользователя на клиентской части приложения.
Из вышесказанного можно сформировать следующий алгоритм разграничения прав доступа:
- Выполнение запроса к серверу с параметром имени пользователя при авторизации.
- Получение роли и привилегий с сервера, соответствующих данному имени пользователя.
- Формирование в представление данных, соответствующих привилегиям этого пользователя.
- Oтображение на клиентской части сформированного представления.
5.3 Алгоритм обезличивания персональных данных
Для снижения риска несанкционированного доступа к личным данным или утечки таких данных, планируется использовать алгоритм обезличивания персональных данных (рис. 3).
Предлагаемый алгоритм обезличивания персональных данных построен на следующих принципах:
- разбиение исходного множества данных на подмножества, что позволяет сократить размерность и упростить его практическую реализацию;
- использование циклических перестановок, что реализует перемешивание данных.
Алгоритм обеспечивает перестановку данных каждого множества атрибутов исходной таблицы пошагово. На каждом шаге используется принцип циклических перестановок [6].
Разбиение каждого множества должно обладать следующими свойствами:
- подмножества разбиения включают все элементы множества данных одного атрибута;
- все элементы в подмножествах упорядочены как по внутренним номерам (номера элементов внутри подмножества), так и по внешней нумерации самих подмножеств в разбиении;
- суммарное число элементов всех подмножеств множества данных одного атрибута равно общему числу элементов этого множества.
Критерием качества обезличивания персональных данных является вероятность получения персональных данных на основании утечки обезличенных данных конкретного человека. При этом предполагается, что злоумышленнику известен контекст обработки.
Рассмотренный алгоритм с обезличиванием персональных данных является перспективным и оптимальным решением задач по обеспечению информационной безопасности данных, обрабатываемых в клиент-серверных приложениях с базами данных.
Данный алгоритм обладает следующими преимуществами:
- обеспечивает защиту персональных сведений от несанкционированного доступа, в том числе от компрометации информации при ее утечке по техническим каналам;
- обеспечивает гарантированный доступ к персональным данным при легитимном обращении;
- получение персональных сведений посредством контекстного анализа или путем перебора весьма трудоемко, а зачастую практически невозможно;
- параметры перестановки задаются при помощи генератора случайных чисел, что увеличивает стойкость алгоритма к взлому
Наибольшая эффективность при применении данного алгоритма проявляется в случае, когда в клиент-серверных приложениях с базами данных содержатся большое количество персональных данных субъектов, что обеспечивает наибольшую защиту.
5.4 Алгоритм обеспечения контроля целостности обезличенных персональных данных
Для снижения риска подмены информации, а также контроля целостности информации после алгоритма обезличивания персональных данных планируется производить контроль целостности полученных данных. Это обеспечивается путем проверки текущей контрольной суммы всего файла (сформированного после алгоритма обезличивания персональных данных) и контрольной суммы, рассчитываемой при последующем открытии файла. Например, при помощи алгоритма хеширования MD5.
Данный алгоритм обладает следующими преимуществами:
- размер файла с персональными данными, поступающего на вход алгоритма, может быть произвольным;
- для вычисления используемой в алгоритме хэш-функции не требуется ключ, который необходимо хранить и вводить, что значительно упрощает программную реализацию;
- для применения данного решения не требуется дополнительных аппаратных средств, используемый алгоритм вычисления хэш-функции MD5 входит в состав открытых криптографических библиотек;
- алгоритм может быть реализован в качестве программной надстройки над алгоритмом обезличивания персональных данных [7].
5.5 Средства защиты на уровне СУБД
Также для обеспечения наиболее защищенного уровня информационной безопасности клиент-серверного приложения с базой данных планируется использовать следующие средства защиты уровня СУБД PostgeSQL: политики защиты строк, шифрование избранных столбцов, протоколирование работы сервера, репликация базы данных и т.д.
Заключение
В данном реферате была сформирована модель угроз для клиент-серверного приложения с базой данных. Приведены и рассмотрены средства и алгоритмы защиты, которые в дальнейшем планируется использовать для повышения эффективности уровня информационной безопасности клиент-серверного приложения с базой данных. При рассмотрении выделенных подходов, решений, средств и алгоритмов защиты для обеспечения безопасности клиент-серверных приложений с базами данных были выявлены их достоинства и недостатки.
При написании данного реферата магистерская работа еще не завершена. Окончательное завершение: июнь 2022 года. Полный текст работы и материалы по теме могут быть получены у автора или его руководителя после указанной даты.
Список источников
- Основные аспекты безопасности СУБД: что следует знать [Электронный ресурс] /. – Режим доступа: https://tproger.ru/articles/dbsecurity-basics. – Заглавие с экрана.
- С чего начинается защита базы данных? [Электронный ресурс] /. – Режим доступа: https://www.dataarmor.ru/с-чего-начинается-защита-базы-данных. – Заглавие с экрана.
- Secure Password Authentication Explained Simply [Электронный ресурс] /. – Режим доступа: https://www.codeproject.com/Articles/54164/Secure-Password-Authentication-Explained-Simply. – Заглавие с экрана.
- Системы управления базами данных [Электронный ресурс] /. – Режим доступа: http://www.bseu.by/it/tohod/sdo4.htm – Заглавие с экрана.
- В.К. Волк. Базы данных. Проектирование, программирование, управление и администрирование: учебник – Санкт-Петербург: Лань, 2020. – 244 с.
- А.С. Куракин. Алгоритм деперсонализации персональных данных // Научно-технический вестник информационных технологий, механики и оптики, № 6 (82), 2012. – p.130-135.
- Ю.А. Гатчин, О.А. Теплоухова, А.С. Куракин. Алгоритм контроля целостности деперсонализированных данных в информационных системах персональных данных // Научно-технический вестник информационных технологий, механики и оптики, № 1 (83), 2013. – p.145-147.