Fingerprinting – распознавание компьютерных систем и приложений
=======================
Определения
Распознавание системы – задача идентификации объекта или определения каких-либо его свойств по его взаимодействию с другими системами.
Образ, класс – классификационная группировка в системе классификации, объединяющая (выделяющая) определенную группу объектов по некоторому признаку.
Суть задачи распознавания – установить, обладают ли изучаемые объекты фиксированным конечным набором признаков, позволяющим отнести их к определенному классу.
Методика отнесения элемента к какому-либо образу называется решающим правилом. Еще одно важное понятие – метрика, способ определения расстояния между элементами универсального множества. Чем меньше это расстояние, тем более похожими являются объекты (ОС, сервисы, приложения) – то, что мы распознаем.
От выбора представления образов и реализации метрики зависит эффективность программы, один алгоритм распознавания с разными метриками будет ошибаться с разной частотой.
Целесообразно выделить следующие типы задач распознавания.
1. Задача распознавания – отнесение предъявленного объекта по его описанию к одному из заданных классов.
2. Задача автоматической классификации – разбиение множества объектов по их описаниям на систему непересекающихся классов.
3. Задача выбора информативного набора признаков (снижение размерности множества признаков) при распознавании.
4. Задача приведения исходных данных (полученных при взаимодействии с системой) к виду, удобному для распознавания.
Методы (алгоитмы) распознавания образов делятся на четыре основные категории:
• методы, основанные на теории решений;
• методы, основанные на ортогональные преобразования;
• структурные методы;
• методы, основанные на теории нейронных сетей
В данный момент, не так важно, какими методами будет решаться задача распознавания. Пока стоит вопрос – возможно ли распознавание вобще. И на первый план выходит решение 3 и 4-ой задачи.
Введем типы компьютерных систем, поддающиеся распознаванию:
1. Техническое средство
2. Операционная система, её конфигурация (количество видов ограничено, множество совпадений)
3. Сервисы операционной системы, их конфигурация (количество видов ограничено, большое количество совпадений)
4. Прикладные системы (реализуют некоторые бизнес-процессы), использующие набор сервисов.
5. Распределенная система приложений на нескольких ТС (количество видов не ограничено, малое количество совпадений)
6. Пользователи (интерфейс/процесс/приложение и его характеристики).
На данный момент решаются задачи 1–4 для следующих систем:
1.
1.1. Однозначная идентификация передатчика wi-fi. Известна гипотеза о возможности удаленного распознавания. Публичной информации о математической модели нет. Информации о реализации нет.
1.2. Однозначная идентификация системного таймера. Построена математическая модель. Проведены испытания c опубликованными результатами. ПО реализующее алгоритм публично не доступно.
1.3. Идентификация сетевой карты. Есть очевидная возможность распознавания по MAC-адресу. Есть гепотизы о возможности распознавания по другим характеристикам.
2. Идентификация семейства ОС, точной версии, сетевых настроек, установленных обновлений. Возможность распознавания точной версии ОС подтверждена. ПО реализующие алгоримты публично доступно. Стоит вопрос о перечне распознаваемой части конфигурации ОС.
3. Идентификация сервисов, протоколов взаимодействия, конфигурации сервисов. Возможность распознавания точной версии известных сервисов подтверждена. ПО реализующие алгоримты публично доступно. Стоит вопрос о перечне распознаваемой части конфигурации сервиса.
4. Идентификация приложений, их конфигурации, определение решаемых бизнес-задач. Определение составных элементов. Есть гипотеза о возможности разпознования. Публичной информации о математической модели нет. Информации о реализации нет.
6. Однозначная удаленная идентификация пользователя, по конфигурации web-браузера.
Тезисы по распознаванию:
1. Анализируя проходящие сетевые потоки можно распознать системы любой категории участвующие в сетевом взаимодействии.
2. Используя активное взаимодействие с системой можно распознать системы любой категории участвующие в сетевом взаимодействии.
3. Характеристики/конфигурация системы, которые влияют на внешнее взаимодействие, могут быть идентифицированы/определены.
Следствия:
1) Если уникальная характеристика системы влияет на внешнее взаимодействие, то система может быть однозначно идентифицирована удаленно.
Связанная ссылка:
http://www.hackerdom.ru/team/hall/ezine/wafprinting
=======================
Выкладываю в приложении свою древнюю статью нигде не опубликованную в полном обьеме и древнюю статью из журнала «Системый администратор». Просто ничего круче в инете ещё не видел – пусть будет.
Может быть в скором времении выложу свежие тезисы и статью.