Реферат
по теме: |
"Создание системы мониторинга действий пользователя ПК" |
Автор: |
Таран Антон Валентинович |
Введение
Системы мониторинга действий пользователя ПК - это программное обеспечение, призванное отслеживать, какие действия совершал пользователь во время работы на ПК.
Основные компоненты системы мониторинга действий пользователя ПК:
- Монитор клавиатуры - предназначен для получения информации введенной пользователем с клавиатуры, отмечая при этом с каком приложении производился ввод информации и в какое время.
- Монитор активности пользователя - предназначен для отслеживания времени начала и завершения работы пользователя ПК, степени загруженности процессора и оперативной памяти во время работы и т.п.
- Монитор сети - предназначен для получения информации о том, какие интернет-страницы посетил пользователь, сколько трафика использовал с указанием времени и адреса и т.п.
- Монитор запуска приложений - осуществляет слежения за запуском приложений пользователем с запоминанием его названия, заголовка окна, времени запуска, длительности работы и т.п. Также возможна функциональность запрета запуска указанных администратором системы мониторинга программ или ограничение времени работы с ними.
- Модуль создания автоскриншотов - предназначен для создания и сохранения снимков экрана сделанных в определенные моменты времени - периодично через определенные промежутки времени, при сильной загруженности процессора или большой активности клавиатуры и т.п.
- Модуль обработки информации и интерфейса - предназначен для обработки собранных данных и вывода их с удобной форме (диаграммы, таблицы, графики) администратору системы мониторинга.
Большинство систем мониторинга реализуют только часть этих функций.
Актуальность
На современном этапе развития информационных технологий практически ни одно рабочее место не обходится без компьютера. При этом проблемы администрирования и надсмотра руководства над подчиненными являются очень актуальными.
Вопросы проверить, действительно ли работник загружен на сто процентов, эффективно ли используется компьютер, сколько времени тратится работником на посторонние вещи (общение по интернету, просмотр фильмов, запуск игр, посещения интернет-страниц), как гарантировать невозможность заниматься в рабочее время такими вещами или ограничить это время, а также многие другие подобные проблемы постают практически на каждом предприятии.
При этом многие руководители осознают, что правильное решение этих проблем может повысить эффективность работы, уменьшить затраты на администрирование при помощи людского ресурса, повысить трудовую дисциплину на рабочих местах, что удлинит срок эксплуатации установленного программного обеспечения и лучшую сохранность ценных данных, расположенных на компьютере. Следовательно, написание программного продукта, эффективно выполняющего эти задачи, является актуальной задачей.
Научная новизна
Научная новизна данной работы заключается в подходе направленном на интеллектуализацию монторинга. В современных предприятиях почти каждый сотрудник снабжен персональным компьютером, а количества совершаемых между ними операций взаимодействия просто огромно для того, чтобы администратор или работник службы безопасности мог эффективно обрабатывать её в деталях. Следовательно появляется необходимость перенести эту нагрузку на программное обеспечение. Данная научная работа одной из главных ставит задачу исследования применения методов датамайнинга при обработке результатов мониторинга действий пользователя ПК, что является актуальным в следующих задачах системы мониторинга:
- фильтрация и группировка полученных в результате мониторинга данных
- выявление наиболее подходящего времени для снятия показаний с системы (в первую очередь скриншотов)
- выявление занятости пользователя делами, неотносящимися к работе
- классификация запускаемых программ, с целью запрета запуска нежелательных категорий (определенных администратором)
Практическая ценность
В результате выполнения данной научной работы будет разработан готовый программных продукт, который можно будет применить на предприятиях для мониторинги действий пользователей ПК. Наличие в нем функциональности описанной выше в научной новизне сделает его уникальным и поможет более эффективно справляться с поставленными задачами.
Цели и задачи работы
Объектом исследования выступают методы мониторинга компьютера от действий пользователя в системе Windows, методы обработки полученных результатов и их программная реализация на языке C#.
Цель выпускной работы магистра – исследование средств программного управления операционной системой Windows в среде .NET Framework, возможных к использованию для системы мониторинга действий пользователя ПК и методы обработки результатов мониторинга с целью классификации запускаемых приложений на типы "рабочие", "игровые", "коммуникационные", "интернет" и т.д.
Для достижения указанных целей ставятся следующие задачи:
- исследование средств мониторинга, предоставляемых операционной системой Windows и способов их использования на языке C#
- разработка программы - системы мониторинга действий пользователя ПК
- проведение мониторинга с использованием созданной системы и составления наборов залогированных данных для последующих исследований
- изучение возможности применения методов датамайнинга при обработке результатов мониторинга действий пользователя ПК, в частности, для решения задачи классификации запускаемых приложений
- разработка алгоритма для решения задачи классификации на основании полученных данных мониторинга и программной реализации методов классификации из датамайнинга.
Обзор задачи мониторинга действий пользователя ПК
При использовании .NET Framework наиболее мощным средством для программной реализации системы мониторинга действий пользователя ПК является инструментарий WMI.
Инструментарий управления Windows (WMI - Windows Management Instrumentation) — это стандартом инструментальных средств по доступу к информации управления в системе Windows. Эта информация включает в себя состояние памяти системы, информацию об установленных клиентских приложениях и другие данные о статусе клиента.
Технология WMI (Windows Management Instrumentation) - это одна из базовых технологий Microsoft для централизованного управления и слежения за работой различных частей компьютерной сети под управлением Windows. WMI пригодится прежде всего администраторам Windows, а также разработчикам программного обеспечения. Технология WMI - это реализация модели управления предприятием на базе Web (Web-Based Enterprise Management, WBEM), которая в свою очередь разработана при участии не только компании Microsoft, но и целого ряда других компаний. Задачей WBEM является разработка таких стандартов удалённого управления информационной средой предприятия, которые не зависят от конкретного оборудования, сетевой инфраструктуры, операционной системы, файловой системы и т.д. В рамках WBEM была предложена схема Common Information Model (CIM), которая представляет структуру компьютерной системы в виде единой расширяемой объектно-ориентированной модели и поддерживается в WMI.
Одним из основных преимуществ WMI является то, что они позволяют разработчикам приложений получать доступ к сведениям из разнообразных источников с помощью общей архитектуры. Источником сведений может быть часть аппаратного обеспечения, операционная система или программное приложение.
Архитектура WMI состоит из следующих трех ярусов:
1. Клиенты - компоненты программного обеспечения, выполняющие операции с помощью WMI (например, чтение подробных сведений об управлении, настройка систем и подписка на события).
2. Диспетчер объектов - посредник между поставщиками и клиентами, предоставляющий некоторые ключевые службы, такие как стандартная публикация событий или подписка, фильтрация событий, механизм запросов и т. д.
3. Поставщики - компоненты программного обеспечения, захватывающие и возвращающие реальные данные для клиентских приложений, обрабатывающие вызовы методов из клиентов и связывающие клиента с управляемой инфраструктурой.
На рисунке ниже представлена Архитектура WMI.
Архитектура WMI
В .NET Framework пространство имен System.Management предоставляет основные классы для работы с WMI.
System.Management - обеспечивает доступ к широкому набору управляющих данных и событий, связанных с управлением системой, устройствами и приложениями, оснащенными в соответствии с инфраструктурой инструментария управления Windows (WMI). Приложения и службы могут получать важные управляющие сведения (например, об объеме свободного места на диске, текущем уровне загрузки процессора, о том, к какой базе данных подключено конкретное приложение и т. п.). Запросы выполняются с использованием классов, производных от типов ManagementObjectSearcher и ManagementQuery, или через подписку на ряд управляющих событий с использованием класса ManagementEventWatcher. Доступные данные могут быть получены в распределенной среде как от управляемых, так и от неуправляемых компонентов.
Подписка на событие запуска и закрытия приложений осуществляется при помощи класса ManagementEventWatcher, параметром которому передается и экземпляр класса WqlEventQuery, содержащего запрос подписки на необходимое событие. Указание функций обработчиков происходит через класс EventArrivedEventHandler, которому в качестве аргумента передается имя функции-обработчика.
Обзор задачи классификации в датамайнинге
Сам термин Data Mining переводится как "извлечение информации" или "добыча данных". Нередко рядом с Data Mining встречаются слова knowledge discovery - "обнаружение знаний" и Data Warehouse - "хранилище данных". Возникновение указанных терминов, которые являются неотъемлемой частью Data Mining, связано с новым витком в развитии средств и методов обработки и хранения данных.
Цель Data Mining состоит в выявлении скрытых правил и закономерностей в наборах данных, образно говоря, в "нахождении золотых песчинок в огромной куче руды". Дело в том, что человеческий разум сам по себе не приспособлен для восприятия больших массивов разнородной информации. В среднем человек, за исключением некоторых индивидуумов, не способен улавливать более двух-трех взаимосвязей даже в небольших выборках. Но и традиционная статистика, долгое время претендовавшая на роль основного инструмента анализа данных, также нередко пасует при решении задач из реальной жизни. Она оперирует усредненными характеристиками выборки, которые часто являются фиктивными величинами (средней платежеспособностью клиента, когда в зависимости от функции риска или функции потерь, вам необходимо уметь прогнозировать состоятельность и намерения клиента; средней интенсивностью сигнала, тогда как вам интересны характерные особенности и предпосылки пиков сигнала и т.д.). Поэтому методы математической статистики оказываются полезными главным образом для проверки заранее сформулированных гипотез, тогда как определение гипотезы иногда бывает достаточно сложной и трудоемкой задачей. Современные технологии Data Mining перелопачивают информацию с целью автоматического поиска шаблонов (паттернов), характерных для каких-либо фрагментов неоднородных многомерных данных. В отличие от оперативной аналитической обработки данных (OLAP) в Data Mining бремя формулировки гипотез и выявления необычных (unexpected) шаблонов переложено с человека на компьютер. Data Mining - это не один, а совокупность большого числа различных методов обнаружения знаний. Выбор метода часто зависит от типа имеющихся данных и от того, какую информацию вы пытаетесь получить.
Выделяют пять стандартных типов закономерностей, которые позволяют выявлять методы Data Mining:
- ассоциация
- последовательность
- кластеризация
- прогнозирование
- классификация
Ассоциация имеет место в том случае, если несколько событий связаны друг с другом. Например, исследование, проведенное в супермаркете, может показать, что 65% купивших кукурузные чипсы берут также и "кока-колу", а при наличии скидки за такой комплект "колу" приобретают в 85% случаев. Располагая сведениями о подобной ассоциации, менеджерам легко оценить, насколько действенна предоставляемая скидка.
Если существует цепочка связанных во времени событий, то говорят о последовательности. Так, например, после покупки дома в 45% случаев в течение месяца приобретается и новая кухонная плита, а в пределах двух недель 60% новоселов обзаводятся холодильником.
Кластеризация отличается от классификации тем, что сами группы заранее не заданы. С помощью кластеризации средства Data Mining самостоятельно выделяют различные однородные группы данных.
Основой для всевозможных систем прогнозирования служит историческая информация, хранящаяся в БД в виде временных рядов. Если удается построить найти шаблоны, адекватно отражающие динамику поведения целевых показателей, есть вероятность, что с их помощью можно предсказать и поведение системы в будущем.
С помощью классификации выявляются признаки, характеризующие группу, к которой принадлежит тот или иной объект. Это делается посредством анализа уже классифицированных объектов и формулирования некоторого набора правил. Для решения задач классификации чаще всего применяют деревья решений.
Деревья решений – это способ представления правил в иерархической, последовательной структуре, где каждому объекту соответствует единственный узел, дающий решение.
Алгоритм дерева решений предназначен для решения задач регрессии и классификации, т.е. для выявления зависимости целевого параметра от значения других параметров. В процессе построения модели алгоритм итеративно вычисляет степень влияния каждого входного атрибута модели на значения выходного атрибута и использует атрибут, влияющий на выходной атрибут в наибольшей степени для разбиения узла дерева решений. Узел верхнего уровня описывает распределение значений выходного атрибута по всей совокупности данных. Каждый последующий узел описывается распределением выходного атрибута при соблюдении условий на входные атрибуты, соответствующие этому узлу. Модель продолжает расти до тех пор, пока разбиение узла на последующие узлы значительно увеличивает вероятность того, что выходной атрибут будет принимать какое-то определенное значение по сравнению со всеми другими значениями, т.е. разбиение увеличивает качество прогноза. Алгоритм также прекращает разбиение, когда число записей в базе данных, описываемых условиями узла, становится меньше определенного уровня. Алгоритм осуществляет поиск атрибутов и их значений, разбиение по которым позволяет с большей вероятностью правильно предсказать значение выходного атрибута.
Область применения деревья решений:
Описание данных: Деревья решений позволяют хранить информацию о данных в компактной форме, вместо них мы можем хранить дерево решений, которое содержит точное описание объектов.
Классификация: Деревья решений отлично справляются с задачами классификации, т.е. отнесения объектов к одному из заранее известных классов. Целевая переменная должна иметь дискретные значения.
Регрессия: Если целевая переменная имеет непрерывные значения, деревья решений позволяют установить зависимость целевой переменной от независимых(входных) переменных. Например, к этому классу относятся задачи численного прогнозирования(предсказания значений целевой переменной).
Преимущества использования деревьев решений:
- быстрый процесс обучения;
- генерация правил в областях, где эксперту трудно формализовать свои знания;
- извлечение правил на естественном языке;
- интуитивно понятная классификационная модель;
- высокая точность прогноза, сопоставимая с другими методами (статистика, нейронные сети);
- построение непараметрических моделей.
На сегодняшний день существует значительное число алгоритмов, реализующих деревья решений CART, C4.5, NewId, ITrule, CHAID, CN2 и т.д. Но наибольшее распространение и популярность получили следующие два:
CART (Classification and Regression Tree) – это алгоритм построения бинарного дерева решений – дихотомической классификационной модели. Каждый узел дерева при разбиении имеет только двух потомков. Как видно из названия алгоритма, решает задачи классификации и регрессии.
C4.5 – алгоритм построения дерева решений, количество потомков у узла не ограничено. Не умеет работать с непрерывным целевым полем, поэтому решает только задачи классификации.
Описание функциональности разрабатываемой системы мониторинга
Разрабатываемая система предназначена помочь начальникам лучше контролировать эффективность работы подчиненных, избавиться от распространенной проблемы игр и ICQ в рабочее время. На основе обработанных программой отчетов лучше планировать распределение работы между персоналом.
Как альтернатива в домашних условиях - может использоваться для ограничения доступа к компьютеру детей, ограничением времени для игр и т.п.
Основные поставленные задачи:
Осуществление наблюдения, контроль действий пользователя на компьютере и предоставление информации о том, сколько времени провел пользователь за компьютером, какие программы использовались, когда и как долго работал пользователь с конкретной программой, какие интернет-страницы были посещены; запрет открывания указанных типов программ (игровые, веб-общение, веб-серфинг, мультимедиа и др.). Сбор и анализ статистики времени работы и активного использования программ и составление на её основе отчетов в удобных для просмотра графиках и таблицах.
Главный акцент в проекте ставится на:
- создание "умного" алгоритма классификации запускаемых пользователем программ
- углубленный анализ и обработка полученных данных мониторинга перед показом их пользователю
- понятный пользовательский интерфейс и простая, но продуманная система настроек.
Основные планируемые возможности:
- ведение отчета запущенных EXE
- логирование времени открытия, закрытия и продолжительности работы каждой программы с запоминанием её названия/заголовка окна.
- логирование времени начала и конца активной работы пользователя на компьютере (взаимодействия при помощи клавиатуры и мыши), составление таблиц посещаемости рабочего места на неделю, месяц и т.д.
- логирование посещенных страниц в интернете (c указанием их размера)
- возможность включения создания автоскриншотов
1) через опред. промежутки времени
2) при сильной загруженности процессора или большой активности клавиатуры
- запрет запуска указанных администратором Droid of Monitoring типов программ
- ограничение времени на работу конкретной программы (например, Медиа проигрыватель - не больше 1 часа в день и т.п.)
- составление графиков, диаграмм, таблиц и текстовых логов на основе гибкой настройки и легко понятного интерфейса.
На рисунке ниже представлена модель работы разрабатываемой системы мониторинга.
Модель работы разрабатываемой системы мониторинга
Заключение
Здесь выложены промежуточные результаты выпускной работы магистра. Ориентировочная дата окончания работы – декабрь 2007 года. В ходе дальнейшего выполнения работы будут проводиться дальнейшие работы над поставленными задачами. На данный момент реализована часть функциональности системы мониторинга и проведен анализ многих методов классификации. В ближайшем будущем планируется завершить модуль мониторинга и начать собирать данные и проводить над ними исследования с помощью технологий датамайнинга. Завершающим этапом работы будет анализ полученных результатов и разработка алгоритма классификации программ запускаемых пользователем ПК.
Список литературы
1. Статья "An in-depth look at WMI and instrumentation, Part II" Klaus Salchner с портала DeveloperLand.com http://www.developerland.com/DotNet/Enterprise/147.aspx
2. Статья "Введение в Windows Management Instrumentation (WMI)" с портала script-coding.info http://www.script-coding.info/WMI.html
3. Статья "Вы всё ещё не используете WMI?" Константин Леонтьев с портала AV5 http://www.av5.com/journals-magazines-online/1/9/84
4. Статья "Внутренние угрозы ИТ-безопасности" Алексей Доля с портала BYTE/Россия http://www.bytemag.ru/\?ID=603365
5. Материалы электронного учебника StatSoft http://www.statsoft.ru/home/textbook/
6. Статья "Data mining и статистика: плюсы и минусы" с портала SnowCactus http://www.snowcactus.ru/dmvsstat.htm
7. Статья "Деревья решений - общие принципы работы" с портала BaseGroup Labs http://basegroup.ru/trees/description.htm
8. Статья "Технология Data Mining" с портала Deep Data Diver technology http://www.datadiver.nw.ru/dm_tec.htm
9. Статья "Отличия алгоритма дерева решений от ассоциативных правил в задачах классификации" с портала Business Data Analytics http://www.businessdataanalytics.ru/DecisionTreesVsAssociationAlgorithm.htm
10. Материалы сайта Data Miner System & Scoring StatSoft http://www.spc-consulting.ru/DMS/index.htm
11. Автореферат к магистерской работе по теме: "Автоматизированное извлечение знаний из баз данных" магистра ДонНТУ Чернова И.А. http://masters.donntu.ru/2006/fvti/ichernov/diss/index.htm
При написании данного реферата магистерская работа еще не завершена и находится в стадии разработки. Окончательное завершение исследований планируется до 01.01.2008. Полный текст работы и материалы по теме могут быть получены у автора после указанной даты.
|