Вернуться   Биткоин Форум > Разработка и Техническое Обсуждение
8 ноября 2010, 4:50:38 AM   # 1
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

Взлом Биткоин адресов.
500 Биткоинов взломаны в "мозговом кошельке" с паролем "bitcoin is awesome"
Адрес кошелька: 14NWDXkQwcGN1Pd9fboL8npVynD5SfyJAE
Приватный ключ: 5J64pq77XjeacCezwmAr2V1s7snvvJkuAz8sENxw7xCkikceV6e
подробнее...


Всем кто хочет заработать Биткоины без вложений - рекомендую сайт http://bitcoin-zarabotat.ru
Атаки на переполнение буфера против текущего клиента может позволить удаленному злоумышленнику украсть ваши биткойны.

Я поднял эту тему в http://bitcointalk.org/index.php?topic=1688.msg20574#msg20574

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

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

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

Основной процесс частного обращения будет принимать только две команды. "Вход сообщения" будет принимать сообщения и открытый ключ и вернуть подпись. "Добавить новый ключ" будет возвращать новый открытый ключ.

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

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

ByteCoin



ByteCoin сейчас офлайн Пожаловаться на ByteCoin   Ответить с цитированием Мультицитирование сообщения от ByteCoin Быстрый ответ на сообщение ByteCoin


Как заработать Биткоины?
Без вложений. Не майнинг.


8 ноября 2010, 1:01:39 PM   # 2
 
 
Сообщения: 1470
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

Получил 1806 Биткоинов
Реальная история.





+ 1.

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


КСТАТИ,
Сделать опрос об этом, пожалуйста.
ShadowOfHarbringer сейчас офлайн Пожаловаться на ShadowOfHarbringer   Ответить с цитированием Мультицитирование сообщения от ShadowOfHarbringer Быстрый ответ на сообщение ShadowOfHarbringer

8 ноября 2010, 1:09:55 PM   # 3
 
 
Сообщения: 1554
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

+ 1.

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


КСТАТИ,
Сделать опрос об этом, пожалуйста.

Существует уже метод RPC «backupwallet».
nelisky сейчас офлайн Пожаловаться на nelisky   Ответить с цитированием Мультицитирование сообщения от nelisky Быстрый ответ на сообщение nelisky

8 ноября 2010, 4:19:21 PM   # 4
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

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

Во-первых: я рассмотрел сетевой код Bitcoin ищет специально для возможных уязвимостей переполнения буфера, и не нашел. Вполне возможно, что я пропустил что-то; пожалуйста, помогите проанализировать код и дайте мне или Satoshi знать, если вы найдете что-нибудь подозрительное.

Во-вторых, я не думаю, разделив код обработки бумажника в отдельный процесс улучшит безопасность на всех. Если есть код, который может послать красиво разобщенный код обработки бумажника команды "Отправить XYZ биткойны для решения 1abc ..."И этот код имеет уязвимость переполнения буфера в нем, то вы так же уязвимы, как и сегодня.

Если ваш компьютер был взломан, то вы в беде; что вы делаете на вашем компьютере может быть перехвачено плохим парнем. Войдите в свой банковский счет website-- плохой парень может захватить вашу сессию и передать деньги. Пустите bitcoin-- плохой парень может привнести события клавиатуры и мыши, чтобы отправить монеты из.

Даже если Bitcoin реализован многофакторная аутентификация, прежде чем разрешить доступ бумажника ("сканирование отпечатков пальцев и ввести пароль, чтобы отправить монеты"), Если ваш компьютер скомпрометирован плохой парень может устроить, чтобы изменить адрес Bitcoin, что вы говорите, вы хотите отправить монеты в, так что вы думаете, что вы аутентичность платежа Дисконт центр Уолл, но вы действительно аутентифицировать платеж империи Доктора Зла.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

8 ноября 2010, 6:26:12 PM   # 5
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

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

Если есть код, который может послать красиво разобщенный код обработки бумажника команды "Отправить XYZ биткойны для решения 1abc ..."И этот код имеет уязвимость переполнения буфера в нем, то вы так же уязвимы, как и сегодня.

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

Если ваш компьютер был взломан, то вы в беде; что вы делаете на вашем компьютере может быть перехвачено плохим парнем. 

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

ByteCoin
ByteCoin сейчас офлайн Пожаловаться на ByteCoin   Ответить с цитированием Мультицитирование сообщения от ByteCoin Быстрый ответ на сообщение ByteCoin

8 ноября 2010, 7:52:36 PM   # 6
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

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

Но опять-таки: если это понятный интерфейс включает в себя команду "отправить XYZ биткойны в какой-то адрес", То как разделение делает вас более безопасным?
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

