Как стать автором
Обновить
52.93

Как работает Team Viewer

Время на прочтение7 мин
Количество просмотров60K
image

В текущей экономической ситуации мы все чаще обращаемся к средствам удаленного управления для доступа к рабочему месту сотрудника или заказчика. Еще не так давно, при словах «удаленный доступ» и «проброс портов» системные администраторы заметно грустнели. Сейчас уже не нужно искать совместимые продукты для подключения разных типов операционных систем, достаточно поставить Team Viewer (TV), элементарно запустить его, можно даже не устанавливать. Более того, в TV – можно еще и позвонить, увидеть собеседника, услышать его удивленный голос и вот ты уже «возишь» мышкой по чужому рабочему столу. Но как же он все-таки работает? Какие подводные камни тут могут грозить сисадминам? В статье я хочу рассмотреть принцип работы этого популярнейшего ПО, а также сравнить с аналогами – Anydesk, Ammyy Admin, Radmin, Google remote desktop, Dameware и Lite Manager.

Что мы знаем о Team Viewer


  • Компания Team Viewer GMBH основана в Германии в 2005 году.
  • Продукт имеет кросс-платформенный клиент, в том числе для Windows, Linux, MacOS, Android а также Chrome app плагин и даже решения для IoT enterprise — интернета вещей. Также существует веб-версия продукта для получения доступа с помощью веб-браузера (через регистрацию) для самых суровых политик безопасности. Веб-клиент требует Flash.
  • Коммерческую версию можно запускать еще и на серверных операционных системах.
  • Возможен видео, голосовой, текстовый чат между пользователями, сеанс зашифрован ключом AES-256, а передача ключей — RSA-4096.
  • Team Viewer работает с установкой или без, то есть даже без прав на установку ПО. Программный продукт должен быть запущен на обеих машинах – системного администратора и пользователя.

О NAT


Думаю, на Хабре много говорить про NAT излишне. Кратко – механизм транслирует локальные IP-адреса сетей во внешние публичные и маршрутизируемые в интернете и наоборот. Работает на границе сети.

Однако, говоря о TV, важно вспомнить основы и кратко пересказать RFC-классификацию сетей NAT для понимания возможных вариантов установки соединения:

  • Full cone NAT или NAT один-на–один – однозначная трансляция пар. Все пакеты с пары внутренний IP адрес: порт идут через пару внешний IP адрес: порт. Любой внешний хост может пересылать пакеты на внутренний адрес: порт через внешнюю пару IP адрес: порт, при условии, что это разрешено файерволом.
  • Restricted Cone NAT – однажды инициированное изнутри соединение назначается («мапится») на внешнюю пару адрес: порт и в дальнейшем позволяет получать пакеты с любого порта этого публичного хоста. То есть порт значения не имеет, но внешний хост сможет отправить пакеты клиенту за NAT только, если ранее принял от него пакет. На какой порт принимаетcя ответный пакет — значения не имеет.
  • Port-restricted Cone NAT – то же что и предыдущее, но включает в себя ограничение по портам, то есть внешний клиент сможет оправить пакет только на тот порт, с которого ранее получил пакет.
  • Symmetric NAT или симметричный NAT – при таком соединении внутренний адрес: порт преобразуется в случайную свободную пару – внешний адрес: порт. Так как пара динамическая – даже если тот же самый внутренний хост отправил соединение с того же порта другому адресату, маппинг-пара динамически меняется. В итоге, внешний хост может только отправить пакет назад внутреннему хосту. Инициация соединения из публичной сети при этом невозможна.

Также существуют реализации NAT, которые комбинируют данные принципы и, в итоге ведут себя уникально.

image

О базовых принципах работы TV


Team Viewer – это одновременно и сервер, и клиент. Приложение TV использует сервера-посредники в интернете для keep-alive подключения. Тип VP-подключения выбирается и устанавливается TV самостоятельно.

