УДК 004.032.26
ПРИМЕНЕНИЕ МЕТОДОВ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ ДЛЯ ТЕСТИРОВАНИЯ БАЗ ДАННЫХ СИСТЕМ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ
APPLICATION DATA MINING TECHNIQUES TEST DATABASE SYSTEMS INFORMATION
SECURITY
© Фатхи Дмитрий Владимирович
Dmitry V. Fathi
кандидат технических наук, доцент начальник кафедры боевой и тактико-специальной подготовки, ФГКОУ ВПО «Ростовский юридический институт МВД России».
PhD (Technical), Associate Professor, Rostov Institute of Law Russian Ministry of Internal Affairs.
И D.V.Fatkhi@gmail.com
© Фатхи Владимир Ахатович
Vladimir A. Fathi
доктор технических наук, профессор, заведующий кафедрой вычислительных систем и информационной безопасности, ФГБОУ ВПО «Донской государственный технический университет», Россия.
DSc (Technical), Professor, Don State Technical University, Russia.
И fatkhi@mail.ru
В статье предлагается метод интеллектуального анализа данных, основанный на искусственных нейронных сетях, позволяющий повысить оперативность поиска ошибок в таблице базы данных. Выделены основные этапы верификации базы данных.
Ключевые слова: достоверность информации, базы данных, верификация.
Се
УьЛ
Черьёзной угрозой информационной /безопасности (ИБ) вычислительных систем, комплексов и сетей является умышленное или неумышленное искажение информации в процессе её начального накопления, передачи или хранения. Эта информация служит для составления отчётов о текущей ситуации, прогнозов, составленных по статистике за длительные прошедшие периоды, и принятия решений на основе полученных данных [1]. Использование недостоверных сведений может привести к неправильности вырабатываемых управленческих решений. Соответственно достоверность выходит на первый план среди требований к данным, хранимым и обрабатываемым ИС.
Под достоверностью информации понимают некоторую функцию вероятности ошибки, то есть события, заключающегося в том, что
The paper proposes a data mining technique based on artificial neural networks, which allows to increase the efficiency of finding bugs in the database table. The basic stages of the verification database are presented.
Key words: reliability of the information, database, vérification.
информация в БД о некотором параметре или объекте не совпадает в пределах заданной точности с истинным значением.
Многие современные информационные системы используют в качестве основного средства хранения данными реляционные базы данных (БД). Как правило, БД, находясь на нижнем уровне в общей структуре ИС, являются источником данных для всех средств обработки информации, входящих в конкретную систему.
Достоверность БД определим как отношение количества строк, соответствующих действительности, к общему объёму данных. Достоверность D таблицы имеет вид:
D = П.
n
Информационная безопасность регионов. 2014. № 1(14)
где па - количество достоверных строк, п - общее количество строк в таблице,
или:
D
n - n
n
где п- количество недостоверных строк, п - общее количество строк в таблице.
Недостоверной будем считать строку, содержащую неверную информацию, хотя бы в одной ячейке.
Как правило, нельзя точно установить достоверность конкретной строки таблицы БД, но можно говорить о степени уверенности в этом.
Пусть достоверность 1-й строки рг е [о, 1], где рг = о означает недостоверность данных, рг = 1 - достоверность. Такая оценка необходима для обеспечения возможности сравнения двух строк таблицы и указывает на степень расхождения хранимых в БД значений с реальными.
Тогда достоверность таблицы:
п
Б =
где п - общее количество строк в таблице,
р1 - оценка достоверности конкретной строки данных из таблицы БД.
Архитектура части ИС, прежде всего территориально распределённых, предполагает наличие БД различных уровней, различающихся по функциональному назначению. БД нижнего уровня служат для хранения оперативной информации о деятельности подразделения и являются источником данных для БД верхнего уровня, которые предназначены для накопления сведений о деятельности всей организации за длительный период времени. Процедура импорта/экспорта данных между БД разных уровней автоматизируется средствами СУБД или самой ИС, имеет жёстко заданные временные рамки. Актуальным становится не просто обеспечение достоверности данных в результате верификации, но и оперативность её проведения.
Зачастую процедура верификации проводится пользователем или специалистом вручную, при этом он последовательно проверяет каждую строку из таблицы БД. Это связано с тем, что для определения достоверности требуется обладание полными знаниями как о содержимом БД, так и о реальном мире. Задача поиска ошибок усложняется по мере роста в геометрической
прогрессии объёма хранимых и обрабатываемых данных, так как при таком способе проверка достоверной строки не оказывает влияния на общую достоверность таблицы и БД в целом. Таким образом, большая часть времени затрачивается впустую. Следовательно, процедуру верификации можно автоматизировать, предлагая пользователю проверять сначала те строки, ошибка в которых наиболее вероятна.
Основываясь на известных методах интеллектуального анализа данных, включающих применение нейронных сетей [3, 4], выделим следующие основные этапы верификации БД:
1) формирование обучающей выборки;
2) разведочный анализ данных;
3) глубокий анализ данных;
4) оценка достоверности строк таблицы;
5) исправление или исключение недостоверных данных из таблицы.
Разведочный анализ - предварительная проверка данных с целью выявления их свойств и характера, наиболее общих закономерностей и тенденций, правил распределения исследуемых величин [4]. Применяется для нахождения связей между переменными в ситуациях, когда отсутствуют (или недостаточны) априорные представления о природе этих связей.
Задачей этапа разведочного анализа является выделение в анализируемой таблице групп схожих объектов, иначе говоря, кластеризация. Необходимость определения принадлежности каждой строки в таблице конкретной группе обусловлена дальнейшим применением многослойных нейронных сетей прямого распространения, познаваемых с учителем, то есть требующим для каждого входного вектора известного значения его принадлежности классу.
Алгоритм проведения данного этапа верификации представлен следующим образом.
1. Определение оптимального количества кластеров т в данных обучающей выборки с использованием разработанного ранее алгоритма [5].
2. Синтез сети Кохонена, содержащей п нейронов во входном слое и т нейронов соответственно в выходном, где п равно количеству столбцов таблицы.
3. Обучение созданной сети. Изначально коэффициент скорости обучения в = 0.95 и монотонно убывает с каждой эпохой обучения, чтобы любой новый входной вектор оказывал всё меньшее влияние на изменение весов.
4. Получение принадлежности каждого элемента обучающей выборки определённому кластеру, то есть множества пар (г, Ск). При этом номер кластера не несёт в себе никакой информации, важным является лишь факт
d
n
Научно-практический журнал. ISSN 1995-5731
принадлежности похожих элементов кластеру с одним номером.
Задача следующего этапа верификации - выявление закономерностей в данных, устанавливающих принадлежность строки определённому классу. В этом случае применяется многослойная искусственная нейронная сеть (ИНС) прямого распространения, также называемая многослойным персептроном [6]. Важным преимуществом этого вида сетей является возможность моделирования функции практически любой степени сложности. Исследования [6, 7] показывают, что для представления произвольного функционального отображения, задаваемого обучающей выборкой, достаточно сети, содержащей два слоя нейронов. С целью обучения ИНС применяется алгоритм обратного распространения ошибки.
В результате обучения многослойной сети указанным методом, с использованием полученного на предыдущем этапе множества пар (г , Ck), будет получена сеть, способная классифицировать объекты, информация о которых хранится в анализируемой таблице. Благодаря способности нейронных сетей к обобщению (т. е. распространению выделенных знаний на неизвестные ранее образцы) обученную сеть можно применять для классификации объектов, не входивших в достоверную БД [6]. При этом степень уверенности в принадлежности образца, поданного на вход, определённому классу выражается максимальным значением выхода нейронов выходного слоя, то есть
d(rm+l) = max(out2l, out22, ..., out2T),
где out2i - значение выхода 1-го нейрона выходного слоя сети;
max - функция, вычисляющая максимальное значение;
d - оценка достоверности.
Предположим, что в обучающей БД содержались только достоверные сведения и были представлены все классы, характерные для предметной области, описываемой этой БД, в том числе данной таблицей. В таком случае справедливо следующее: чем ниже значение максимального выхода ИНС, тем меньше уверенность (вероятность), что поданный на вход объект относится к этому классу. Однако ещё более низкие значения остальных выходов показывают, что анализируемый объект не относится и к другому классу. Возможно, такие результаты получены из-за ошибки в одном или нескольких компонентах вектора признаков, описывающего объект. В случае БД хранимые объекты описывает строка таблицы. Следовательно, данную строку необходимо проверить. При этом начинать её надо со строк с минимальными значениями максимального выхода нейронной сети, так как именно они имеют наибольшую уверенность (вероятность) наличия ошибки.
Подведённые итоги полагаются в основу решения о дальнейших действиях. Здесь возможны два варианта дальнейших действий, приводящих к повышению достоверности отдельных таблиц БД и, как следствие, БД в целом.
1. Исключение из таблиц строк с достоверностью ниже определённого значения.
2. Проверка строк от самой низкой оценки достоверности в порядке увеличения.
Такой подход позволяет при минимальных временных затратах добиться значительного повышения достоверности БД (рис. 1). Необходимым условием для этого является сортировка таблицы по полю, содержащему оценки достоверности («d»), выполняемое простым запросом:
SELECT * FROM R ORDER BY d ASC.
200 300
Количество проверенных строк Рис. 1. Зависимость достоверности таблицы от числа проверок
Информационная безопасность регионов. 2014. № 1(14)
При проверке очередной к-й строки
О < к < п -1 изменение общей достоверности таблицы:
тогда
Л Dk = -
Pk
n
Л Dk =
f k-1 n \
S Рг + P* + S P
i=0 i=k+1
n
S Рг
n
где Рк - значение достоверности к-й строки после проверки.
Будем считать, что в результате проверки строка становится достоверной, то есть
* 1
Рк = 1.
Если р. < р. (1.2), то А Б1 > А Б3 , что означает, что проверка строки с меньшим значением достоверности приведёт к большему увеличению достоверности таблицы.
Таким образом, применение методов интеллектуального анализа данных, основанных на искусственных нейронных сетях, позволяет повысить оперативность поиска ошибок в таблице БД на основе определения достоверности каждой входящей в неё строки.
Материалы поступили в редакцию 13.01.2014 г.
Библиографический список (References)
1. Codd Edgar F. Providing OLAP to User-Analysts: An IT Mandate // Computerworld. Т. 27. № 30. ISSN 0010-4841.
2. Макленнен Дж. Microsoft SQL Server 2008Л Data Mining -интеллектуальный анализ данных / Дж. Макленнен, Ч. Танг, Б. Криват. СПб. : BHV, 2009. 700 с. ISBN 978-5-9775-0011-1.
3. Чубукова И. А. Data Mining : учеб. пособие. М. : Интернет-университет информационных технологий, 2006. 382 с. ISBN 5-9556-0064-7.
4. Смирнов В. В. Методы и средства верификации баз знаний в интегрированных экспертных системах : дис. ... канд. техн. наук. М., 2006 г.
5. Галушка В. В. Методика определения оптимального числа нейронов выходного слоя сети Кохонена при решении задачи кластеризации / В. В. Галушка, Д. В. Фатхи // Информационная безопасность регионов. 2011. № 2(9). С. 41-44. ISSN 1995-5731.
6. Осовский С. Нейронные сети для обработки информации / пер. с польского И. Д. Рудинского. М. : Финансы и статистика, 2002. 344 с.
7. Боровиков В. П. Нейронные сети. Statistica Neural Networks. Методология и технологии современного анализа данных. М. : Горячая Линия-Телеком, 2008. 392 с. ISBN 978-5-99120015-8.
1. Codd Edgar F. Providing OLAP to User-Analysts: An IT Mandate. Computerworld. T. 27. № 30. ISSN 0010-4841.
2. Maklennen Dzh., Tang Ch., Krivat B.
Microsoft SQL Server 2008 Data Mining - Data Mining. Saint Petersburg, BHV, 2009. 700 p. ISBN 978-5-9775-0011-1.
3. Chubukova I. A. Data Mining. Moscow, Internet-universitet informacionnyh tehnologij, 2006. 382 p. ISBN 5-9556-0064-7.
4. Smirnov V. V. Methods and means of verification of knowledge bases in integrated expert systems, dis. ... kand. tehn. nauk. Moscow, 2006.
5. Galushka V. V. ,Fathi D. V. Methods of determining the optimal number of neurons in the output layer Kohonen network to solve the problem of clustering. Informacionnaja bezopasnost' regionov. 2011. № 2(9). P. 41-44. ISSN 1995-5731.
6. Osovskij S. Neural networks for information processing. Moscow, Finansy i statistika, 2002.
344 p.
7. Borovikov V. P. Neural Networks . Statistica Neural Networks. Methodology and technology of modern data analysis. Moscow, Gorjachaja Linija-Telekom, 2008. 392 p. ISBN 978-5-9912-0015-8.
Научно-практический журнал. ISSN 1995-5731