Сможет ли умный хакер украсть все деньги из кошелька blockchain.info?

Blockchain.info утверждает :

Мы не можем (и не хотим):

  • Посмотреть свой баланс
  • Просмотр адресной книги
  • Совершайте сделки от вашего имени
  • Конфисковать свой кошелек
  • Заблокируйте вас в нашем сервисе.

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

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

Впрочем, теперь я не так уверен. Разве хакер не мог просто изменить код сервера, чтобы отправить javascript веб-клиенту, который при выполнении расшифровывает эти закрытые ключи и отправляет их обратно на (теперь взломанный) сервер?

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

Я что-то упустил или это действительно текущее положение дел с blockchain.info?

(Обратите внимание, что это не раскопки на этом конкретном веб-сайте; на самом деле это скорее секретный вопрос в целом.)

Ответы (2)

Да, атака, которую вы описываете, возможна.

Но это не относится ни к blockchain.info, ни к онлайн-кошелькам.

Если злоумышленнику удастся запустить код на вашем компьютере, вас заблокируют.

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

Один из способов, которым злоумышленник может это сделать, — это, как вы описываете, компрометация веб-сайта онлайн-кошелька и внедрение вредоносного javascript.

Другой способ — скомпрометировать двоичный файл биткойн-клиента (кошелька, хранящегося на клиенте), который вы устанавливаете на свой локальный компьютер.

«Дополнительная безопасность», которую, как утверждает blockchain.info, обеспечивает, заключается в том, что злоумышленнику недостаточно просто завладеть базой данных ключей , чтобы украсть ваши деньги.

Возможен ли спуфинг на локальном клиенте? -- Я имею в виду, что биткойн-интерфейс подделывается под локальное приложение и использует настоящий биткойн-клиент в качестве интерфейса к блокчейну. Опять же, это не проблема с блокчейном как таковым, но блокчейн не гарантирует безопасность.
@PhilipStern: Да, конечно, это возможно.

Они предвидели этот тип атаки и отслеживают свои файлы JavaScript, проверьте их веб-сайт http://blockchain-status.com/javascript_verifier .

Кроме того, CloudFlare (обратный прокси-сервер, который они используют) может модифицировать Javascript на лету (CloudFlare находится на другом конце шифрования для вашего браузера, поэтому SSL здесь защищает только соединение между вами и компьютерами CloudFlare и, при необходимости, CloudFlare с Blockchain). .info, вы напрямую не подключаетесь к Blockchain)

Это правда, что скрипт на стороне клиента не отправляет пароль на сервер, но вам действительно нужно отправить пароль своего кошелька, чтобы использовать их старый API кошелька (он устарел), и если хакер может каким-то образом контролировать свои серверы, это возможно что хакеры могут прочитать незашифрованный кошелек из памяти без необходимости внедрения вредоносных клиентских скриптов, даже если мы предполагаем, что они не сохраняют их на диск.