Крик души — «взлом» инфраструктуры LiteManager

Предисловие


Данный текст это, в первую очередь, предостережение для системных администраторов и простых пользователей. Внезапно для меня, выяснилось, что относительно известная программа для удаленного администрирования «LiteManager» (далее LM) сама по себе, без модификаций и каких-либо изменений, представляет собой backdoor для любого компьютера, где она установлена. То есть, если на ПК установлен LM и используется соединение по ID (без IP адреса), то, с очень высокой, почти 100%, долей вероятности, к этому ПК можно получить неправомерный удаленный доступ совершенно постороннему пользователю, приложив при этом минимум усилий, не обладая при этом какими-то специальными навыками взлома. Описание технологии «взлома» и работающий пример с исходным кодом ниже.


Я программист в небольшой компании, наш софт не связан с сетевыми технологиями, однако, иногда сотрудникам нужен удаленный доступ к рабочим ПК. По разным причинам, выбор пал на LM, который бесплатен для 30 сотрудников. Помимо прямых соединений в локальной сети (а-ля Radmin), LM позволяет работать и без указания IP-адреса удаленного компьютера, по ID, через сервера Компании (ха-ха) или пользовательские сервера, которые может развернуть любой желающий, при условии наличия внешнего IP адреса (на первый взгляд, похоже на TeamViewer, но это только на первый).


Как устроена сеть NOIP серверов LM


И вот мы обнаружили, что периодически, к некоторым машинам, осуществляется удаленный доступ по LM каким-то неустановленным лицом. Те, у кого были пароли доступа, физически не могли в этот момент соединиться удаленно. В общем, ситуация повторилась не раз и не два, даже после смены паролей. LM удалили со всех машин и я приступил к изучению ситуации, начав, конечно же, с того, как устроено подключения по ID. LM позаимствовали название у известной международной компании и назвали свой модуль LM NOIP сервер (еще называют «роутер»).


Соединение по ID, в программах такого рода, позволяет осуществлять связь, даже если удаленный (и/или локальный) компьютер находится за NAT. Вы указываете ID и пароль удаленного компьютера, жмете OK и получаете полный контроль над машиной. При этом, и компьютер администратора (далее Viewer) и удаленный ПК (далее Server, да, в терминологии LM именно так, не путайте с LM NOIP сервером, т.е. роутером) используют только исходящие соединения до роутера.


И вот здесь начинается самое интересное. Ниже описание с официального сайта.



С официального сайта

Уловили суть? Чтобы использовать личный NOIP роутер и бесплатную версию, нужно открыть этот роутер для всех. Казалось бы, что в этом плохого? Для ответа на этот вопрос, разберемся с общей схемой NOIP роутеров LM.


У них есть один, так называемый, «Главный сервер», который координирует остальные открытые роутеры, через которые и гонит весь трафик, в т.ч. и коммерческих пользователей. Это отслеживается любой программой мониторинга TCP соединений — сначала запрос к главному серверу, потом — работа через случайный (или не случайный, в зависимости от настроек).



Схема серверов LM

Цимес в том, что для работы по ID не обязательно развертывать личный NOIP сервер, мы, кстати, свой сервер не устанавливали. Все работает «из коробки» за счет наличия уже имеющихся бесплатных открытых NOIP роутеров, коих уже несколько десятков, их список доступен прямо из Viewer. Программа сама выбирает какой-то сервер (он может быть каждый раз разный) и трафик идет через него. Таким образом, очевидно, Компания решила сотворить некое подобие торрент-треккера, сэкономив на трафике и серверах.


Глобальная уязвимость


Но, как показала практика, эта идея красива лишь в виде идеи. По факту, через совершенно случайные сервера, принадлежащие случайным людям, происходит проксирование трафика, включая и пароли доступа к удаленным ПК, конечно же, а не новую серию «Звездных войн», как в случае с торрентом.


Да, естественно, трафик зашифрован.



С официального сайта

RSA 2048, AES 256, все дела. Шифруется только канал Server <=> Viewer, хотя, даже если бы шифровались каналы Serve <=> NOIP и Viewer <=> NOIP, это ничего бы не изменило кардинально. Однако, никакой проверки подлинности сервера в программе и в помине нет! Да если бы даже такая проверка была, из практики работы с RDP, могу ответственно заявить, что мало кто обращает внимание на предупреждение о том, что не удается проверить подлинность удаленного компьютера.