8 ноября 2010, 8:39:01 PM   # 7
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

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

Но опять-таки: если это понятный интерфейс включает в себя команду "отправить XYZ биткойны в какой-то адрес", То как разделение делает вас более безопасным?

Если вы многонациональный с помощью Bitcoin для существенных платежей и капитала целей вы можете иметь архитектуру следующим образом:

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

Филиалы также имеют безопасный интранет, который работает генерирующие транзакции программного обеспечения. Это может показать баланс, осуществлять платежи и все филиал компании хочет сделать с деньгами. Есть, вероятно, многие терминалы, способные создавать новые транзакции. Каждый терминал подписывает любую сделку Биткойна он хочет сделать и посылает его к узлам привратника, описанным ниже. Они получают информацию из их интернет-облицовочный Bitcoin узла и, возможно, от других узлов Bitcoin компании по защищенному линии.

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

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

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

Если attaker трещина защищенной интрасети или получает доступ к терминалу, они могут пытаться совершать сделки. Будем надеяться, что привратник здравомыслие проверка позволит свести к минимуму потери.

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

Когда я говорю "знак", "знаки","подписанный" а также "подпись" выше я просто имею в виду нормальный PKC не Bitcoin подписи.

ByteCoin
ByteCoin сейчас офлайн Пожаловаться на ByteCoin   Ответить с цитированием Мультицитирование сообщения от ByteCoin Быстрый ответ на сообщение ByteCoin

8 ноября 2010, 8:40:12 PM   # 8
 
 
Сообщения: 1708
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

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

Но опять-таки: если это понятный интерфейс включает в себя команду "отправить XYZ биткойны в какой-то адрес", То как разделение делает вас более безопасным?

Если вы многонациональный с помощью Bitcoin для существенных платежей и капитала целей вы можете иметь архитектуру следующим образом:


Любой с этими видами ресурсов будут хотеть сделать это самостоятельно в любом случае.
Moonshadow сейчас офлайн Пожаловаться на Moonshadow   Ответить с цитированием Мультицитирование сообщения от Moonshadow Быстрый ответ на сообщение Moonshadow

8 ноября 2010, 8:42:37 PM   # 9
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

Если вы многонациональный с помощью Bitcoin для существенных платежей и капитала целей вы можете иметь архитектуру следующим образом:


Любой с этими видами ресурсов будут хотеть сделать это самостоятельно в любом случае.
Если вы небольшая компания, просто взять пример выше и делать вид, что вы просто филиал.
Кроме того, большинство транснациональных корпораций не писать свое собственное программное обеспечение финансов, поэтому они не будут "сделать это сами",

ByteCoin
ByteCoin сейчас офлайн Пожаловаться на ByteCoin   Ответить с цитированием Мультицитирование сообщения от ByteCoin Быстрый ответ на сообщение ByteCoin

8 ноября 2010, 8:57:23 PM   # 10
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

В за-брандмауэр узлов необходимо следующее из на-сети bitcoind:

1. Они должны быть в состоянии спросить его "расскажите мне о каких-либо сделках в этих Bitcoin адреса ..."
2. Они должны быть в состоянии послать ему подписанную сделку и спросить "Пожалуйста вещать это для меня."

