«Национальный исследовательский ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» Институт кибернетики

advertisement
«Национальный исследовательский
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Институт кибернетики
Кафедра ИПС
Отчет по лабораторной работе №1
по дисциплине «Методы и средства защиты компьютерной
информации»
Управление удаленными ресурсами
Выполнил: студент
группы 8В83
Г.В. Кобызь
Проверил: доцент
И.А. Ботыгин
Томск 2012
Задание
Необходимо разработать приложение для управления удаленным
компьютером в сети предприятия. Для разрешения серверу совершить
привилегированную операцию на стороне клиента необходимо использовать
CAPTCHA. Такой подход необходим для того, чтобы быть уверенным, что
управление осуществляет человек, а не робот.
Актуальность
В данный момент существует множество бесплатных программ для
управлению удаленным компьютером по сети. При помощи таких программ
можно контролировать работу клиента и принудительно выполнять на этом
компьютере некоторые действия. Таки образом данная программа может
использоваться как в мирных целях, так и в целях злоумышленника, что
позволит ему получить доступ к удаленной машине и захватить управление.
Программы удаленного администрирования очень полезны в больших
организациях и используются для удаленной настройки системными
администраторами. Чтобы убедиться, что запрос на управление был отослан
человеком, а не роботом, необходимо использовать CAPTCHA. CAPTCHA
позволяет отличать человека от машины, отсылая пользователю задачу
распознавания картинки или задачу на вычисление значения выражения.
Постоянно появляются всё более «умные» боты, которые могут всё лучше и
лучше распознавать механизмы CAPTCHA, в тоже время, создатели
CAPCHA постоянно придумывают способы усложнения механизма защиты,
порой так, что даже обычному человеку сложно правильно дать ответ с
первого раза.
2
Цель исследования
Целью
исследования
является
изучение
методов
управления
удаленным компьютером по сети.
Задачи исследования
Для достижения цели, необходимо было решить ряд задач.
1)
Реализация клиентского приложения для манипулирования
компьютером.
2)
Реализация серверного приложения для посылки команд клиенту.
3)
Реализация механизма CAPTCHA в виде запроса на вычисление
математического выражения.
Информационно-поисковый анализ
На сегодняшний день существует огромное количество программ,
позволяющих не просто удаленно выполнять какие-то приложения на
удаленном компьютере, а полностью создающих эффект работы на
удаленной машине путем передачи содержимого экрана.
Можно перечислить несколько самых популярных программ из этой
серии:
1)
Radmin (www.radmin.ru)
2)
Hidden Administrator (www.HidAdmin.ru)
3)
TeamViewer 4.0 (www.TeamViewer.com)
reCAPTCHA (http://recaptcha.net/) — проект, использующий в роли
рабочего
элемента для
ответов пользователей
на CAPTCHA-запрос
неразборчивое для OCR слово, являющееся одним из множества искажённых
фрагментов сканированных книг в дополнение к слову, сгенерированному
компьютером. Этот сервис учитывает приёмы использования и возможности
программ оцифровки текста книг. Для надёжности одно и то же слово
3
предлагается нескольким пользователям различных сайтов. Когда разные
пользователи одинаково ответили на CAPTCHA-запрос, предполагается, что
они ввели правильное слово.
Теоретический анализ
Для осуществления клиент-серверного взаимодействия, как правило,
используется соединения, в основе которых лежат сокеты. Сокеты —
название программного интерфейса для обеспечения обмена данными между
процессами. Процессы при таком обмене могут исполняться как на одной
ЭВМ, так и на различных ЭВМ, связанных между собой сетью. Сокет —
абстрактный объект, представляющий конечную точку соединения.
Следует различать клиентские и серверные сокеты. Клиентское
приложение (например, браузер) использует только клиентские сокеты, а
серверное (например, веб-сервер, которому браузер посылает запросы) — как
клиентские, так и серверные сокеты.
Каждый процесс может создать слушающий сокет (серверный сокет)
и привязать его к какому-нибудь порту операционной системы. Слушающий
процесс обычно находится в цикле ожидания, то есть просыпается при
появлении нового соединения. При этом сохраняется возможность просто
проверить наличие соединений на данный момент, установить тайм-аут для
операции и так далее.
CAPTCHA —
Тьюринга для
полностью
различия
автоматизированный
компьютеров
и
людей.
публичный тест
В Рунете часто
транскрибируется как капча. Термин появился в 2000 году. Основная идея
теста: предложить пользователю такую задачу, которую может решить
человек, но которую несоизмеримо сложно предоставить для решения
компьютеру. В основном это задачи на распознавание символов.
CAPTCHA
чаще
всего
используется
при
необходимости
предотвратить использование интернет-сервисов ботами, в частности, для
4
предотвращения
автоматических
отправок
сообщений,
регистрации,
скачивания файлов, массовых рассылок и т. п.
Экспериментальный анализ
В качестве действий для удаленного управления были выбраны
следующие функции:
1)
Вызов окна проводника Windows.
2)
Запуск калькулятора.
Таким образом, было реализовано клиентское приложение, которое
ожидает команд от сервера на совершение выше описанных функций.
Серверное приложение может удаленно управлять сразу несколькими
компьютерами, для этого генерируется список машин, на которых запущены
клиенты. Таким образом, пользователь, может выбрать того удаленного
клиента, которым он хочет управлять.
Оба приложения организованы таким образом, что после того как
сервер послал клиенту некоторый запрос на выполнение привилегированной
операции. То клиенту будет предложено ввести некоторый ключ, который
будет отправлен серверу. Это необходимо, для того, чтобы определить, кто
делает запрос на удаленное управление – робот или человек.
Рисунок 1 - Серверное приложение. Ответ на CAPTCHA
5
Предусмотрен таймаут на ввод ответа, для того чтобы избежать
захвата клиента другим центром управления.
Рисунок 2 – Серверное приложение. Таймаут на ввод ответа истек
Анализ и оценка результатов исследования
В результате проделанной работы были получены как теоретические,
так и практические навыки разработки клиент-серверных приложений. Была
разработана
пара
приложений
«клиент-сервер»,
для
осуществления
управления удаленным компьютером. Поскольку программы разработаны в
целях
образовательного
процесса,
то
обладают
ограниченной
функциональностью по сравнению с существующими аналогами. Механизм
проверки CAPTCHA разработанный в программе, является простейшим
(вычисление значения выражения). Таким образом, боты по взлому
CAPTCHA с легкостью подберут ответ.
6
Заключение
В ходе исследования, была достигнута основная цель, для достижения
которой необходимо было решить ряд задач, направленных на исследование
поставленной проблемы, а также реализованы приложения, которые были
необходимы для проведения исследования.
Список используемой литературы
1.
Wikipedia – электронная энциклопедия [Электронный ресурс].-
Режим доступа: http://ru.wikipedia.org, свободный.
2.
Кровчик Э., Кумар В., Лагари Н., Мунгале А., Нагел К., Паркер
Т., Шивакумар Ш. .Net. Сетевое программирование для профессионалов. –
М.: Лори, 2005. – 400 с.
3.
CodeNet – Все для программиста [Электронный ресурс].- Режим
доступа: http://codenet.ru, свободный.
7
Download