Пояснительная записка (1195493), страница 2
Текст из файла (страница 2)
Возник вопрос о выборе средства для решения данной проблемы. Существуют готовые решения, которые можно приобрести и установить на предприятии. Выбор был остановлен на продукте Zecurion Zlock (Device Control). Он предназначен для защиты от утечек конфиденциальной информации на конечных точках сети. Zecurion Zlock позволяет контролировать использование устройств, подключаемых к портам USB, LPT, COM, IrDA, IEEE 1394, слоту PCMCIA, внутренних устройств – в том числе встроенных сетевых карт, модемов, Bluetooth, Wi-Fi, CD/DVD-дисководов, а также локальных и сетевых принтеров. Протоколирует использование устройств, подключаемых к этим портам. Данный продукт предоставляет ряд ненужных функций связанных с отсутствием портов и возможностей на АРМ сотрудников предприятия. Излишки функционала продукта представлены в таблице 1.2.1.
Таблица 1.2.1 – Излишки функционала Zecurion Zlock
| Возможности контроля Zecurion Zlock (Device Control) | Использование на предприятии |
| Контроль USB портов | Являются основными используемыми портами на АРМ сотрудников |
| Контроль LPT портов | Отсутствуют на АРМ сотрудников |
| Контроль COM портов | Отсутствуют на АРМ сотрудников |
| Контроль IrDA портов | Отсутствуют на АРМ сотрудников |
| Контроль IEEE 1394 портов | Отсутствуют на АРМ сотрудников |
| Контроль слотов PCMCIA | Отсутствуют на АРМ сотрудников |
| Контроль встроенных сетевых карт, модемов, Wi-Fi | Доступ к сети предприятия имеют все АРМ сотрудников, но выход во внешнюю сеть, Интернет, имеют лишь АРМ нескольких доверенных сотрудников |
| Контроль Bluetooth | Отсутствует на АРМ сотрудников |
| Контроль CD/DVD-дисководов | Присутствуют только у сетевого администратора и директора |
| Контроль локальных и сетевых принтеров | Один локальный принтер на АРМ. |
На предприятии имеется 15 АРМ для сотрудников, стоимость лицензии Zecurion Zlock (Device Control) на 15 АРМ составляет 54000 рублей.
Большинство возможностей данного продукта являются излишними, а цена слишком большой суммой для данного предприятия. Поэтому было решено разработать собственный программный продукт.
Целью выпускной квалификационной работы является разработка программного продукта для контроля использования flash-накопителей информации.
Данный продукт должен отвечать следующим требованиям:
-
регистрация пользователей;
-
назначение множественных ролей пользователям;
-
разделение пользователей на должности;
-
регистрация flash-накопителей информации;
-
гибкое разграничение прав на использование flash-накопителей информации;
-
идентификация и аутентификация пользователей;
-
идентификация и аутентификация flash-накопителей информации;
-
запрет или разрешение использования flash-накопителей информации;
-
протоколирование аутентификаций пользователей;
-
протоколирование использований flash-накопителей информации.
Для регистрации пользователей требуется реализовать механизм регистрации пользователей, с последующим хранением их идентификационных и аутентификационных данных. Также следует хранить пароль для аутентификации в защищенном виде.
Для назначения множественных ролей пользователям требуется реализовать механизм хранения списка ролей и их множественного назначения пользователям.
Для разделения пользователей на должности требуется реализовать механизм хранения списка должностей и их назначения пользователям.
Для регистрации flash-накопителей информации требуется реализовать механизм регистрации flash-накопителей информации, с последующим хранением их идентификационных и аутентификационных данных.
Для гибкого разграничения прав на использование flash-накопителей информации требуется реализовать механизм хранения списка прав и их назначения: пользователям, должностям, flash-накопителям, пользователям к конкретным flash-накопителям, должностям к конкретным flash-накопителям.
Для идентификации и аутентификации пользователей требуется реализовать механизм идентификации и аутентификации пользователей в системе и получения их списка прав.
Для идентификации и аутентификации flash-накопителей информации требуется реализовать механизм идентификации и аутентификации flash-накопителей информации в системе и получения их списка прав.
Для запрета или разрешения использования flash-накопителей информации требуется реализовать механизм разрешения или запрета действий с flash-накопителем для пользователя на основе полученных прав для пользователя и flash-накопителей.
Для протоколирования аутентификаций пользователей требуется реализовать механизм отслеживания и хранения данных об аутентификации пользователей
Для протоколирования использований flash-накопителей информации требуется реализовать механизм отслеживания и хранения данных об использовании flash-накопителей информации в системе.
2 Теоретические аспекты реализуемых функций
Для получения информации о flash-накопителях и работы с ними используется технология WMI, так как на АРМ-ах и сервере предприятия установлены ОС семейства Windows. Windows Management Instrumentation (WMI) в дословном переводе – инструментарий управления Windows. WMI – это одна из базовых технологий для централизованного управления и слежения за работой различных частей компьютерной инфраструктуры под управлением платформы Windows. Схема архитектуры WMI приведена на рисунке 2.1.
Рисунок 2.1 – Архитектура WMI
По своей сути WMI – это расширенная и адаптированная компанией Microsoft реализация стандарта WBEM (WebBased Enterprise Management компании DMTF Inc). В основе WBEM лежит идея создания универсального интерфейса мониторинга и управления к различным системам и компонентам распределенной информационной среды предприятия с использованием объектно-ориентированной идеологии и широко распространенных веб-технологий представления информации: протоколов XML и HTTP. Стандарт WBEM является правопреемником стандарта DMI (Desktop Management Interface).
В основе структуры представления данных в стандарте WBEM лежит CIM (Common Information Model – модель информации общего типа), реализующая объектно-ориентированный подход к представлению компонентов систем как классов со своим набором свойств и методов, а также принципов наследования.
Основное средство для описания новых элементов модели CIM – это синтаксис языка Managed Object Format (MOF), который является текстовым и легко понятным человеку. Таким образом, любое приложение или драйвер в операционной системе, которая поддерживает стандарт WBEM, может добавить к системной модели CIM свой набор классов. Такое расширение модели CIM позволяет легко интегрировать в единую систему мониторинга и управления все новые и новые приложения. Для этой интеграции приложение должно лишь зарегистрировать свои классы в существующей модели CIM и обеспечить стандартные вызовы встроенных процедур для создания объектов этих классов и наполнения их свойствами и методами. Набор этих процедур оформляется, как WMI Provider – специальная библиотека, являющаяся мостом между любым приложением и ядром службы WMI.
Важной особенностью WMI является то, что хранящиеся в нём объекты соответствуют динамическим ресурсам, то есть параметры этих ресурсов постоянно меняются, поэтому параметры таких объектов не хранятся постоянно, а создаются по запросу потребителя данных. Хранилище свойств объектов WMI называется репозиторием и расположено в системной папке операционной системы Windows: %SystemRoot%\System32\WBEM\Repository. Так как WMI построен по объектно-ориентированному принципу, то все данные операционной системы представлены в виде объектов и их свойств, и методов.
Все классы группируются в пространства имен, которые иерархически упорядочены и логически связаны друг с другом по определенной технологии или области управления. В WMI имеется одно корневое пространство имен Root, которое в свою очередь имеет четыре подпространства: CIMv2, Default, Security и WMI.
Классы имеют свойства и методы и находятся в иерархической зависимости друг от друга, то есть классы-потомки могут наследовать или переопределять свойства классов-родителей, а также добавлять свои свойства.
Свойства классов используются для однозначной идентификации экземпляра класса и для описания состояния используемого ресурса. Обычно все свойства классов доступны только для чтения, хотя некоторые из них можно модифицировать определенным методом. Методы классов позволяют выполнить действия над управляемым ресурсом.
К каждому экземпляру класса можно обратиться по полному пути, который имеет следующую структуру:
[\\ComputerName\NameSpace][:ClassName][.KeyProperty1=Value1][,KeyProperty2=Value2]…], где:
-
ComputerName – имя компьютера
-
NameSpace – название пространства имен
-
ClassName – имя класса
KeyProperty1=Value1, KeyProperty2=Value2 – свойства объекта и значение по которому он идентифицируется.
Экземпляры классов могут генерировать события, к которым можно подписываться. При наступлении события WMI автоматически создает экземпляр того класса, которому соответствует это событие. Такой механизм удобно использовать для выполнения определенной команды при наступлении определенного события, то есть следить за состоянием объектов операционной системы.
Общая безопасность в WMI реализуется на уровне операционной системы, а дополнительная политика безопасности основана на уровнях пространств имен и протокола DCOM. То есть если пользователь не имеет права делать какое-то действие через операционную систему, он не сможет это сделать и через WMI. Если же пользователю дано какое-то право в операционной системе, то это ещё не означает, что это право будет и в WMI, так как в WMI действуют дополнительные параметры безопасности на уровне пространств имен.
Каждый объект операционной системы имеет своё описание безопасности (SD) со своим списком доступа (ACL), в котором перечислены идентификаторы пользователей (SID) и их привилегии. Каждое пространство имен может иметь собственное SD со своим ACL, где пользователям могут быть назначены разрешения на чтение данных, выполнение методов, запись классов и данных и другие. Данные о дополнительных разрешениях хранятся в репозитории WMI. Отдельные классы из пространств имен не имеют собственных описаний безопасности, они наследуют их от своего пространства имен.
По умолчанию администратор компьютера имеет полные права на использование WMI, а остальные пользователи могут лишь вызывать методы, считывать данные и записывать в репозиторий экземпляры классов провайдеров WMI.
Для доступа к инфраструктуре WMI используется протокол DCOM, через который пользователь подключается к WMI. Чтобы определить, какие права будут у подключившегося пользователя, используется механизмы олицетворения и аутентификации протокола DCOM.
Для обращения к объектам WMI используется специфический язык запросов WMI Query Language (WQL), который является одной из разновидностей SQL. Основное его отличие от ANSI SQL – это невозможность изменения данных, то есть с помощью WQL возможна лишь выборка данных с помощью команды SELECT. Помимо ограничений на работу с объектами, WQL не поддерживает такие операторы как DISTINCT, JOIN, ORDER, GROUP, математические функции. Конструкции IS и NOT IS применяются только в сочетании с константой NULL.
Запросы WQL обычно применяются в скриптах, но их также можно протестировать в программе Wbemtest и в консольной утилите Wmic (утилита wmic не требует написания ключевого слова SELECT и полей выборки).
Ниже приведен пример некоторых типичных WQL-запросов:
-
SELECT * FROM Win32_LogicalDisk WHERE FileSystem IS NULL;
-
SELECT * FROM Win32_LogicalDisk WHERE FileSystem IS NOT NULL;
-
SELECT * FROM Win32_LogicalDisk WHERE FileSystem = "NTFS";
-
SELECT * FROM Win32_DiskDrive WHERE Partitions < 2 OR SectorsPerTrack > 100;
-
SELECT * FROM Win32_LogicalDisk WHERE (Name = "C:" OR Name = "D:") AND FreeSpace > 2000000 AND FileSystem = "NTFS";
-
SELECT * FROM Win32_NTLogEvent WHERE Logfile = 'Application';
-
SELECT * FROM Meta_Class WHERE __Class LIKE %Win32%;
-
SELECT * FROM __InstanceCreationEvent WHERE TargetInstance ISA "Win32_NTLogEvent" GROUP WITHIN 600 BY TargetInstance.SourceName HAVING NumberOfEvents > 25;
Для хранения паролей в защищенном виде используется криптографическая хэш-функция SHA-512, входящая в состав семейства алгоритмов SHA-2. SHA-2 (англ. Secure Hash Algorithm Version 2 – безопасный алгоритм хеширования, версия 2) – семейство криптографических алгоритмов – однонаправленных хеш-функций, включающее в себя алгоритмы SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/256 и SHA-512/224, их характеристики представлены в таблице 2.1. Хеш-функции предназначены для создания «отпечатков» или «дайджестов» сообщений произвольной битовой длины. Применяются в различных приложениях или компонентах, связанных с защитой информации. Хеш-функции семейства SHA-2 построены на основе структуры Меркла – Дамгарда.
Исходное сообщение после дополнения разбивается на блоки, каждый блок – на 16 слов. Алгоритм пропускает каждый блок сообщения через цикл с 64 или 80 итерациями (раундами). На каждой итерации 2 слова преобразуются, функцию преобразования задают остальные слова. Результаты обработки каждого блока складываются, сумма является значением хеш-функции. Тем не менее, инициализация внутреннего состояния производится результатом обработки предыдущего блока. Поэтому независимо обрабатывать блоки и складывать результаты нельзя.















