СИСТЕМА И СПОСОБ УСКОРЕНИЯ РЕШЕНИЯ ПРОБЛЕМ ЗА СЧЕТ НАКОПЛЕНИЯ СТАТИСТИЧЕСКОЙ ИНФОРМАЦИИ
SYSTEM AND METHOD OF SPEEDING UP PROBLEM SOLVING BY ACCUMULATING STATISTICAL INFORMATION

Область техники
Изобретение относится к антивирусным системам, в частности системам и способам ускорения решения проблем за счет накопления статистической информации.
Уровень техники
В настоящее время распространение вредоносного программного обеспечения (далее ПО) увеличивается, а вследствие этого увеличивается вред, который данное ПО приносит компьютерным системам. Существующие системы защиты персональных компьютеров, а также компьютеров в корпоративной сети основаны на обнаружении уже известных угроз. Однако новые угрозы появляются все чаще и чаще, и поэтому становятся необходимыми методы распознавания неизвестных угроз. С ростом коммуникационных сетей, таких как Интернет, увеличивается потребность в обмене данными, включая все более растущее использование почтовых сообщений. Поэтому заражение компьютеров посредством передачи данных через коммуникационные каналы или обмен файлами является важной задачей. Заражения могут принимать различные формы, но в основном они бывают в виде компьютерных вирусов, троянских программ.
События, связанные с почтовыми атаками, имеют серьезные последствия как для поставщиков интернет-услуг (ISP), так и для множества компаний. Следовательно, существует необходимость в улучшении стратегии обнаружения вредоносных атак.
Для обнаружения вредоносных программ применяются различные методы обнаружения. Такими методами могут быть сигнатурное детектирование, которое использует шаблоны кода, полученные из известных вредоносных программ для сканирования объектов на наличие в коде данных шаблонов, технологии проверки целостности информации, использующие код уже известных доверенных (чистых) программ и создающие на их основе экземпляр чистого кода программы для последующего сравнения с приложениями, системы проверки целостности информации, создающие длинные списки модифицированных файлов после обновлений операционной системы, системы наблюдения контрольной суммы, основанные на генерации значения циклического кода избыточности (CRC) для каждого программного файла, и т.д.
Одновременно в защитном комплексе могут применяться разные виды обнаружения для увеличения точности обнаружения вредоносных программ. Представленные методы реализованы зачастую в аналитических модулях, которые собирают информацию о вредоносных или чистых объектах, проводят некоторые исследования и на их основе делают вывод о вредоносности того или иного объекта. Следует также отметить, что очень часто аналитические модули реализуются независимо друг от друга, а соответственно используют свои источники информации, свои исследования накапливают в своих средствах хранения. Такие аналитические модули редко предоставляют накопленную информацию другим модулям, т.к. для интеграции модулей требуются большие технические затраты из-за разной реализации модулей, разного представления одних и тех же объектов. Поэтому, если для исследования одному модулю требуется информация, которой нет в средстве хранения этого модуля, то получить ее от других модулей защитного комплекса сложно и еще более трудозатратно, чем, нежели попытаться найти эту информацию.
Одной из целей представленного изобретения является увеличение скорости реагирования на возникающие проблемы, связанные с определением вредоносного программного обеспечения на компьютерах пользователей.
В текущем уровне компоненты защитного комплекса строятся разрозненно друг от друга, имеют свои базы данных о вредоносных и чистых объектах.
Такие системы создания единого средства хранения данных для всего комплекса программ представлены, например, в патентной заявке US 20100076793 A1. В данной заявке раскрывается идея создания автоматической системы анализа компьютера, созданной для обнаружения вредоносного кода. Система создает и последовательно анализирует шаблон поведения для каждой программы, установленной на компьютере. Шаблон поведения создается с помощью виртуальной машины.
В патенте US 7239998 используется унифицированная интерпретация запросов от внешних и внутренних модулей к средству хранения данных. В патенте описывается технология обработки фразы на одном языке и ее перевода на другой язык, основываясь на множестве возможных лингвистических шаблонов. В патенте US 7424701 описывается аналогичное использование технологии представления знаний.
Для унифицированной передачи данных хорошо зарекомендовал себя язык XML. Например, в патенте US 6564321 описывается система, подключаемая к общей телефонной сети, и которая использует для передачи данных язык XML. Это позволяет унифицировать формат передаваемой информации, однако приведенная система не направлена на накопление информации и ее последующего анализа с целью определения дальнейших действий, что не позволяет усовершенствовать и оптимизировать работу системы.
Анализ предшествующего уровня техники и возможностей, которые появляются при комбинировании их в одной системе, позволяют получить новый результат, а именно систему для ускорения решения проблем за счет накопления статистической информации. Результат данной системы предоставляется в виде системы для универсального взаимодействия компонент и их доступа к общим ресурсам.
Раскрытие изобретения
Технический результат настоящего изобретения заключается в ускорении решения проблем за счет накопления статистической информации за счет создания системы для универсального взаимодействия компонент и их доступа к общим ресурсам.
В одном из вариантов реализации предоставляется система решения проблем за счет накопления статистической информации, которая включает в себя: средство управления, предназначенное для получения статистической информации о проблеме в виде объектов, представляющих потенциальную угрозу, от компьютеров пользователей и ее передачи средству хранения данных; упомянутое средство хранения данных, предназначенное для получения и хранения данных об объектах, представляющих потенциальную угрозу, связанное со средством интерпретации; упомянутое средство интерпретации, предназначенное для получения данных об исследуемых объектах от средства хранения данных и предоставления этих данных аналитическим модулям с помощью единого формата представления данных для описания объектов и их параметров; упомянутые аналитические модули, предназначенные для получения описания объектов и их параметров с помощью единого формата представления данных от средства интерпретации и их анализа на наличие вредоносного поведения, а также последующей передачи описания объектов и их параметров об исследовании средству интерпретации; при этом упомянутые аналитические модули получают информацию об объекте и его параметрах в виде единого формата представления данных, которые сохраняются в каждом аналитическом модуле для дальнейшего накопления и использования в процессе поиска решений проблем с помощью аналитического модуля, при этом в случае нахождения решения на основании накопленной информации упомянутые аналитические модули передают информацию о решении проблемы средству интерпретации, которое затем передает информацию о решении проблемы средству управления, которое, в свою очередь, сообщает информацию о решении проблемы компьютеру пользователя.
В одном из частных вариантов реализации средство управления также предназначено для получения запроса от компьютера пользователя на исследование.
В еще одном из частных вариантов реализации средство управления также предназначено для отслеживания появления данных от аналитических модулей в ответ на запрос пользователей.
Также в одном из частных вариантов реализации средство управления также предназначено для передачи данных в ответ на запрос пользователя.
В другом из частных вариантов реализации средство хранения данных также предназначено для хранения данных обо всех объектах, с которыми работают компоненты системы, как внешние, так и внутренние.
В одном из частных вариантов реализации средство интерпретации также предназначено для выполнения запросов аналитических модулей к средству хранения данных.
Дополнительно в одном из частных вариантов реализации средство интерпретации также для выполнения запросов к средству хранения данных использует язык разметки, такой как XML.
В еще одном из частных вариантов реализации средство хранения данных также предназначено для сбора данных следующего типа: файл; URL; учетная запись систем мгновенного обмена сообщениями; имя хоста; IP адрес; доменное имя; электронное сообщение.
В другом варианте реализации предоставляется способ решения проблем за счет накопления статистической информации, который включает: получение информации об объектах, представляющих потенциальную угрозу, от компьютеров пользователей; сохранение полученной от компьютеров пользователей информации; интерпретация полученной от компьютеров пользователей информации с помощью единого формата представления данных для описания объектов и их параметров; передача интерпретированной информации об объектах на аналитические модули; анализ интерпретированной информации с помощью аналитических модулей для получения решения, связанного с объектами, представляющими потенциальную угрозу; выдача решения от аналитических модулей при накоплении интерпретированной информации, достаточной для получения решения, по крайней мере, одним из аналитических модулей.
Краткое описание чертежей
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:
Фиг.1а показывает примерный вариант реализации структуры взаимодействия компонент аналогичной системы предыдущего уровня техники.
Фиг.1б показывает примерный вариант реализации структуры взаимодействия компонент системы представленного изобретения.
На фиг.2 изображен примерный вариант реализации представленного изобретения.
Фиг.3а показывает примерный вариант реализации структуры объекта.
Фиг.3б показывает примерный вариант реализации объединения объектов по имени файла.
Фиг.3в показывает примерный вариант реализации объединения объектов по MD5-сумме.
Фиг.4 показывает примерный вариант реализации блок-схемы создания нового класса событий.
Фиг.5 показывает примерный вариант реализации блок-схемы процесса автоматического проведения частотного анализа.
Фиг.6 показывает примерный вариант реализации структуры класса объекта.
На фиг.7 приведен пример фрагмента справочника.
Фиг.8 иллюстрирует способ реализации настоящего изобретения.
Описание вариантов осуществления изобретения
Далее будут описаны примерные варианты реализации настоящего изобретения со ссылкой на сопровождающие чертежи. Объекты и признаки настоящего изобретения станут очевидными посредством отсылки к примерным вариантам реализации. Однако настоящее изобретение не ограничивается примерными вариантами реализации, раскрытыми ниже, она может воплощаться в различных видах. Сущность, определенная в описании, является ничем иным, как конкретными деталями, предоставленными для помощи специалисту в области техники в исчерпывающем понимании изобретения, и настоящее изобретение определяется только в объеме приложенной формулы.
Настоящее изобретение используется в компьютерах общего назначения, например, обычных компьютерах или серверах. Такие компьютеры содержат процессор, системную память и системную шину, которая соединяет разные системные компоненты, включая системную память, с процессором. Системная шина может быть одним из нескольких типов шинной структуры, включая шину памяти или контроллер памяти, периферийной шиной и локальной шиной, использующей любую шинную архитектуру. Системная память включает в себя постоянную память (ROM) и оперативную память (RAM).
Базовая система ввода-вывода (BIOS) содержит основные программы, которые помогают передавать информацию между элементами компьютерной системы, и сохраняется в ROM. Компьютер может дополнительно содержать накопитель на жестком диске для чтения или записи на жесткий диск, накопитель на магнитных дисках для считывания с/записи на сменный магнитный диск, и накопитель на оптических дисках для чтения с или записи на сменный оптический диск, такой как CD-ROM, DVD-ROM или другие оптические носители.
Накопитель на жестком диске, накопитель на магнитных дисках и накопитель на оптических дисках также соединяются с системной шиной посредством интерфейса накопителя на жестком диске, интерфейса накопителя на магнитных дисках и интерфейса накопителя на оптических дисках соответственно. Накопители и связанные с ними машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых команд, структур данных, программных модулей и других данных для компьютера.
Компьютер может также содержать магнитные кассеты, карты флэш-памяти, цифровые видеодиски, картриджи Бернулли, оперативные памяти (RAM), постоянные памяти (ROM) и другие виды памяти.
Ряд программных модулей может быть сохранен на жестком диске, магнитном диске, оптическом диске, ROM или RAM, включая операционную систему (например, Windows™ 2000). Компьютер включает в себя также файловую систему, связанную с/включенную в операционную систему, такую как Windows NT™ File System (NTFS), одну или более прикладных программ, другие программные модули и данные программ. Пользователь может вводить команды и информацию в компьютер с помощью устройств ввода/вывода, таких как клавиатура и указательное устройство (мышь).
Другие устройства ввода могут включать в себя микрофон, джойстик, игровой планшет, спутниковую антенну, сканер или т.п. Эти и другие устройства ввода/вывода соединены с процессором через интерфейс последовательного порта, который соединен с системной шиной. Следует отметить, что эти устройства ввода/вывода могут соединяться с другими интерфейсами, такими как параллельный порт или универсальный последовательный порт (USB). Монитор или другой тип устройства отображения также соединяется с системной шиной через интерфейс, такой как видеоадаптер. Кроме того, компьютер может включать в себя другие периферийные устройства вывода, такие как динамики и принтеры.
Компьютер, в котором используются заявленные системы, работает в сетевой среде, использующей логические соединения с одним или более удаленными компьютерами. Удаленный компьютер (или компьютеры) могут быть другими компьютерами, серверами, маршрутизаторами, сетевыми PC, одноранговым устройством или другим общим сетевым узлом. Этот компьютер может быть подсоединен к локальной сети (LAN) или к глобальной сети (WAN), к сети в офисах, Интернету или Интранету.
Когда компьютер используется в сетевой среде LAN, компьютер соединяется с локальной сетью через сетевой интерфейс или адаптер. Когда используется в сетевой среде WAN, компьютер обычно включает в себя модем или другие средства для установления связи через глобальную сеть, такую как Интернет. Модем, который может быть внутренним или внешним, соединен с системной шиной через интерфейс последовательного порта.
Настоящее изобретение описывает систему, которая сохраняет информацию обо всех найденных объектах в едином средстве хранения данных, обеспечивая доступ к представленному средству для аналитических модулей, находящихся как внутри системы, так и снаружи.
В существующих системах защиты компьютера пользователя, предусмотрены различные варианты приложений, как для домашних пользователей, так и для корпоративных сетей. Все приложения защитного комплекса помогают организовать и контролировать централизованную защиту компьютеров в корпоративной сети, объединяющую в единую систему разные уровни защиты: рабочие компьютеры, серверы, работающие под управлением различных операционных систем, а также мобильных устройств, почтовых серверов и интернет-шлюзов. Однако на данный момент каждое из приложений комплекса защиты имеет обособленные друг от друга средства хранения данных. Также существуют аналитические модули, которые исследуют различные подозрительные объекты на компьютере пользователя, и при этом данные собираются в различных средствах хранения. При отсутствии общей интеграции между представленными средствами хранения возможна ситуация, когда одно средство хранения может содержать неполную информацию обо всех известных защитному комплексу вредоносных угрозах.
В одном варианте реализации предлагается система, которая предназначена для объединения средств хранения данных защитного комплекса, а также для предоставления доступа к этому средству хранения всем приложениям. В соответствии с вариантом реализации в средствах хранения данных защитного комплекса представлены события различного рода, а именно сведения об обнаруженных и уничтоженных вредоносных программах, обновлениях баз данных приложений (в том числе и антивирусного приложения), проблемах в работе приложений (например, того же антивирусного приложения), списков групп и компьютеров в них и т.п. При предоставлении доступа к данной информации появляется возможность создания системы обработки и визуализации данных любого типа. Данные системы могут быть разработаны не только одной компанией, но сразу несколькими, которые выпускают различные приложения, связанные с компьютерной безопасностью. Также компоненты антивирусного приложения, работающие со средством хранения данных, могут находиться на разных персональных компьютерах или серверах. Со средством хранения данных смогут работать средства, работающие под разными операционными системами (например, Windows, UNIX, Mac OS и т.д.).
С помощью представленного варианта реализации настоящего изобретения предоставляется возможность более гибкой настройки в работе различных приложений. Например, для настройки правил безопасности при обнаружении на компьютере вирусов класса «Trojan-PSW» или «Backdoor» можно задать настройку, которая отключает доступ к сети Интернет и электронной почте. В случае работы без доступа к средству хранения данных доступ отключается до выяснения обстоятельств об опасности обнаруженных приложений. Но в соответствии с вариантом реализации возникает возможность быстрее реагировать на событие, а именно увеличивать скорость распознавания объектов как чистых или вредоносных, таким образом, создать автоматический блокиратор. Регистрация всех инцидентов осуществляется в едином средстве хранения данных (такими инцидентами могут быть, например, данные о вирусах).
Фиг.1а показывает примерный вариант реализации структуры взаимодействия компонент аналогичной системы предыдущего уровня техники. При запросе от персонального компьютера пользователя 110 проходит достаточно большое количество времени, прежде чем будет получен ответ от средства 120 поддержки. Это связано с тем, что в рамках данной системы требуется большое количество времени при ожидании отклика средством 120 поддержки от средства 130 анализа, т.к. в большинстве случаев они взаимодействуют с помощью электронной почты и требуют вмешательства специалистов, которые обслуживают средство 120 поддержки и средство 130 анализа.
Фиг.1б показывает примерный вариант реализации структуры взаимодействия компонент системы представленного изобретения. Между средством поддержки 120 добавляется средство 140 универсального взаимодействия компонент, которое призвано ускорить взаимодействие между средством 120 поддержки и средством 130 анализа.
На фиг.2 изображен примерный вариант реализации представленного изобретения. Система 200 универсального взаимодействия компонент и их доступа к общим ресурсам состоит из средства 210 управления, предназначенного для получения информации от клиентских компьютеров 110 (обозначены как персональные компьютеры (ПК), которые формируют поток данных 1), ее обработки и контроля над выполнением запроса от компьютера пользователя. Полученная от клиентских компьютеров 210 информация может содержать в себе описание проблемной ситуации, а также подозрительные файлы или почтовые сообщения, ссылки и т.д. Таким образом, данная информация передается средству 210 управления, которое в свою очередь обрабатывает полученные данные и отправляет их средству 230 хранения данных (поток данных 2). Средство 240 интерпретации, предназначенное для передачи данных об исследуемых объектах (поток данных 3) между средством хранения данных и внешними аналитическими модулями, которые могут использовать различные протоколы (например, HTTP или HTTPS) для передачи данных вышеупомянутому средству 240. На фиг.2 показано, что к средству 240 интерпретации обращаются (показано как поток данных 4) аналитические модули 250 и 260, выполняющие обработку и классификацию событий, а также их анализ и экспертную оценку. При этом данные модули 250 и 260 могут работать как в рамках системы 200 универсального взаимодействия компонент (как модуль 250), так и за ее пределами (как модуль 260). К средству 240 интерпретации также подключен сервер 270 сторонней компании (поток данных 5). Сервер 270 сторонней компании может использоваться как частная экспертная система для обработки данных (например, от средства 240 интерпретации), так и служить еще одним источником информации о проблемных ситуациях пользователей, включая данные о подозрительных файлах или почтовых сообщениях. В частном варианте реализации средство 240 интерпретации для передачи информации использует средства языка разметки XML.
Таким образом, для всех сервисов и компонент защитного комплекса осуществляется единое средство 230 хранения данных. При создании нового аналитического модуля, который исследует и анализирует какие-либо объекты (например, файлы), являясь, таким образом, источником полезной информации, заводится новый класс событий. С помощью созданного класса аналитический модуль посылает всю найденную информацию средству 240 интерпретации, которое затем сохраняет эти данные в средстве 230 хранения данных. После этого информация накапливается в средстве хранения данных 230, а средство 210 управления позволяет оценивать важность и значимость накапливаемой информации. Аналогичным образом возможна интеграция в защитный комплекс любой новой разработки, которая может предоставлять полезную информацию.
Представленная система передает информацию о различных объектах в виде классов. На фиг.3а изображено, что вся информация о параметрах класса условно делится на две части - на базовую информацию 310 и дополнительную информацию 320. Базовая информация 310 может содержать, например, информацию о типе объекта (файл или ссылка), источнике объекта, о том, где и когда объект был создан, кому он адресовался, и т.д. Вся остальная информация, описывающая этот объект, составляет дополнительную информацию 320 и зачастую с приемной стороны не обрабатывается, но накапливается. Данная информация может использоваться при появлении новых задач или проблем, а также областей, в которых можно применить дополнительную информацию. Если впоследствии создается новый класс событий, то в накопленных данных для уже имеющихся событий можно найти информацию, которая может быть использована в созданном классе. Если система получает новый поток событий или новые метаданные, то она принимает решение, считать ли эти данные новым событием, игнорировать их, или предпринять другое действие. Существует возможность создания объектов, у которых часть полей совпадает, а часть полей - нет. Например, один и тот же вредоносный файл может быть найден разными модулями, по нему может быть проставлено разное количество полей в разных случаях, а иногда и разная информация в одних и тех же полях. Эти объекты можно группировать по совпадающим параметрам для того, чтоб получать все варианты использования не совпадающих параметров. Например, файлы 330 и 340 можно группировать по имени и получать все MD5-суммы для объектов с одинаковым именем, как показано на фиг.3б. Аналогично, можно группировать объекты 350 и 360 по MD5-сумме, и получать все варианты наименования в системах пользователей (под разными именами, в разных местоположениях), как показано на фиг.3в. В зависимости от группировки по атрибуту, можно получать разные группы объектов и находить разные зависимости.
На фиг.4 изображена последовательность действий при возникновении нового класса объектов. На шаге 410 аналитический модуль, нашедший в ходе анализа новый вид объектов для исследования, (далее «отправляющий») реализует новую форму анализа данных. В связи с этим на шаге 420 отправляющий аналитический модуль передает средству 240 интерпретации новый вид объектов для их добавления в средство 230 хранения данных. На шаге 430 принимающий аналитический модуль принимает данные, но он ничего не знает об этих объектах. Поэтому на шаге 440 принимающий аналитический модуль накапливает информацию на случай, если в дальнейшем эта информация потребуется. Принимающая сторона может также отфильтровывать количество полей при получении объектов от средства 240 интерпретации, но в связи с этим могут возникнуть трудности, т.к. принимающий аналитический модуль не знает о том, какие это поля. Обработку полей модуль может начинать только после того, как получит информацию о том, какую информацию новые поля содержат. Поэтому на шаге 450 принимающий модуль запрашивает у средства 240 интерпретации информацию о неизвестных ему новых объектах или полях в уже существующих объектах. Если на шаге 460 средство 240 интерпретации предоставило принимающему модулю запрашиваемую информацию, то на шаге 470 принимающий модуль принимает решение о необходимости использования данных объектов (либо неизвестных ранее полей уже известных объектов). Если на шаге 460 средство 240 интерпретации сообщило о том, что оно не может предоставить запрашиваемую информацию, то на шаге 480 принимающий аналитический модуль начинает проведение частотного анализа, который заключается в определении того, как часто встречается новый показатель, как по нему кластеризуются данные. На шаге 490 завершается обработка новых объектов (полей в уже существующих объектах). Следует также отметить, что отправляющий аналитический модуль имеет возможность предоставить объяснение и документацию к вводимым полям объектов или объектам, т.к. для принимающей стороны автоматически невозможно принять решение о том, является ли новый параметр важным или нет. Однако средство интерпретации 240 может автоматически предоставлять информацию о том, что появились новые виды параметров.
На фиг.5 изображен частный вариант реализации процесса автоматического проведения частотного анализа. На шаге 510 аналитический модуль проводит анализ на предмет выявления вредоносных объектов на компьютерах пользователей. На шаге 520 аналитический модуль отправляет средству 240 интерпретации результаты анализа. На шаге 530 средство 210 управления проводит частотный анализ и пытается выявить закономерность. В случае если закономерность между новыми объектами или новыми полями уже существующих объектов найдена на шаге 540, то на шаге 550 проверяется, позволяет ли найденная закономерность делать выводы автоматически. Например, если для ссылок, ведущих на вредоносный веб-сайт, новый общий показатель выше ста, т.е. четко просматривается кластер по данному признаку, а у легитимных ссылок (ссылок, которые либо не были найдены в черном списке (т.е. списке ссылок, представляющих опасность) либо обозначены в белом списке (т.е. списке проверенных ссылок, не представляющих угрозы)) этот же показатель четко ниже пятидесяти, то можно сделать вывод о том, что возможно новый показатель следует использовать в дальнейшем. В случае положительного ответа, на шаге 560 результат анализа сохраняется. Если на шагах 540 или 550 ответы были отрицательными, то остается возможность отобразить найденную информацию эксперту на шаге 570. На шаге 580 аналитический модуль завершает работу по проведению частотного анализа.
Фиг.8 иллюстрирует способ реализации настоящего изобретения. На этапе 810 происходит получение информации об объектах, представляющих угрозу. Данный этап осуществляет средство 210 управления, которое получает информацию от ПК 110. Затем на этапе 820 полученная информация отправляется на сохранение в средстве 230 хранения данных. Сразу после этого средство 240 интерпретации на этапе 830 обрабатывает полученную информацию с целью ее предоставления аналитическим модулям 250 и 260 на этапе 840. Получив информацию об объектах, представляющих угрозу, каждый из аналитических модулей при наличии достаточного количества информации предоставляет решение, что проверяется на этапе 860. Если один из аналитических модулей предоставляет решение, то алгоритм заканчивается на этапе 870, в противном случае накопление информации продолжается, начиная с этапа 810. Таким образом, при накоплении достаточного количества информации хотя бы одним из аналитических модулей уже будет получено решение, связанное с объектами, представляющими угрозу.
На фиг.6 изображена древовидная структура предоставления информации в виде единого формата представления данных об объекте средством 240 интерпретации. Модуль Case 610 имеет информацию о параметрах 620 (базовых и дополнительных) и функциях 630, которые предоставляют некоторый набор действий для доступа к параметрам объекта. Применяя формат XML для описания объектов средства 230 хранения данных, составляется документация описания полей и функций объектов. Ниже приведен пример для описания модуля Case:
Функция «CaseLoad» 640 загружает список дел в зависимости от параметров и прав пользователя.
Параметры, которые функция возвращает, следующие:
case_id: integer - номер дела.
user_id: integer - номер пользователя создавшего дело (расшифровывается с помощью модуля User).
date_open: datetime - дата и время создания дела.
date_lastop: datetime - дата и время последнего обновления дела.
current_status: integer - текущий статус (расшифровывается с помощью модуля CaseStatus).
iteration: integer - номер итерации.
helper_id: integer - номер пользователя (helper′a), которому назначено это дело (расшифровывается с помощью модуля User).
compl_level: integer - уровень сложности дела
browser: integer - идентификатор браузера (расшифровывается с помощью модуля CaseBrowser).
firewall: integer - идентификатор фаервола (расшифровывается с помощью модуля CaseFirewall).
antivirus: integer - идентификатор антивируса (расшифровывается с помощью модуля CaseAntivirus).
date_notify: datetime - дата и время последнего уведомления почтой.
Возвращаемое значение: в случае успеха возвращает список дел, соответствующих заданным критериям, код ошибки в случае неудачи.
Пример:
В данном примере загружается список дел с идентификатором пользователя 1, открытых начиная с 12 часов 6 мая 2009 года:
Функция «CaseInsert» 650: добавляет новое дело, и автоматически добавляет к нему первый шаг (CaseSteps) со статусом (CaseStatus) 1 (открытие).
Параметры:
problem: string - описание проблемы.
Возвращаемое значение: код результата и номер нового дела в случае успеха.
Пример:
В данном примере создается новое дело от имени текущего пользователя.
Функция «CaseUpdate» 660 модифицирует данные дела.
Параметры:
case_id: integer - номер дела.
current_status: integer - текущий статус (расшифровывается с помощью модуля CaseStatus). При установке этого параметра автоматически добавляет к делу "шаг" (CaseStep).
iteration: integer - номер итерации.
helper_id: integer - номер пользователя (helper′a), которому назначено это дело (расшифровывается с помощью модуля User).
prim: string - пометка хелпера (оперативный блокнот).
problem: string - описание проблемы.
compl_level: integer - уровень сложности дела.
Возвращаемое значение: код результата.
Пример:
В данном примере устанавливается уровень сложности для дела с идентификатором 2.
Функция «CaseClose» 670 закрывает дело.
Параметры:
case_id: integer - номер дела.
Возвращаемое значение: код результата.
Пример:
В данном примере закрывается дело с номером «2».
Следует также отметить, что для упрощения интеграции объектов от разных аналитических модулей предусмотрено создание глобального справочника. В справочнике могут быть четко определены названия параметров для таких свойств объекта, как, например, имя файла (”filename”) или MD5-сумма (”MD5”). Также могут быть четко определены значения для передаваемых параметров. Это позволяет стандартизировать общие атрибуты (т.е. создать единый формат представления данных), а следовательно, и идентифицировать файл и узнать о нем общую информацию, описанную в справочнике, даже не имея информации о том, что это за файл, что он делает и для чего создан. На фиг.7 приведен пример фрагмента справочника 710. Данный фрагмент описывает параметры классов «File» 720 и «Link» 730. Класс «File» 720 содержит параметры: имя файла, размер файла, дата создания файла, дата последней модификации файла, источник файла, MD5-сумма файла и т.д. Класс «Link» 730 содержит параметры: ссылка, имя хоста, источник, по которому найдена ссылка.
Ниже приведен пример запроса, в котором идет авторизация (параметры Login и Password) и есть переключатель Base64, управляющий режимом передачи текстовых полей (в виде строк и иногда в виде Base64 кодирования, если в строке есть символы, недопустимые в XML). Далее следуют запросы, а именно запрашиваются свежие события по ПК с IP=”172.20.97.28". Запросы выполнены по объектно-ориентированной архитектуре, то есть любой запрос - это вызов заданного метода заданного класса с возможностью установки каких-то свойств. В данном случае вызывается класс PCEvents и его метод Get. У PCEvent устанавливается свойство “PCEvents.IP”=”172.20.97.28”. Параметр QID - это уникальный идентификатор, чтобы изучая ответ можно было четко связать запросы и ответы:
Пример ответа на запрос, описанный выше:
В ответе дублируются класс и метод, возвращается QID (и по нему можно определить, на какой запрос этот ответ в случае, если похожих запросов одновременно идет много). Параметр «Status=0» является кодом статуса, а значение «0» говорит о том, что запрошенный вызов выполнен без ошибок, если значение больше 0, то оно означает коды ошибки или специальные коды, например, ошибка 99 - это «вызов успешен, но по заданным параметрам нет данных». Вызовы методов могут как возвращать записи из средства хранения данных, так и вносить их туда. В примере существует класс Incidents с методами Get (запрос инцидентов по ПК) и Add (добавление инцидента по ПК). Т.е. запросы будут следующего вида:
Описанные выше запросы добавят в средство хранения данных запись об инциденте по заданному ПК.
В заключении следует отметить, что приведенные в описании сведения являются только примерами, которые не ограничивают объем настоящего изобретения, определенный формулой. Специалисту в данной области становится понятным, что могут существовать и другие варианты осуществления настоящего изобретения, согласующиеся с сущностью и объемом настоящего изобретения.