Предупреждение по версии RDP

Но, повторюсь, даже такой проверки там нет. И тут мне на ум приходит аббревиатура MITM. Атака «человек посередине». Практически сразу стало понятно, что поиски дыры завершены.


Даже после беглого изучения трафика Wireshark’ом и просмотра модулей программы под отладчиком, стало понятно, что это оно.


Для реализации MITM нужно, каким-то образом, получить доступ к инфраструктуре/оборудованию/каналу связи, там нужна социальная инженерия и прочие ухищрения, это единичный продукт, которые не представляет особого вреда для широких масс. В общем и целом, этим занимаются профессиональные спецы по взлому, коим я не являюсь.


Но LM предоставляет, прошу прощения за еще один восклицательный знак, эту инфраструктуру любому желающему, при этом, как они любят повторять на своем сайте — бесплатно! Устанавливай открытый LM роутер и «слушай» весь трафик, который через него идет. Эдакая рыбалка ID и паролей доступа к удаленным машинам. Осталось только перехватить трафик и расшифровать его.


В итоге, у нас глобальная, архитектурная уязвимость всей инфраструктуры LM. Намерено это было сделано или ввиду отсутствия элементарных знаний в области сетевой безопасности? Вопрос открытый.


Перехват трафика


К данной статье прилагается полностью работающий пример программы, с исходным кодом, которая умеет перехватывать практически все ID и пароли соединений, проходящих через LMNOIP роутер. Единственное требование — внешний IP адрес.



LMSoulCry.exe

LMSoulCry нужно ставить в сети перед LM NOIP роутером.


LM NOIP роутер устроен таким образом, что при запуске, он обращается к Глобальному серверу LM, видимо, для регистрации. Глобальный сервер, в свою очередь, пытается установить обратное TCP соединение к этому роутеру. Если это удается, то роутер можно перевести в бесплатный режим и пользоваться, т.е. он открыт для всех.


Нам необходимо сделать так, чтобы входящие TCP соединения принимала наша LMSoulCry (она их, в свою очередь, будет перенаправлять на LM роутер). А исходящие соединения LM роутер будет отсылать самостоятельно прямиком на Глобальный сервер, без нашего участия.


Вот типовая схема настройки. У вашего ПК внешний IP адрес. Устанавливаем виртуальную машину для запуска на ней LM NOIP роутера. Подключаем ее через встроенный NAT адаптер (он есть в VMWare) к вашему основному ПК. Настраиваем интернет на виртуальной машине (зачастую, ничего настраивать не надо, все само работает). Запускаем на физическом компьютере, с внешним IP, LMSoulCry.exe и указываем в ней внутренний адрес виртуальной машины. Далее, включаем LMSoulCry и стартуем LM NOIP роутер (который на виртуальной машине). Случайные пользователи не заставят себя долго ждать.


Если внешний IP адрес не у вашего ПК, а у маршрутизатора, то нужно, всего-навсего, указать port-forwarding в настройках этого самого маршрутизатора.


Если нет внешнего IP адреса, то на практике ничего не проверишь.


Реализация MITM


Что касается реализации MITM, там все банально. LM использует MS Crypto API, это еще больше упрощает дело подмены ключей. Исходный код LMSoulCry щедро снабжен комментариями, переносить его в статью смысла не вижу.


Наверное, данный пример вызовет снисходительную улыбку у профессиональных взломщиков, но тем он и ценен, что под силу для понимания и реализации даже весьма среднему программисту или студенту, которые, хотя бы в общих чертах, в курсе того, как пользоваться отладчиком. В примере нет ни патчей, ни перехвата API.


Данный пример, также, без труда можно расширить для перехвата чего угодно, из того что пропускает через себя LM. Так как трафик фактически ничем не защищен со стороны NOIP. 


Тут, что называется, надо не говорить, а показывать.


Крик души, лирика и выводы


После обнаружения данной уязвимости разработчикам LM было направлено письмо. На которое так и не был получен ответ.



