Мы как-то привыкли, что криптовалюты живут своей жизнью, а сети и сетевые сервисы — своими. И уж точно разработчикам крипттовалют не часто оказывается нужен протокол BGP, используемый провайдерами каналов интернет для обмена маршрутной информацией. Что же, это не помешало злоумышленникам воспользоваться своей смекалкой, знанием сетевых технологий, и устроить изящное ограбление доверчивых владельцев криптовалюты Ethereum.

image

Суть атаки проста: используя протокол BGP, злоумышленники смогли перенаправить трафик сервиса Amazon Route 53 (это DNS-сервис, предоставляемый Amazon) на свой DNS-сервер, который отдавал для сайта MyEtherWallet.com IP-адрес сервера атакующих, содержащий немного «подправленный» клон оригинального сайта. Исходный MyEtherWallet.com содержит веб-реализацию кошелька для криптовалюты Ethereum, клон же проводил фишинг-атаку, в результате чего за два часа злоумышленникам удалось украсть 215 ETH (~ 137 тыс. долларов).

image

Подстановка фиктивного маршрута была осуществлена от имени крупного американского интернет-провайдера eNet (AS 10297), расположенного в Колумбусе (Огайо, США). После BGP-анонса все пиры eNet, среди которых находятся такие крупнейшие операторы, как Level 3, Hurricane Electric, Cogent и NTT, стали заворачивать трафик, направляемый в сторону Amazon Route 53, по заданному атакующими маршруту. Из-за фиктивного анонса BGP запросы к пяти принадлежащим Amazon подсетям размера /24 (в сумме около 1300 IP-адресов):

  • 205.251.192.0/24
  • 205.251.193.0/24
  • 205.251.195.0/24
  • 205.251.197.0/24
  • 205.251.199.0/24

перенаправлялись на подконтрольный атакующим сервер, размещённый в датацентре провайдера Equinix в Чикаго, на котором была организована MiTM-атака по подмене ответов DNS. В результате обычная схема работы DNS, при которой запрос направляется на авторитетный для домена сервер (на слайде ниже это сервер 205.251.195.х) продолжала работать как и раньше, однако под адресом 205.251.195.х стал выступать сервер атакующих:

image

image

Ситуация анекдотическая, но в течении почти двух часов (с 11:05 до 12:55 по UTC, 24 апреля 2018 года) никто не замечал этой подмены, и люди использовали подменный сайт, даже (внимание!) несмотря на то, что на нём использовался самоподписанный HTTPS-сертификат (для которого браузеры выдают предупреждение о проблемах с защищённым соединением). В случае принятия сертификата (!) и аутентификации на фишинговом сайте у пользователя списывались все средства с кошелька.

Примечательно, что атакующие, судя по всему, люди небедные: на ETH-кошельке, на который в ходе атаки перенаправлялись переводы, в настоящее время находится 24276 ETH, что составляет более 15 млн долларов США.

Пока точно известно, что в ходе атаки была осуществлена подмена DNS-записей для сайта MyEtherWallet.com, но это не означает, что только этим сайтом все и закончилось. Выглядит логичным предположение, что получение доступа к BGP-маршрутизатору крупного ISP и наличие ресурсов для обработки огромного DNS-трафика свидетельствует, что атака не ограничилась только MyEtherWallet. В пользу данной гипотезы также говорит непрекращающийся поток переводов на используемый в атаке ETH-кошелёк. По другим предположениям, имел место лишь тестовый эксперимент перед проведением более массированных атак.

Вопрос с сертификатом, надо сказать, довольно тонкий. Атакующие вполне могли бы получить сертификат от Let's Encrypt, поскольку DV-проверка им была вполне по силам, разве что заставила бы потратить некоторое время на неё — либо, что вероятно, (спасибо Ghost_nsk за уточнение) сервера LE достаточно далеки в сетевом смысле от атакующих, чтобы анонсы не долетели до них, и LE не «увидел» вредоносный ДНС.

Очевидно, мысль об использовании более защищенных протоколов и технологий для работы с DNS, таких, как DNS over HTTPS (DoH), или DNS over TLS (и то, и другое предлагает компания CloudFlare в своем DNS-сервисе 1.1.1.1), кажется все более обоснованной, несмотря на связанные с этим накладные расходы.

Комментарии (6)


  1. kwaskoff
    26.04.2018 10:38

    очень много логических нестыковочек. Почему не сделали let's encrypt сертификат? Почему палили эфиренки собранные с других мест? Почему все эфиринки собираются только на этом адресе. И какой адрес-то? Почему в статье его нет?
    п.с. Новость от самих MEW и репостнута всеми СМИ… Такой PR?


    1. achekalin Автор
      26.04.2018 10:42

      Думаю, на половину вопросов можно только у авторов атаки спросить. Может, до LE просто руки не дошли, и так было чем заняться?
      MEW, конечно, попиарились на этом, но я бы от такой публичности на их месте отказался — репутационные потери, тем более в сфере криптовалют, дороже вышли наверняка. Но что их слова в техническом аспекте подтвердил хотя бы тот же CF, мне добавляет уверенности, что было если не дословно это, то что-то близкое.
      Да и то, историю анонсов BGP вы и сами можете посмотреть — как часть картины.


    1. Ghost_nsk
      26.04.2018 11:42

      Что бы сделать LE сертификат, надо что бы LE либо проверил файл на сервере, либо DNS запись. Если их автономка далеко от скомпрометированной, ничего бы не вышло. Возможно так и было. Но они могли бы анонсировать IP центров сертификации, и тогда ssl превратился бы в тыкву. Хотя корневые сертификаты вроде зашиты в браузер.


  1. vesper-bot
    26.04.2018 13:09

    DNSSEC где?


    1. achekalin Автор
      26.04.2018 13:46

      Видно не было. «Так получилось», думаю.


  1. rumkin
    26.04.2018 19:49

    Сегодня основную проблему создают даже не протоколы, а браузеры. Они совершенно не приспособлены для запуска приложений с гарантированной надежностью: запуск подверженного неконтролируемым изменениям неподписанного кода и надежность – две противоположные вещи.