Научная статья на тему 'Методика построения поисковой системы для примитивной программы адаптивного действия'

Методика построения поисковой системы для примитивной программы адаптивного действия Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
221
54
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПОИСКОВАЯ СИСТЕМА / БАЗА ДАННЫХ / ПРЯМОЙ ПОИСК / ИНВЕРТИРОВАННЫЕ ФАЙЛЫ / SQL

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Штеренберг Станислав Игоревич

Интересная проблематика с которой сталкивается современное информационное общество это устойчивые алгоритмы с автономными программами. Вокруг таких программ строятся смелые предположения и фантастические теории. В исследовании будут разобраны способы и методы по части использования поисковых систем для автоматизированных программ. Существует распространенное убеждение, что каждое новое поколение программ совершеннее предыдущего: раньше все было несовершенно, зато теперь повсюду царит чуть ли не искусственный интеллект. Иная точка зрения состоит в том, что «все новое это хорошо забытое старое». Скорее всего, применительно к поисковым системам, истина лежит где-то посередине. Разобрав теоретическое описание, также следует коснуться практического применения изученных методик. Предлагается применить полученные знания в реализации программного модуля «Fithicus». Данный алгоритм разрабатывается на кафедре защищенных систем связи СПбГУТ им. профессора М.А. Бонч-Бруевича. В работе предлагается также прибегнуть к использованию реляционных баз знаний. На основе их применения будут построены специальные схемы результатов работы базы данных до и после применения модуля «Fithicus», который включает в себя особый алгоритм для функционирования поисковой системы. Данный модуль можно использовать с различными системам предотвращения утечек информации (DLP-системы). Можно утверждать, что на сегодняшний день это один из наиболее эффективных инструментов для защиты конфиденциальной информации и актуальность подобных решений будет со временем только увеличиваться. Также следует отметить, что полученные результаты рассматриваются в рамках примитивных адаптивных систем, пример одной из которых рассматривается в исследовании. Построенный программный модуль успешно внедрен в предложенную проектную подсистему, где планируется выполнение основных функций адаптивной программы. В конце практической реализации выявлены характеристики работы предложенной методологии и практической реализации.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Штеренберг Станислав Игоревич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Методика построения поисковой системы для примитивной программы адаптивного действия»

МЕТОДИКА ПОСТРОЕНИЯ ПОИСКОВОЙ СИСТЕМЫ ДЛЯ ПРИМИТИВНОЙ ПРОГРАММЫ АДАПТИВНОГО ДЕЙСТВИЯ

Штеренберг Станислав Игоревич,

аспирант Санкт-Петербургского

государственногоуниверситета

телекоммуникаций

им. проф. М.А. Бонч-Бруевича,

г. Санкт-Петербург, Россия,

shterenberg.stanislaw@yandex.ru

Ключевые слова:

поисковая система, база данных, SQL, прямой поиск, инвертированные файлы.

?

О л л С

Интересная проблематика с которой сталкивается современное информационное общество - это устойчивые алгоритмы с автономными программами. Вокруг таких программ строятся смелые предположения и фантастические теории. В исследовании будут разобраны способы и методы по части использования поисковых систем для автоматизированных программ. Существует распространенное убеждение, что каждое новое поколение программ совершеннее предыдущего: раньше все было несовершенно, зато теперь повсюду царит чуть ли не искусственный интеллект. Иная точка зрения состоит в том, что «все новое - это хорошо забытое старое». Скорее всего, применительно к поисковым системам, истина лежит где-то посередине. Разобрав теоретическое описание, также следует коснуться практического применения изученных методик. Предлагается применить полученные знания в реализации программного модуля Данный алгоритм раз-

рабатывается на кафедре защищенных систем связи СПбГУТ им. профессора М.А. Бонч-Бруевича. В работе предлагается также прибегнуть к использованию реляционных баз знаний. На основе их применения будут построены специальные схемы результатов работы базы данных до и после применения модуля <^йМсде», который включает в себя особый алгоритм для функционирования поисковой системы. Данный модуль можно использовать с различными системам предотвращения утечек информации (DLP-системы). Можно утверждать, что на сегодняшний день это один из наиболее эффективных инструментов для защиты конфиденциальной информации и актуальность подобных решений будет со временем только увеличиваться. Также следует отметить, что полученные результаты рассматриваются в рамках примитивных адаптивных систем, пример одной из которых рассматривается в исследовании.

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

Введение

Как и любая программа, поисковая система оперирует со структурами данных и исполняет алгоритм. Есть четыре класса поисковых алгоритмов. Три алгоритма из четырех требуют «индексирования», предварительной обработки документов, при котором создаются вспомогательный файл, сиречь «индекс», призванный упростить и ускорить сам поиск [2,3] (пример алгоритма инвертированных файлов - рис. 1).