Ответственные

Возможно, вам ответят. Попытайте счастье.


У меня нет уверенности в том, что разработчики поделия под названием «LiteManager» понесут заслуженную ответственность за то, что подставляют тысячи ни о чем не подозревающих пользователей (как бесплатных, так и коммерческих, что важно), в том числе и меня, на протяжении уже семи лет. Ведь нигде не написано, что программа никак не защищена и, установив ее на ПК, вы гарантированно открываете в него дверь для любого желающего, замок-то не работает.


Зато у меня есть уверенность, что профессиональные хакеры уже очень и очень давно в курсе про данную «архитектурную особенность» этого ПО и давно ее используют в своих целях.


Да, во многих продуктах используется подобная схема для обхода NAT, но во всех этих программах, сервера (роутеры) принадлежат либо самой Компании, выпускающей продукт, либо располагаются на стороне заказчика и контролируются только им. То есть нет никакой третьей стороны, всегда понятно с кого спрашивать, в случае проблем.


Да, я могу понять и простить Компанию, когда с ее серверов утекают персональные данные. Когда находят какую-то редкую уязвимость и хитро эксплуатируют ее. Но, когда уже более 5 лет предлагается, извините за выражение, лохотрон, причем массовый, — тут нет прощения и понимания. Надеюсь, хотя бы эта статья возымеет силу.


Всем пользователям настоятельно рекомендую немедленно удалить LiteManager, антивирусам рекомендую пометить сам LM и его сайт, как вредоносные.


Всем, кого беда миновала, настоятельно рекомендую «keep your eyes open», а также помнить про высказывание о бесплатном сыре и мышеловке.


Github

