Bitcoin Forum

Local => Майнеры => Topic started by: rPman on May 01, 2013, 10:20:42 AM



Title: [Уязвимость] Атака на пулы майнинга крипто
Post by: rPman on May 01, 2013, 10:20:42 AM
http://habrahabr.ru/post/178549/ -  Идеологическая уязвимость, атака на пулы майнинга криптовалют.

Quote from: rPman
У всех пулов майнинга, включая p2pool, существует одна очень простая и неприятная идеологическая уязвимость, с помощью которой можно уменьшить совокупных доход пула относительно его общей мощности. Злоумышленник может 'наказать' пул на сумму, сравнимую с доходами от мощностей злоумышленника, фактически вся выплачиваемая пулом награда. И чем больше мощность злоумышленника и чем дольше продолжается атака, тем больше шанс что это убытки пула будут приближаться к этой величине. И самое главное, что такая атака не стоит злоумышленнику практически ничего.

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

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

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

Например популярная утилита cgminer показывает в своем окне информацию по каждой найденной шаре.
http://habrastorage.org/storage2/f1c/e49/770/f1ce4977067d68536aa1fcb9055ef5ea.jpg
Вот например эта строчка:
Quote
[2013-03-10 20:17:16] Accepted 03316740 Diff 80/52 AVA 0 pol 0
80 - это сложность, для которой подойдет данная шара как решение, а 52 - это сложность, которая была затребована пулом при выдачи задачи майнеру. Пул платит из расчета этой сложности в 52.

Майнеру-злоумышленнику достаточно не отсылать пулу решения, целевые для нахождения блока (т.е. со сложностью >= текущей мощности), это несколько измененных строчек в коде майнера (на приведенном скриншоте эта сложность указана сверху — 4.37M). Пул все равно заплатит за остальные шары, но блок от майнера так и не получит! Получается стоимость атаки, для метода выплат PPS — одна единственная шара на каждый недополученный блок пулом, для остальных методов оценка стоимости атаки будет сравнима с долей от нанесенного ущерба, равной соотношению мощности пула к мощности атакующего.
Значит если злоумышленник будет продолжать это делать достаточно долго, то он загонит пул в долговую яму для PPS или заметно уменьшит прибыль пользователей пула для остальных методов выплат. Для пула же это будет выглядеть как продолжительная повышенная неудача.
Обнаружить подобную атаку можно статистически, просто вычислив мощность майнера и количество найденных им блоков. Но максимум что пул может сделать - забанить нарушителя уже после успешной атаки, а атакующему завести новый аккаунт не составит никакого труда.

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

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


Title: Re: [Уязвимость] Идеалогическая уязвимость, а
Post by: FAN on May 01, 2013, 10:27:25 AM
и шо это даст злоумышленнику?
ведь ту заветную шару он все равно никуда не применит...
получается что он будет также молотить и в никуда... может проще вообще выключить майнер? :)


Title: Re: [Уязвимость] Идеологическая уязвимость, а
Post by: rPman on May 01, 2013, 10:33:08 AM
Конкурентная борьба. Злоумышленник и так получит награду от пула, но пулу от этого не легче.


Title: Re: [Уязвимость] Идеалогическая уязвимость, а
Post by: Echoes on May 01, 2013, 10:34:28 AM
и шо это даст злоумышленнику?
ведь ту заветную шару он все равно никуда не применит...
получается что он будет также молотить и в никуда... может проще вообще выключить майнер? :)
Он получит битки от пула если там pps система выплат, чем сделать работу пула нерентабельной, это эффективнее старого доброго ддоса будет...


Title: Re: [Уязвимость] Идеалогическая уязвимость, а
Post by: Balthazar on May 01, 2013, 10:35:33 AM
Кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.

И кстати, это баян уже 4 года как.


Title: Re: [Уязвимость] Идеалогическая уязвимость, а
Post by: Storan on May 01, 2013, 10:36:38 AM
Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...


Title: Re: [Уязвимость] Идеологическая уязвимость, а
Post by: rPman on May 01, 2013, 10:40:05 AM
Автор не в теме о "методах расчета награды", точнее в теме только о PPS. А кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.
нет, метод выплат Prop точно так же уязвим, только стоимость атаки будет повыше, и будет равна части нанесенного убытка пулу пропорционально соотношению мощности атакующего к мощности пула. PPLNS не в случае pool hopping - фактически чистый Prop (возможно растянутый на несколько блоков, зависит от длины очереди учитываемых шар), та же ситуация и с остальными, просто формула определения убытков атакующего будет сложнее, но близка к Prop.
Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...
В конечном счете атака на майнеров пула и есть атака на пул, продолжительная долговая яма заставит уйти их с пула, что может и являться целью атаки.


Title: Re: [Уязвимость] Идеалогическая уязвимость, а
Post by: Balthazar on May 01, 2013, 10:45:38 AM
Автор не в теме о "методах расчета награды", точнее в теме только о PPS. А кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.
нет, метод выплат Prop точно так же уязвим, только стоимость атаки будет повыше, и будет равна части нанесенного убытка пулу пропорционально соотношению мощности атакующего к мощности пула. PPLNS не в случае pool hopping - фактически чистый Prop (возможно растянутый на несколько блоков, зависит от длины очереди учитываемых шар), та же ситуация и с остальными, просто формула определения убытков атакующего будет сложнее, но близка к Prop.
Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...
В конечном счете атака на майнеров пула и есть атака на пул, продолжительная долговая яма заставит уйти их с пула, что может и являться целью атаки.
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар. Потому что доход не идет с блоков непосредственно. В прочих же системах, не отправляя побеждающую шару, атакующий автоматически не отправляет себе деньги. И вот тогда у атаки появляется стоимость.


Title: Re: [Уязвимость] Идеологическая уязвимость, а
Post by: rPman on May 01, 2013, 10:49:48 AM
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар.
Я не понял - то ли вы говорите что я не прав, то ли подтверждаете мою правоту :)

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


Title: Re: [Уязвимость] Идеалогическая уязвимость, а
Post by: Storan on May 01, 2013, 10:57:00 AM
В общем правильная стратегия подобной атаки такова: гнобим неугодный PPS-пул, недополучив в доход тыщу-десяток сатошиков. На вырученные с этого злобного майнинга битки, заказываем ддос на другой не-PPS пул.
Убивать неотсылкой подписанных блоков не-PPS очень затратно. К примеру имеем другой пул который в среднем подписывает 2 блока в сутки. Приходим туда мощностями, которые генерируют 1 блок в сутки. Сидим пару недель - у участников пула доход упал до 2/3; но мы сами потеряли на этой атаке ~125BTC


Title: Re: [Уязвимость] Идеологическая уязвимость, а
Post by: rPman on May 01, 2013, 11:08:56 AM
В общем правильная стратегия подобной атаки такова: гнобим неугодный PPS-пул, недополучив в доход тыщу-десяток сатошиков. На вырученные с этого злобного майнинга битки, заказываем ддос на другой не-PPS пул.
Убивать неотсылкой подписанных блоков не-PPS очень затратно. К примеру имеем другой пул который в среднем подписывает 2 блока в сутки. Приходим туда мощностями, которые генерируют 1 блок в сутки. Сидим пару недель - у участников пула доход упал до 2/3; но мы сами потеряли на этой атаке ~125BTC
Убытки атакующего так же пропорционально будут распределены по остальным пользователям пула. Нет смысла атакующему заводить на пул равные этому пулу мощности, хватит и 10%-20% подольше.


Title: Re: [Уязвимость] Идеалогическая уязвимость, а
Post by: Balthazar on May 01, 2013, 11:12:21 AM
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар.
Я не понял - то ли вы говорите что я не прав, то ли подтверждаете мою правоту :)

Два майнера с одинаковыми мощностями, один злой - прячет 'полезные шары', другой добросовестный. Первый получит меньше второго ровно на количество этих пропущенных шар - это и есть стоимость, с точки зрения майнера-атакующего!
На PPS атакующий получит почти столько же, как если бы он не атаковал. На распределяющих риски системах атакующий удлиняет раунды, в которых он участвует, и в итоге недополучает тем больше прибыли, чем большую мощность имеет.

P.S. "идеологическая". 5 класс, вроде как...

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


Title: Re: [Уязвимость] Идеологическая уязвимость, а
Post by: rPman on May 01, 2013, 11:16:14 AM
P.S. "идеологическая". 5 класс, вроде как...
спасибо, исправил.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Balthazar on May 01, 2013, 11:21:25 AM
https://bitcointalk.org/index.php?topic=32814.0
https://bitcoil.co.il/pool_analysis.pdf

http://bitcoin.stackexchange.com/questions/4943/what-is-a-block-withholding-attack
http://permalink.gmane.org/gmane.comp.bitcoin.devel/1112
http://bitcoin.stackexchange.com/questions/1338/how-is-block-solution-withholding-a-threat-to-mining-pools



Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: kimmeriets on May 01, 2013, 04:36:53 PM
зеленые буковки. слышал, что они вредят психике и самое страшное выжигают сетчатку глаза, медленно но бесповоротно. у меня сохранился специальный фильтр от вредного влияния зеленых буковок, но он для 14" мониторов.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: naima53 on May 01, 2013, 05:14:11 PM
зеленые буковки. слышал, что они вредят психике и самое страшное выжигают сетчатку глаза, медленно но бесповоротно. у меня сохранился специальный фильтр от вредного влияния зеленых буковок, но он для 14" мониторов.
Это ж привычка со времен дисплейных станций  ::)


Title: Re: [Уязвимость] Идеалогическая уязвимость, а
Post by: Mad_Max on May 05, 2013, 01:25:46 AM
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар. Потому что доход не идет с блоков непосредственно. В прочих же системах, не отправляя побеждающую шару, атакующий автоматически не отправляет себе деньги. И вот тогда у атаки появляется стоимость.

Что-то недопонял, а что мешает злоумышленнику эту найденную удачную шару, которую он перехватил и не отправил на пул, использовать для генерации нового блока себе лично (в соло режиме или на своем пуле, если это владелец пула этим занимается).
Ну помимо необходимости разобраться в коде майнера и переписать соответствующие участки?
Не знает "содержимого" блока, которое хочет подписать пул? Оно разве не одно и тоже у всех желающих создать по честному валидный (а не поддельный, с липовыми данными) блок? (информация о предыдущем блоке + набор транзакций, которые по все сети одинаково рассылаются по известному открытому формату).


Ну а по теме. Не знаю, может оно совпадение, но вот смотрю сейчас пулы для FTC. Они почему-то на PPLNS системах, и подключился к одному из них (featherpool.com) смотрю что-то нарабатывается заметно меньше ожидаемого (уже с учетом поправок что это PLNS).
Стал сверять статистику - а у них почему-то стабильная непруха, последние 50 найденных блоков (больше сайт не показывает) в среднем добывались где-то на 30-40% тяжелее (больше шар требуется) чем положено исходя из сложности сети. (отсюда и меньшие выплаты, т.к. PPLNS по сути пропорционалка) Понятное дело, что для отдельного блока она скачет сильно туда-сюда - есть большой элемент случайности. Но усредненно по 50 блокам, это уже статистически значимо. Причем когда подключался тоже проверил "везучесть" пула, там было все ОК - порядка 5% отклонение от целевой сложности.
Как результат - майнеры с него разбегаются, уже почти половину мощностей пул потерял.
Проверил еще пару пулов, там тоже похожая ситуация, только превышение сложности на 10-20%. Народ тоже с них уходит (а перед этим все эти 3 ДДОСили, хотя возможно это они сами друг друга). Правда еще не выяснил куда же уходят? (т.к. общая мощность сети не снижается)
Кроме мошенничества со стороны владельцев пулов (кстати как это можно реализовать/отследить?) напрашивается вывод, что кто-то мог налить большие объемы таких "пустых" шар (с изъятыми блоками).
Возможно, это была как раз такая атака. Она конечно не дешевая, если ее длительно проводить. Но длительно тут не нужно - подключить на 1-2 дня мощности. И юзеры начнут разбегаться, а пул получит плохую репутацию мошенников (т.к. большинство не особо статистику изучает/просчитывает, а просто подключается, смотрит сколько за день примерно выходит - сравнивает с тем, что должно получиться исходя из имеющего хэшрейта и если получается существенно меньше положенного - бежит на другой пул, записав этот в свой черный список).


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: rPman on May 05, 2013, 07:18:13 AM
Использовать шару не получится, считай в ней прописано кому платить награду.. толку то от кражи кредитной карты, если не знаешь пинкода (приватный ключ адреса, прописанного как адрес выплаты для награды блока)... можно только выкинуть, сделать гадость владельцу (только вот в реальности кредитную карту владелец может восстановить, а тут все, даже опоздание на секунды - критично).

Почти наверняка с мелкими/слабыми пулами ситуация проще чем описанная атака, сами владельцы тырят средства. Много ли майнеров проверяют, что их шара со сложностью больше сложности сети дошла до сервера и попала в статистику? Инструментов готовых для этого нет, хотя их создание возможно, тот же cgminer дает полный доступ по сбору и анализу логов и статистики.
Крупным пулам, с большими комиссиями можно потратить немного средств на такие атаки, так же дополнительно информационная атака (из под левого форумного аккаунта - 'ааа, этот пул мои выплаты заныкал хнык, плохой пул') и конечно же ддос.
p.s. а когда крупный пул тырит средства, это еще круче, можно тырить совсем мало, вообще никто не заметит.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: naima53 on May 05, 2013, 02:55:26 PM
Все можно сделать. Можно даже целиком всю сеть имитировать. Вопрос цены.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Vicus on May 11, 2013, 11:52:10 AM
Я кстати думал насчет атаки такого рода. Она легко вычисляется. Майнеру подсовывается данные фиктивного блока и диапазон nonce, в котором однозначно есть шара нужной сложности. Если майнер ее не отдаст, значит он и есть злодей. Шары такого товарища можно спокойно молча сливать в утиль :)


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: rPman on May 11, 2013, 11:57:31 AM
Я кстати думал насчет атаки такого рода. Она легко вычисляется. Майнеру подсовывается данные фиктивного блока и диапазон nonce, в котором однозначно есть шара нужной сложности. Если майнер ее не отдаст, значит он и есть злодей. Шары такого товарища можно спокойно молча сливать в утиль :)
хороший метод!


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: naima53 on May 11, 2013, 12:11:26 PM
Я кстати думал насчет атаки такого рода. Она легко вычисляется. Майнеру подсовывается данные фиктивного блока и диапазон nonce, в котором однозначно есть шара нужной сложности. Если майнер ее не отдаст, значит он и есть злодей. Шары такого товарища можно спокойно молча сливать в утиль :)
хороший метод!
Затем он меняет регу и IP и все по-новой  :(


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: rPman on May 11, 2013, 12:19:34 PM
Такие проверки можно делать чаще чем пул находит блок.

p.s. придумал способ борьбы с этим для атакующего, он заключается в способе, которым пул должен генерировать эти запросы... нужно подставлять задачи, решенные ранее, в т.ч. с блоков orphan, с прошлых мощностей и т.п., значит атакующий должен собрать максимальную статистику по существующим решениям в сети bitcoin (кстати защита от таких атак на пулы форков будет проще за счет существования валюты по мощнее).
Так же если пул будет скрывать реальное содержимое блока за midstate (или например они станут отличаться) это так же обнаруживается... если пул начнет скрывать чем он занимается, это уже не понравится майнерам и на публику создаст негативное мнение о пуле.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Vicus on May 11, 2013, 12:26:50 PM
Большой пул может за счет своего кармана создать набор неповторимых блоков, которые отсутствуют в блокчейне... Просто переводит часть мощностей PPS-майнеров на некоторое время майнить приватный сет блоков... Майнерам всеравно, они свою оплату за шары всеравно получат, только из кармана оператора пула.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: rPman on May 11, 2013, 12:50:55 PM
Большой пул может за счет своего кармана создать набор неповторимых блоков, которые отсутствуют в блокчейне... Просто переводит часть мощностей PPS-майнеров на некоторое время майнить приватный сет блоков... Майнерам всеравно, они свою оплату за шары всеравно получат, только из кармана оператора пула.
Дорого, получится тот же результат, которого добивается пул, платить то за ЭТИ решения пулу всеравно прийдется из своего кармана, и главное, пул должен найти решение для этих блоков, чтобы знать, что оно есть на определенном интервале nonce, поэтому тут подойдут только уже ранее обнаруженные решения (свои или чужие, это вопрос, как пул будет скрывать это от майнеров)


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Mad_Max on May 11, 2013, 06:18:34 PM
Использовать шару не получится, считай в ней прописано кому платить награду.. толку то от кражи кредитной карты, если не знаешь пинкода (приватный ключ адреса, прописанного как адрес выплаты для награды блока)... можно только выкинуть, сделать гадость владельцу (только вот в реальности кредитную карту владелец может восстановить, а тут все, даже опоздание на секунды - критично).
А ну да, чего-то я забыл, что майнинг собственно заключается в том, что майнер пытающийся добыть блок 1й транзакцией в него включает вознаграждение за него на свой кошелек. Так что как минимум 1 запись будет отличаться и хеши больше никуда не подойдут.

Затем он меняет регу и IP и все по-новой  :(
А это для начала он должен понять и заметить, что его таким образом "проверяют".
Потом вручную сходить и сделать новую регу и перенастроить майнеры на нее.
Ну и заработанное на старом акке можно не выплачивать/по крайней мере заморозить до выяснения обстоятельств.

Хоте если таким широко пользоваться (а не избранное для "подозрительных" участников пула), то обычный народ начнет жаловаться в стиле:
я в логах майнера видел, что нашел блок. А в статистике вы его не показываете! Ваш пул обворовывает майнеров!
И попробуй объясни, что это была тестовая липовая шара с намеренно околонулевой сложностью.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Fixx on May 12, 2013, 01:58:30 PM
Атакуйте мой PPCoin пул - ppc.fix.ru (http://ppc.fix.ru)
Можно и "злыми" и "добрыми" майнерами, а то там у меня совсем кисло - рад буду любому :)


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Balthazar on May 12, 2013, 05:38:19 PM
Злым майнерам радоваться смысла нет, только пустая трата трафика.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Fixx on May 12, 2013, 05:54:08 PM
Злым майнерам радоваться смысла нет, только пустая трата трафика.

Quote
... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.

И кстати, это баян уже 4 года как.

У меня PPLNS, она тоже подвержена такой атаке?


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Balthazar on May 12, 2013, 06:20:11 PM
Дело не в подверженности/неподверженности, а в том что подобные майнеры тратят ресурсы, не принося пользы. Их присутствие не имеет смысла.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Fixx on May 12, 2013, 06:30:29 PM
Если он свои ресурсы тратит, плевать на него. Другое дело, если он такими фокусами другим участникам не вредит, ну и пулу конечно.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Balthazar on May 12, 2013, 06:32:30 PM
Они тратят ресурсы пула. Трафик, время ЦП, место на диске, транзакции БД.


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: Mad_Max on May 25, 2013, 10:25:46 PM
Атакуйте мой PPCoin пул - ppc.fix.ru (http://ppc.fix.ru)
Можно и "злыми" и "добрыми" майнерами, а то там у меня совсем кисло - рад буду любому :)
Ну что, пул уже умер? Быстро однако.  ;)


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: dzyk on May 26, 2013, 07:07:30 PM
почему колеблется мощность элигии?  это тот тип атаки?


Title: Re: [Уязвимость] Атака на пулы майнинга крипто
Post by: naima53 on May 27, 2013, 12:02:34 PM
почему колеблется мощность элигии?  это тот тип атаки?
удача наверное скачет, считайте среднее за месяц