Я много читал об алгоритме Биткойн и его основе шифрования, однако мало что было сказано о внутренней безопасности программного обеспечения.
Какие решения уже встроены в программу, а какие планируются?
Проблемы, которые я вижу:
На данный момент он использует сети IRC для определения местонахождения других. (IRC довольно небезопасен и его легко отключить с помощью простого DDoS)
Кошельки по умолчанию не зашифрованы. (Физический или удаленный доступ к жесткому диску позволяет любому получить кошелек даже без пароля.)
Кошельки представляют собой сложные структуры данных без инструментов резервного копирования. (Их нельзя легко создать резервную копию на физическом носителе или в защищенной цифровой копии. По крайней мере, без использования стороннего программного обеспечения, такого как PGP или TrueCrypt.)
Протоколы связи с сервером по умолчанию используют обычный текст вместо SSL или другого зашифрованного трафика.
По сути, почти нет. Но все проблемы на самом деле не особенно серьезны, или предлагаемые решения все равно не очень помогают.
Последняя версия клиента по умолчанию не использует IRC, хотя он по-прежнему поддерживается, чтобы помочь старым клиентам находить новых клиентов. Вместо этого используется DNS. Но на самом деле это не точки отказа, потому что список известных работающих законных узлов жестко запрограммирован в клиенте. И как только вы сможете найти один узел, он все равно может отправить вам текущий список рабочих узлов.
Кошельки не зашифрованы по умолчанию, но если бы они были, нас бы завалили жалобами «я забыл пароль кошелька», и люди все равно потеряли бы свои биткойны. Кроме того, существуют сложные технические причины, по которым защита кошелька паролем на самом деле не работает против типичной модели угроз (массово распространяемое вредоносное ПО со специфическими знаниями о биткойнах).
Клиент поддерживает команду «резервный кошелек». Но кошелек в формате BerkeleyDB. Хотелось бы, чтобы у клиента был собственный формат кошелька специально для резервных копий. Ведется работа над полностью детерминированными кошельками, поэтому вы можете «создать резервную копию» своего кошелька, просто зная кодовую фразу, даже без файлов резервных копий. Это законная проблема, над которой ведется работа.
Сервер по умолчанию использует обычный текст, но по умолчанию он также использует связь только с локальным хостом, и вы должны настроить пароль, чтобы запустить его в режиме сервера. (В режиме графического интерфейса проблем нет.)
Все эти вопросы прорабатываются. Клиент довольно сырой на данный момент, определенно.
cdecker
Злой Спорк