Какво можем да научим от изучаването на хакове? Разкриване на прозрения за поверителността и движенията на криптовалутите след хакването на DAO 2016

симбиоза

Терминът криптовалута почти се превърна в синоним на хакване. Изглежда, че всяка седмица има невероятно големи хакове на борси, портфейли на отделни потребители, интелигентни договори и публични блокчейн, на които те седят. В много случаи векторите на атака са очевидни в ретроспекция: кодът не е тестван, вътрешни процеси за предотвратяване на фишинг не съществуват, основни стандарти на кода не се спазват и т.н. Изучаването на самите хакове често няма да събере много интересна информация за тези, които вече са запознати с основни практики за сигурност. 

Но всеки крипто хак има два основни компонента – това е самият хак и след това методологиите, чрез които хакерът и неговите кохорти се опитват да осребрят откраднатите си плячки. За защитниците на поверителността опитите за анонимизиране на тези фондове са интересни казуси в нивата на анонимност, постижими в публичните блокчейн мрежи.

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

Хакът на DAO 2016, примерен случай

При изучаване на тези хакове и последващите арести става ясно, че в повечето случаи хакерите правят съществени грешки, когато се опитват да анонимизират своята криптовалута. В някои случаи неуспехите са по вина на прости потребителски грешки. В други случаи те са причинени от грешки в използвания от тях софтуер на портфейла или други по-малко от очевидни погрешни стъпки по пътя към превръщането на криптовалутата в активи от реалния свят. 

Наскоро един особено интересен случай, хакването на DAO от 2016 г., имаше значително развитие - разследване Статия на "Форбс" беше публикуван, който идентифицира предполагаемия хакер. Процесът, чрез който това лице беше идентифицирано, предлага някои прозрения за широко използвания портфейл за поверителност, Wasabi Wallet, и как неправилното използване на софтуера може да доведе до „разбиване“ на средствата на предполагаемия хакер. 

Допуснати са критични грешки

Що се отнася до реда на операциите, първият ход на хакера беше да конвертира част от откраднатите им средства от Ethereum Classic в Bitcoin. Хакерът използва Shapeshift за изпълнение на размяната, което по това време предоставя пълен публичен запис за всички сделки в платформата. От Shapeshift част от средствата се преместиха в Wasabi Wallet. От тук нататък нещата тръгват надолу.  

За тези, които не са запознати, CoinJoin е прозвището за специален протокол за изграждане на транзакции, който позволява на множество страни да обединят средствата си в голяма транзакция с цел прекъсване на връзката между средствата, вливащи се в CoinJoin, и средствата, изтичащи от CoinJoin.

Вместо транзакция да има един платец и получател, транзакция CoinJoin има множество платци и получатели. Да кажем например, че имате CoinJoin с 10 участници — ако CoinJoin е правилно изграден и всички правила за взаимодействие се спазват правилно, средствата, които изтичат от CoinJoin, ще имат набор от 10 анонимност. т.е. всеки един от 10-те „смесени изхода“ ” от транзакцията може да принадлежи на всеки един от 10-те (или повече) „несмесени входа” към транзакцията. 

Въпреки че CoinJoins може да бъде много мощен инструмент, има много възможности за участниците да правят критични грешки, които значително влошават или напълно подкопават поверителността, която може да са получили от CoinJoin. В случая с предполагаемия DAO хакер е допусната такава грешка. Както ще прочетете по-нататък, има вероятност тази грешка да е потребителска грешка, но също така е възможно да е имало (след поправено) грешка в Wasabi Wallet, която да доведе до този провал в поверителността. 

Wasabi Wallet използва Протокол ZeroLink, който конструира CoinJoins със смесени резултати с еднаква стойност. Това означава, че всички потребители трябва да смесват само определено, предварително определено количество биткойн. Всяка стойност над тази сума, която влиза в CoinJoin, трябва да бъде върната като несмесен биткойн на съответните потребители.

Ако например Алис има единичен .15 биткойн изход и CoinJoin приема само изходи със стойност .1 биткойн, при завършване на CoinJoin, Алис ще има смесен изход .1 биткойн и .05 несмесен биткойн изход. Биткойнът .05 се счита за „несмесен“, защото може да бъде свързан с оригиналния изход на Алис от .15. Смесеният изход вече не може да бъде директно свързан с входа и ще има набор за анонимност, който се състои от всички останали участници в CoinJoin. 