Пункт 1 реализуется в моем monitorreceived патч ( https://github.com/gavinandresen/bitcoin-git/tree/monitorreceived ).

Пункт 2 было бы круто. Кто-нибудь хочет, чтобы спроектировать и разработать "принимаем сделки" патч?

Все остальные функциональные возможности, необходимые (например, создания общественных / частных ключей, создания и подписания сделки) может быть, так и должно быть, на мой взгляд, может быть сделано как проект отдельно от Bitcoin. Создание кода малого и самодостаточным и как можно более безопасным будет цель; он может быть повторно использован для создания типа легкого клиента, выбежал на сотовых телефонах в дополнении к отстают корпоративные брандмауэры.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

8 ноября 2010, 9:14:26 PM   # 11
 
 
Сообщения: 416
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

Все остальные функциональные возможности, необходимые (например, создания общественных / частных ключей, создания и подписания сделки) может быть, так и должно быть, на мой взгляд, может быть сделано как проект отдельно от Bitcoin. Создание кода малого и самодостаточным и как можно более безопасным будет цель; он может быть повторно использован для создания типа легкого клиента, выбежал на сотовых телефонах в дополнении к отстают корпоративные брандмауэры.

Я полностью согласен.

Для того, чтобы обеспечить совместимость мы должны иметь достаточно подробные спецификации языка сценариев, то как математически scriptSig удовлетворяет scriptPubKey и некоторые обязательства от Satoshi, что он будет "дружат" с такими усилиями.

Было бы досадно, чтобы перепроектировать все и исправить ее, когда стандартный клиент изменяет реализацию. См Samba / Microsoft.

ByteCoin
ByteCoin сейчас офлайн Пожаловаться на ByteCoin   Ответить с цитированием Мультицитирование сообщения от ByteCoin Быстрый ответ на сообщение ByteCoin

8 ноября 2010, 10:00:00 PM   # 12
 
 
Сообщения: 1652
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

Для того, чтобы обеспечить совместимость мы должны иметь достаточно подробные спецификации языка сценариев, то как математически scriptSig удовлетворяет scriptPubKey и некоторые обязательства от Satoshi, что он будет "дружат" с такими усилиями.

Я думаю, что это слишком рано, чтобы прибить все, что вниз; ошибки в этом коде вызывают изменения всего несколько месяцев назад.

Просто напишите код, и когда ядро ​​Bitcoin изменений, должны быть готовы изменить свой код. Для конкретного случая мы говорим о том, что вам не нужно знать все возможные пути scriptSig удовлетворяет scriptPubKey-- вам просто нужно вскрывать технологию, как стандарт отправка в Bitcoin-адрес работает, так что вы можете подписать свой собственный посыл -в-Bitcoin-адресные сделки.
Гэвин Андресен сейчас офлайн Пожаловаться на Гэвин Андресен   Ответить с цитированием Мультицитирование сообщения от Gavin Andresen Быстрый ответ на сообщение Гэвин Андресен

10 ноября 2010, 1:55:01 AM   # 13
 
 
Сообщения: 2
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

С точки зрения пользователя это может выглядеть довольно надежным, если операции средства изменяющие может управляться из изолированной системы. Многие люди смотрят скептически к электронных денег (особенно в тех странах, где эти технологии являются новыми или редко). Это было бы большое конкурентное преимущество по сравнению с другими Bitcoin Интернет банковской системы, если она может предложить возможность обрабатывать конфиденциальные данные (личные ключи кошельков) на отдельную машину (скажем, изолированный линукс нетбук, который не имеет сети вообще). В этом случае запросы Транзакции и утверждено (подписано) сделки передаются в / из изолированной системы с помощью USB-флэшки (которые составляют около $ 5). Было бы гораздо легче поверить в надежности такой изолированной системы, чем в reliablility о наличии wirewall (что многие люди озадачены, чтобы построить и сохранить).
Хакеры могут быть недовольны этим решением: это невозможно взломать сеть, если нет сети.
Из причин, это делает Sence только тогда, когда средства высоки: один может не заботиться о $ 10, но мало кто неравнодушен около $ 1000 и больше. Таким образом Bitcoin может выиграть в высоком конце рынка.
Marsianin сейчас офлайн Пожаловаться на Marsianin   Ответить с цитированием Мультицитирование сообщения от Marsianin Быстрый ответ на сообщение Marsianin

18 ноября 2010, 8:26:12 AM   # 14
 
 
Сообщения: 158
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

В конце концов, это решение, которое позволит правильно использовать Bitcoin в среде многопользовательской.

UNIX системы, серверы терминалов Windows, тонкие клиенты, общественный хостинг, ...?

Прямо сейчас, вам нужно пропатчить Bitcoin, чтобы привязать к другому порту, а затем
вы все еще требуется хранить собственную копию blockchain и сгенерировать
собственный транспортный поток, идентичный среди других пользователей.
пропускная способность сейчас офлайн Пожаловаться на пропускную способность   Ответить с цитированием Мультицитирование Сообщения от пропускной способности Быстрый ответ на сообщение пропускная способность

18 ноября 2010, 8:33:46 AM   # 15
 
 
Сообщения: 812
Цитировать по имени
цитировать ответ
по умолчанию Re: «кошелек» код обработки должен быть отдельный процесс.

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

Это то, что я пытался сделать ясно в моем Bitcoin сейф для резьбы ( https://www.bitcoin.org/smf/index.php?topic=1826.0 ) также.

Я бы напуганная до смерти, чтобы иметь больше, чем эквивалент $ 1000 доступны подключен к Интернету с помощью P2P-демон 24/7 Это как «рубить меня» Баунти.

Wumpus сейчас офлайн Пожаловаться на Wumpus   Ответить с цитированием Мультицитирование сообщения от Wumpus Быстрый ответ на сообщение Wumpus



Как заработать Биткоины?

Bitcoin Wallet * Portefeuille Bitcoin * Monedero Bitcoin * Carteira Bitcoin * Portafoglio Bitcoin * Bitcoin Cüzdan * 比特币钱包

bitcoin-zarabotat.ru
Почта для связи: bitcoin-zarabotat.ru@yandex.ru

3HmAQ9FkRFk6HZGuwExYxL62y7C1B9MwPW