МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» № 10/2017 ISSN 2410-700Х
19 21
Рисунок 1 - Принципиальная схема акустической форсунки.
Список использованной литературы:
1.Кочетов О С. Акустическая форсунка Кочетова для распыливания жидкостей. Патент на изобретение RUS № 2618703. 10.10.16.
© Кочетов О.С., Шмырев Д.В., Коверкина Е.В., 2017
УДК 004.65:004.056.5
О. В. Линник
студентка 1 курса магистратуры Донской государственный технический университет
E-mail: [email protected] Научный руководитель: В.В. Галушка к.т.н., доцент кафедры «Вычислительные системы и информационная безопасность»
Донской государственный технический университет г. Ростов-на-Дону, Российская Федерация
ПРИМЕНЕНИЕ СРЕДСТВ ШИФРОВАНИЯ И МАСКИРОВАНИЯ ДАННЫХ В MICROSOFT SQL SERVER ДЛЯ ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ НА ПРИМЕРЕ БАЗЫ
ДАННЫХ ТОРГОВОЙ ОРГАНИЗАЦИИ
Аннотация
Статья посвящена применению средств защиты базы данных в Microsoft SQL Server предприятия
_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» № 10/2017 ISSN 2410-700Х_
розничной торговли. В ней рассматриваются методы шифрованных хранимых процедур, маскирования динамических данных и ведения журнала учета действий.
Ключевые слова
Защита базы данных, SQL Server, шифрование данных, маскирование данных, информационная
безопасность, журнал учета действий.
Технологический аспект вопроса обеспечения безопасности баз данных связан с различными видами ограничений, которые поддерживаются структурой СУБД и должны быть доступны пользователю. Система управления базой данных, как правило, содержит в себе необходимые компоненты защиты информации, заложенные в языке манипулирования данными.
Проблема обеспечения санкционированное™ использования данных является неоднозначной, но в основном охватывает вопросы защиты данных от нежелательной модификации или уничтожения, а также от несанкционированного их чтения.
Одним из способов обеспечения информационной безопасности является шифрование хранимых процедур и маскирование динамических данных.
Хранимая процедура (stored procedure) — это именованный набор команд SQL (или любого другого языка процедур, ассоциированного с СУБД), хранящийся непосредственно на сервере и представляющий собой самостоятельный объект базы данных.
Для повышения производительности хранимые процедуры вызываются и из прикладных программ, а так же из других сценариев и разделов.
Пользовательские функции во многом напоминают хранимые процедуры и представляют упорядоченное множество операторов SQL, которые заранее оптимизированы, откомпилированы и могут быть вызваны для выполнения работы в виде единого модуля. Основное различие между пользовательскими функциями и хранимыми процедурами состоит в том, как в них осуществляется возврат полученных результатов.
Для увеличения информационной безопасности при работе с базой данных лучше не давать пользователям доступ к таблицам. Вместо этого дать им возможность пользоваться определенными процедурами, которые буду храниться в самой базе.
Например, для возврата товара принадлежащего категории «Специи», пользователю достаточно будет иметь право на выполнение процедуры «Product_category»:
CREATE PROCEDURE Product_category WITH ECRYPTION AS
BEGIN SET NOCOUNT ON; select Product.[Name], Product.[Price]
from [dbo].[Product] inner join [dbo].[Category] on [IDCategory]=[Category] where [Category] .Name-специи'
END GO
Динамическое маскирование данных (DDM — Dynamic Data Masking) ограничивает возможность раскрытия конфиденциальных данных за счет маскирования этих данных для непривилегированных пользователей. Оно позволяет значительно упростить проектирование и написание кода для системы безопасности в приложении.
Эту функцию можно настроить для базы данных, чтобы скрыть конфиденциальные данные в результирующих наборах запросов для заданных полей базы данных, при этом данные в самой базе данных не изменяются.
Например, продавец на кассе может идентифицировать клиентов по нескольким цифрам номера карты, при этом эти номера не должны предоставляться полностью. Можно определить правило маскирования,
_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» № 10/2017 ISSN 2410-700Х_
которое маскирует все цифры номера карты за исключением последних трех в результирующем наборе любого запроса.
В соответствии с требованиями безопасности проанализированными ранее и представленные в первом разделе некоторые категории пользователей не должны видеть содержание ячеек, но должны знать о наличии этих ячеек и понимать, что они, например, не пустые.
Соответственно к ним необходимо применить описанную технологию маскирования.
Для этого необходимо выполнить несколько SQL запросов, общий синтаксис представлен ниже (рис 1.).
функция маскировки
Рисунок 1 - Синтаксис SQL-запроса
Функция маскировки на данном рисунке определяет метод обработки, которой подвергаются все значения в ячейках данного столбца.
partial - позволяет управлять отображением строковых значений. Вы указываете эту функцию в формате partial(N1, "XXXXXXX", N2), где N1 - количество символов с начала строки, которые можно показать, N2 - с конца, а между ними указываете произвольную маску, которая отобразится вместо остального текста. Если вдруг длина строки не будет превышать указанного количества открытых символов, то вместо нее просто отобразится маска.
Бывают и другие методы маскирования, например, замена случайными значениями или нулем.
Для пользователей, которым необходимо видеть скрытые данные, маскирование можно отключить. Это делается с помощью DCL-запроса (DCL — Data Control Language), синтаксис которого схож с уже рассмотренным синтаксисам команд по предоставлению прав доступа:
GRANT UNMASK TO [User];
где [User] - имя пользователя, которому дается привилегия просмотра немаскированных данных.
При администрировании базы данных может быть обнаружено несанкционированное действие с таблицей. Для регистрации таких случаев в систему необходимо внедрить так называемый журнал учета действий, в который будут заноситься необходимые данные о несанкционированной операции. Это способствует защите модификации данных в системе.
Данный способ защиты можно реализовать средствами SQL Server или любой другой СУБД, которая поддерживает механизм триггеров.
Триггер (trigger) SQL Server — это специальный тип хранимых процедур, запускаемых сервером автоматически при выполнении тех или иных действий с данными таблицы.
Триггеры являются удобным и гибким механизмом, используемым не только в защите данных, но и во многих других задачах, однако, их использование очень замедляет работу базы данных, поэтому применять их следует только в тех случаях, когда без них нельзя обойтись.
Следовательно, необходимо выделить таблицы и действия с ними, информация о которых должна попадать в журнал учета.
Для реализации данного способа защиты необходимо создать в базе данных таблицу, в которую будут фиксироваться действия пользователей и триггеры, которые будут срабатывать при исполнении указанных модификаций с таблицами.
Структура таблицы хранения истории действий показана на рисунке 2.
МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» № 10/2017 ISSN 2410-700Х
Рисунок 2 - Структура таблицы «journal»
Ниже показаны SQL-запросы создания триггеров, которые будут срабатывать и записывать указанные данные в таблицу joumel при обновлении или удалении данных из таблиц Sale или Check. CREATE TRIGGER [dbo].[UpdateSale] ON [dbo]. [Sale] AFTER UPDATE AS
BEGIN SET NOCOUNT ON;
INSERT INTO [dbo].[journal] ([таблица], [пользователь], [время], [действие]) Values ('Sale', SYSTEM_USER, GetDate(), 'update') END
CREATE TRIGGER [dbo].[DeleteSale] ON [dbo]. [Sale] AFTER DELETE AS
BEGIN SET NOCOUNT ON;
INSERT INTO [dbo].[journal] ([таблица], [пользователь], [время], [действие]) Values ('Sale', SYSTEM_USER, GetDate(), 'delete') END
CREATE TRIGGER [dbo].[UpdateCheck] ON [dbo]. [Check] AFTER UPDATE AS
BEGIN SET NOCOUNT ON;
INSERT INTO [dbo].[journal] ([таблица], [пользователь], [время], [действие]) Values ('Sale', SYSTEM_USER, GetDate(), 'update') END
CREATE TRIGGER [dbo] .[DeleteCheck] ON [dbo]. [Check] AFTER DELETE AS
BEGIN SET NOCOUNT ON;
_МЕЖДУНАРОДНЫЙ НАУЧНЫЙ ЖУРНАЛ «СИМВОЛ НАУКИ» № 10/2017 ISSN 2410-700Х_
INSERT INTO [dbo].[journal] ([таблица], [пользователь], [время], [действие]) Values ('Sale', SYSTEM_USER, GetDate(), 'delete') END
При срабатывании триггеров таблица journal будут заполняться данными, пример которых приведён на рисунке 3.
□ Results Messages
таблица Sale Sale Check
пользователь время действие
HQMEWV 2017-05-0311:29:20 update
HQMEWV 2017-05-03 11:29:55 delete
HQMEWV 2017-05-03 11:31:29 delete
Рисунок 3 - Результат работы триггера
Список использованной литературы:
1. Маркин А. В. Построение запросов и программирование на SQL / Маркин А. В. // М.: ДИАЛОГ -МИФИ. - 2008. - 320 стр.
2. Линн Бейли. Изучаем SQL / Линн Бейли // СПб.: Питер. - 2012. - 318 стр.
3. Колисниченко Д. PHP и MySQL. Разработка Web-приложений. 4-е издание // С.-Пб.: БХВ-Петербург. -2013. - 476 с.
4. Партыка Т.Л., Попов И.И. Информационная безопасность. - М.: Форум: ИНФРА-М, 2004.
© Линник О.В., 2017
УДК 65.011.56
Р.А.Спасов
студент 4 курса ТИ(ф)СВФУ г. Нерюнгри, РФ, РС (Я) E-mail: [email protected] Лямкин К.О. студент 4 курса ТИ(ф)СВФУ г. Нерюнгри, РФ, РС (Я) E-mail: [email protected] Научный руководитель: В.Р.Киушкина
зав. каф. ЭПиАПП г. Нерюнгри, РФ, РС (Я) E-mail: [email protected]
ИНТЕГРИРОВАННАЯ ИНФОРМАЦИОННАЯ СИСТЕМА (ИИС) ЭНЕРГЕТИКИ КАК ИНСТРУМЕНТ ПОВЫШЕНИЕ ЭНЕРГЕТИЧЕСКОЙ БЕЗОПАСНОСТИ И ЭКОНОМИЧЕСКОГО
РОСТА ЭНЕРГЕТИЧЕСКИХ ПРЕДПРИЯТИЙ
Аннотация
1. Актуальность.
На данный момент остро стоит задача повысить уровень надёжности энергетических предприятий. Для развивающейся промышленности и роста городов необходима работоспособная энергетическая система, которая сможет продолжить бесперебойно функционировать как и в аварийных ситуациях, так и при включении нового потребителя.