Ievads
Aptumsuma uzbrukums ir samērā vienkāršs uzbrukums, kuru iespējams veikt, lai traucētu mezglu darbību tīklā. Kā var noprast no nosaukuma, šāda uzbrukuma mērķis ir ierobežot dalībnieka skatījumu uz vienādranga tīklu, lai radītu vispārējus traucējumus vai sagatavotos sarežģītākiem uzbrukumiem.
Aptumsuma uzbrukumi savā ziņā varētu šķist līdzīgi Sibillas uzbrukumiem. Lai arī tiem ir dažas līdzīgas iezīmes (uzbrucējs pārpludina tīklu ar viltus dalībniekiem), galīgais mērķis ir pavisam cits. Aptumsuma uzbrukuma mērķis ir viens mezgls (iemeslus skaidrosim kādā no turpmākajām sadaļām), bet Sibillas uzbrukums notiek tīkla līmenī, lai apmuļķotu protokola reputācijas sistēmu.
Šis jēdziens tiek detalizēti apspriests 2015. gadā izdotajā dokumentā Aptumsuma uzbrukumi Bitcoin vienādranga tīklā, kurā pētnieki no Bostonas Universitātes un Ebreju Universitātes ziņo par saviem atklājumiem eksperimentos ar aptumsuma uzbrukumiem, kā arī iespējamajiem pretpasākumiem cīņā ar šādiem uzbrukumiem.
Kā darbojas aptumsuma uzbrukumi?
Bitcoin ieguvējiem ir nepieciešams specializēts aprīkojums, lai varētu izveidot jaunus blokus, taču pietiek ar minimālu skaitļošanas jaudu, lai darbinātu mezglus, kas nav ieguves (jeb pilnie) mezgli. Tas veicina Bitcoin tīkla decentralizāciju, jo jebkurš var izveidot mezglu, izmantojot pavisam vienkāršu ierīci. Programmatūra uztur darījumu datu bāzi, ko tā sinhronizē ar vienādranga lietotājiem, lai nodrošinātu saskaņotu darbību ar tīklu.
Ierobežojošs faktors daudziem mezgliem ir joslas platums. Lai gan ir ļoti daudz ierīču, kurās darbojas šī programmatūra, vidusmēra ierīcei nav iespējams izveidot tiešu savienojumu ar daudzām no tām, jo Bitcoin programmatūrā ir noteikti ierobežojumi (kas ļauj izveidot ne vairāk kā 125 savienojumus).
Aptumsuma uzbrukuma laikā uzbrucējs nodrošina, ka visi mērķa savienojumi tiek izveidoti ar uzbrucēja kontrolētiem mezgliem. Uzbrucējs vispirms pārpludinās mērķi ar savām IP adresēm, kam upuris, visticamāk, pievienosies pēc savas programmatūras restartēšanas. Restartēšana var notikt piespiedu kārtā (proti, veicot DDoS uzbrukumu mērķim), vai arī uzbrucējs var vienkārši gaidīt, līdz tas notiks.
Kad tas ir noticis, upuris, neko nenojaušot, ir ļaunprātīgo mezglu varā – tam nav piekļuves plašākam tīklam, un uzbrucējs var tam piegādāt nepareizus datus.
Aptumsuma uzbrukuma sekas
Ja uzbrucējs tērē resursus, lai atstumtu lietotāju no tīkla, viņam, visticamāk, ir iemesls to darīt. Ir dažādi uzbrukumi, ko iespējams daudz vieglāk īstenot, tiklīdz mezgls ir nošķirts no tīkla.
Nulles apstiprinājumu dubultie tēriņi
Ja persona pieņem darījumu bez apstiprinājumiem, pastāv dubulto tēriņu risks. Darījums var būt jau pārraidīts, taču līdz brīdim, kad tas tiks iekļauts blokā (un reģistrēts blokķēdē), sūtītājs var viegli izveidot jaunu darījumu, ar kuru tiktu iztērēti tie paši līdzekļi citiem mērķiem. Ja jaunajam darījumam būs augstāka komisijas maksa, ieguvējs, visticamāk, iekļaus to blokā ātrāk par sākotnējo darījumu, tādējādi padarot pirmo darījumu par nederīgu.
Daži uzņēmumi un privātpersonas pieņem šos nulles apstiprinājumu darījumus. Iztēlosimies komersantu Kārli, kurš tirgo augstākās klases automobiļus. Viņš nezina, ka Alise ir nošķīrusi no tīkla viņa mezglu, tāpēc neko sliktu nenojauš, kad Alise izvieto orderi luksusa sporta automobiļa iegādei. Viņa izveido darījumu, kuru pēc tam Kārlis pārraida tīklā. Apmierināts, ka maksājums ir procesā, viņš izsniedz Alisei automobiļa atslēgas, un Alise aizbrauc.
Darījums, protams, netika pārraidīts tīklā – Kārlis to tikai pārraidīja Alises krāpnieciskajiem mezgliem, kas nenodos tālāk informāciju godīgajiem mezgliem. Kamēr darījums atrodas nekurienes vidū, Alise tērē šos pašus līdzekļus (reālajā) tīklā – samaksājot kādai citai personai vai pārskaitot tos uz savu adresi. Pat tad, ja sākotnējais pārskaitījums Kārlim galu galā tiktu pamanīts, tas tiktu noraidīts, jo kriptovalūta jau būtu iztērēta.
N apstiprinājumu dubultie tēriņi
N apstiprinājumu dubultie tēriņi ir līdzīgi 0 apstiprinājumu dubultajiem tēriņiem, taču tie paredz rūpīgāku sagatavošanos. Daudzi uzņēmumi dod priekšroku vispirms sagaidīt noteiktu skaitu apstiprinājumu un tikai tad atzīmēt maksājumu kā derīgu. Lai to apietu, uzbrucējam ir jānorobežo gan ieguvēji, gan attiecīgais komersants. Tiklīdz uzbrucējs ir izveidojis orderi darījumam ar komersantu, tas pārraida darījumu (norobežotajiem) ieguvējiem. Darījums tiek apstiprināts un iekļauts blokķēdē, taču blokķēde nav tā, kuru vēro vairums tīkla dalībnieku, jo šis ieguvējs ir norobežots no tīkla.
Tālāk uzbrucējs pārraida šo blokķēdes versiju komersantam, kurš atbrīvo preces, ticot, ka darījums ir apstiprināts. Kad nošķirtie mezgli atkal pievienojas faktiskajam tīklam, blokķēde, kuras derīgumam tie kļūdaini ticēja, tiek atmesta par labu tai, kurā darbojās pārējais tīkls (tas līdzinās 51 % uzbrukumam).
Konkurējošo ieguvēju ietekmes mazināšana
No tīkla norobežotais jeb "aptumšotais" mezgls turpina darboties, nezinot par to, ka ir nošķirts no tīkla. Ieguvēji turpina iegūt blokus saskaņā ar protokola noteikumiem, taču pievienotie bloki tiek atmesti brīdī, kad notiek datu sinhronizēšana ar godīgajiem mezgliem.
Teorētiski vērienīgu aptumsuma uzbrukumu lielākajiem ieguvējiem varētu izmantot, lai atvieglotu 51 % uzbrukumu. Šobrīd izmaksas, kas saistītas ar kontroles iegūšanu pār Bitcoin jaukšanas jaudas lielāko daļu, ir pārāk lielas pat turīgākajiem uzbrucējiem – pie aptuveni 80 TH/s jaukšanas jaudas šādai manipulācijai būtu nepieciešams vairāk par 40 TH/s.
Hipotētiskā situācijā, kad šī jaukšanas jauda būtu sadalīta starp 10 dalībniekiem (8 TH/s katram), uzbrucējs varētu ievērojami samazināt 51 % uzbrukuma šķēršļus, izslēdzot šos dalībniekus no tīkla. Ja no tīkla tiktu nošķirti pieci no šiem dalībniekiem, tas nozīmētu, ka no cīņas par nākamā bloka atrašanu tiktu izņemti 40 TH/s un uzbrucējam būtu nepieciešams iegūt tikai nedaudz vairāk nekā 20 TH/s, lai pārņemtu kontroli.
Vēl viena sabotāžas iespēja, ko var īstenot, nošķirot mērķa mezglus no tīkla, ietver manipulāciju ar mezgliem savtīgās ieguves nolūkā vai sacīkšu rīkošanu starp ieguvējiem, lai atrastu nākamo bloku.
Riska mazināšana
Ar pietiekami lielu IP adrešu skaitu uzbrucējs var "aptumšot" jebkuru mezglu. Vienkāršākā metode, kā to novērst, ir operatoram bloķēt ienākošos savienojumus un izveidot izejošos savienojumus tikai ar noteiktiem mezgliem (piemēram, tiem, ko citi mezgli ir iekļāvuši baltajos sarakstos). Taču, kā norādīts pētnieciskajā rakstā, šī pieeja nedarbojas plašākā mērogā – ja visi tīkla dalībnieki veiktu šos piesardzības pasākumus, jauni mezgli nevarētu pievienoties tīklam.
Autori piedāvāja dažādus Bitcoin programmatūras uzlabojumus, daži no kuriem tika ieviesti pēc šī dokumenta publicēšanas. Tā rezultātā, veicot nelielas izmaiņas kodā, piemēram, nejauši izvēloties jaunos savienojumus un palielinot adrešu glabāšanas kapacitāti, aptumsuma uzbrukumi izmaksā dārgāk.
Noslēgumā
Aptumsuma uzbrukumi tiek veikti vienādranga tīkla līmenī. Īstenojot tos kā atsevišķus uzbrukumus, tie var radīt zināmas problēmas. To patiesā efektivitāte slēpjas citu uzbrukumu atvieglošanā, kas var finansiāli ietekmēt uzbrukuma mērķi, vai ieguves priekšrocību nodrošināšanā uzbrucējam.
Realitātē aptumsuma uzbrukumi vēl nav radījuši nopietnas sekas, taču, neraugoties uz tīklā ieviestajiem pretpasākumiem, šie draudi joprojām pastāv. Līdzīgi kā ar vairumu uzbrukuma metožu saistībā ar Bitcoin un citām kriptovalūtām, visspēcīgākā aizsardzība būs tā, kuras rezultātā uzbrukumu veikšana būs finansiāli neizdevīga ļaundariem.