Поделиться публикацией
Комментарии 69
    0
    Удалить или отключить noIP доступ к машинам без удаления LM не получится?
    Если вы не пользуетесь noIP — то к машинам на которых установлены клиенты все равно можно получить доступ без проверки логина и пароля?
      0
      Если соединение по ID не используется вообще, вроде бы, бояться не чего.
      Если соединение по ID используется, но не через свой NOID сервер, а через случайный (думаю не ошибусь, если это большинство случаев, в том числе и мой) — уязвимость есть. Более того, если злоумышленнику заранее известен конкретный ID, то получить пароль дело нескольким минут.
      0
      Какие есть бесплатные альтернативы LM? Мы его так долго и мучительно выбирали из кучи всяких других решений, в каждом из которых чего-нибудь не хватало :(
        +2
        Статический IP и поднятый VPN? Почти бесплатно, ~1200-1500р в год.
          0
          LM вполне себе хорош, если не пользоваться NOIP который сам по себе дыра, как и прочие TeamViewer, Ammyy и т.д.
          Статический IP, VPN, да хотя бы повесить на нестандартный порт с port-knocking и fail2ban.
            0
            если не пользоваться NOIP который сам по себе дыра, как и прочие TeamViewer, Ammyy и т.д.
            — а можно уточнить — TeamViewer и Ammyy имеют такие же уязвимости? или вы всё-таки что-то другое имели ввиду?
              0
              Имел ввиду общую уязвимость систем, когда информация ходит через чужую инфраструктуру.
                0
                То есть у TeamViewer и Ammyy инфраструктура также собирается из числа желающих клиентов, либо всё-таки она находится под их контролем?
                  0
                  Под их, но сути особо не меняет. Я вот только не понимаю, что мешало авторам LM сделать также. Наличие удаленного доступа само по себе дыра.
              0
              Ammyy

              Этого трояна еще надо постараться скачать…
                +1
                Некоторые 1С франчи до сих пор им пользуются. Приходится объяснять, что мы бы им с радостью дали доступ, но эту дрянь нынче даже не скачать.
              0
              1. https://www.nomachine.com/ Free Remote Desktop — для использования нужен прямой сетевой доступ, nat перепрыгивать не умеет. Проект живой и развивающийся, но продукт сырой. Он больше предназначен для индивидуального доступа на компьютер. Чтобы перепрыгивать nat, можно использовать в связке c VPN. Работает на Windows и Linux.
              2. VNC(прямой сетевой доступ) + репитер(помогает перепрыгнуть nat) — сам VNC работает в большей или меньшей степени в зависимости от реализации, репитер как бы работает, но таким образом, что им тяжело и неприятно пользоваться. Здесь упоминали https://habrahabr.ru/post/142870/ Работает на Windows и Linux.
              0
              По-хорошему, подобная система должна изначально проектироваться так, чтобы учесть риск роутера-MitM. То есть, роутер должен максимум помогать определить порт для UDP hole punching (и помочь его выполнить пирам), а также держать на себе какую-то часть метаданных по поводу «клиент ID xxxx находится на IP yyyy порт zzzz», по которому роутер может дернуть клиента, когда к нему пытается соединиться другой клиент. А сам трафик должен ходить по UDP между пирами, и всё, причем handshake+PFS должны проходить мимо роутера. По возможности, естественно. Если используется TCP, то роутер должен просто гонять трафик без изменений с одного сокета на другой, при этом опять-таки клиенты должны иметь возможность выполнить PFS-согласование. Тогда никакая прослушка не должна будет позволить выцепить пароли из трафика, пойманного на роутере.
                0
                Из статьи, кстати, следует, что PFS у LM присутствует. Тогда где дыра? В его реализации, что ли?

                Я вижу такое приложение как: На каждом клиенте Для каждого клиента выпускается сертификат с его ID, который используется для установки PFS-соединения отдельно с роутером для того, чтобы к нему мог хоть кто-то присоединиться, и отдельно с viewer'ом после того, как роутер эти два компа связал, и ДО того, как viewer будет передавать пароль для подключения. В этом случае трафик между пирами хотя и ходит через роутер, но роутер его расшифровать не может, так как не может вычислить сеансовый ключ Диффи-Хеллмана, ибо не имеет ни одного закрытого ключа. И насколько в итоге LM от этого «идеала» отличается? (За то, что схема идеальна, все-таки не поручусь — маловато я знаю в криптографии)
                  0
                  Тут такие соображения:
                  а) В удаленном администрировании сертификаты используются не так часто, бывает просто некогда их прописывать, экспортировать-импортировать. Это касается, в том числе, таких грандов, как RDP.
                  Либо на неправильный сертификат или его отсутствие попросту не обращают внимания. То есть это далеко не HTTPS в его идеальном виде.
                  б) LM использует не DH, а RSA. Хотя, в данном примере это не делает абсолютно никакой погоды.
                  в) При такой схеме, как в LM почти наверняка можно будет пропатчить роутер каким-то образом, чтобы он был как родной. Единственный выход это полноценная проверка подлинности уленной стороны, но тут мы возвращаемся к п. А.
                    0
                    С RDP отдельная проблема, но все равно, при установке RDP-сервера (точнее винды) сертификат генерируется автоматически, и технически при подключениях после первого ты имеешь на руках thumbprint того сертификата и можешь его использовать в качестве проверки, а оно это или нет.
                    Насчет RSA — а как именно? Если использовать RSA для согласования сессионного ключа по методам PFS, то имхо этого хватит. На этапе установления соединения шифровать данные до сервера, потом только до клиента, в итоге через сервер пойдет шифрованный трафик. И тогда отпадает необходимость проверять именно роутер. Проверять сервер все равно придется.
                –5
                Фактически реализована подмена сервера, с перехватом трафика, явно написано специально под взлом программы LiteManager.

                Сейчас могу рекомендовать перейти на Авторизацию WinNT или включить разрешение/уведомления на подключения.
                Всем рекомендую использовать свой личный NOIP.

                Так или иначе большинство NOIP чистые, мы в ближайшее время выпустим обновление для решения этой угрозы.
                  +2
                  А зачем нам ваш личный NOIP? Пароли коллекционируете?

                  | Сейчас могу рекомендовать перейти на Авторизацию WinNT
                  Теперь вы хотите логины и хэши паролей от корпоративной сети? Просто прелестно. Может вам сразу корпоративный трукей с сертификатом выслать?
                    0
                    Не нам наш, а Вам ваш, т.е. большинство корпоративных пользователей используют свой личный NOIP
                    Здесь игра слов, Вы не совсем правильно поняли.
                  –11
                  Хочу так же напомнить что за взлом в Интернете есть статья.
                    +5
                    хорошо устроились — за халатность и допущенные уязвимости ответственности никто не несет, а за нахождение этих уязвимостей пугаете статьями.
                      –2
                      Запустить перехват паролей у меня не удалось
                      Поправки в программу будут внесены все равно уже сегодня же.

                      Статья грозит не за нахождение а за использование этих уязвимостей.
                        0
                        Не забудьте пожалуйста сделать галочку, чтобы полностью отключить noip функционал.
                        На вашем месте было бы логично поднимать свой сервер и брать небольшую копеечку(как это уже вы придумаете, там подписка или отдельная лицензия), но и обеспечивать достойный уровень приватности. Мне нравится ваш продукт, но и безопасностью сети обеспокоен.
                          0
                          Согласен с Вами, хочется сделать что-то хорошее и недорогое, Безопасность для нас на первом месте.
                      +1
                      По моему отличный пример, почему за support@ должен скрываться сервисдеск, а не конкретный сотрудник.
                      Про@#ал письмо, компания понесла репутационные потери, сколько денег прибылей упущено так вообще не сосчитать %)
                        0

                        Жаль что нет статьи за некомпетентность в Интернете :)

                        +2
                        Программа обновлена до версии 4.8.3 в процесс авторизации внесены изменения, с учетом данного вида угроз.

                        Спасибо Всем, извините за неудобства.
                          +3
                          вот за диалог и скоростное закрытие проблем и любим правильных разработчиков. Еще бы на support@ вовремя удалось ответить, и тогда бы тема не выплыла на хабр.
                            –3
                            мы не получали сообщений на support@,
                            Все это похоже на информационную атаку на LiteManager,
                              +4
                              Это атака на разгильдяйство и безответственность, от которой страдают люди, на моем примере. Лично я чуть без работы не остался.
                          0

                          Я так понял, что если поднять свой "роутер" и ходить через него, то никто ничего не перехватил бы?

                            0
                            Да, если свой NOIP то да все в порядке.
                            +1
                            Об ошибках правописания и выборе.
                            Интересно, когда айтишник замечает на официальном сайте it-продукта грамматические ошибки и опечатки в описаниях, проводит ли он параллели с качеством продукта? Могут ли ошибки повлиять на выбор?
                              –3
                              сообщайте обо всех ошибках, мы поправим.
                                –2
                                Неплохо устроились…
                                Вы еще сорцы опубликуйте, чтобы сообщество ошибки исправило.
                                  +2
                                  Как минимум, поправьте все «что бы», уже будет существенно лучше.
                                0
                                Прямо напрягся после прочтения. Компания не большая — 35 человек. На TeamViewer вряд ли дадут денег, а в LM меня привлекал функционал. Теперь снова надо выбирать новый продукт для удаленного администрирования как внутри, так и снаружи.
                                  +2
                                  По информации с официального сайта:

                                  В процессе авторизации добавлено дополнительное шифрование данных.
                                  При работе по ID через главный сервер возможна потеря совместимости нового вьювера и старого сервера, таким образом обновлять нужно обе части программы, или в настройках Вьювера включить опцию старого протокола NOIP.


                                  Они просто взяли и сделали неработоспособным пример, который я приложил к статье. Такой «ответ» разработчиков был ожидаем. То есть суть уязвимости никто либо намеренно не хочет понимать, либо понимать просто некому.
                                  На данный момент разбираться с тем, что там изменили просто нет времени, но время появится, это я обещаю. Возможно, не у меня, а у каких-то других любознательных пользователей. Трафик как перегоняли через посторонние сервера, так и продолжают это делать. Там можно хоть десять новых «дополнительных шифрований» добавить, все это легко обойти, потому что находится на стороне злоумышленника.
                                    –4
                                    Если честно Вы очень подозрительная/странная личность)
                                    Взломом занимались профессионалы, а сейчас Вы пишите явно какие то глупости…
                                      +3
                                      Если бы LMSoulCry был «подозрительной/странной личностью», фиг с два вы бы тут про него услышали. Он просто написал бы эксплойт и драл бы ваших пользователей. Он вам помочь пытается, а вы его обвиняете хрен знает в чём. Совковый «сервис» в его типичном проявлении. «Клиент всегда не прав». Лучше бы связались с ним, попросили помощи в тестировании исправления, дали бы какой-нибудь бонус — и человек бы написал тут про вас (заслуженно, заметьте), какие вы хорошие и правильные. Могли бы ещё и пропиариться. Но у вас (не вас лично, а вашей компании в целом) на это ума не хватает.
                                    0
                                    А про TeamViewer что-то такое слышно?
                                      0
                                      Давно юзаю этот продукт для поддержки родственников, но noip никогда не пользовал т.к. через чужой паранойя не позволяла, а linux-версии noip-сервера нет, чтоб поставить на машину которая в сети 24/7.
                                        0
                                        Уважаемый LMSoulCry, ваша статья мне показалась интересной и технически емкой. Вместе с тем есть мнение, что вместо того, чтобы выкладывать софт, стоило бы уведомить сообщество о том, что есть серьезная проблема и рассказать о путях ее решения. Вы не подумали о последствиях? Вы не в курсе, что например за последнее время люди на деньги линяют в связи с тем, что их информацию шифруют. Я знаю три случая в разных местах за последние несколько дней. Не исключено, что ваш инструмент помогает жуликам зарабатывать. Так кого вы наказали, производителя? По-моему тех кому адресована ваша статья.

                                        От себя хочу добавить, что по умолчанию LM сервер не использует соединение по ID, кроме того включение запроса подтверждения подключения исключает возможность попасть на компьютер зная IP, ID, пароль и даже при включенной авторизации по ID.

                                        Вы говорите про безответственность. А я думаю, что это человеческий фактор. Все мы люди и все ошибаемся. Не ошибается только тот, кто ничего не делает.

                                        Уверен, что ребята сделают работу над ошибками и продукт продолжит развиваться. Это наверно единственный на сегодня продукт такого рода, над которым думают и пытаются сделать что-то новое, чего в аналогичных устоявшихся продуктах никогда не было.
                                          0
                                          Автор статьи указал в ней, что честно пытался сообщить об уязвимости, но не получил ответ.
                                            +1
                                            Мне ни о чем не говорит реплика о том, что ответ не был получен. Это эмоции. Конкретной информации на эту тему не приведено, а именно: когда отправлено, за какое время ответа не последовало, в каком тоне было написано письмо. Здесь в целом немало эмоций, что вредит всеобщему пониманию вопроса.

                                            Я формирую свое понимание вопроса из ответов на некоторые конкретные вопросы:
                                            1.Каково процентное соотношение пользователей использующих в работе ID и общего числа пользователей LM?
                                            2.Уязвима ли дефолтная инсталляция LM сервер?
                                            3.По какой причине разработчики не отреагировали и так ли это на самом деле?
                                            4.Для чего и кому нужно публиковать софт для эксплуатации уязвимости в молодой, но уже массовой системе?
                                            5.Кто в первую очередь пострадает в результате публикации софта?
                                              0
                                              Уважаемый, если Вы не заметили, оба Ваших поста точно так же — одни эмоции. БОльшую часть вопросов, думаю, задавать нужно не человеку, опубликовавшему уязвимость. По поводу обвинений: на самом деле, я благодарен, что автор статьи опубликовал ее тут, а не продал на определенных ресурсах, что могло бы принести гораздо большие проблемы.

                                              И да, не в защиту, но… сделать софт, зная общий принцип — дело техники.

                                                0
                                                Согласен, ситуация не однозначная. На часть вопросов нельзя однозначно ответить. Было бы хорошо, если бы разработчики LM прокомментировали вопросы №1 и 3.
                                                  0
                                                  По поводу 3 пункта разработчик уже отписывался тут.
                                                    +1
                                                    Спасибо.
                                                    LMSoulCry, могли бы вы прокомментировать вопрос №3 и показать скрин письма на support@litemanager.com с датой и временем отправки? Хочется понять куда на само деле делось это письмо, если вы отправили, а разработчики его не получили и было ли оно. К просьбе прошу отнестись с понимаем, уверен, интересно будет не только мне.
                                                0
                                                1.Каково процентное соотношение пользователей использующих в работе ID и общего числа пользователей LM?
                                                Спросите у разработчиков.
                                                2.Уязвима ли дефолтная инсталляция LM сервер?
                                                Уязвима, если использовать ID. Внимательно почитайте статью. Причём, уязвима до сих пор, никто закрывать уязвимость не собирается. Предлагается обновить версию софта.
                                                3.По какой причине разработчики не отреагировали и так ли это на самом деле?
                                                4.Для чего и кому нужно публиковать софт для эксплуатации уязвимости в молодой, но уже массовой системе?
                                                5.Кто в первую очередь пострадает в результате публикации софта?
                                                Ответы на эти вопросы не имеют смысла, как и сами вопросы. Софт далеко не молодой.
                                              0
                                              Здесь есть два ответа: этичекий и технический.

                                              1. Этический. Да, определённые сомнения у меня были, стоит ли писать статью или нет, с рабочим примером. Реакция разработчиков показала, что я был полностью прав, опубликовав уязвимость. Эту дыру в безопасности, никто не собирается править. Да, выпустили апдейт, который якобы не уязвим, об этом я напишу в следующем пункте. Но все предыдущие версии как были уязвимы, так и остались.И это после публикации на самом известном техническом ресурсе страны. Сколько времени уйдёт на обновление у всех пользователей? Думаю что не один год.

                                              2. Технический. Перечитайте статью и посмотрите пример. Уязвима архитектура целиком. В примере только конкретный образец, показывающий общий принцип. Компания разработчик не собирается менять этот принцип, судя по всему. А значит уязвимость никуда не делась. Соединения как шли через посторонние сервера, так и идут, а это значит, что трафик можно подделать, это только вопрос реализации. Злоумышленник может что угодно делать с NOIP роутером и viewer, в том числе, подкладывать и перехватывать любые пароли или их хэши. При такой архитектуре даже полноценный SSL не спасёт в большинстве случаев, это все описано в статье.

                                              Уверен, что ребята сделают работу над ошибками и продукт продолжит развиваться.
                                              10 дней прошло, программа все ещё уязвима, если её не обновить. Ребята подставляют всех своих пользователей.
                                                0
                                                Но все предыдущие версии как были уязвимы, так и остались.

                                                Поясните, пожалуйста, чего именно вы ожидали от разработчиков по поводу уже выпущенных и установленных версий?
                                                  0
                                                  Как минимум, прекращение практики отправки трафика через сторонние сервера и перевод на свои или проверенные. Это в их силах, но это не сделано.
                                                  0
                                                  Спасибо за ответ! То что вы пишите интересно, понятно и убедительно. И все же я прошу вас окончательно прояснить ситуацию с письмом, я об этом писал выше.
                                                  Кому это интересно, прошу это обозначить комментарием ниже или плюсом.
                                                    0
                                                    Вы ждёте оригинал письма? Его не будет, неужели это не понятно из содержания статьи? Называть самостоятельно и публично компанию и имена после публикации данного материала было бы верхом глупости с моей стороны. Выступать в роли правдоруба с помесью Жанны Д'Арк я не собираюсь, это не по адресу. Устраивать тут Дом2 — зачем.
                                                      0
                                                      Я понимаю ситуацию и не стараюсь получить информацию для вашей идентификации (уверен, что идентифицироваться вам ни к чему). Но разработчики говорят, что они не получали письмо. После публикации статьи они предприняли попытку, что-то поправить, как-то отреагировали и выглядит это, не смотря на частичное решение, адекватно. Непонятно почему они не сделали это после вашего письма. Им точно не нужны были эти глобальные проблемы. Если вы показать не можете, то основная причина публикации, отсутствие своевременной реакции со стороны разработчиков на проблему, останется не раскрытой. Нам остается только догадываться, что на самом деле было причиной публикации (напрашивается более одного варианта) и верить\не верить на слово вам и им. Как я понимаю инцидент не исчерпана. Буду наблюдать не то с интересом, не то с грустью за развитием событий. Спасибо за ответ.
                                                    +1
                                                    Вполне можно сделать корректное шифрование с использованием публичных NOIP-серверов. Достаточно, чтобы обмен ключами шифрования осуществлялся через Главный Сервер, а через NOIP-серверы передавать только сами шифрованные данные.
                                                  0
                                                  Мне не хочется тратить время на анализ кода, поэтому просто спрашиваю:
                                                  неужели в протоколе входа по ID в litemanager не используется CRAM? Это ведь самый простой и наиболее быстрый способ сокрытия пароля от MiTM!
                                                    0
                                                    неужели в протоколе входа по ID в litemanager не используется CRAM? Это ведь самый простой и наиболее быстрый способ сокрытия пароля от MiTM!
                                                    Даже если что-то в этом духе использовалось бы, это только немного усложнит жизнь злоумышленникам. viewer, очевидно же, можно модифицировать таким образом, чтобы он отправлял заранее перехваченный хэш. Да, это не так удобно как пароль, но все равно, к безопасности не имеет никакого отношения.
                                                      0
                                                      Никаких «что-то в этом духе». CRAM — это стандартный метод, исключающий перехват пароля. Метод как раз и передаёт хэш в открытом виде, и основан на допущении, что вычислить пароль из хеша невозможно за то время, пока пароль актуален. При правильной реализации CRAM пересылать перехваченный хэш бессмысленно.
                                                        0
                                                        Если вы не в курсе, поясняю: первая буква аббревиатуры CRAM — Challenge — генерируется сервером на случайной основе и должен быть непредсказуем. Перехватывать однократно используемое значение бессмысленно, это просто лишнее действие в брутфорсе.
                                                          0
                                                          Перехватываем challenge. Алгоритм, по которому составляется ответ viewer заведомо известен. Перехватываем ответ viewer. Проверяем по таблицам хэшей ответ. Да, это безусловно намного надёжнее открытого пароля. В случае сложного пароля хорошая защита. Но задумайтесь, согласны ли вы выставить компьютер на обозрение все, закрыв, паролем, хэш которого известен каждому?
                                                            +1
                                                            Да хоть заперехватывайтесь. Повторяю:
                                                            основан на допущении, что вычислить пароль из хеша невозможно за то время, пока пароль актуален.

                                                            Поясняю. Алгоритм должен быть таким, чтобы за время составления вашей таблицы пароль успел устареть. Например, 200 лет. Ещё учтите объём таблицы. 2^512 степени значений вас хранить не напряжёт? А искать по ним?
                                                              0
                                                              Ответ прост — атака на слабый пароль. А, уверяю, слабых паролей 3/4 из всех. Допустим, есть слабый пароль «igor12345». Пробовать подобрать его по сети даже со словарями безнадёжно. Ну какая там будет скорость подбора, 10 паролей в минуту, в лучшем случае. Да и в логах подбор паролей будет виден, да и защита может сработать.
                                                              А если хэш (пусть даже не MD5, а HMAC-MD5) в наших руках? Современный софт, который использует CUDA подбирает около миллиарда хэшей в секунду на домашнем компьютере (сам ужаснулся этой цифре, последний раз интересовался лет 10 назад, цифры были другие). Теперь подключим словари со слабыми паролями. Также есть сервисы по подбору паролей, у которых в распоряжении целые кластеры и фермы. Безусловно, если пароль «aLkdh-65?65#$532MbdhrJ», то задача не решаема.
                                                                0
                                                                А если хэш (пусть даже не MD5,
                                                                а SHA-512.
                                                                MD5 ныне официально признан слабым.

                                                                Далее, если программа не предлагает стойкий пароль и позволяет задать словарный, она тоже устарела.
                                                      0

                                                      Я изначально к примеру не ставил noip сервер, хотя потребность имеется, но так же паранойя и планировали использовать только через свой noip

                                                        0
                                                        Программа обновлена до версии 4.8.3.9
                                                        Еще больше улучшена защита соединения по ID, плюс добавлен PIN код для работы по ID.


                                                        Ещё больше… Теперь то точно бояться не чего. Можете спать спокойно.
                                                          0
                                                          Это сарказм или нет? Уже можно пользоваться или ещё подождать? И чего конкретно надо подождать — каких изменений?
                                                          0
                                                          А ещё у них пароли хранятся на серверах и клиентах в открытом виде, заксоренные 8-байтной константой :)

                                                          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                          Самое читаемое