Рис. 1. Алгоритм инвертированных файлов

Для восстановления файла мало найти его начало, нужно также определить его конец. Конец файла можно найти, зная размер и адрес начала файла. Размер файла определяется либо анализом заголовка (ZIP, JPEG, AVI и т.п.), либо считыванием и анализом секторов диска, идущих сразу за заголовком. К примеру, концом текстового или HTML файла алгоритм будет считать первый же сектор, который будет содержать символы, не входящие в таблицу ASCII.

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

char* strstr (char *big char *little) {

char *x, *y, *z;

for (x = big; *x; x++) {

for (y = little, z = x; *y;

+ +y, ++z)

{

if (*y != *z)

break;

}

if (! *y)

return 0;

Листинг 1. Программная реализация прямого поиска

Здесь показан показан пример выполнения некоторой функции big, где сначала просматривают слева направо и для каждой позиции x запускают последовательное сравнение с искомой подстрокой little. Для этого, двигая одновременно два указателя y и z, попарно сравнивают все символы. Если пользователь успешно дошел до конца искомой подстроки, значит она найдена [5].

}

Основной принцип работы алгоритмов инвертированных файлов такой же, как у алгоритмов сигнатурного поиска антивирусов. Как антивирус сканирует файл в поисках участков данных, совпадающих с известными фрагментами кода вирусов, так и алгоритмы инвертированных файлов, использующиеся в программах для восстановления данных, считывают информацию с поверхности диска в надежде встретить знакомые участки данных. Заголовки многих типов файлов содержат характерные последовательности символов. К примеру, файлы в формате JPEG содержат последовательность символов «JFIF», архивы ZIP начинаются с символов «PK», а документы PDF начинаются с символов «%PDF-» [4].

Некоторые файлы (к примеру, текстовые и HTML файлы) не обладают характерными сигнатурами, но могут быть определены по косвенным признакам, т.к. содержат только символы из таблицы ASCII.

Методология

Методы, используемые для построения поисковых систем не могут обходится без гибких систем баз данных и баз знаний (рис. 2). Для поиска и запроса, данные приводятся в таблицах, которые связаны друг с другом. Это означает, что, как и в веб-поисках, были записаны, в качестве первичного набора информации, ссылки на страницы, которые можно сортировать по тому, как они связывают друг с другом. Для этого примера предлагается использовать извлечение известного 1МББ. Использование файлов общих данных и 1МБЬРУ, делает возможной связь с базой данных на объем 50Б + .

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

I Keanu Reeves "| j Neo

iZ

Sequel Of -j The Matrix Retoaded | Actor Of |

The Matrix j Sequel Of j-* j The Matrix Revolutions j-* |

M A N : Matrix Adjusted Normal

___ I- Stephen Blackehart

> 7(Ts Matrix U I Actor Of P_ _

- P^r—------'

I"—I ^^ u r

Btondan GJeeson I Dr. Abraham

Рис. 2. Сортировка типов данных в реляционной базе данных

Из этого графика, есть возможность вычислить оценку релевантности на основе различных ссылок.

Самый походящий алгоритм для программ адаптивного действия - это алгоритм «РкЫеш», который подходит для примитивных программ адаптивного действия. Принцип работы алгоритма может успешно реализовывать себя по части программ перехвата информации, например БЬР-системы (рис. 4). Рекомендуется использовать систему БЬР, потому что данная система предотвращает передачу и получение конфиденциальной или другой нежелательной информации. На первой стадии перехвата осуществляется при помощи следующих типов поисковиков:

- фразовый поиск;

- поиск по словарю;

- поиск похожих по содержанию документов;

- поиск по атрибутам документов;

- поиск нераспознанных документов;

- поиск по регулярным выражениям;

- поиск по цифровым отпечаткам;

- сложные запросы.

Также БЬР-система оптимизирует загрузку каналов и экономит трафик, а также в комплекте системы есть контроль присутствия работников на рабочем месте [6].

ДЕЙСТВ!! ПЕРЕХВАТ РЕАКЦИЯ

ПОЛЬЗОВАТЕЛЯ ДАННЫХ

АНАЛИЗ ДАННЫХ

Базовый функционал DLP-системы

Рис. 4. Схема работы ПЬР-системы

По большей части модуль «РкЫеш» включает в себя приведенную выше методологию и работу предложенной базы данных (рис. 5). Специальных одноименный модуль «РкЫеш» был разработан, чтобы демонстриро-

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

вать преимущества динамической схемы реляционной базы данных. Однако, на первичном этапе тестирования «Fithicus» предназначен, чтобы забить статический набор (Наиболее часто используемые статистические функции встроены в основное ядро программы, то есть эти функции доступны с момента запуска программы. Другие более специализированные функции входят в дополнительную подпрограмму, называемую пакетом анализа). Для каждого узла, он вычисляет две оценки: «Власть» определяет сколько узлов были связаны , и «концентратор» определяет сколько узлов ссылок связаны с другими данными.

Поисковой алгоритм «Fithicus» выполняет текст запроса в 4 последовательных шагов (рис. 6):

1. Текст запроса передается в полнотекстовый поиск в базе данных. (Здесь все сделано с помощью FTS extension of SQLite).

2. Список записей преобразуется в схеме и программа соединяет их вместе.

3. Если максимальное количество узла схемы не достигнуто, создается второе поколение данных.

4. Значения ХИТЫ (Fithicus) вычисляются для каждого узла схемы и лучший результат будет в последствии извлечен.

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

В «main_xxx» - глобальные таблицы, используемые в программе, имеют следующие пункты:

1. «Main_domain» и «Main_DomainMetadata» описывают содержания и отношения различных областей (сбор поиска данных).

2. Main_Master содержит всю уникальную ItemID во всех областях. Эта таблица позволяет находить домен, который связан с данной ItemID. Это также хорошее место, чтобы добавить статические оценки.

3. Main_FullText содержит все для поиска строк во всех областях. С SQLite каждая запись может быть связана только с одним значением называется «DocID». По этой причине, мы дописываем дополнительную таблицу, чтобы связать запись обратно в своей области.

I'M Opeorv... J

gone Search

Po««. D»r»n lei tatfO lu Score Uh Score й*»** Te« -

> It* P 18Ш7 17110128196 09999962171 0 Gona«№ the WW

tete F 181931 17110128196 00027196739 0 ! Gone wlh the Pope

Ute F7 127529 17110128196 OOOOU89521 0 DogGcne Touch Luck

tete P 181919 17110128196 93858708903 lo GoneloEeflt

tete P 127123 17110128196 15657737958 0 teg Gone

tele 181912 17110128196 1 1073157393 0 GononSoeySeccnde

ti* 9 »67« 17110128196 13ЯС5967Ж 0 Another Gay Se«jd Giyi Gone Wld'

tete F 1813% 17110128196 31076685339 0 ] Gone бару Gone

m (7 181910 17110128196 12856781051 0 Gon»»i60S««nde

Ute 9 562951 17110128196 596873135» 0 VWwa. BeGcne'

teto W 569922 17110128196 12785257167 0 WldGrteGono

Xz_ F 1Я11« 17410122196 112SMS7Í1S

Completed (51 reported reajti) .J

Рис. 5. Работа поискового модуля «Fithicus»

Каждый домен содержится в своей таблице. Очевидно, что для поиска текст хранится в качестве идентификатора. В зависимости от метаданных, внешние идентификаторы (ссылка MovieID и NameID) являются ItemIDs.

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

Реализация

Внедрение модуля «Fithicus» было произведено по определенной схеме (рис. 7). Стрелками указано, в каком направлении и между какими компонентами передаются данные.

Опишем по шагам цикл обработки одного поискового запроса.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1. Веб-страница формирует get-запрос, содержащий текст запроса, заданного пользователем системы.

2. Контроллер (Controller) модуля «Fithicus» разбивает запрос на термины, формирует поисковую команду - объект, содержащий список терминов и параметры необходимого поиска.

3. ExtendedSearcher получает от системы полнотекстового поиска Apache Lucene ранжированный список сообщений, удовлетворяющих запросу.

4. ExtendedSearcher получает от Хранилища (Storage) данные о каждом сообщении из списка, фигурирующего на предыдущем шаге.

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

6. ExtendedSearcher возвращает список результатов Контроллеру.

7. Контроллер помещает результаты на страницу и возвращает браузеру пользователя HTML-код.

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

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

Рис. 6. Модернизированная схема результатов работы реляционной базы с применением алгоритма «Fithicus»

Рис. 7. Схема работы адаптивной подсистемы с применением модуля «Fithicus»

www.h-es.ru

h&es research

55

данных) и системами правил логического вывода (базы знаний) для классификации:

1. Угроз по признакам атак;

2. Механизмов защиты на множестве известных угроз.

Важными характеристиками работы программы с модулем «Fithicus» являются:

1. Время обработки отдельного запроса.

2. Количество одновременно обрабатываемых запросов в секунду.

3. Потребление ресурсов сервера (в основном, оперативной памяти).

Эти характеристики были измерены с помощью инструментов Jakarta JMeter и profiler4j, представляющих функции измерения производительности и профилирования программы соответственно.

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

Тестирование производилось на машине со следующими характеристиками: CPU Intel Core i7, ОЗУ 8 Гб DDR3, HDD 1000гб. Результаты тестирования представлены в табл. 1.

Таблица 1 Производительность работы системы

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

Заключение

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

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

Литература

1. Bharat K., Broder A., Henzinger M., Kumara P. and Venkatasubramanian S. The Connectivity Server: Fast Access to Linkage Information on the Web. WWW7. l998.

2. Brin S., Page L. The Anatomy of a Large-Scale Hypertextual Web Search Engine. WWW7. l998.

3. Broder A., Glassman S., Manasse M. Syntactic Clustering of the Web. WWW6. l997.

4. Алгоритм восстановления данных по файловым «сигнатурам» [Электронный ресурс]. http:// hetmanrecovery.com/ru/recovery_news/recovering-information-with-signature-search.htm (дата обращения 2G.G7.2GlS).

5. Стратегия поиска в автоматизированных информационных системах [Электронный ресурс]. http:// www.referat.wwww4.com/view-text-l742B (дата обращения 2G.G7.2GlS).

6. Левцов В.И. Контроль подмены символов в системах борьбы с утечками конфиденциальных данных // Информационная безопасность. 2GG9. № S. С. 28-29.

Среднее время обработки одного запроса G,l9 сек

Среднее время обработки одного запроса (исходная система) G,l2 сек

Среднее количество запросов в секунду lG,S

Среднее количество запросов в секунду (исходная системы) l6,6

Потребление оперативной памяти l,2 Гб

Потребление оперативной памяти (исходная система) 1,З Гб

Отметим, что ухудшение производительности системы естественным образом связано с ее усложнением и выполнением дополнительных операций. В процессе

Для цитирования:

Штеренберг С.И. Методика построения поисковой системы для примитивной программы адаптивного действия // Наукоемкие технологии в космических исследованиях Земли. 2015. Т. 7. № 4. С. 52-57.

METHODOLOGY CONSTRUCTION OF SEARCH SYSTEM FOR PRIMITIVE PROGRAM OF ADAPTIVE ACTION

Shterenberg Stanislav Igorevich,

St. Petersburg, Russian, shterenberg.stanislaw@yandex.ru

Abstrart

Interesting issues facing the modern information society -a stable algorithms with autonomous programs. Such programs are built around bold assumptions and fantastic theories. This article will be discussed ways and methods of use of the search engines for automated programs. There is a widespread belief that every new generation of programs of the previous perfect. They say that before everything was perfect, but now reigns throughout almost artificial intellect. Another view is that «everything is new is well forgotten old». May be that with regard to search engines truth lies somewhere in between. Having examined the theoretical description, we should also touch on the practical application of the studied methods. It is proposed to apply the knowledge gained in the implementation of the program module «Fithicus». The algorithm developed at the Department of protected systems of communications SUT them. prof. M.A. Bonch-Bruevich. The paper also proposed to resort to the use of relational database knowledge. On the basis of their applications will be built special schemes the results of the database before and after the application module «Fithicus», which includes a special algorithm for operation of a search engine. This module can be used with various systems, data leak prevention (DLP system). It can be argued that today it is one of the most effective tools to protect confidential information, and the relevance of such solutions will only increase.

It should also be noted that the results obtained are discussed in the framework of the primitive adaptive systems, one example of which is considered in this article. Built software module successfully implemented in the proposed design subsystem, which is planned to perform the basic functions of the Adaptive Program. After practical realization will identify performance characteristics of the proposed methodology and implementation.

Keywords: search engine, database, SQL, direct search, inverted file.

References

1. Bharat K., Broder A., Henzinger M., Kumara P. and Venkatasubramanian S. The Connectivity Server: Fast Access to Linkage Information on the Web. WWW7. 1998.

2. Brin S., Page L. The Anatomy of a Large-Scale Hypertextual Web Search Engine. WWW7. 1998.

3. Broder A., Glassman S., Manasse M. Syntactic Clustering of the Web, WWW6. 1997.

4. The algorithm of file recovery «signatures» [Electronic resource]. http://hetmanrecovery.com/ru/recovery_ news/recovering-information-with-signature-search.htm (date of assess 20.07.2015).

5. Search Strategy in automated information systems [Electronic resource]. http://www.referat.wwww4.com/ view-text-17428 (date of assess 20.07.2015).

6. Levtsov V.I. Control of the substitution symbols in the systems against leaks of confidential data. Information Security. 2009. № 5. Pp. 28-29. (In Russian).

Information about authors:

Shterenberg S.I., post-graduate student, Saint-Petersburg State University of Telecommunications.

For citation:

Shterenberg S.I. Methodology construction of search system for primitive program of adaptive action. H&ES Research. 2015. Vol. 7. No. 4. Pp. 52-57. (in Russian).

i Надоели баннеры? Вы всегда можете отключить рекламу.