თაღლითები მიმართავენ კრიპტომომხმარებლებს ახალი „ნულოვანი ღირებულების TransferFrom“ ხრიკით

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

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

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

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

ტრანზაქციის გაგზავნა მფლობელის ნებართვის გარეშე 

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

მაგალითად, კოდი აშშ დოლარის მონეტისთვის (USDC) Etherscan-ზე შოუები რომ "TransferFrom" ფუნქცია ნებისმიერ ადამიანს საშუალებას აძლევს გადაიტანოს მონეტები სხვა პირის საფულედან მანამ, სანამ მონეტების რაოდენობა, რომელსაც ისინი აგზავნიან, ნაკლებია ან ტოლია მისამართის მფლობელის მიერ დაშვებულ თანხაზე.

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

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

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

USDC არ არის ერთადერთი ნიშანი, რომელიც ამის საშუალებას იძლევა. მსგავსი კოდი შეიძლება მოიძებნოს ტოკენ კონტრაქტებში. შეიძლება იყოს კიდეც კონტრაქტების მაგალითში, რომლებიც დაკავშირებულია Ethereum Foundation-ის ოფიციალური ვებსაიტიდან.

ნულოვანი ღირებულების გადაცემის თაღლითობის მაგალითები

Etherscan აჩვენებს, რომ ზოგიერთი საფულის მისამართი ყოველდღიურად აგზავნის ათასობით ნულოვანი ღირებულების ტრანზაქციას სხვადასხვა მსხვერპლის საფულედან მათი თანხმობის გარეშე.

მაგალითად, ანგარიშმა, სახელწოდებით Fake_Phishing7974, გამოიყენა დაუდასტურებელი ჭკვიანი კონტრაქტი ასრულებს 80-ზე მეტი ტრანზაქცია 12 იანვარს, თითოეულ პაკეტში შეიცავს 50 ნულოვანი ტრანზაქცია სულ 4,000 არაავტორიზებული ტრანზაქციისთვის ერთ დღეში.

შეცდომაში შემყვანი მისამართები

თითოეული ტრანზაქციის უფრო დეტალურად დათვალიერება ცხადყოფს ამ სპამის მოტივს: თავდამსხმელი აგზავნის ნულოვანი ღირებულების ტრანზაქციებს იმ მისამართებზე, რომლებიც ძალიან ჰგავს მისამართებს, რომლებზეც მსხვერპლები ადრე აგზავნიდნენ თანხებს.

მაგალითად, Etherscan აჩვენებს, რომ თავდამსხმელის მიერ გამიზნული მომხმარებლის ერთ-ერთი მისამართი არის შემდეგი:

0x20d7f90d9c40901488a935870e1e80127de11d74.

29 იანვარს, ამ ანგარიშმა დაუშვა 5,000 Tether (USDT) გაგზავნა ამ მიმღებ მისამართზე:

0xa541efe60f274f813a834afd31e896348810bb09.

ამის შემდეგ დაუყოვნებლივ, Fake_Phishing7974-მა გაუგზავნა ნულოვანი ღირებულების ტრანზაქცია მსხვერპლის საფულედან ამ მისამართზე:

0xA545c8659B0CD5B426A027509E55220FDa10bB09.

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

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

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

ჩანთები

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

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

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

Cointelegraph-ი ელფოსტით დაუკავშირდა Trezor-ის დეველოპერ SatoshiLabs-ს კომენტარისთვის. ამის საპასუხოდ, წარმომადგენელმა თქვა, რომ საფულე თავის ტრანზაქციის ისტორიას პირდაპირ ბლოკჩეინიდან იღებს „ყოველ ჯერზე, როცა მომხმარებლები აერთებენ თავიანთ Trezor საფულეს“.

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

დაბლოკოს გამომძიებლები

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

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

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

რჩევები "ნულოვანი ღირებულების TransferFrom" ხრიკის თავიდან ასაცილებლად

Cointelegraph დაუკავშირდა SlowMist-ს რჩევისთვის, თუ როგორ ავიცილოთ თავიდან „ნულოვანი ღირებულების TransferFrom“ ხრიკის მსხვერპლი.

კომპანიის წარმომადგენელმა Cointelegraph-ს მისცა რჩევების სია თავდასხმის მსხვერპლი გახდომისთვის:

  1. ”იყავით სიფრთხილე და გადაამოწმეთ მისამართი ნებისმიერი ტრანზაქციის განხორციელებამდე.”
  2. „გამოიყენეთ თეთრი სიის ფუნქცია თქვენს საფულეში, რათა თავიდან აიცილოთ ფულის გაგზავნა არასწორ მისამართებზე“.
  3. „იყავი ფხიზლად და ინფორმირებული. თუ რაიმე საეჭვო ტრანსფერს წააწყდებით, დაუთმეთ დრო ამ საკითხის მშვიდად გამოსაძიებლად, რათა არ გახდეთ თაღლითების მსხვერპლი.”
  4. ”შეინარჩუნეთ სკეპტიციზმის ჯანსაღი დონე, იყავით ყოველთვის ფრთხილი და ფხიზლად.”

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