Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2605.pdf
Скачиваний:
96
Добавлен:
07.01.2021
Размер:
33.4 Mб
Скачать

ПРОГРАММНАЯ И АППАРАТНАЯ СОСТАВЛЯЮЩАЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

И ИХ БЕЗОПАСНОСТЬ

Abstract. The article discusses the question of automation of processes of routing of snowplows on the basis of formalized mathematical models, and as a solution there are three groups of methods: exact methods, heuristics and metaheuristic methods.

Keywords: routing problem transportation, road network, winter maintenance of roads, exact methods, heuristic methods, metaheuristic methods.

Дягелев Михаил Юрьевич (Россия, Ижевск) кандидат технических наук, доцент кафедры

«Водоснабжение и водоподготовка», ФГБОУ ВО «ИжГТУ имени М.Т. Калашникова» (426069, г. Ижевск,

ул. Студенческая 7, e-mail: mdyagelev@yandex.ru).

Научный руководитель Исаков Виталий Германович (Россия, Ижевск) доктор технических наук,

профессор, заведующий кафедрой «Водоснабжение и водоподготовка», ФГБОУ ВО «ИжГТУ имени М.Т. Калашникова» (426069, г. Ижевск, ул. Студенческая 7, e-mail: vodosnab@istu.ru).

Diagelev Mikhail Yurevich (Russia, Izhevsk) – candidate of technical Sciences, Doktor of the Department "Water supply and water treatment", of the "Izhevsk state technical University named after M.T. Kalashnikov" (426069, Izhevsk, Studencheskaya St. 7, e-mail: mdyagelev@yandex.ru).

Scientific adviser – Isakov Vitaliy Germanovich (Russia, Izhevsk) – doctor of technical Sciences, Professor, head of Department "Water supply and water treatment", of the "Izhevsk state technical University named after M.T. Kalashnikov" (426069, Izhevsk, Studencheskaya St. 7, e-mail: vodosnab@istu.ru).

УДК 004

ВОЗМОЖНОСТИ СУБД SQL SERVER ПО ОБЕСПЕЧЕНИЮ БЕЗОПАСНОСТИ ФУНКЦИОНИРОВАНИЯ АВТОМАТИЗИРОВАННОЙ

СИСТЕМЫ АГЕНТСТВО НЕДВИЖИМОСТИ

723

THE ABILITY OF SQL SERVER TO ENSURE THE SECURITY

OF FUNCTIONING OF THE AUTOMATED

SYSTEM FOR REAL ESTATE AGENCY

Д.С. Жилин

Сибирский государственный автомобильно-дорожный университет (СибАДИ), Россия, г. Омск

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

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

Ключевые слова: автоматизированная система, система управления базами данных, язык структурированных запросов, алгоритм хеширования, числовые коды.

Введение

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

Основная часть

Структура автоматизированной системы представляется клиентской и серверной частью, которые взаимодействуют друг с другом посредством языка запросов – sql [2]. Необходимо

Фундаментальные и прикладные исследования молодых учёных: материалы Международной научно- практической конференции студентов, аспирантов и молодых учёных, 8-9 февраля 2017 г.

ПРОГРАММНАЯ И АППАРАТНАЯ СОСТАВЛЯЮЩАЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

И ИХ БЕЗОПАСНОСТЬ

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

Для этого существуют различные подходы и методы, в зависимости от поставленных задач:

1.Использоваться авторизацию. Она необходима для ограничения круга лиц для доступа к информации и проведения каких-нибудь действий с ней (просмотр, удаление, обновление,

добавление).

2.Использовать в качестве подтверждения личности пароль и секретный вопрос. Требования к паролю:

-минимальная длина 8 символов;

-минимум 1 цифра в пароле;

-минимум 1 символ нижнего регистра;

-минимум 1 символ верхнего регистра.

Существуют определённые словари для подбора пароля. В нем пароли располагаются по

 

частоте встречаемости, например пароль «qwerty» или «123456» будет в самом верху и

 

подбираться в первую очередь, чем сложнее пароль, тем ниже он будет находиться в словаре,

 

чем ниже тем меньше вероятность его раскрытия.

 

Пароль используется для авторизации в системе. Секретный вопрос используется только

 

для восстановления доступа к учетной записи системы, когда нет возможности восстановить

 

доступ с помощью администратора (например, его нет на месте). Ответ на секретный вопрос

 

знает только владелец учетной записи, поэтому только он может восстановиться доступ. При

 

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

 

он может, при желании, сменить с помощью администратора.

 

3. Пароль при вводе должен быть обязательно скрыт и при вводе каждого символа

 

