რა არის "წითელი აბის შეტევა"?
კრიპტოვალუტური საფულე ZenGo-ს გუნდმა აქტივების შენახვის რამდენიმე პოპულარულ გადაწყვეტილებაში არსებულ Web3 ტრანზაქციის მოდელირებაში მოწყვლაობა აღმოაჩინა. დეველოპერებმა ის ოპერატიულად მოაგვარეს, მალევე კი გამოქვეყნდა ანგარიში ამ პრობლემის შესახებ.
მოცემული მოწყვლადობის გაანალიზებამდე, ღირს იმაში გარკვევა, თუ რა არის ტრანზაქციების მოდელირება. სმარტ კონტრაქტების გაჩენამდე, კრიპტოვალუტები მხოლოდ კერძო გადარიცხვებისთვის გამოიყენებოდა. მაგრამ ახლა ისინი იქცა დეცენტრალიზებული აპლიკაციების ნაწილად, რომელთა რიცხვი ყოველდღიურად იზრდება.
იმისათვის, რომ ადამიანები სმარტ კონტრაქტის უსაფრთხოებაში დარწმუნდნენ, ყველა ძირითად საფულეს ეს ტექნოლოგია თავის პლატფორმაზე აქვს ინტეგრირებული. ტრანზაქციის ინიციირებისას, ხდება მისი მოდელირება ვირტუალურ გარემოში, მომხმარებელი კი მის დადასტურებამდე აპლიკაციასთან ურთიერთქმედების პროგნოზირებად შედეგს ხედავს.
ძირითადად, სახსრების დაკარგვა მავნე Web2 ინტერფეისების ან თაღლითური კოდის გამო ხდება. პირველის მიზანია, გამოსტყუოს სმარტ კონტრაქტს მასში შენახული აქტივები, ხოლო მეორის - ნებისმიერი გზით აიძულოს მსხვერპლი, გადარიცხოს ტოკენები. მოდელირებაში არსებული მოწყვლადობის წყალობით, თაღლითები ამ ტექნოლოგიას თავიანთი ტყუილის უკეთ ფორმირებისთვის იყენებდნენ.
წითელი აბის შეტევა
არსი ისაა, რომ ზოგიერთ მავნე კოდს სიმულაციის ამოიცნობა და მომხმარებლისთვის დადებითი შედეგის ჩვენება შეუძლია. მაგრამ ბლოკჩეინში გაგზავნისას, ის არ შესრულდება. თავდასხმისთვის კოდი იყენებს გარკვეულ მაჩვენებლებს ტრანზაქციაში, რომლებსაც პროგრამირების ენა Solidity-ში "სპეციალური ცვლადები“ ეწოდება.
ისინი განკუთვნილია არამუდმივი ინფორმაციის ასახვისთვის (მაგალითად, საკომისიოები, მაინერების მისამართები, ან ბლოკის ნომრები). სწორედ ასეთი პარამეტრები ხდება "წითელი აბები", რადგან ბევრი დეველოპერი უსაფრთხოების წესებს უგულებელყოფს და მათთვის მუდმივ მნიშვნელობებს აყენებს. ამის გამო, სხვადასხვა საფულეების ინტერფეისის მეშვეობით, შესაძლებელი გახდა მომხმარებლების შეცდომაში შეყვანა.
მოწყვლადი გაფართოებები, საფულეები და სიმულაციების მწარმოებლები. წყარო: ZenGo-ს ოფიციალური ბლოგი.
ამის პრევენციისთვის, უბრალოდ უნდა შეავსოთ ეს მნიშვნელობები ზუსტი ციფრებით: ბოლო ბლოკის მაინერით ან შემთხვევითი ციფრით (სავარაუდო საკომისიოს მნიშვნელობით). საბედნიეროდ, ყველა პოპულარულ საფულეს მოწყვლადობაზე სწრაფი რეაქცია ჰქონდა. მიუხედავად იმისა, რომ ზოგიერთი დეველოპერი თაღლითური სმარტ კონტრაქტების პრობლემის მოგვარებას საკუთარი ჩაშენებული Web3 ბრანდმაუერის მეშვეობით ცდილობს, ტრანზაქციის მოდელირება რჩება მძლავრ ინსტრუმენტად, რომლის მეშვეობით შესაძლებელია ახალბედების დაცვა სახსრების დაკარგვისგან და ის ყოველთვის გამართულად უნდა მუშაობდეს.