რა არის Eclipse შეტევა?
მთავარი
სტატიები
რა არის Eclipse შეტევა?

რა არის Eclipse შეტევა?

გამოქვეყნებული Jan 19, 2020განახლებული Dec 11, 2023
6m

შესავალი

Eclipse შეტევა ქსელზე შეტევის შედარებით მარტივ ტიპს წარმოადგენს, რომელსაც ბოროტმოქმედი ახორციელებს ქსელის ნოდების მუშაობის შეფერხების მიზნით. როგორც სახელი მიგვანიშნებს, შეტევის მიზანია მონაწილის მიერ peer-to-peer ქსელის ხილვადობის შეზღუდვა, ზოგადი დაბნეულობის გამოწვევის მიზნით ან გარემოს უფრო მაღალი დონის შეტევებისთვის მოსამზადებლად.

ერთი შეხედვით, Eclipse შეტევები Sybil შეტევების მსგავსია. მიუხედავად იმისა, რომ ამ ორ ტიპს შორის ბევრი მსგავსება არსებობს – ბოროტმოქმედი ქსელში უშვებს ყალბ peer-ებს – თითოეული მათგანის საბოლოო მიზანი სრულიად განსხვავდება ერთმანეთისგან. Eclipse შეტევა სამიზნედ ირჩევს ერთ ნოდს (ამის მიზანი ამ სექციაში მოგვიანებით იქნება ახსნილი), Sybil შეტევის დროს სამიზნეს მთელი ქსელი წარმოადგენს და მისი დანიშნულებაა პროტოკოლის რეპუტაციული სისტემისთვის ზიანის მიყენება.

ეს კონცეფცია დეტალურად განხილულია 2015 წელს მომზადებულ ნაშრომში Eclipse შეტევები Bitcoin-ის Peer-to-Peer ქსელზე, რომელშიც ბოსტონის უნივერსიტეტის და ებრაული უნივერსიტეტის მკვლევარები აღწერენ მათ მიერ ჩატარებული Eclipse შეტევების ექსპერიმენტის შედეგებს და წარმოადგენენ რეკომენდაციებს ამ შეტევების წინააღმდეგ ბრძოლასთან დაკავშირებით.


Eclipse შეტევის მუშაობის პრინციპი

ახალი ბლოკების გენერირებისთვის, Bitcoin-ის მაინერს ესაჭიროება სპეციალური აპარატურა, თუმცა არა-მაინერი (ან სრული) ნოდების გასაშვებად საკმარისია მინიმალური გამომთვლელი სიმძლავრე. ეს ხელს უწყობს Bitcoin-ის დეცენტრალიზაციას, რადგან ნებისმიერს შეუძლია გაუშვას ნოდი დაბალი დონის სპეციფიკაციების მქონე მოწყობილობაზე. პროგრამული უზრუნველყოფა ინახავს ტრანზაქციების მონაცემთა ბაზას, რომელიც სინქრონიზებულია უახლოესი ნოდების მონაცემებთან, რაც უზრუნველყოფს ქსელის ერთიანობას.

ბევრი ნოდისთვის შემზღუდველ ფაქტორს წარმოადგენს გამტარუნარიანობა. მიუხედავად იმისა, რომ აღნიშნული პროგრამული უზრუნველყოფა გაშვებულია უამრავ მოწყობილობაზე, მოწყობილობების უმეტესობას არ შეუძლია დაუკავშირდეს ძალიან დიდი რაოდენობით ნოდებს, Bitcoin-ის პროგრამით განსაზღვრული შეზღუდვების გამო (ერთ ნოდს შეუძლია მაქსიმუმ 125 კავშირის დამყარება).

Eclipse შეტევის დროს, ბოროტმოქმედი უზრუნველყოფს, რომ შეტევის სამიზნე მოწყობილობა დაუკავშირდეს მხოლოდ თავდამსხმელის მიერ კონტროლირებულ ნოდებს. პირველ რიგში, თავდამსხმელი სამიზნეს საკუთარ IP მისამართებს უგზავნის, რომლებსაც მსხვერპლი დიდი ალბათობით დაუკავშირდება საკუთარი პროგრამული უზრუნველყოფის გადატვირთვის შემდეგ. თავდამსხმელმა შეიძლება მსხვერპლს პროგრამის გადატვირთვა აიძულოს (DDoS შეტევის მეშვეობით), ან შეიძლება უბრალოდ დაელოდოს, სანამ ის თვითონ განახორციელებს გადატვირთვას. 

ამის შემდეგ მსხვერპლი, რომელიც არაფერს ეჭვობს, სრულად ხდება მავნე ნოდებზე დამოკიდებული – ის ვერ ხედავს ქსელს და ამიტომ თავდამსხმელს შეუძლია მას არასწორი მონაცემები გაუგზავნოს.


Eclipse შეტევის შედეგები

რადგან თავდამსხმელი სამიზნე ნოდის იზოლირებისთვის გარკვეულ რესურსებს ხარჯავს, ლოგიკურია, რომ ამისთვის მას გარკვეული მოტივიც გააჩნია. ნოდის ბლოკირების შემდეგ შესაძლებელია რამდენიმე თანმიმდევრული შეტევის განხორციელება.