заменяться каким-нибудь конкретным символом, например «*» чтобы не было возможности

 

его подсмотреть.

 

4. Хранить и передавать такие данные как пароль, ответ на секретный вопрос в виде хэш

724

значения, полученного алгоритмом md5, так как хэш это однонаправленная функция можно

только зашифровать, дешифровать данные нельзя, их можно только подобрать.

С точки зрения подбора по словарю нет разницы как подбирать: пароли в открытом виде или их хэш значения, так как можно просто использовать словарь с хэш значениями от этих паролей расположенных по частоте. Криптостойкость одинаковая [3]. Поэтому необходимо при

создании пароля или ответа на секретный вопрос использовать хэш функцию, но при этом дополнительно использовать функцию, которая бы генерировала случайную строчку уникальной длины, например от 10 до 20 символов, со своим алфавитом, например с 33 по 128 символов таблицы ASCII. Это алфавита будет достаточно, так как он содержит символы

латинского алфавита в верхнем и нижнем регистре, цифры, некоторые спец. символы.

Эта строка будет дописываться, например в конец задаваемых данных. Причем место записи может быть разным: в начало, в конец, или два раза в начало данных и один раз в конец дописать случайную строку и т.д. Но уже хэш отпечаток от данных будет совершенно другим и будет сложен для подбора. Например, изначально пароль был задан «Klass123» и ответ на секретный вопрос «121212Qwerty» и они будет иметь свое хэш значение. Далее будет сгенерирована строка «;P#JU-b@8'1EyNG_V» и дописана к изначальным данным, пароль

«Klass123;P#JU-b@8'1EyNG_V» и ответ на секретный вопрос «121212Qwerty;P#JU- b@8'1EyNG_V» и от них взяты хэш значения и записаны в базу данных. Данные хэш значения

будет намного сложнее подобрать, чем изначально заданные.

Сама случайная строка тоже шифруется, но уже не хэш алгоритмом, так как ее необходимо как зашифровать, так и дешифровать. Для этого каждый символ случайной строки представляется десятичным числовым кодом таблицы ASCII [4]. Затем каждый десятичный код представляется двоичным представлением и в нем инвертируются все единицы и нули ноль

меняется на единицу и наоборот. Далее каждому двоичному инвертированному представлению символа дописываются в начале нули, чтобы получилась длина каждого блока равная 7 (если это необходимо), 7 потому что 2 в 7 степени это 128 и больше этого числа (128) блок получиться не может, а алфавит наш как раз представлен до 128 символа.

Фундаментальные и прикладные исследования молодых учёных: материалы Международной научно- практической конференции студентов, аспирантов и молодых учёных, 8-9 февраля 2017 г.

ПРОГРАММНАЯ И АППАРАТНАЯ СОСТАВЛЯЮЩАЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

И ИХ БЕЗОПАСНОСТЬ

Необходимость дозаписи бит до 7 нужна для того, чтобы была возможность дешифрования,

 

так как если блоки будут иметь разную длину - расшифровать будет проблематично. При таком

 

подходе используется одна и та же функция, как для шифрования, так и для дешифрования,

 

просто повторно применяется.

 

Причем случайно сгенерированная строка является уникальной для каждой записи [5],

 

например у нескольких пользователей установлен пароль «Klass123» , но так как случайная

 

строка уникальна, в базе данных хэш значения в соответствующих столбцах будут разные.

 

Если каким то образом данные с этой таблицы попадают к злоумышленнику по виду записи

 

хэш значения возможно понять каким алгоритмом зашифрованы данные, но будет

 

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

 

храниться или зашифрована, а если зашифрована то каким образом, и где она дописывалась к

 

данным, которые зашифрованы хэш-функцией.

 

5. Такие данные как логин, пароль, электронная почта должны быть уникальными. Логин

 

это ваш идентификатор в системе [6]. Электронная почта и возможно телефон являются

 

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

 

чтобы, например с помощью одной почты можно было восстановить доступ только к одной

 

учетной записи. Пароль именно изменяется, а не восстанавливается, то есть ответ в открытом

 

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

 

Рассмотрим ситуацию: вы зарегистрированы на 5 сайтах и у всех установлен один пароль, к

 

2 из них привязана ваша почта для восстановления. Далее, вы забыли пароль и

 

восстанавливаете его. Один из них (сайтов) будет изменять пароль как указано выше, а другой

 

будет присылать вам старый пароль. В итоге, получив доступ к почте и получив старый пароль

 

(не измененный), вы получите доступ ко всем 5 сайтам.

 

Этот метод используется для восстановления доступа к учетной записи без помощи

 

администратора.

 

