3. Осовский С. Нейронные сети для обработки информации. - М.: Финансы и статистика, 2002. - 344 с.
4.Хайкин С. Нейронные сети: полный курс. - М.: Издательский дом "Вильямс", 2006. - 1104 с.
5. Рао С.Р. Линейные статистические методы и их применения.- М: Наука, 1968.-548 с.
6. Лиховидов В.Н., Корнюшин П.Н. Нейроподобные адаптивные алгоритмы обнаружения атак в компьютерных сетях / Известия ТРТУ. Тематический выпуск “Материалы VII Международной научно-практической конференции ‘Информационная безопасность’”. -Таганрог: Изд-во ТРТУ, 2005. № 4. - C. 82-87.
7. Likhovidov V. Variational Approach to Unsupervised Learning Algorithms of Neural Networks. - Neural Networks, vol. 10, No 2, 1997, p.p. 273-289
Ю.А. Брюхомицкий, М.Н. Казарин
Россия, г. Таганрог, ТРТУ
ТЕСТИРОВАНИЕ БИОМЕТРИЧЕСКИХ СИСТЕМ КОНТРОЛЯ ДОСТУПА
Биометрические системы контроля доступа (БCКД) претендуют стать неотъемлемой составной частью современных технологий информационной безопасности. Это подтверждается, в частности, ростом числа разработок в области БCКД, заметным расширением номенклатуры коммерческих продуктов, появлением первых биометрических стандартов. Cкладывающаяся в биометрии ситуация соответственно ставит и новые задачи, одной из которых является тестирование и поверка эксплуатационных характеристик БCКД. Такая задача неизбежно возникает как для разработчиков новых биометрических продуктов, так и для потребителей этих продуктов. Вместе с тем, судя по анализу соответствующих литературных источников, методики по тестирования БCКД пока отсутствуют.
Из всего множества задач, возникающих при тестировании разных типов БЖД, в рамках настоящей работы рассматривается и решается лишь одна, а именно, - определение классифицирующих способностей динамических БCКД, основанных на анализе рукописного и клавиатурного почерков пользователя. Объединение указанных БОКД в одну группу объясняется схожестью, а во многом и общностью применяемых методов и решаемых проблем.
В БCКД, как известно, точность аутентификации определяется тремя видами ошибок:
- FRR (False Reject Rate) или ошибка первого рода - вероятность ошибочных отказов авторизованному пользователю (Pi);
- FAR (False Accept Rate) или ошибка второго рода - вероятность допуска незарегистрированного пользователя (Р2);
- EER (Equal Error Rates) - равная вероятность (норма) ошибок первого и второго рода (Р1= Р2).
Наиболее естественным является метод «прямого» тестирования БCКД на реальном контингенте пользователей с вычислением статистических оценок вероятностей Р1 и Р2. Однако этот метод встречает целый ряд серьезных трудностей, среди которых можно выделить следующие:
1. Для проведения тестирования необходимо осуществить подбор достаточно большого контингента людей (пользователей), удовлетворяющих определенным требованиям:
- наличие навыков работы с клавиатурой компьютера и (или) графическим планшетом;
- наличие определенного стабильного уровня динамики почерка (как рукописного, так и клавиатурного);
- наличие на период тестирования стабильного психофизического состояния у каждого пользователя;
- потенциальная предрасположенность каждого пользователя к установке определенной мотивации при тестировании и т.п.
2. Организация процедуры тестирования с рядом условий и ограничений и сохранение этих условий и ограничений в течение всего времени тестирования и для всего отобранного контингента пользователей:
- создание и поддержание определенной мотивации при тестировании;
- выбор способа разделения и учета отдельных пользователей как «своих» и (или) «чужих»;
- обеспечение изолированности процедуры тестирования (исключение подсматривания динамики ввода парольной фразы);
- учет суточных колебаний динамики подсознательных движений и др.
3. Правильный выбор парольной фразы, удовлетворяющей определенным требованиям и ограничениям:
- выбор длины парольной фразы;
- выбор и учет особенностей языка для парольной фразы;
- соблюдение возможных ограничений на допустимый алфавит используемых символов;
- соблюдение возможных ограничений по использованию верхнего и нижнего регистра (для клавиатурного ввода);
- соблюдение ограничений по использованию функциональных и служебных клавиш (для клавиатурного ввода);
- соблюдение возможных ограничений по особенностям и способу написания символов (для рукописного ввода) и т.п.
Но даже хорошо продуманная, правильно организованная и поставленная процедура «прямого» тестирования позволяет выявить лишь грубые усредненные оценки ошибок первого и второго рода, которые могут сильно отличаться от реальных ошибок.
Разработчики новых типов БСКД могут вводить новые методы, алгоритмы, аппаратные и программные способы реализации, технологические особенности, условия эксплуатации и т.п. Каждое из таких нововведений может определенным образом сказаться на результирующей точности проектируемых БСКД, и для разработчиков очень важно выявить это влияние по возможности точно.
Часто возникает задача объективного сравнения между собой БСКД различных типов, с целью выявления их технических и эксплуатационных характеристик.
Метод «прямого» тестирования БСКД в указанных случаях также малоэффективен, поскольку получаемые при этом оценки ошибок аутентификации не дают необходимой информации ни о причинах, ни об источниках их возникновения.
В первом приближении структуру основных ошибок, возникающих в процессе аутентификации пользователей в динамических БСКД по рукописному и клавиатурному почеркам, можно представить следующим образом.
Первая группа ошибок порождается организационными причинами, часть из которых была представлена выше (подбор пользователей, условия проведения испытаний, выбор парольной фразы и т.п.).
Вторая группа ошибок связана с точностью представления и формирования биометрических параметров пользователя. Для БСКД по рукописному и клавиатурному почеркам - это ошибки, возникающие при выборе метода представления параметров почерка, вида разложения временных функций, числа членов разложения [1, 2] и т.п.
Третья группа ошибок определяется ограниченной точностью выбранного метода и алгоритмов классификации биометрических данных (геометрические, параметрические, статистические, на основе искусственных нейронных сетей и др.).
Четвертую группу составляют все остальные возможные ошибки, не вошедшие в перечисленные три группы. К ним, в частности, относятся инструментальные ошибки, связанные с непосредственной реализацией алгоритмов (приближенные способы вычислений, ограниченная длина разрядной сетки, округление и т.п.)
Обозначим указанные выше группы ошибок через 5Ь 52, 83, 54 соответственно. Ограничиваясь для определенности и простоты аддитивным характером этих ошибок, совокупную ошибку БСКД можно приближенно представить как
5 = 5j + 82 + 83 + 84. (1)
Оценку 5 можно рассматривать как общую ошибку, возникающую в результате «прямого» тестирования БСКД. Поскольку уровни и динамика составляющих 5Ь 82, 83, 84 в общем случае неизвестны, то из выражения (1) с очевидностью следует, что по наблюдаемой при тестировании совокупной ошибке 5 невозможно судить о поведении любой из ее составляющих.
При проектировании новых типов БСКД, с целью повышения точности аутентификации, разработчики стремятся в конечном итоге к уменьшению ошибок 82, 83, 84. Снижение ошибок первой группы 81 определяется организационными условиями проведения испытаний и впрямую не зависит от разработчиков БСКД, поэтому эти ошибки должны быть исключены при тестировании БСКД.
Группа ошибок 82 определяется точностью представления биометрических данных. Эти ошибки непосредственно зависят от применяемых методов и алгоритмов формирования биометрических параметров (достаточно многочисленных). Эта группа ошибок заслуживает отдельного внимания разработчиков БСКД, но в рамках настоящей работы специально не рассматривается и потому в методике тестирования должна быть также исключена.
Ошибки четвертой группы 54, в сущности, инвариантны к используемым в БСКД методам и алгоритмам, и их a priori можно считать неизвестной (достаточно малой) константой. Задача выявления классифицирующих способностей БСКД в принятой классификации (1) соответствует определению степени влияния третьей группы ошибок 53 на общую результирующую ошибку 5 при прочих равных условиях.
Попытки оценить качество классификации (уровни и динамику ошибок третьей группы - 83) по совокупной ошибке БСКД при «прямом» сравнительном тестирования БСКД с разными типами классификаторов позволяют достоверно установить лишь тот факт, что данный метод классификации более (или менее) точен, чем другой. Чтобы достоверно определить степень изменения точности аутентификации, возникающую за счет применения определенного метода классификации, необходимо полностью, или хотя бы частично, исключить ошибки 5Ь 82, 84. При «прямом» тестировании это не представляется возможным. Необходима другая методика тестирования, при которой ошибки 5Ь 82 были бы исключены, а ошибка 54 оставалась бы малой неизвестной константой в числе прочих равных.
Суть такой методики тестирования заключается в следующем. Входными данными БСКД принимаются не реальные биометрические данные пользователей, а готовые препараты этих данных, представленные в виде векторов биометрических параметров
V* = {vi, V2, ..., Vj, ..., vN}, i = TJ, j = , k = 1m, (2)
где L - число образцов входных данных;
N - размерность пространства входных данных;
М - число пользователей.
Использование векторов V* вместо реальных биометрических данных пользователей позволяет исключить влияние двух групп ошибок 5Ь 52.
Дальнейший ход тестирования БСКД направлен на получение вероятности Р1 ошибочных отказов авторизованному пользователю и вероятности Р2 допуска незарегистрированного пользователя. Следует отметить, что в динамических БСКД по рукописному и клавиатурному почеркам вероятности Р1 и Р2 имеют взаимно обратную зависимость (снижение Р1 приводит к росту Р2 и наоборот). Это вынуждает использовать точку равной вероятности Р1=Р2 как оптимальную для получения ошибок классификации, т.е. оценку EER. Таким образом, при тестировании БСКД, с целью получить оценку точности применяемого метода классификации (ошибку 53), необходимо получить соответствующую экспериментальную оценку EER. Предлагаемая методика предусматривает разные подходы для получения вероятностей Р1 и Р2. Оценка вероятности Р1 сводится к получению отношения числа I векторов V,- «своего» пользователя, не попавших в заранее установленную для него область распределения, к общему числу образцов Ь векторов V,-:
Р1 = - .
Ь
При экспериментальной оценке вероятности Р1 вместо I удобнее использовать величину (Ь-1) - числа векторов «своего» пользователя, попавших в заранее установленную для него область распределения. Для этого введем вероятность Р0
- попадания «своего» пользователя в заданную для него область распределения
Р —
0 Ь
Тогда искомая оценка вероятности ошибочных отказов авторизованному пользователю будет
Р1 - 1 - Ро.
Оценка вероятности Р1 предполагает искусственную генерацию множества векторов V,, I — 1, Ь «своего» пользователя, распределенных по определенному закону. При соблюдении требований к подбору пользователей БСКД (наличие почерка) реальные векторы Vik имеют нормальную плотность распределения вероятностей [1]. Это обстоятельство позволяет для целей тестирования БСКД получить векторы V, путем моделирования нормального закона распределения вероятностей с заданными параметрами (математическим ожиданием и дисперсией ст,). Вместе с тем, следует учитывать, что в БСКД при обработке реальных биометрических данных рассматриваются распределения выборочных статистик, поэтому рассеивание векторов V,- целесообразно задавать на основе /-распределения Стьюдента. В этом случае получаемая область нормального распределения «расширяется» на коэффициент Стьюдента /, который, в свою очередь, определяется как функция от вероятности Р1 и числа образцов Ь векторов V, [3]:
г — /[Ь, (1 - Р1)].
Для одномерного /-распределения возможные значения коэффициентов / рассчитаны и сведены в соответствующие таблицы [2]. Непосредственное получение коэффициентов Стьюдента / в случае многомерного /-распределения представляет определенную проблему. Для Ж-мерной функции /-распределения плотность распределения имеет вид [3]
Г { Ъ с!с1 Т
\ 2 Г 1 т -—
/« = . — [1 + - т) Т(/ - т)] 2 ,
Г||1 1
где г (Ь) — | - гамма-функция;
о
Т - симметричная, положительно определенная матрица точности.
Расчетных таблиц коэффициентов / для Ж-мерного /-распределения, подобных таблицам коэффициентов одномерного /-распределения, не существует, а их получение связано с большой вычислительной сложностью. Выходом из положения является экспериментальный подбор коэффициентов / для заданной мерности пространства Ж и нормы ошибок классификации ЕЕЯ. Более того, обе задачи -получения оценки БЕЯ и коэффициентов / для Ж-мерного /-распределения - можно решить одновременно, если оценки вероятностей Р1 и Р2 проводить последовательно для различных вероятных значений коэффициентов Стьюдента /, задаваемых в определенном диапазоне. В этом случае точка (Р1=Р2) пересечения обеих вероятностей одновременно даст искомую оценку БЕЯ и искомое оптимальное значение коэффициента Стьюдента / для Ж-мерного /-распределения.
В предлагаемой методике оценка вероятности Р2 также предполагает искусственную генерацию множества векторов V,, I — 1, Ь с той разницей, что эти векторы теперь должны представлять биометрические данные «чужих» пользователей. В общем случае биометрические данные всевозможных «чужих» пользователей неизвестны. Можно лишь предположить, что в худшем случае векторы V;,
I — 1, Ь всевозможных «чужих» могут целиком охватывать область распределения «своего» пользователя. В данной методике эту ситуацию предлагается моделировать путем генерации векторов V,, I — 1, Ь «чужих» с равномерной плотностью распределения в области, отстоящей на некотором интервале г-ст, от центра области распределения «своего» пользователя (точки £,).
Для получения искомой оценки вероятности Р2 вычисляется отношение числа (Ь-1) векторов V,-, попавших в установленную область распределения «своего» пользователя, к общему числу образцов Ь векторов V,:
Р2 — Ро — ¥.
Оценка вероятности Р2 так же как и Р1 проводится последовательно для различных вероятных значений коэффициентов Стьюдента /, задаваемых в том же диапазоне, что и при расчете Р1. Предлагаемая методика тестирования была экспериментально проверена для получения сравнительных оценок по точности классификации (ошибка 53) при условии применения двух различных методов классификации: геометрического метода с использованием меры Хэмминга [1] и параметрического метода [4]. Для получения оценок вероятностей Р1 и Р2 использовались две специальные программы. Первой программой - для получения оценки вероятности Р1 - генерировались Ж-мерные векторы биометрических параметров V, с нормальной плотностью распределения и параметрами Ж=32, Ь=100000, £,=0, ст,=20. Оценка вероятности Р1 проводилась отдельно для геометрического метода классификации с использованием меры Хэмминга и для параметрического метода.
Второй программой - для получения оценки вероятности Р2 - генерировались Ж-мерные векторы биометрических параметров V, с равномерной плотностью распределения в интервале 3ст и параметрами Ж=32, Ь=100000. Оценка вероятности Р2 также проводилась отдельно для обоих указанных методов.
Расчет оценок вероятностей Р1 и Р2 осуществлялся последовательно для различных вероятных значений коэффициентов Стьюдента Ж-мерного /распределения, задаваемых в диапазоне 1^15. Результаты экспериментов в виде
графиков зависимостей Р1(/) и Р2(/) для геометрического и параметрического методов отражены на рис. 1 и 2 соответственно.
Р1?Р2
1 т
0,9 -0,8 -0,7 -0,6 -0,5 -0,4 -0,3 -0,2 -од -о 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Рис. 1. Графики зависимостей Р1(/) и Р2(/) для геометрического метода классификации
Из первого эксперимента следует:
1. Норма ошибок первого и второго рода (EER) для геометрического метода классификации находится в промежутке между двумя отсчетами:
/=2,8 ^ Р1=0,15181, Р2=0,11033;
/=2,9 ^ Р1=0,11283, Р2=0,33386.
2. Оптимальное значение коэффициента Стьюдента Ж-мерного /распределения равно / «2,9.
Р1 1
0,9 0,8 0,7
0,6 0,5 0,4 0,3 0,2
0,1 0
Рис. 2. Графики зависимостей Р1(/) и Р2(/) для параметрического метода классификации
Из второго эксперимента следует:
1. Норма ошибок первого и второго рода (EER) для параметрического метода классификации находится близко к отсчету:
/=7,6 ^ Р1=0,00368, Р2=0,00372.
2. Оптимальное значение коэффициента Стьюдента Ж-мерного /распределения равно / «7,6.
Из обоих экспериментов следует, что переход от геометрического метода классификации к параметрическому методу дает выигрыш в точности классификации, примерно равный 0,14/0,0037«38.
- - 'Р2
Очевидно, что, следуя описанной методике, аналогичным образом можно получить оценки нормы ошибок аутентификации EER и оптимальные значения коэффициентов t для любых других методов классификации, параметров областей распределения и мерности пространства входных данных.
Работа поддержана грантами РФФИ: № 06-07-89010; № 06-07-96609
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Иванов А.И. Биометрическая идентификация личности по динамике подсознательных движений. - Пенза: Изд-во Пенз. гос. ун-та, 2000. - 188 с.
2. Брюхомицкий Ю.А., Казарин М.Н. Метод биометрической идентификации пользователя по клавиатурному почерку на основе разложения Хаара и меры близости Хэмминга / Известия ТРТУ. Тематический выпуск «Материалы V Международной научно-практической конференции «Информационная безопасность».-Таганрог: Изд-во ТРТУ, 2003. № 4(33). - С. 141-149.
3. Поллард Дж. Справочник по вычислительным методам статистики / Пер. с англ. В.С. Занадворова; Под ред. и с предисл. Е.М. Четыркина. - М.: Финансы и статистика, 1982. - 344 с.
4. Брюхомицкий Ю.А., Казарин М.Н. Параметрическое обучение биометрических систем контроля доступа / Вестник компьютерных и информационных технологий. - М.: Изд-во «Машиностроение», 2006. № 2 (20). - С. 6-13.
В.С. Несов, О.Р. Маликов
Россия, г. Москва, ИСП РАН
АВТОМАТИЧЕСКИЙ ПОИСК УЯЗВИМОСТЕЙ В БОЛЬШИХ ПРОГРАММАХ Введение
В Институте системного программирования РАН была разработана среда обнаружения уязвимостей [1] в исходном коде программ на языке C, позволяющая обнаруживать уязвимости двух типов:
- переполнение буфера (buffer overflow);
- неконтролируемая форматная строка (format string).
Методика обнаружения уязвимостей в данной среде состоит из двух этапов:
- вычисление необходимых для определения уязвимостей атрибутов объектов программы;
- проверка накладываемых на атрибуты условий отсутствия уязвимостей во всех точках программы.
Описанная среда обнаружения уязвимостей [1] имела серьезное ограничение на максимальный размер анализируемых программ. Это было связано с тем, что первоначальная реализация алгоритмов предполагала вычисление и хранение всех атрибутов объектов программы в каждой точке программы. Такой подход позволял проводить анализ программ объемом до 50-60 тысяч строк кода на языке C, используя 2Гб оперативной памяти.
В данной статье описываются:
- способ компактного хранения вычисляемых средой атрибутов;
- механизм подкачки внутренних объектов программы.
Способ компактного хранения вычисляемых атрибутов базируется на том факте, что каждая инструкция программы достаточно ограниченно влияет на проходящий через нее поток данных. Таким образом, в каждой точке программы, вместо хранения всех атрибутов объектов предлагается хранить ссылку на предшествующую точку и накопленные изменения атрибутов. Реализация данного способа компактного представления позволяет снизить расходы среды по памяти примерно в 3.5 раза и по времени в среднем в 1.25 раза.