ორმაგი ხარჯვა ნულოვანი დადასტურებით

თუ პირი იღებს ტრანზაქციას დადასტურებების გარეშე, არსებობს რისკი, რომ ადგილი აქვს ორმაგ ხარჯვას. ეს ტრანზაქცია შეიძლება ქსელში უკვე გაიგზავნა, თუმცა სანამ ის ბლოკში იქნება შეტანილი (და შესაბამისად, ბლოკჩინზე დამატებული), გამგზავნმა შეიძლება გაუშვას ახალი ტრანზაქცია, რითიც იგივე თანხას სხვაგან გააგზავნის. თუ ახალი ტრანზაქციის საკომისიო უფრო მაღალია, მაინერი სავარაუდოდ მას პირველ ტრანზაქციაზე ადრე შეიტანს ბლოკში, რის შემდეგაც პირველი ტრანზაქცია არავალიდური გახდება. 

ზოგიერთი ორგანიზაცია და პირი იღებს ნულოვანი დადასტურების ტრანზაქციას. მაგალითისთვის განვიხილოთ ბობი, რომელიც არის ძვირადღირებული ავტომობილებით მოვაჭრე. მან არ იცის, რომ ელისმა მის ნოდზე განახორციელა Eclipse შეტევა, ამიტომ არავითარი ეჭვი არ გასჩენია, როდესაც ელისმა მისი ლუქს კლასის სპორტული ავტომობილის შესაძენად შეკვეთა განათავსა. ელისი ქმნის ტრანზაქციას, რომელსაც ბობი ქსელში ავრცელებს. რადგან ხედავს, რომ გადახდა უკვე დამუშავების პროცესშია, ბობი გადასცემს ელისს ავტომობილის გასაღებს, ეს უკანასკნელი კი ავტომობილთან ერთად უჩინარდება.

სინამდვილეში, რა თქმა უნდა ეს ტრანზაქცია არ გაგზავნილა ქსელში – ბობმა ის არა რეალური ქსელის ნოდებს, არამედ ელისის მავნე ნოდებს გაუგზავნა. სანამ ეს ტრანზაქცია ჰაერშია გამოკიდებული, ელისი იმავე თანხას ხარჯავს (რეალურ) ქსელში და გზავნის ან სხვა პირთან, ან საკუთარ ანგარიშზე. მიუხედავად იმისა, რომ ბობთან თანხის გადარიცხვის პირველი ტრანზაქცია საბოლოო ჯამში გამოჩნდება, ის უარყოფილ იქნება, რადგან ეს მონეტები უკვე დახარჯულია.


ორმაგი ხარჯვა N რაოდენობის დადასტურებით

N რაოდენობის დადასტურებით ორმაგი ხარჯვა ნულოვანი დადასტურების ორმაგი ხარჯვის მსგავსია, თუმცა საჭიროებს უკეთ მომზადებას. სანამ გადახდას ვალიდურად ჩათვლის, ბევრი კომპანია ამჯობინებს დაელოდოს გარკვეული რაოდენობის დადასტურებას. ამ პირობებისთვის გვერდის ავლისთვის, თავდამსხმელმა Eclipse შეტევა უნდა განახორციელოს როგორც მოვაჭრეზე, ასევე მაინერებზე. როდესაც თავდამსხმელი მოამზადებს მოვაჭრესთან თანხის გაგზავნის შეკვეთას, ტრანზაქცია გაეგზავნება მაინერებს, რომლებზეც განხორციელდა Eclipse შეტევა. ამის შემდეგ ხდება ტრანზაქციის დადასტურება და ბლოკჩეინზე დამატება – თუმცა ეს ის ბლოკჩეინი არ არის, რომელსაც ქსელის მონაწილეთა უმეტესი ნაწილი ხედავს, რადგან მაინერი, რომელიც ამ ტრანზაქციას ამუშავებს, ნამდვილი ქსელიდან იზოლირებულია.

ამის შემდეგ, თავდამსხმელი ბლოკჩეინის ამ ვერსიას უგზავნის მოვაჭრეს, რომელიც გასცემს საქონელს, რადგან დარწმუნებულია, რომ ტრანზაქცია დადასტურდა. როდესაც Eclipse შეტევით იზოლირებული ნოდები ხელახლა უკავშირდებიან რეალურ ქსელს, ისინი აღმოაჩენენ, რომ ბლოკი, რომელსაც ვალიდურად თვლიდნენ, ქსელის სხვა მონაწილეების მიერ ობოლ ბლოკად იქნა მიჩნეული და უარყოფილ იქნა (ეს პროცესი გარკვეულწილად 51%-ით შეტევის მსგავსია).


კონკურენტი მაინერების დასუსტება

Eclipse შეტევის მსხვერპლი ნოდები აგრძელებენ მუშაობას, რადგან არ იციან, რომ ისინი ქსელისგან იზოლირებულნი არიან. მაინერები აგრძელებენ ბლოკების მაინინგს პროტოკოლში გაწერილი წესების შესაბამისად, თუმცა რეალურ ქსელთან კავშირის აღდგენის შემდეგ, ეს დამატებული ბლოკები უარყოფილ იქნება „პატიოსანი“ ნოდების მიერ. 

თეორიულად, მაინერების უმეტესობაზე განხორციელებული ფართომასშტაბიანი Eclipse შეტევის დახმარებით შესაძლებელია 51%-ით შეტევის რეალიზაცია. არსებულ სიტუაციაში, როდესაც Bitcoin-ის ჰეშ-სიმძლავრე დაახლოებით 80TH/s-ია, მისი უმეტესობის, ანუ 40TH/s-ზე მეტის ხელში ჩაგდების მცდელობა კარგად მომზადებული თავდამსხმელისთვისაც კი წარმოუდგენლად რთული იქნება. 

ჰიპოთეზური სცენარით, სადაც ჰეშ-სიმძლავრე გადანაწილებულია 10 მონაწილეს შორის (სადაც თითოეული მათგანი ფლობს 8TH/s-ს), თავდამსხმელს მნიშვნელოვნად უადვილდება 51%-ით თავდასხმის განხორციელება, რისთვისაც მან ქსელიდან უნდა გათიშოს ეს მონაწილეები. თუ Eclipse შეტევით ის მოახდენს ხუთი მათგანის იზოლირებას, მომდევნო ბლოკის შექმნისთვის ბრძოლას გამოეთიშებიან ერთობლივად 40TH/s ჰეშ-სიმძლავრის მფლობელები, რის შემდეგაც, კონტროლის დასამყარებლად თავდამსხმელს დასჭირდება of 20TH/s-ზე ოდნავ მეტი.

ზიანის მიყენების სხვა გზები, რომლის დროსაც შეიძლება გამოყენებული იქნას Eclipse შეტევა, მოიცავს ნოდების მანიპულაციას ეგოისტური მაინინგისთვის ან მაინერებს შორის მომდევნო ბლოკის შექმნისთვის კონკურენციის პროცესზე გავლენის მოხდენას.


რისკების შემცირება

საკმარისი რაოდენობის IP მისამართების ქონის შემთხვევაში, თავდამსხმელს ნებისმიერ ნოდზე შეუძლია Eclipse შეტევის განხორციელება. ამის თავიდან აცილების ყველაზე მარტივი მეთოდი შემომავალი კავშირების დაბლოკვა და მხოლოდ კონკრეტულ (მაგალითად სხვა მონაწილეების მიერ თეთრ სიაში შეყვანილ) ნოდებთან დაკავშირებაა. თუმცა, როგორც კვლევით ნაშრომშია აღნიშნული, ამ მიდგომის დიდი მასშტაბით გამოყენება შეუძლებელია – თუ ყველა მონაწილე ამ ზომებს მიიღებს, ახალი ნოდები ქსელში ჩართვას ვეღარ შეძლებენ.

ავტორებმა შემოგვთავაზეს რამდენიმე სასარგებლო რჩევა Bitcoin-ის პროგრამული უზრუნველყოფის გასაუმჯობესებლად, რომელთაგან ზოგიერთის ინტეგრაცია უკვე განხორციელდა ნაშრომის გამოქვეყნების შემდეგ. ეს გაუმჯობესებები, რაც მოიცავს პროგრამული კოდის მცირე მოდიფიკაციებს, მაგალითად ახალი კავშირების შემთხვევითობის პრინციპით არჩევას და მისამართების შესანახი სივრცის გაზრდას, მნიშვნელოვნად ზრდის Eclipse შეტევის განხორციელების ხარჯებს.


შეჯამება

Eclipse შეტევები ხორციელდება peer-to-peer ქსელის დონეზე. ერთჯერადი შეტევის სახით განხორციელებისას, მისგან მიყენებული ზარალი უმნიშვნელოა. ისინი ეფექტურად გამოიყენება სხვა სახის თავდასხმების მხარდასაჭერად, რომელთა მიზანია მსხვერპლისთვის ფინანსური ზარალის მიყენება ან მაინინგის უფლების მოსაპოვებლად ბრძოლაში უპირატესობის მიღება.

დღემდე Eclipse შეტევას სერიოზული ზიანი არ მოუტანია, თუმცა ამის საფრთხე კვლავ არსებობს, მიუხედავად იმისა, რომ ქსელში მისი საწინააღმდეგო ზომების ინტეგრაცია უკვე განხორციელდა. Bitcoin-ის და სხვა კრიპტოვალუტების უსაფრთხოებისთვის საუკეთესო მიდგომა მდგომარეობს იმაში, რომ ბოროტმოქმედებისთვის მსგავსი თავდასხმების მცდელობა ფინანსურად წამგებიანი გავხადოთ.

პოსტების გაზიარება
დაარეგისტრირეთ ანგარიში
თქვენი ცოდნის პრაქტიკაში გამოსაყენებლად გახსენით Binance-ის ანგარიში დღესვე.