6. Запретить ввод в любое поле, где строиться запрос, ввода некоторых символов «’», «;»,

 

«-», которые могут использоваться для модификации запроса с целью получить доступ к

725

данным. Так же сделать для каждого поля минимально необходимую длинуввода строки [7],

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

7.Использовать небольшую задержку для выполнения события на осуществление запроса к базе данных, скажем в 0.1 секунды. Этот подход исключает возможность полного перебора комбинаций, так как современные средства подбора пароля могут проходить за секунды миллионы комбинаций, данная мера делает подбор нецелесообразным, так как за секунду максимум удастся пройти 10 комбинаций, что очень мало. Возможны некоторые модификации данного подхода:

-блокировать доступ при неверно введенных, например, трех комбинаций пароля в течении какого то периода, например 90 секунд на какой-нибудь срок, скажем 10 минут;

-блокировать доступ при неверно введенных, например пяти попытках полностью, чтобы в дальнейшем блокировку мог снять только администратор и т.д.

8.Протоколировать все действия в автоматизированной системе [8]. Чем больше имеется

для этого ресурсов, и в зависимости от задач, тем более подробно осуществлять записи в журнал.

Пример записи:

-идентификатор самой записи;

-идентификатор сотрудника, осуществившего действие;

-время совершения события;

-тип события (авторизация, изменение записи и т.д.);

-полный запрос для попытки осуществления действия;

-результат выполнения операции (успешно/ неуспешно).

Например, кто то авторизовался или пытается авторизоваться в системе произошла запись, или пытается восстановить доступ к учетной записи произошла запись в журнал, или уже находясь в системе, делает какие-нибудь действия (добавление, удаление, просмотр, изменение) произошла запись и т.д.

Фундаментальные и прикладные исследования молодых учёных: материалы Международной научно- практической конференции студентов, аспирантов и молодых учёных, 8-9 февраля 2017 г.

ПРОГРАММНАЯ И АППАРАТНАЯ СОСТАВЛЯЮЩАЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ

И ИХ БЕЗОПАСНОСТЬ

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

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

инъекции для обхода авторизации берётся как раз первый пользователь.

10.В запросе на авторизацию используется только логин: Select * from users where login = ‘tut_login’ и на этом запрос заканчивается. Этот запрос вернет либо одну строку либо ничего, а дальше вся работа ведется со столбцами этого возвращенного результата сравниваются хэш

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

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

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

Методы, описанные выше предназначены для клиенткой части приложения, сама субд sql server’a поддерживает механизм ролей с ограничением прав. Так как в системе используется только одна роль необходимо разграничить функционал клиентской части приложения. Для

этого реализованы две версии приложения: пользовательская и версия для администратора.

Первая версия поддерживает один набор функций, другая свой набор (регистрация, изменение 726 данных, удаление, выполнение своего запроса и т.д.).

Заключение

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

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

Научный руководитель ст. преподаватель Любич С. А.

Библиографический список

1.Microsoft SQL Server [Электронный ресурс]. Режим доступа: https://msdn.microsoft.com/ruru/library/bb545450.aspx (дата обращения: 21.01.2017).

2.Кэширование данных в LINQ-to-SQL [Электронный ресурс]. Режим доступа: https://habrahabr.ru/post/106958/ (дата обращения: 21.01.2017).

3.Работа с подключенным уровнем ADO .NET в C# [Электронный ресурс]. Режим доступа: http://www.cyberforum.ru/ado-net/thread182279.html (дата обращения: 21.01.2017).

4.Алгоритмы интеллектуального анализа данных [Электронный ресурс]. Режим доступа: https://tproger.ru/translations/top-10-data-mining-algorithms/ (дата обращения: 21.01.2017).

5.Система безопасности SQL Server 2008 [Электронный ресурс]. Режим доступа: http://www.sql.ru/blogs/sql4enterprise/873 (дата обращения: 21.01.2017).

6.Регулярные выражения FAQ - C# [Электронный ресурс]. Режим доступа: http://www.cyberforum.ru/csharp-beginners/thread244709.html (дата обращения: 21.01.2017).

7.Аутентификация и шифрование данных [Электронный ресурс]. Режим доступа:

https://professorweb.ru/my/sql-server/2012/level3/3_9.php (дата обращения: 21.01.2017).

8. Шифрование SQL Server [Электронный ресурс]. Режим доступа: https://msdn.microsoft.com/ruru/library/bb510663.aspx (дата обращения: 21.01.2017).

Фундаментальные и прикладные исследования молодых учёных: материалы Международной научно- практической конференции студентов, аспирантов и молодых учёных, 8-9 февраля 2017 г.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]