За да се запази поверителността на CoinJoin, е наложително смесените и несмесените изходи никога да не се свързват един с друг. В случай, че случайно бъдат агрегирани в биткойн блокчейн в единична или набор от транзакции, наблюдател може да използва тази информация, за да проследи смесени изходи обратно до техния източник. 

В случая с DAO хакера изглежда, че в процеса на използване на Wasabi Wallet те са използвали един адрес в множество CoinJoins; в един случай адресът беше използван като несмесен изход за промяна, във втория случай беше използван като смесен изход.

Това е сравнително необичайна грешка в контекста на CoinJoin, тъй като тази техника за вина чрез асоцииране изисква транзакция надолу по веригата от CoinJoins, за да „слее“ несмесените и смесените изходи, свързвайки ги заедно. Но в този случай не се изискваше анализиране на транзакции извън двете CoinJoins, тъй като един и същ адрес беше използван по противоречиви начини в две отделни CoinJoins. 

По принцип тази възможност съществува поради дизайнерско решение в софтуера Wasabi Wallet: Wasabi Wallet използва един път на деривация както за смесени, така и за несмесени изходи. Това се счита лоша практика. Служител на Wasabi заяви, че това трябва да направи възстановяването на портфейла съвместимо с други портфейли, но BIP84 (който е схема за деривация Wasabi Wallet използва) има стандартен начин за разпознаване на пътя на деривация, назначен за промяна на изходите.

Неуспехите, произтичащи от този избор на дизайн, са най-забележими, когато потребителят има два екземпляра на Wasabi Wallet, работещи по едно и също време, докато използва едно и също начало. В този сценарий би било възможно двата екземпляра да изберат един и същ адрес по този конфликтен начин, когато едновременно се опитват да изпълнят микс от всеки екземпляр. За това е предупредено в официални документи. Възможно е също така известните грешки в Wasabi Wallet да са виновни.

Изводи и изводи

И така, какво научаваме от това? Въпреки че тази грешка с Wasabi не е съвсем краят на историята, тя действаше като решаващ компонент при проследяването на предполагаемия хакер. Още веднъж се потвърждава нашето убеждение, че неприкосновеността на личния живот е трудна. Но на практика имаме друг пример за важността на предотвратяването на замърсяване на изхода при използване на инструменти за поверителност и колко внимателен „контрол на монетите“ се изисква както от потребителите, така и от софтуера. Въпросът е какъв вид протоколи за поверителност са предназначени да минимизират този клас атаки? 

Едно интересно решение е CoinSwap, при който вместо да обединявате изходи в голяма транзакция, разменяте изходи с друг потребител. По този начин разменяте истории на монети, а не да се присъединявате към истории на монети. По-мощно е, че ако CoinSwap се извършва в контекста извън веригата (както се прилага от Mercury Wallet), изобщо няма несмесени резултати за промяна, с които да се справите. 

Въпреки че има възможни потребителски грешки, които могат да доведат до „размяна на CoinSwap“, тези грешки вероятно са много по-очевидни за крайния потребител, тъй като всяко сливане на изходи по начин, нарушаващ поверителността, може да се извърши само чрез изрично смесване на разменен изход с такъв, който все още не е разменен, за разлика от обединяването на два изхода, които вече са преминали през CoinJoin, само един от които всъщност е смесен.

Портфейл Mercury в момента е единственото средство за обмен на CoinSwap извън веригата, достъпно за крайните потребители. Позволява на потребителите да заключват своите монети в протокол от втори слой (известен като държавна верига) и след това сляпо да разменят изходите си с други потребители на държавната верига. Това е много интересна техника и си струва да експериментирате за тези, които се интересуват от проучване на нови инструменти за поверителност с вълнуваща функционалност и приемливи компромиси.

Вземете ежедневното си резюме на Bitcoin, Актив, NFT намлява Web3 новини от CryptoSlate

Безплатно е и можете да се отпишете по всяко време.

Получете Ръб на крипто пазара?

Станете член на CryptoSlate Edge и влезте в нашата изключителна общност Discord, по-ексклузивно съдържание и анализ.

Анализ по веригата

Снимки на цените

Повече контекст

Присъединете се сега за $ 19 / месец Разгледайте всички предимства

Източник: https://cryptoslate.com/what-can-we-learn-from-studying-hacks-revealing-insights-on-privacy-and-cryptocurrency-movements-after-the-dao-2016-hack/