Author

Topic: [Уязвимость] Атака на пулы майнинга крипто (Read 5449 times)

hero member
Activity: 616
Merit: 502
почему колеблется мощность элигии?  это тот тип атаки?
удача наверное скачет, считайте среднее за месяц
legendary
Activity: 1792
Merit: 1028
dzyk.ru
почему колеблется мощность элигии?  это тот тип атаки?
hero member
Activity: 894
Merit: 1001
Атакуйте мой PPCoin пул - ppc.fix.ru
Можно и "злыми" и "добрыми" майнерами, а то там у меня совсем кисло - рад буду любому Smiley
Ну что, пул уже умер? Быстро однако.  Wink
legendary
Activity: 3108
Merit: 1359
Они тратят ресурсы пула. Трафик, время ЦП, место на диске, транзакции БД.
hero member
Activity: 535
Merit: 501
EMC
Если он свои ресурсы тратит, плевать на него. Другое дело, если он такими фокусами другим участникам не вредит, ну и пулу конечно.
legendary
Activity: 3108
Merit: 1359
Дело не в подверженности/неподверженности, а в том что подобные майнеры тратят ресурсы, не принося пользы. Их присутствие не имеет смысла.
hero member
Activity: 535
Merit: 501
EMC
Злым майнерам радоваться смысла нет, только пустая трата трафика.

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

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

У меня PPLNS, она тоже подвержена такой атаке?
legendary
Activity: 3108
Merit: 1359
Злым майнерам радоваться смысла нет, только пустая трата трафика.
hero member
Activity: 535
Merit: 501
EMC
Атакуйте мой PPCoin пул - ppc.fix.ru
Можно и "злыми" и "добрыми" майнерами, а то там у меня совсем кисло - рад буду любому Smiley
hero member
Activity: 894
Merit: 1001
Использовать шару не получится, считай в ней прописано кому платить награду.. толку то от кражи кредитной карты, если не знаешь пинкода (приватный ключ адреса, прописанного как адрес выплаты для награды блока)... можно только выкинуть, сделать гадость владельцу (только вот в реальности кредитную карту владелец может восстановить, а тут все, даже опоздание на секунды - критично).
А ну да, чего-то я забыл, что майнинг собственно заключается в том, что майнер пытающийся добыть блок 1й транзакцией в него включает вознаграждение за него на свой кошелек. Так что как минимум 1 запись будет отличаться и хеши больше никуда не подойдут.

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

Хоте если таким широко пользоваться (а не избранное для "подозрительных" участников пула), то обычный народ начнет жаловаться в стиле:
я в логах майнера видел, что нашел блок. А в статистике вы его не показываете! Ваш пул обворовывает майнеров!
И попробуй объясни, что это была тестовая липовая шара с намеренно околонулевой сложностью.
legendary
Activity: 1120
Merit: 1069
Большой пул может за счет своего кармана создать набор неповторимых блоков, которые отсутствуют в блокчейне... Просто переводит часть мощностей PPS-майнеров на некоторое время майнить приватный сет блоков... Майнерам всеравно, они свою оплату за шары всеравно получат, только из кармана оператора пула.
Дорого, получится тот же результат, которого добивается пул, платить то за ЭТИ решения пулу всеравно прийдется из своего кармана, и главное, пул должен найти решение для этих блоков, чтобы знать, что оно есть на определенном интервале nonce, поэтому тут подойдут только уже ранее обнаруженные решения (свои или чужие, это вопрос, как пул будет скрывать это от майнеров)
hero member
Activity: 798
Merit: 1000
Большой пул может за счет своего кармана создать набор неповторимых блоков, которые отсутствуют в блокчейне... Просто переводит часть мощностей PPS-майнеров на некоторое время майнить приватный сет блоков... Майнерам всеравно, они свою оплату за шары всеравно получат, только из кармана оператора пула.
legendary
Activity: 1120
Merit: 1069
Такие проверки можно делать чаще чем пул находит блок.

p.s. придумал способ борьбы с этим для атакующего, он заключается в способе, которым пул должен генерировать эти запросы... нужно подставлять задачи, решенные ранее, в т.ч. с блоков orphan, с прошлых мощностей и т.п., значит атакующий должен собрать максимальную статистику по существующим решениям в сети bitcoin (кстати защита от таких атак на пулы форков будет проще за счет существования валюты по мощнее).
Так же если пул будет скрывать реальное содержимое блока за midstate (или например они станут отличаться) это так же обнаруживается... если пул начнет скрывать чем он занимается, это уже не понравится майнерам и на публику создаст негативное мнение о пуле.
hero member
Activity: 616
Merit: 502
Я кстати думал насчет атаки такого рода. Она легко вычисляется. Майнеру подсовывается данные фиктивного блока и диапазон nonce, в котором однозначно есть шара нужной сложности. Если майнер ее не отдаст, значит он и есть злодей. Шары такого товарища можно спокойно молча сливать в утиль Smiley
хороший метод!
Затем он меняет регу и IP и все по-новой  Sad
legendary
Activity: 1120
Merit: 1069
Я кстати думал насчет атаки такого рода. Она легко вычисляется. Майнеру подсовывается данные фиктивного блока и диапазон nonce, в котором однозначно есть шара нужной сложности. Если майнер ее не отдаст, значит он и есть злодей. Шары такого товарища можно спокойно молча сливать в утиль Smiley
хороший метод!
hero member
Activity: 798
Merit: 1000
Я кстати думал насчет атаки такого рода. Она легко вычисляется. Майнеру подсовывается данные фиктивного блока и диапазон nonce, в котором однозначно есть шара нужной сложности. Если майнер ее не отдаст, значит он и есть злодей. Шары такого товарища можно спокойно молча сливать в утиль Smiley
hero member
Activity: 616
Merit: 502
Все можно сделать. Можно даже целиком всю сеть имитировать. Вопрос цены.
legendary
Activity: 1120
Merit: 1069
Использовать шару не получится, считай в ней прописано кому платить награду.. толку то от кражи кредитной карты, если не знаешь пинкода (приватный ключ адреса, прописанного как адрес выплаты для награды блока)... можно только выкинуть, сделать гадость владельцу (только вот в реальности кредитную карту владелец может восстановить, а тут все, даже опоздание на секунды - критично).

Почти наверняка с мелкими/слабыми пулами ситуация проще чем описанная атака, сами владельцы тырят средства. Много ли майнеров проверяют, что их шара со сложностью больше сложности сети дошла до сервера и попала в статистику? Инструментов готовых для этого нет, хотя их создание возможно, тот же cgminer дает полный доступ по сбору и анализу логов и статистики.
Крупным пулам, с большими комиссиями можно потратить немного средств на такие атаки, так же дополнительно информационная атака (из под левого форумного аккаунта - 'ааа, этот пул мои выплаты заныкал хнык, плохой пул') и конечно же ддос.
p.s. а когда крупный пул тырит средства, это еще круче, можно тырить совсем мало, вообще никто не заметит.
hero member
Activity: 894
Merit: 1001
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар. Потому что доход не идет с блоков непосредственно. В прочих же системах, не отправляя побеждающую шару, атакующий автоматически не отправляет себе деньги. И вот тогда у атаки появляется стоимость.

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


Ну а по теме. Не знаю, может оно совпадение, но вот смотрю сейчас пулы для FTC. Они почему-то на PPLNS системах, и подключился к одному из них (featherpool.com) смотрю что-то нарабатывается заметно меньше ожидаемого (уже с учетом поправок что это PLNS).
Стал сверять статистику - а у них почему-то стабильная непруха, последние 50 найденных блоков (больше сайт не показывает) в среднем добывались где-то на 30-40% тяжелее (больше шар требуется) чем положено исходя из сложности сети. (отсюда и меньшие выплаты, т.к. PPLNS по сути пропорционалка) Понятное дело, что для отдельного блока она скачет сильно туда-сюда - есть большой элемент случайности. Но усредненно по 50 блокам, это уже статистически значимо. Причем когда подключался тоже проверил "везучесть" пула, там было все ОК - порядка 5% отклонение от целевой сложности.
Как результат - майнеры с него разбегаются, уже почти половину мощностей пул потерял.
Проверил еще пару пулов, там тоже похожая ситуация, только превышение сложности на 10-20%. Народ тоже с них уходит (а перед этим все эти 3 ДДОСили, хотя возможно это они сами друг друга). Правда еще не выяснил куда же уходят? (т.к. общая мощность сети не снижается)
Кроме мошенничества со стороны владельцев пулов (кстати как это можно реализовать/отследить?) напрашивается вывод, что кто-то мог налить большие объемы таких "пустых" шар (с изъятыми блоками).
Возможно, это была как раз такая атака. Она конечно не дешевая, если ее длительно проводить. Но длительно тут не нужно - подключить на 1-2 дня мощности. И юзеры начнут разбегаться, а пул получит плохую репутацию мошенников (т.к. большинство не особо статистику изучает/просчитывает, а просто подключается, смотрит сколько за день примерно выходит - сравнивает с тем, что должно получиться исходя из имеющего хэшрейта и если получается существенно меньше положенного - бежит на другой пул, записав этот в свой черный список).
hero member
Activity: 616
Merit: 502
зеленые буковки. слышал, что они вредят психике и самое страшное выжигают сетчатку глаза, медленно но бесповоротно. у меня сохранился специальный фильтр от вредного влияния зеленых буковок, но он для 14" мониторов.
Это ж привычка со времен дисплейных станций  Roll Eyes
legendary
Activity: 1064
Merit: 1000
зеленые буковки. слышал, что они вредят психике и самое страшное выжигают сетчатку глаза, медленно но бесповоротно. у меня сохранился специальный фильтр от вредного влияния зеленых буковок, но он для 14" мониторов.
legendary
Activity: 1120
Merit: 1069
P.S. "идеологическая". 5 класс, вроде как...
спасибо, исправил.
legendary
Activity: 3108
Merit: 1359
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар.
Я не понял - то ли вы говорите что я не прав, то ли подтверждаете мою правоту Smiley

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

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

P.P.S. Я считаю, что за "попробывал", "идеалогия" и "лудше" надо избивать учебником.
legendary
Activity: 1120
Merit: 1069
В общем правильная стратегия подобной атаки такова: гнобим неугодный PPS-пул, недополучив в доход тыщу-десяток сатошиков. На вырученные с этого злобного майнинга битки, заказываем ддос на другой не-PPS пул.
Убивать неотсылкой подписанных блоков не-PPS очень затратно. К примеру имеем другой пул который в среднем подписывает 2 блока в сутки. Приходим туда мощностями, которые генерируют 1 блок в сутки. Сидим пару недель - у участников пула доход упал до 2/3; но мы сами потеряли на этой атаке ~125BTC
Убытки атакующего так же пропорционально будут распределены по остальным пользователям пула. Нет смысла атакующему заводить на пул равные этому пулу мощности, хватит и 10%-20% подольше.
member
Activity: 112
Merit: 10
В общем правильная стратегия подобной атаки такова: гнобим неугодный PPS-пул, недополучив в доход тыщу-десяток сатошиков. На вырученные с этого злобного майнинга битки, заказываем ддос на другой не-PPS пул.
Убивать неотсылкой подписанных блоков не-PPS очень затратно. К примеру имеем другой пул который в среднем подписывает 2 блока в сутки. Приходим туда мощностями, которые генерируют 1 блок в сутки. Сидим пару недель - у участников пула доход упал до 2/3; но мы сами потеряли на этой атаке ~125BTC
legendary
Activity: 1120
Merit: 1069
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар.
Я не понял - то ли вы говорите что я не прав, то ли подтверждаете мою правоту Smiley

Два майнера с одинаковыми мощностями, один злой - прячет 'полезные шары', другой добросовестный. Первый получит меньше второго ровно на количество этих пропущенных шар - это и есть стоимость, с точки зрения майнера-атакующего!
legendary
Activity: 3108
Merit: 1359
Автор не в теме о "методах расчета награды", точнее в теме только о PPS. А кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.
нет, метод выплат Prop точно так же уязвим, только стоимость атаки будет повыше, и будет равна части нанесенного убытка пулу пропорционально соотношению мощности атакующего к мощности пула. PPLNS не в случае pool hopping - фактически чистый Prop (возможно растянутый на несколько блоков, зависит от длины очереди учитываемых шар), та же ситуация и с остальными, просто формула определения убытков атакующего будет сложнее, но близка к Prop.
Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...
В конечном счете атака на майнеров пула и есть атака на пул, продолжительная долговая яма заставит уйти их с пула, что может и являться целью атаки.
Вы не поняли. С PPS нет никакой стоимости у атаки, она полностью бесплатна. "Злой" майнер получит ровно столько же, сколько и "добрый", ну минус несколько десятков шар. Потому что доход не идет с блоков непосредственно. В прочих же системах, не отправляя побеждающую шару, атакующий автоматически не отправляет себе деньги. И вот тогда у атаки появляется стоимость.
legendary
Activity: 1120
Merit: 1069
Автор не в теме о "методах расчета награды", точнее в теме только о PPS. А кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.
нет, метод выплат Prop точно так же уязвим, только стоимость атаки будет повыше, и будет равна части нанесенного убытка пулу пропорционально соотношению мощности атакующего к мощности пула. PPLNS не в случае pool hopping - фактически чистый Prop (возможно растянутый на несколько блоков, зависит от длины очереди учитываемых шар), та же ситуация и с остальными, просто формула определения убытков атакующего будет сложнее, но близка к Prop.
Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...
В конечном счете атака на майнеров пула и есть атака на пул, продолжительная долговая яма заставит уйти их с пула, что может и являться целью атаки.
member
Activity: 112
Merit: 10
Да, пожалуй обычные PPS-пулы такой стратегией и значительными мощностями можно вогнать в минуса. В остальных разновидностях пулов страдать будут их майнеры и сам злоумышленник...
legendary
Activity: 3108
Merit: 1359
Кроме PPS еще много чего существует... Остальные системы выплат неподвержены данной атаке, потому что в них атакующий наказывает сам себя, причиняя себе убытки.

И кстати, это баян уже 4 года как.
legendary
Activity: 1120
Merit: 1005
и шо это даст злоумышленнику?
ведь ту заветную шару он все равно никуда не применит...
получается что он будет также молотить и в никуда... может проще вообще выключить майнер? Smiley
Он получит битки от пула если там pps система выплат, чем сделать работу пула нерентабельной, это эффективнее старого доброго ддоса будет...
legendary
Activity: 1120
Merit: 1069
Конкурентная борьба. Злоумышленник и так получит награду от пула, но пулу от этого не легче.
FAN
legendary
Activity: 2716
Merit: 1020
и шо это даст злоумышленнику?
ведь ту заветную шару он все равно никуда не применит...
получается что он будет также молотить и в никуда... может проще вообще выключить майнер? Smiley
legendary
Activity: 1120
Merit: 1069
http://habrahabr.ru/post/178549/ -  Идеологическая уязвимость, атака на пулы майнинга криптовалют.

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

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

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

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

Например популярная утилита cgminer показывает в своем окне информацию по каждой найденной шаре.

Вот например эта строчка:
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 пул будет продолжать скрывать содержимое собираемого блока.
Jump to: