აღმოაჩინა რამდენიმე დაუცველობა, რომლებიც კომპრომეტირებს Matrix-ის ბევრ მომხმარებელს

მატრიცული პროტოკოლი

Matrix არის ღია მყისიერი შეტყობინების პროტოკოლი. ის შექმნილია იმისთვის, რომ მომხმარებლებს საშუალება მისცეს დაუკავშირდნენ ონლაინ ჩეთის, ხმის IP-ზე და ვიდეო ჩეთის საშუალებით.

ცოტა ხნის წინ პლატფორმის დეველოპერები დეცენტრალიზებული კომუნიკაციებიმატრიქსმა გამოაქვეყნა გაფრთხილება სხვადასხვა დაუცველობის შესახებ რომ გამოვლინდა და ისინი კრიტიკულები არიან matrix-js-sdk, matrix-ios-sdk და matrix-android-sdk2 ბიბლიოთეკებში, რომლებიც სერვერის ადმინისტრატორებს უფლებას აძლევს სხვა მომხმარებელთა თავისებურებას და წაიკითხონ შეტყობინებები ბოლოდან ბოლომდე დაშიფრული ჩეთებიდან (E2EE).

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

პრობლემები ეხება ელემენტის მატრიქსის მთავარ კლიენტს (ყოფილი Riot) ვებ, დესკტოპის, iOS და Android-ისთვის, ასევე მესამე მხარის კლიენტის აპებისთვის, როგორიცაა Cinny, Beeper, SchildiChat, Circuli და Synod.im.

დაუცველობა არ ჩანს ბიბლიოთეკებში matrix-rust-sdk, hydrogen-sdk, Matrix Dart SDK, mautrix-python, mautrix-go და matrix-nio, ასევე Hydrogen, ElementX, Nheko, FluffyChat, Siphon, Timmy, Gomuks და Pantalaimon აპლიკაციები.

გაითვალისწინეთ, რომ კრიტიკული სიმძიმის საკითხები არის განხორციელების საკითხები matrix-js-sdk-ში და წარმოებულებში და არ არის პროტოკოლის საკითხები Matrix-ში. მკვლევართა ნაშრომის უახლესი ვერსია, რომელიც ჩვენ ვნახეთ, არასწორად ასახავს ელემენტს, როგორც „მატრიქსის საორიენტაციო კლიენტს“ და აღრევს უფრო მაღალი სიმძიმის განხორციელების შეცდომებს დაბალი სიმძიმის პროტოკოლის კრიტიკასთან.

არსებობს სამი სცენარი მთავარი შეტევა:

  1. Matrix სერვერის ადმინისტრატორს შეუძლია დაარღვიოს emoji-ზე დაფუძნებული ვერიფიკაცია (SAS, მოკლე ავთენტიფიკაციის ჯაჭვები) ჯვარედინი ხელმოწერების გამოყენებით და სხვა მომხმარებლის იმიტაციით. პრობლემა გამოწვეულია დაუცველობით (CVE-2022-39250) matrix-js-sdk კოდში, რომელიც დაკავშირებულია მოწყობილობის ID დამუშავებისა და ჯვარედინი ხელმოწერის გასაღებების კომბინაციასთან.
  2. თავდამსხმელს, რომელიც აკონტროლებს სერვერს, შეუძლია განასახიეროს სანდო გამომგზავნი და გადასცეს ყალბი გასაღები სხვა მომხმარებლების შეტყობინებების დასაჭერად. პრობლემა გამოწვეულია დაუცველობით matrix-js-sdk (CVE-2022-39251), matrix-ios-sdk (CVE-2022-39255) და matrix-android-sdk2 (CVE-2022-39248) დაუცველობით, რამაც გამოიწვია კლიენტი არასწორად იღებს შეტყობინებებს, რომლებიც მიმართულია დაშიფრულ მოწყობილობებზე Olm-ის ნაცვლად Megolm პროტოკოლის გამოყენებით, და ანიჭებს შეტყობინებებს Megolm გამგზავნის ნაცვლად რეალური გამგზავნის.
  3. წინა აბზაცში ნახსენები დაუცველობების გამოყენებით, სერვერის ადმინისტრატორს ასევე შეუძლია დაამატოს მოტყუებული სათადარიგო გასაღები მომხმარებლის ანგარიშზე, რათა ამოიღოს გასაღებები, რომლებიც გამოიყენება შეტყობინებების დაშიფვრისთვის.

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

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

თქვენ შეამჩნევთ, რომ matrix-rust-sdk, hydrogen-sdk და სხვა მე-XNUMX და მე-XNUMX თაობის SDK-ები არ დაზარალდნენ აქ კრიტიკული საკითხების ძირეული მიზეზის შეცდომით. სწორედ ამიტომ ვმუშაობთ პირველი თაობის SDK-ების ჩანაცვლებაზე Rust-ის სუფთა, ყურადღებით დაწერილი იმპლემენტაციით matrix-rust-sdk-ის სახით, რომელიც დასრულებულია მიმდინარე დამოუკიდებელი საჯარო აუდიტით.

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

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


სტატიის შინაარსი იცავს ჩვენს პრინციპებს სარედაქციო ეთიკა. შეცდომის შესატყობინებლად დააჭირეთ ღილაკს აქ.

იყავი პირველი კომენტარი

დატოვე კომენტარი

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო.

*

*

  1. მონაცემებზე პასუხისმგებელი: მიგელ ანგელ გატონი
  2. მონაცემთა მიზანი: სპამის კონტროლი, კომენტარების მართვა.
  3. ლეგიტიმაცია: თქვენი თანხმობა
  4. მონაცემთა კომუნიკაცია: მონაცემები არ გადაეცემა მესამე პირებს, გარდა სამართლებრივი ვალდებულებისა.
  5. მონაცემთა შენახვა: მონაცემთა ბაზა, რომელსაც უმასპინძლა Occentus Networks (EU)
  6. უფლებები: ნებისმიერ დროს შეგიძლიათ შეზღუდოთ, აღადგინოთ და წაშალოთ თქვენი ინფორმაცია.