Разработчики не раскрывают точный алгоритм, однако, по анализу лога в целом варианты такие:

  • Соединение с двумя внешними IP, без NAT – простейший и общий случай установки VPN-соединения, для нас неинтересный.
  • Соединение напрямую при наличии одного реального IP-адреса у одной из сторон. При этом не важно, у кого именно он присутствует, соединение может быть установлено и в обратном направлении, к инициатору, у которого этот адрес есть. Информация об IP передается через сервера-посредники TV. На выбор используется TCP либо UDP-протокол. Во втором случае используется технология UDP hole punching. Далее срабатывает главная магия – метод соединения, при котором оба клиента сообщают серверу TV свой уникальный идентификатор, внешний и внутренний адрес и порт подключения. Эти данные сервер TV хранит и далее передает информацию каждому из клиентов. Используя полученные сведения, каждый клиент пытается установить связь, используя допустимые файерволами, либо известные открытые порты и перенаправляет входящие пакеты каждой стороне. Знание сетевой топологии для подключения не требуется. Итак, каждый из клиентов устанавливает подключение на адрес и порт к серверу TV, на тот порт, что открыт на файерволе, пока не установится сессия. Таким образом, образуется дыра или «firewall pinhole» и клиент становится способен получить ответ от второго участника соединения.
  • Соединяем ПК с «серыми» IP, когда оба участника под ограничениями за файерволом и роутером (NAT). Как описано выше, не все типы NAT позволяют подключение. Тут сервера TV также получают идентификаторы клиентов и устанавливают https-тунеллирование. Порты не открываются. Такое соединение – вебсерфинг по сути. Скорость при таком типе подключения минимальна, нагрузка ложится на внешние сервера TV. Эта штука работает даже через 4G-сети и любой hotspot с закрытыми портами.

Чем мы рискуем


Несмотря на огромное упрощение задач подключения, недостатки таких систем управления напрямую вытекают из их достоинств:

У TV есть версии quick support-поддержки, которые не требуют ни установки, ни прав администратора и стартуют даже с флешки. Достаточно передать человеку линк-ссылку на программу. Такую версию можно сгенерировать с заранее известным паролем и, хотя есть лимит на разовый сеанс в 5 минут, этого вполне достаточно, чтобы закрепиться и захватить контроль над ОС, либо получить секретные данные.

TV дал мощный толчок к развитию программ удаленного доступа и управления. Существуют десятки альтернатив – среди известных в нашей стране Anydesk, Ammyy Admin, Radmin, Google remote desktop, Dameware, Lite Manager. Хотя пандемия 2020 спровоцировала невероятное увеличение спроса, не все вендоры выросли так же значительно как TV, чтобы успеть озаботится проблемами безопасности.

Ammyy Admin. В 2016 году печально известен тем, что пережил атаку на свой сайт, в результате которой официальный дистрибутив ставился вместе с трояном Lurk. Хотя проблема давно исправлена, это помешало популярности продукта.

Anydesk. Нашумевший продукт и в России, и в мире, благодаря сфере около-банковского мошенничества и трейдинга. Известен случай обмана клиентов (фрода) в Reserve Bank of India в 2019. Anydesk предлагали поставить под видом чата для решения проблем. В 2018 неофициально модифицированные, замаскированные сборки Anydesk, используемые для киберпреступлений добавлены японцами из Trend Micro в качестве сигнатур вирусного ПО. С тех пор в разных антивирусах ПО может срабатывать как вирусное. По сути, Anydesk имеет даже технологические преимущества перед TV в виде более производительного видеокодека DeskRT, сжимающего трафик и выдающего 60 кадров/c против 30, а также более либеральную лицензию.

Chrome OS desktop – работает прямо из браузера, который к тому же можно запустить из виртуальной машины или контейнера. В качестве примера можно привести Google Chrome remote desktop в изолированной среде (технология application guard) для браузера Windows 10 Edge. При этом у приложения нет ни связи с основной ОС, ни доступа к дискам или буферу обмена, при закрытии окна контейнер полностью уничтожается.

Chrome OS desktop бесплатен и этим все сказано. Однако вы не сможете управлять мобильным устройством с ПК, равно как и настраивать телефон с телефона. В этом плане Chrome OS desktop значительно уступает TV.

