Перейти к содержанию

Детективно-загадочная история


Krechet

Рекомендуемые сообщения

Заранее прошу прощение, если это уже было.

И прошу админов сразу удалить, если эта статья уже тут была.

 

Найденно тут: http://emc.cc.st/detective-stun.html

 

 

Детективно-загадочная история

В которой участвуют dyn.com, Lochkeed Martin, Bitcoin, SIP-телефония, EmerCoin и много других людей и организаций, как известных, так и к известности не стремящихся.

Доброго дня, Читатель!
Хочу поделиться информацией об интересной истории, которая разворачивается на наших глазах.

Мы разрабатываем и развиваем криптовалюту EmerCoin (http://emercoin.com/). Валюта существует довольно долго, но мы не стремимся к дешёвой шумихе и надуванию спекулятивного пузыря, поэтому наш продукт малоизвестен в широких массах. Хотя EMC и на бирже торгуется, и имеется обменник, и участие в ряде проектов. Детали тут: http://emercoin.com/emercoin-services/
Основные усилия мы вкладываем не в шумиху, а в развитие технического превосходства, надежности, стабильности и прочего в том же роде.

Началась же история с простого и банального факта. Анализируя исходный код, унаследованный нами от PeerCoin-a (а им в свою очередь от BitCoin-a) мы обнаружили часть кода, где происходит получение внешнего IP адреса. Код написан был явно впопыхах, и для получения внешнего IP обращается к двум серверам, адреса которых "вшиты" в исходный код программы-кошелька:

http://checkip.dyndns.org
http://www.showmyip.com

Мы удивились, и решили проверить, как современный BitCoin справляется с этой задачей. И удивились ещё больше когда увидели, что старый код от Сатоши продолжает использоваться до сих пор, без каких бы то ни было изменений. Смотрите: https://github.com/bitcoin/bitcoin/blob/master/src/net.cpp, function GetMyExternalIP()
Причём продолжает использоваться как в самом Биткоине, так и во всех бесчисленных альтернативных криптовалютах, так или иначе базирующихся на оригинальном коде от Сатоши.

Небольшое исследование выяснило, что сервер http://www.showmyip.com в настоящее время недоступен, и все запросы кошельков за IP обрабатываются единственным оставшимся сервером http://checkip.dyndns.org.

Осознав этот факт, мы были просто шокированы. Подумать только! Новая экономика, декларируемая децентрализованность, полная независимость от правительств, многомиллиардные капиталы, одни правительства не знают, что с этим делать, другие - принимают какие-то законы.. А весь сетевой протокол этой новой экономики висит на одном-единственном ржавом гвозде по имени http://checkip.dyndns.org, скромно торчащем из карты штата New Hampshire!

Естественно, мы стали исследовать, обращал ли кто-либо внимание на этот вопиющий факт зависимости всей сети от единственного сервиса, предоставляемого какой-то небольшой и малоизвестной американской компанией, не входящей в SP500. И обнаружили ряд дискуссий и запросов на устранение этой уязвимости, например:
www.reddit.com/r/Bitcoin/comments/29zx7z/bitcoin_core_uses_showmyip_as_a_centralized_hard/
https://github.com/bitcoin/bitcoin/pull/3461

Однако, ответы разработчиков биткоина сводились к банальному: "Не обращайте внимания, и так работает, и даже если сервис будет недоступен для кого-то, ничего страшного не случится. Ну какие-то клиенты не смогут установить прямое соединение.. Но это же мелочи!" При этом игнорировались два факта:
Если сервер выйдет из строя, то сеть не рухнет, но прямые связи будут устанавливаться с пониженной вероятностью, что снизит связность сети, и, как следствие, надёжность. Это неприятно, но может быть, и не критично.
Каждый раз, когда кошелёк запрашивает свой внешний IP у http://checkip.dyndns.org, он, естественно, рапортует своей сигнатурой: "Эй! На этом IP-address запустился биткоин-кошелёк!". А это уже серьёзно. Ибо люди обычно запускают кошельки, когда им надо куда-то что-то заплатить или посмотреть приход. И связать время транзакций (которые все публичны) с временем запуска кошелька, тем самым получив IP кошелька, не так уж сложно. Ну а по IP можно узнать много интересного о подписчике, да..

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


Мы осознали, какую серьёзную угрозу анонимности и прочим заявленным свойствам биткоина несёт эта централизация, и решили избавиться от неё в нашем проекте. Вместо единственного WEB-сайта мы использовали список из 263 STUN-серверов, которые помогают пройти через NAT-ы другой пиринговой сети - SIP-телефонии (ибо каждый SIP-телефон является и клиентом, и сервером). Для получения внешнего IP наш клиент обращается к случайным STUN-серверам, разбросанным по всему миру. Поэтому накопление истории запросов в любом из них уже не имеет смысла, так как в лучшем случае, сервер сможет собрать менее полпроцента случайных адресов, что делает собранный список практически бесполезным. Кроме того, мы приняли меры для того, чтоб избавиться от явной или постоянной сигнатуры запроса, и запрос EmerCoin-а сложно отличить от запроса любого SIP-аппарата или телефонного коммутатора. Таким образом, мы достигли своих целей: Избавились от централизованного сервера, в сотни раз увеличили надёжность сети, и удалили механизм, докладывающий на dyndns о местоположении кошельков.

После этого сделали анонс технического решения и обновлённого Emercoin-а как в нашей ветке форума, так и на форумах биткоина. В анонсе мы описали недостатки текущей системы, и наше решение. Анонсы здесь:

Русскоязычные:
https://forum.bits.media/index.php?/topic/3408-emercoin/page-45&do=findComment&comment=189327
https://forum.bits.media/index.php?/blog/38/entry-258-stun-protokol-dlia-kriptovaliuty/

Англоязычные:
https://bitcointalk.org/index.php?topic=736721
https://bitcointalk.org/index.php?topic=362513.msg8359826#msg8359826
https://bitcointalk.org/index.php?topic=134731.0
О пункте 5: Кто-то когда-то тоже спрашивал "А не добавить ли STUN", но и его разработчики биткоина просто проигнорировали.

И тут начались настоящие чудеса:

Сообщение [3] было оперативно перенесено администраторами из широко читаемого технического форума в форума альтернативных валют, которые мало кому интересны. Хотя сообщение как раз имеет прямое указание на техническую уязвимость биткоина. На сообщение же [5] разработчики биткоина нам прямо указали, что не стоит поднимать эту старую тему: Also, your post is barely on topic and you've bumped a pretty old thread. Please don't do that. То есть налицо видна тенденция к замиинанию темы биткоинщиками. Интересно также отношение различных комментаторов к нашему нововведению. Разработчики биткоина недовольны, и считают это глупостью ( Thats a really foolish method ). Зато другие люди, не связанные напрямую с разработкой и поддержкой биткоина, рассматривают наше нововведение как полезное и нужное. Вот парадокс!

Мы заинтересовались причиной такой негативной реакции строго очерченной группы людей, и начали выяснять, что ж такого интересного представляет собою так любимый ими dyndns.org, с которым они никак не хотят расставаться.

Давным-давно это была небольшая компания, предоставлявшая динамический DNS мелким пользователям бесплатно или за небольшую сумму. И если эта мелкая компания в 2010-м покупала мелкие бизнесы "из одного программиста и одного сервера" своей направленности (динамический DNS, и т.п.), то потом, после паузы, в 2013м фирма резко выросла, и стала скупать компании, владеющие собственными технологиями:
http://en.wikipedia.org/wiki/Dyn_%28company%29#Acquisitions
Заметим - технологиями мониторинга интернета, к динамическому DNS отношения не имеющими. А в начале 2014го, примерно как раз, когда были слушания в конгрессе США, и биткоин держался свыше $1000, компания закрыла поддержку бесплатных акаунтов:
http://dyn.com/blog/why-we-decided-to-stop-offering-free-accounts
А на платные взвинтила цену так, что по сравнимой цене можно арендовать статический IP. Таким образом, по сути, компания закрыла свой изначальный бизнес... Весь.. Кроме http://checkip.dyndns.org, который так любят разработчики биткоина. И который, по сути - технология мониторинга активности пользователей биткоин-кошельков. Возникает законное любопытство - откуда у компании появилось сразу столько денег, что она закрывает основной бизнес и бросает клиентскую базу, и при том в течение года скупает 3 компании с технологиями мониторинга сети, в добавок к "на халяву доставшейся от Сатоши"? Но понятно, что на этот вопрос вряд ли кто нам даст вразумительный ответ.

И, напоследок, мы решили выяснить, что же случилось с другим адресом, который использовал когда-то Сатоши - http://www.showmyip.com, и который сейчас почему-то не работает. И выяснилось, что он принадлежит некому Уэсли Кензи (Wesley Kenzie aka Securikai) из Канады, что подтверждается данными whois. Чем он занмался - http://safezone.cc/threads/tajpskvotter-vymogatel-popal-na-million-dollarov.18030/ Но когда он перебежал дорогу Lochkeed Martin на почве киберсквоттинга, то был окорочен. Как раз вовремя. Только его твиттер и остался: https://twitter.com/securikai

Вот какие интересные совпадения бывают, не правда ли?

Ссылка на комментарий
Поделиться на другие сайты

Это из блога Леонида Каганова вытащили?
 

Реклама EMC детектед! :D

 

Причем неприкрытая!

Изменено пользователем Garrett
Ссылка на комментарий
Поделиться на другие сайты

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

Ссылка на комментарий
Поделиться на другие сайты

@Romeo53, нет, это такой пиар ход, чтоб как-то выделиться на фоне сотен других валют. И не больше.

Ссылка на комментарий
Поделиться на другие сайты

@Lexis77, Не скажите :) пиар тут если и присутствует, то вторично. Технология первична.

Прежде всего, наши спецы нашли уязвимость, потом начали думать над выходом.

Нашли решение, предложили биткойновцам - получили линейкой по макушке, почесали макушку и немного начали параноить :) с кем не бывает.

Изменено пользователем Garrett
Ссылка на комментарий
Поделиться на другие сайты

То что это неприкрытый пиар, это и так понятно. 

Меня интересует насколько верна найденная уязвимость и зависимость системы. И насколько она критична.

Ссылка на комментарий
Поделиться на другие сайты

То что это неприкрытый пиар, это и так понятно. 

Меня интересует насколько верна найденная уязвимость и зависимость системы. И насколько она критична.

 

Ну он же объясняет почему. Ему возражают, что основной механизм определения проходит сквозь роутер (правда при этом все равно ингорят факт, что обращение идет на это dyndns). Таким образом зачем это узкое место, если можно достоверно сделать лучше? Биткойновцам пофиг, остальные наверное даже и не читали, нам нет, мы завели получение IP сразу через рандомный STUN. Как-то так.

Ссылка на комментарий
Поделиться на другие сайты

Да все красиво и правильно написано, и то что все померло и то что теперь все идет через единственный динднс, а рандомный стан куда круче, но тем не менее, подобное преподношение новости - чистой воды пиар эмеркоина и не больше.

 

ЗЫ прочитал от и до :) И по ссылке блогера тоже.

Ссылка на комментарий
Поделиться на другие сайты

@Lexis77, А как надо было преподносить техническое решение, не указывая его самого? Или его источника?

Ссылка на комментарий
Поделиться на другие сайты

очень попахивает со стороны девов биткоина, неспециалисту конечно легко отмахнуться, но налицо как минимум сингл поинт файлуре, как максимум всё как описывает топикстартер

Ссылка на комментарий
Поделиться на другие сайты

Ну вабще-то параноики могут заблочить исходящие соединения на dyndns.org и Большой Брат их не увидит. А еще лучше надеть шапочку из фольги прямо на ethernet-кабель от провайдера. Гарантирует абсолютную безопасность B)

Кстати, а в коде Darkcoin, который обещает самую-самую-самую полную анонимность, эта багофича присутствует?

Ссылка на комментарий
Поделиться на другие сайты

Да у них в коде нет такой функции GetMyExternalIP(), а как реализовано получение его - х.з. надо смотреть. Может просто отрубили и все положили на плечи UPnP. А безопасности, ее лишней не бывает.

Ссылка на комментарий
Поделиться на другие сайты

Lexis, смотри darkcoin пиар, 100%. "я хочу знать только то что хочу знать, меня другие мнения не интересуют"

