Авторы: Барабаш А.А., Вороной С.М.
Источник: Барабаш А.А. Методы скрытой передачи приватной информации через компьютерную сеть и построение защиты / А.А. Барабаш, С.М. Вороной // Информатика и компьютерные технологии 2005: сборник трудов первой международной студенческой научно-технической конференции, 15 декабря 2005 года, Донецк. - C. 270–271.
В этом докладе рассказывается о методах скрытой передачи информации в компьютерную сеть. Главной целью является раскрытие и анализ методик скрытой передачи информации с целью построения требований к системе защиты.
Существует категория программ, называемых файрволами. Среди функций которых есть задача учета и контроля доступа в сеть процессов, запущенных на компьютере [1].
Для злоумышленника представлять интерес на чужом компьютере могут:
– файлы, в которых храниться личная финансовая информация;
– персональные pin-номера;
– электронные копии налоговых деклараций (если они готовились с помощью приложений по созданию налоговых отчетов);
– номера кредитных карт;
– рабочая информация, которая может быть ценна для конкурента;
– возможность запуска атаки "распределенный отказ от обслуживания" против других компьютеров в Интернете и Web-сайтов.
Как правило, для контроля доступа в сеть существует два списка: список разрешенных процессов и список запрещенных процессов. Существует два основных принципа, т.н. политики безопасности. Первая: разрешать доступ всем процессам, которых нет в списке запрещенных, вторая запрещать доступ процессам, которых нет в списке разрешенных. Вторая политика является более надежной, т.к. количество процессов, которым доступ в сеть разрешен, будет ограничено. Процессы в списке идентифицируются по полному пути запускаемого исполняемого файла.
Существуют методики передачи данных через сеть в обход средств защиты информации, использующие описанные ниже принципы работы [2].
Общим у этих методов является участие в передаче доверенного процесса. Как правило, если используется политика безопасности, то в списке разрешенных процессов находится Web-браузер и программа почтовый клиент.
Для тестирования средств защиты существуют программы-тесты, которые реализуют описанные выше методы скрытой передачи информации [2]. На сегодняшний день наиболее популярными являются: AWFT, CopyCat, DNStester, FireHole, Ghost, LeakTest, Mbtest, Outbound, pcAudit, Surfer, Termite, Tooleaky, WallBreaker, Yalta.
Знание этих методик позволяет описать функциональные требования к системам защиты. Система защиты должна осуществлять:
– контроль аутентичности исполняемых файлов программ и библиотек, осуществляющих доступ в сеть;
– контроль загрузки библиотек;
– контроль внедрения кода;
– контроль целостности родительских процессов для доверенных программ.
Для контроля аутентичности программных компонентов целесообразно вести базу данных, которая будет содержать:
– список исполняемых файлов, процессы которых могут осуществлять доступ в сеть;
– для каждого исполняемого файла список загружаемых библиотек, а также ссылку на элемент, соответствующий родительскому процессу;
– для каждого элемента базы (процесса или библиотеки) значение ключа, однозначно соответствующего конкретному содержанию файла (в простейшем случае может быть контрольная сумма или CRC, но более предпочтительным является использование криптографических хэш-функций).
Алгоритм работы с такой базой для выявления попыток передачи данных подмененными приложениями следующий:
– при запуске процесса устанавливается ссылка на родительский элемент; если произошел первый запуск процесса, вычисляется значение ключа и заносится в базу;
– при загрузке библиотеки в адресное пространство процесса вычисляется значение ключа и добавляется элемент в список библиотек процесса;
– при попытке приложений передавать данные заново вычислять значение ключей исполняемых файлов, процесса, родительских процессов, а также файлов библиотек;
– в случае несовпадения значений ключей или появления новых библиотек с списке, информировать о ситуации пользователя, т.к. несовпадение значений может быть вызвано обновлением программ, о чем пользователь наверняка знает, и спрашивать разрешение на передачу данных.