Безопасное управление удаленным хостом через незащищенный сервер

Рассмотрена проблема безопасного удаленного управления компьютером при условии отсутствия реальных ip-адресов. Предложена и описана структура программного комплекса, решающего поставленную проблему. Розглянуто проблему безпечного управління комп'ютером за умов відсутності реальних ip-адрес. Зап...

Full description

Saved in:
Bibliographic Details
Published in:Математичні машини і системи
Date:2012
Main Authors: Вахнин, С.А., Братанин, А.М.
Format: Article
Language:Russian
Published: Інститут проблем математичних машин і систем НАН України 2012
Subjects:
Online Access:https://nasplib.isofts.kiev.ua/handle/123456789/83759
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Cite this:Безопасное управление удаленным хостом через незащищенный сервер / С.А. Вахнин, А.М. Братанин // Мат. машини і системи. — 2012. — № 2. — С. 102-106. — Бібліогр.: 6 назв. — рос.

Institution

Digital Library of Periodicals of National Academy of Sciences of Ukraine
_version_ 1860120699655421952
author Вахнин, С.А.
Братанин, А.М.
author_facet Вахнин, С.А.
Братанин, А.М.
citation_txt Безопасное управление удаленным хостом через незащищенный сервер / С.А. Вахнин, А.М. Братанин // Мат. машини і системи. — 2012. — № 2. — С. 102-106. — Бібліогр.: 6 назв. — рос.
collection DSpace DC
container_title Математичні машини і системи
description Рассмотрена проблема безопасного удаленного управления компьютером при условии отсутствия реальных ip-адресов. Предложена и описана структура программного комплекса, решающего поставленную проблему. Розглянуто проблему безпечного управління комп'ютером за умов відсутності реальних ip-адрес. Запропоновано та описано структуру програмного комплексу, що вирішує поставлену проблему. The problem of safe computer management under the conditions of the absence of real ip-addresses is regarded. The structure of bundled software solving this problem was proposed and described.
first_indexed 2025-12-07T17:39:11Z
format Article
fulltext 102 © Вахнин С.А., Братанин А.М., 2012 ISSN 1028-9763. Математичні машини і системи, 2012, № 2 УДК 004.773 С.А. ВАХНИН, А.М. БРАТАНИН БЕЗОПАСНОЕ УПРАВЛЕНИЕ УДАЛЕННЫМ ХОСТОМ ЧЕРЕЗ НЕЗАЩИЩЕННЫЙ СЕРВЕР Анотація. Розглянуто проблему безпечного управління комп’ютером за умов відсутності реаль- них ip-адрес. Запропоновано та описано структуру програмного комплексу, що вирішує поставле- ну проблему. Ключові слова: віддалене управління, комп’ютерні мережі, захист інформації. Аннотация. Рассмотрена проблема безопасного удаленного управления компьютером при условии отсутствия реальных ip-адресов. Предложена и описана структура программного комплекса, решающего поставленную проблему. Ключевые слова: удаленное управление, компьютерные сети, защита информации. Abstract. The problem of safe computer management under the conditions of the absence of real ip- addresses is regarded. The structure of bundled software solving this problem was proposed and de- scribed. Keywords: remote management, computer networks, information security. 1. Вступление Большинство компьютеров, подключенных к сети Интернет, не имеют возможности при- нимать входящие подключения, что обусловлено нехваткой реальных ip-адресов. Эта проблема может быть решена переходом на IPv6, но на данный момент прогнозы по внедрению этого протокола отсутствуют [1]. Для решения проблемы нехватки ip-адресов в Интернете широко применяется тех- нология создания виртуальных хостов, которая предусматривает привязку множества до- менных имен к одному ip-адресу, эта технология оправдывает себя и широко используется лишь для протокола прикладного уровня HTTP (HyperText Transfer Prоtocоl). Провайдеры, в свою очередь, используют механизм преобразования сетевых адресов Network Address Translation (NAT), который дает возможность нескольким пользователям работать от име- ни одного ip-адреса, но ограничивает возможность приема входящих tcp-подключений. Все перечисленные методы не предусматривают возможность устанавливать пря- мое подключение между двумя компьютерами сети Интернет, которое необходимо для создания безопасного соединения и управления удаленным хостом. Далее в статье речь пойдет о проблеме управления удаленным хостом в условиях отсутствия реальных ip- адресов на обеих (управляемой и управляющей) сторонах. 2. Постановка задачи Можно сделать вывод, что связь между двумя компьютерами, подключенными к сети Ин- тернет и не имеющими реальных ip-адресов, физически невозможна. Таким образом, сле- дует ввести между ними третий компьютер, который будет исполнять роль сервера. На таком принципе основано множество сетевых протоколов высокого уровня: SMTP/POP3, ICQ, Skype, VPN. В случае размещения сервера в Интернете нельзя с полной уверенностью гарантировать то, что данные, хранящиеся на сервере или передающиеся через него, не будут скомпрометированы со стороны администрации сервера. Таким образом, будем счи- тать, что сервер не является защищенным и шифрование данных должно выполняться на клиентах. ISSN 1028-9763. Математичні машини і системи, 2012, № 2 103 Рис. 1. Структурная схема программного обеспечения Задача состоит в разработке программного комплекса, который обеспечивает пере- дачу и выполнение команд между двумя точками: управляемым и управляющим компью- терами. Программный комплекс состоит из четырех частей: – программное обеспечение (ПО) сервера, которое используется как промежуточное звено для передачи данных между клиентами с отсутствующим реальным ip-адресом; – программа Master, которая устанавливается на управляющем компьютере и вы- полняет необходимые функции для передачи команд управляемому компьютеру через сер- вер; – программа Slave, выполняющая прием и выполнение команд от программы Master, использующая сервер как промежуточное звено передачи данных; – программа для управления ключами, обеспечивающая безопасную генерацию и обмен ключами. Важным является также вопрос выбора сервера, который будет выполнять роль промежуточного звена при передаче команд от управляющего компьютера управляемому. 3. ПО сервера Для определения средств, которые будем применять при разработке программного обеспе- чения сервера, следует определить его тип. Можно условно выделить пять типов предос- тавляемого хостинга [2]: 1. Общий виртуальный хостинг (Shared-hosting) – веб-сервер, на котором размещено несколько веб-сайтов. Для определения клиентом необходимого сайта используется тех- нология виртуальных хостов. 2. Виртуальный выделенный сервер (VPS – Virtual private server, VPS-хостинг) – сервер делится на несколько частей и клиенту предоставляется отдельная виртуальная ма- шина с автономной операционной системой, которой он может распоряжаться по своему усмотрению. 3. Выделенный сервер (VDS – Virtual Dedicated server, Dedicated-hosting) – в аренду предоставляется отдельный компьютер. 4. Облачный сервер (Cloud Server, Cloud-hosting) – сервер с возможностью неогра- ниченного расширения. 5. Colocation – подразумевает аренду места на серверной площадке для размещения компьютера клиента. В данном случае мы выберем об- щий виртуальный хостинг с поддержкой PHP и MySql, так как он самый распро- странённый и самый доступный. Недос- татком такого решения является обяза- тельное использование HTTP протокола, который в данном случае является избы- точным. Структурная схема всего про- граммного комплекса приведена на рис. 1. Как показано на рисунке, все эле- менты системы, кроме генератора клю- чей, взаимодействуют через сеть Интер- нет. Также, у управляемого и управляющего компьютеров есть хранилище ключей, кото- рое используется для хранения закрытых ключей и сертификатов. Генератор ключей ис- пользуется для передачи ключей между участниками диалога и взаимодействует с ними только через безопасные каналы. В данном случае хранилище и генератор ключей должны находиться на отдельном накопителе. Основной задачей сервера является пересылка со- 104 ISSN 1028-9763. Математичні машини і системи, 2012, № 2 общений между участниками диалога и хранение необработанных сообщений. Также сер- вер выполняет функции авторизации и аутентификации. В отличие от управляемого и управляющего компьютеров, сервер может выполнять два вида диалога: диалог с управляемым компьютером и диалог с управляющим компью- тером, каждый из которых имеет свои особенности. Диалог с управляющим компьютером состоит из следующих этапов: 1. Авторизация – сервер принимает и проверяет логин и пароль программы Master и возвращает ей идентификатор сессии, по которому эта программа будет идентифицирова- на на остальных этапах диалога. 2. Прием команды. 3. Отправка следующего в очереди статуса или ответа. 4. Прием статуса «Закрыто». Получив такой статус, сервер удаляет сообщение, для которого установлен этот статус. Диалог с управляемым компьютером: 1. Авторизация. 2. Прием запроса на следующую команду или статус. 3. Отправка команды или статуса. 4. Прием подтверждения статуса. 5. Прием ответа на команду. Общая схема взаимодействия компонентов системы представлена на рис. 2 в виде диаграммы последовательности. Диаграмма отображает такие действия: 1. Управляющий компьютер передает на сервер свой логин и пароль, сервер прове- ряет их и, если логин и пароль верны, возвращает идентификатор сессии, который далее будет отправляться управляющим компьютером вместе с каждым последующим сообще- нием. Такой подход дает возможность минимизировать количество передач логина и паро- ля. 2. Управляющий компьютер передает на сервер текстовую команду и двоичные данные, которые ее дополняют и могут содержать набор параметров команды. Также пе- редается электронная цифровая подпись (ЭЦП) команды и данных, что предотвращает возможность их подмены или модификации. Двоичные данные зашифрованы открытым ключом управляемого компьютера и могут быть расшифрованы только им. 3. Аутентификация и авторизация управляемого компьютера происходят аналогич- ным образом, как для управляющего компьютера. 4. Управляемый компьютер запрашивает список невыполненных команд и выпол- няет их. Результат выполнения каждой команды отправляется на сервер в виде текстового результата выполнения команды, зашифрованных двоичных данных и ЭЦП. Также суще- ствует сквозной счетчик команд, значение которого также подписывается каждой из сто- рон при передаче команды или результата ее выполнения. Такой подход исключает воз- можность ретрансляции команды злоумышленником. 5. Сервер сохраняет результат выполнения команды в базе данных до приема ре- зультатов и закрытия команды управляющим компьютером. 6. Управляющий компьютер посылает запрос на список выполненных (но не закры- тых команд), сохраняет их в локальной базе данных, после чего отправляет запрос на за- крытие каждой принятой команды, что приводит к их удалению на сервере. ISSN 1028-9763. Математичні машини і системи, 2012, № 2 105 Рис. 2. Последовательность взаимодействия компонентов Как видно из приведённого списка, сервер не выполняет никаких действий, связан- ных с криптографическими преобразованиями, и не хранит (или передает) данные, кри- тичные к безопасности в открытом виде. Таким образом, даже получив доступ к серверу, максимальный ущерб, который может быть причинен злоумышленником, это обрыв связи между управляющим и управляемым компьютерами. 4. ПО Клиентов Для реализации программного обеспечения управляющего и управляемого компьютера может быть использован любой язык программирования, поддерживающий выполнение криптографических преобразований. Но для конкретной реализации выбран язык про- граммирования Java, так как, кроме поддержки алгоритмов шифрования, он также являет- ся мультиплатформенным, что значительно расширяет сферу применения программного комплекса. Программы Master и Slave целесообразно реализовывать в виде консольных приложений, управляемых через конфигурационные файлы и socket-интерфейс. Это дает возможность запуска на платформах без оконного графического интерфейса и возмож- ность для разработки графического интерфейса сторонними разработчиками. Для хране- ния данных на стороне управляемого компьютера предполагается использование встроен- ной базы данных, которая не требует установки отдельного сервера баз данных [3]. В роли такой базы данных может служить SQLite, она также поддерживается и некоторыми мо- бильными устройствами. 5. Задача генератора ключей Генератор ключей – это часть программного комплекса, которая обеспечивает генерацию и передачу ключей между клиентом и сервером. Для высокой надежности генератор дол- жен быть реализован в виде отдельного устройства [4], но в конкретном случае предпола- 106 ISSN 1028-9763. Математичні машини і системи, 2012, № 2 гается использование флеш накопителя с записанной на него виртуальной Java-машиной и программой генерации ключей. Процедура генерации и обмена ключами через безопасный канал состоит из сле- дующих шагов: 1. Генерация основного закрытого ключа и его сертификата (CA). 2. Генерация закрытого ключа и сертификата программы Master, подпись сгенери- рованного сертификата основным закрытым ключом. 3. Передача закрытого ключа и сертификата CA в хранилище ключей на компьютер программы Master, уничтожение переданного закрытого ключа на флеш накопителе. 4. Генерация закрытого ключа и сертификата программы Slave, подпись сгенериро- ванного сертификата основным закрытым ключом. 5. Передача закрытого ключа и сертификата CA в хранилище ключей на компьютер программы Slave, уничтожение переданного закрытого ключа на флеш накопителе. После выполнения такой процедуры обмен открытыми ключами между программа- ми Master и Slave может быть выполнен через незащищенный канал, без угрозы MITM- атаки (Man in the middle), так как сертификат CA был передан по защищенному каналу, а открытые ключи были подписаны им. 6. Выводы В статье рассмотрена проблема взаимодействия компьютеров при отсутствии реального ip- адреса. Поставлена задача разработки программного комплекса по обеспечению передачи команд между двумя компьютерами через незащищенный сервер. Описаны алгоритмы и принципы работы программного комплекса, решающего поставленную задачу. Продолже- нием рассмотренной темы может быть взаимодействие между группой компьютеров. СПИСОК ЛИТЕРАТУРЫ 1. http://habrahabr.ru/blogs/internet/117926. 2. http://www.infohost.net.ru/articles/vidy_host.htm. 3. http://www.sqlite.org. 4. Мельников В.П. Информационная безопасность и защита информации / Мельников В.П., Клей- менов С.А., Петраков А.М.; под ред. С.А. Клейменова. – [3-е изд.]. – М.: Издательский центр «Ака- демия», 2008. – 336 с. 5. Нильс Ф. Практическая криптография / Ф. Нильс, Ш. Брюс. – М.: Издательский дом «Вильямс», 2005. – 416 с. 6. Heffelfinger D.R. Java EE 6 Development with NetBeans 7 / Heffelfinger D.R. – Birmingham, UK, 2011. – 392 p. Стаття надійшла до редакції 08.11.2011
id nasplib_isofts_kiev_ua-123456789-83759
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
issn 1028-9763
language Russian
last_indexed 2025-12-07T17:39:11Z
publishDate 2012
publisher Інститут проблем математичних машин і систем НАН України
record_format dspace
spelling Вахнин, С.А.
Братанин, А.М.
2015-06-23T08:06:41Z
2015-06-23T08:06:41Z
2012
Безопасное управление удаленным хостом через незащищенный сервер / С.А. Вахнин, А.М. Братанин // Мат. машини і системи. — 2012. — № 2. — С. 102-106. — Бібліогр.: 6 назв. — рос.
1028-9763
https://nasplib.isofts.kiev.ua/handle/123456789/83759
004.773
Рассмотрена проблема безопасного удаленного управления компьютером при условии отсутствия реальных ip-адресов. Предложена и описана структура программного комплекса, решающего поставленную проблему.
Розглянуто проблему безпечного управління комп'ютером за умов відсутності реальних ip-адрес. Запропоновано та описано структуру програмного комплексу, що вирішує поставлену проблему.
The problem of safe computer management under the conditions of the absence of real ip-addresses is regarded. The structure of bundled software solving this problem was proposed and described.
ru
Інститут проблем математичних машин і систем НАН України
Математичні машини і системи
Моделювання і управління
Безопасное управление удаленным хостом через незащищенный сервер
Безпечне управління віддаленим хостом через незахищений сервер
Safe management of a remote host via an unprotected server
Article
published earlier
spellingShingle Безопасное управление удаленным хостом через незащищенный сервер
Вахнин, С.А.
Братанин, А.М.
Моделювання і управління
title Безопасное управление удаленным хостом через незащищенный сервер
title_alt Безпечне управління віддаленим хостом через незахищений сервер
Safe management of a remote host via an unprotected server
title_full Безопасное управление удаленным хостом через незащищенный сервер
title_fullStr Безопасное управление удаленным хостом через незащищенный сервер
title_full_unstemmed Безопасное управление удаленным хостом через незащищенный сервер
title_short Безопасное управление удаленным хостом через незащищенный сервер
title_sort безопасное управление удаленным хостом через незащищенный сервер
topic Моделювання і управління
topic_facet Моделювання і управління
url https://nasplib.isofts.kiev.ua/handle/123456789/83759
work_keys_str_mv AT vahninsa bezopasnoeupravlenieudalennymhostomčereznezaŝiŝennyiserver
AT brataninam bezopasnoeupravlenieudalennymhostomčereznezaŝiŝennyiserver
AT vahninsa bezpečneupravlínnâvíddalenimhostomčereznezahiŝeniiserver
AT brataninam bezpečneupravlínnâvíddalenimhostomčereznezahiŝeniiserver
AT vahninsa safemanagementofaremotehostviaanunprotectedserver
AT brataninam safemanagementofaremotehostviaanunprotectedserver