Ссылка на комментарий
Поделиться на другие сайты

Форки на то и существуют, что бы на них обкатывать новые решения. Может следует начать с других форков, у которых используется этот кусок кода и предложить им ваш вариант? У нормальных разработчиков реакция на этот "костыль" должна быть обязательно, менять решение без оглядки на большого брата. 

Ссылка на комментарий
Поделиться на другие сайты

Хороший пиар, но есть нюансы. Во-первых, в старые добрые времена GetMyExternalIP() вызывался только в случае невозможности получения адреса от IRC сервера. Правда, Сатоси уже давно отошёл от дел, а современные девелоперы решили убрать из клиента архаизм в виде IRC, что и сделали в v0.8, ограничившись UPnP. Во-вторых, никто не мешает заменить checkip.dyndns.com или дополнить его другим аналогичным сервисом, например, от Гугла. В конце концов поднять простой PHP скрипт на нескольких VPS под собственным доменом (доменами). В общем, заменили один старый деревянный костыль на новый из армированного пластика ;)

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • История взлома от Сергея Симановского

      Подробный материал о произошедшем взломе и угоне почти всей крипты у Сергея Симановского. Текст авторский с минимальными правками:   https://bits.media/istoriya-vzloma-ot-sergey-simanovsky/  

      в Новости криптовалют

    • Цветная революция Биткоина: история раскрашенных монет

      Блокчейн-технологии всегда претендовали на роль, выходящую далеко за пределы обслуживания цифровых валют. Рассмотрим одну из первых попыток найти прикладное применение Биткоину вне его «денежной логики» – так называемых цветных или, по-другому, окрашенных монетах. Один из пионеров криптовалютного движения, автор концепции цифирного золота (bit gold) и термина «смарт-контракты» Ник Сабо (Nick Szabo) задолго до появления Биткоина писал о широких возможностях применения шифрования и обмена кри

      в Новости криптовалют

    • Потерянные тысячи биткоинов: история российской биржи BTC-e

      Пример биржи BTC-e может быть малоизвестен тем, кто стал интересоваться криптовалютами недавно, однако остается поучительным. Более того, это важная история для понимая истории феномена криптовалют в России. Остановимся на кратком пересказе событий. Все началось в далеком 2011 году с появления сайта Smallarena.com, на котором можно было организовать платные матчи в компьютерной стратегии StarCraft II. Движок этого же сайта в том же 2011-м был использован для создания сайта биржи BTC-e.com.

      в Новости криптовалют

    • Почти детективная история.

      Привет всем, сижу чешу репу, если честно них не понимаю. Вот смотрите. Есть транза по битку ab176a0f68979b4cecca55f97b66c25cf825817cb69bfcc98b364fb30211b7b5 , действительно на мой кошель (майню копейки через найсхеш), НО!! Есть вот это огромное НО. Четыре месяца назад на этот адрес пришло 2 копейки битка, потом тремя выводами они через день ушли. Я ничего не получал, ничего не отправлял. Первая мысль - кошель взломан. Но - опять-таки. Как он может быть взломан, если зашифрован, пасс знаю только

      в Флейм

    • история курса p2p обмена usdt к рублю на основных биржах

      Делал для себя, но возможно тоже будет полезно: https://u2r.ru Неожиданные иногда результаты получаются. График конкретной биржи можно скрыть по нажатию на её название.    

      в Мониторинг

×
×
  • Создать...