image

Антивирусы по-прежнему классифицируют данные программы как riskware – потенциально опасные для предоставления удаленного доступа. Сообщество ИБ характеризует отдельную категорию преступников – technical support-скамеров. Это жулики, прикидывающиеся легитимной удаленной поддержкой крупных корпораций. Базовая схема строится на холодных звонках и социальной инженерии c целью добиться установки TV или аналога, далее их подходы изобретательны:

  • установка кейлоггера;
  • платное обновление «истекших лицензионных ключей»;
  • убеждение жертвы в том, что ее атакуют хакеры при помощи запуска команд в cmd — netstat или рекурсии dir /s;
  • скачивание или удаление конфиденциальных документов путем отвлечения внимания и требование выкупа;
  • блокировка ОС установкой пароля на запуск;
  • многое другое, выходящее за рамки этой статьи.

Первые упоминания о таких случаях начались в 2008. Так как TV переведен на 30 языков и популярен почти во всех странах мира, пострадали многие. Если верить статистике, TV пользуются уже свыше 300 миллионов человек.

Самые действенные меры защиты подключений со стороны Team Viewer


  • ПО защищено подписью Verisign.
  • TV прошли сертификацию на соответствие стандарту ISO 27001.
  • Введена запись сессии.
  • Произошла смена протокола авторизации на SRP, в TV усилили ключи. Обмен ключами идет по RSA 4096 и сессия шифруется AES 256. TV уверяет, что «Man in the middle attack» невозможна.
  • Реализована двухфакторная аутентификация для входа в запись.
  • Введен лист блокировки для входящих подключений в том числе за пределами исходной сети.
  • Уничтожена возможность неограниченного тестового доступа без авторизации (с 2016 года).

image

Несмотря на меры по защите предприятий, для администраторов такие средства управления как TV – это потеря контроля и огромная головная боль. Наряду с бронированными воротами шлюзов корпоративной безопасности, с авторизацией и контролем удаленных пользователей, они получают постоянно распахнутую калитку, через которую можно получить доступ ко всей интра-сети, не открывая портов, не авторизуясь и не оставляя логов VPN-сессий.

Ссылка на ПО может прийти откуда угодно и от кого угодно, достаточно иметь хоть какой то доступ в интернет и уже можно вести зашифрованный диалог и управлять ПК. А ведь еще есть BYOD (личные) устройства, которые приносят на работу, где TV или его аналог может быть даже установлен по умолчанию.

Да, есть DLP решения, способные детектировать запуск процессов и новомодные шлюзы – вроде Checkpoint или Palo Alto, анализирующие и блокирующие трафик не по портам, а по сигнатурам приложений, но ведь их нужно выявить и добавить. А сколько таких версий может быть!

Если же вы пользуетесь по необходимости подобным ПО можно прийти к своду рекомендаций, которые пишут сами разработчики.

Рекомендации разработчиков при использовании TV или аналогов


  • Не отходите от ПК при сеансе.
  • Ведите запись чужих сессий, если возможно.
  • Удаляйте или отключайте ПО после использования.
  • Используйте ПО, которое сами скачали и поставили, не то что вам прислали.
  • Не принимайте помощь от незнакомых людей – «провайдер», или «Microsoft» не предложат скачать и использовать подобное решение.

В целом же концепция Team Viewer меня восхищает. Это революционный продукт, балансирующий на стыке удобства, безопасности и функциональности. Он просто работает, не надо ни пробрасывать порты, ни вдаваться в детали маршрутизации между сетями, ни настраивать файерволы там, где это сделать просто невозможно. Обращайтесь с ним бережно, как с заряженным оружием: знайте кому разрешаете подключение, регулируйте использование, когда речь о компании, и жизнь станет проще.

Автор статьи: Галиулин Тимур GTRch
Теги:
Хабы:
Всего голосов 15: ↑6 и ↓9-3
Комментарии98

Публикации

Информация

Сайт
www.infowatch.ru
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия