Блокчейн определено се доказва с времето като една от най-надеждните, сигурни и бързо развиващи се технологии за опазване на информация. Въпреки това, се появяват New Age Security атаки (атаки от ново поколение срещу защитата). Те са много по-сложни и имат потенциала да причинят огромно количество непоправими щети. Разбирането на същността на тези атаки е изключително важно за тези, които разработват и внедряват блокчейн технологии. Превенцията е най-добрата защита!
В тази статия ще разгледаме няколко различни групи атаки върху блокчейн защитата. Те са разделени в четири категории:
- Peer-to-peer мрежови атаки;
- Consensus и атаки на дневника;
- Атаки над “умните договори”;
- Атаки над портфейла.
Peer-to-peer мрежови атаки
Eclipse атака
Възловата точка зависи от “x” броя възли използващи P2P мрежа, за записване в регистъра. В случай че атакуващият успее да манипулира всички “x” броя възли, чрез неговите злонамерени точки, той има възможност да затъмни (eclipse) оригиналния дневник и на негово място да показва манипулираният от хакера такъв.
Sybil атака
Докато eclipse атаката цели да затъмни гледната точка на потребителя към истинския дневник, то Sybil атакува цялата мрежа. При тази атака, хакерът наводнява мрежата с голям брои псевдо възли и се опитва да я манипулира. Тези възли изглежат сякаш се оперират от различни лица в мрежата. Реално се управляват само от един човек в сянка. В този случай целта не е да се атакува само един потребител, а няколко или цялата мрежа. След това ще може да генерира “вилица” в дневника, която да позволи на хакера да прави двойно похарчване или да организира други атаки.
Консенсусен механизъм и атаки чрез копаене
Selfish mining (егоистично “копаене”) атака
В повечето случаи, когато говорим за блокчейн се смята, че най-дългата версия на дневника е и истинската. При selfish mining атака се правят опити за задържане на блокове в стелт режим в съществуващата верига. Когато миньорът има преднина от два или повече блока може да публикува неговата “вилица”. По този начин новата версия ще бъде приета за истинската, защото ще е най-дълга. Ще може да прави транзакции в публичната мрежа, точно преди да публикува своята по-дълга версия на стелт веригата. Целта му е да обърне транзакцията, която последно е направил. Така си оставя малка вратичка за двойно похарчване въз основа на възможността за изграждане на стелт верига чрез допълнителни блокове (Finney атака).
Софтуер за “копаене”
Зловредният софтуер използва мощта на компютъра на нищо неподозиращите жертви за да “копае” за криптовалути. Китай съобщи за повече от 1 милион компютъра, които са били заразени с такъв софтуер и с негова помощ хакерите са “изкопали” над 26 милиона токени на различни криптовалути.
51% атака
Тази атака е възможна, когато миньор или група миньори контролират 51% или повече от минната мощ на мрежата на блокчейн. Тази атака е насочена основно срещу по-малки мрежи, защото са по-лесни за манипулиране, вероятността хакерите да атакуват голяма мрежа чрез тази атака е много нисък. Веднъж щом групата поеме контрола върху транзакциите в мрежа на блокчейн, тя може да спре специфични транзакции или дори да отмени по-стари такива.
Timejack атака
Възли в определени блокови мрежи като Bitcoin зависят от вътрешно синхронизиране получено от средното време отчетено от неговите партньорски възли. Например, както вие разчитате на приятелите си да знаят времето. Нека си представим, че един хакер успее да внедри достатъчно злонамерени хора в листа ви с приятели, следователно ще може да манипулира и времето ви. Първата стъпка може да е Eclipse атака на целия възел. След като атаката над атакувания възел е завършена той няма да приема блокове от истинската мрежа. Времето на блоковете няма да съвпада с времето, подавано от мрежата. Това дава възможност на хакера да прави двойни харчвания или транзакции таргетиращи целия възел, тъй като те не могат да бъдат изпратени към истинската мрежа на блокчейн.
Finney атака
Ако можете да “изкопаете” блок, в който има една ваша транзакция и успеете да го задържите в стилт, то тогава ще имате възможност да похарчите два пъти стойността на парите си. В случай че, търговецът приеме непотвърдената ви танзакция можете да го препратите към по-ранната си такава. След това публикувате първата версия на изкопания блок, който сте задържали в стелт преди новата ви транзакция да е потвърдена от мрежата.
Race атака
Тази атака се различава с много малко от Finney атаката. За тази атака, хакерът не трябва да е изкопал предварително блока с транзакцията си, която иска да похарчи за втори път. По време на атаката, той предоставя непотвърдена транзакция на търговеца (жертвата) и едновременно с това извършва друга транзакция, която излъчва към мрежата. За нападателя е по-лесно да осъществи атаката си, ако е пряко свързан с възела на търговеца. Това ще създаде илюзия у търговеца, че неговата сделка е първа, а в действителност тя никога няма да бъде предадена към блокчейн мрежата от хакера.
Атаки върху “умни договори”
“Умните договри” са напълно автоматизирани договори, които изпълняват транзакции в съгласуван начин между участниците, с входящи данни от реалния свят и без намеса от страна на посредници. Така че, след като влезе в сила един “умен договор” не може да бъде прекратен. След като сделката е завършена и записана в блокчейн, става неотменима. Това дава гаранция на участниците за изпълнение на уговорките, както е вписано при сключването на договора. Но помислете какво би се случи, ако “умните договори” имат грешки – милиони долари ще са застрашени и никой не би могъл да го промени. Ще разгледаме такива атаки или вектори на атаки, свързани с “умните договори”.
Атаката DAO
Най-голямата експлоатация в историята на криптовалутите е наречена “DAO”. Децентрализираната автономна организация беше амбициозно допълнение на Ethereum.
Компанията Slock започнала краудфънфинг кампания за проект наречен “The DAO”. Краудфъндинг кампанията получила много внимание и събрала 12.7 милиона Ether, които тогава се равнявали на 150 милиона долара. Днес се равняват на 2 билиона долара. Хакер забелязал уязвимост в кода. Той използвал рекурсивно теглене, което може да се изпълни без проверка на споразумението на текущата транзакция. Така хакерът започнал атаката. Дарил малка сума и поискал оттеглянето и с рекурсивна функция. По този начин успял да прехвърли почти 70 милиона долара от фонда. След това събитията стигнали до интересен поврат. Фондация Ethereum заплашила хакера или да спре атаката или те щели да замразят сметката. Хакерът отговорил, че действа според установения договор и че намесата чрез “мека” или “твърда” вилица ще бъде нарушение на този договор, вследствие на което той ще си търси правата в съда. Въпреки това, хакерът спрял атаката си.
Фондация Ethereum не останала доволна, заради пропуска си. Тя се опитала чрез “твърда” вилица да си възвърне парите, въпреки че това решение предизвикало много съмнения относно силата на “умните договори”. Тази “твърда” вилица довела до създаването на две валути от Ethereum – Ethereum и Ethereum classic и много спорове.
Атаки над портфейла.
Parity Multisig атака над портфейла
Пример за такава атака е случаят с уязвимостта на портфейла на паритетен клиент. Харекът успял да блокира 500 000 Ether (77 милиона долара днес). За да се намалят таксите за транзакции се използва централизиран договор за библиотека. Multisig портфейла е като съвместна сметка в банка с множество собственици. Въпреки защитите тези портфейли имат няколко уязвими критични функции, до които стигнал хакерът. Той добавил собствената си сметка в библиотеката и станал съсобственик на част от портфейлите. След това задействал kill функция, с която замразил всички валути в портфейла. Те възлизали на 155 милиона долара. Валута, която ще бъде завинаги блокирана.
Заключение
Грешките при внедряването на блокчен технологиите могат да излязат много скъпи, ако са в мрежи без необходимост от разрешителни за достъп. В тези случаи всеки може да участва. Идентичността на участниците е анонимна и поправянето на грешките е невъзможно. По-голямата част от вектор атаките и уязвимите точки, разгледани в тази статия могат да бъдат предотватени, ако атаките бъдат хванати преди тяхното осъществяване.