Εντοπίστηκαν πολλά τρωτά σημεία που θέτουν σε κίνδυνο πολλούς πελάτες του Matrix

πρωτόκολλο μήτρας

Το Matrix είναι ένα ανοιχτό πρωτόκολλο ανταλλαγής άμεσων μηνυμάτων. Έχει σχεδιαστεί για να επιτρέπει στους χρήστες να επικοινωνούν μέσω διαδικτυακής συνομιλίας, φωνής μέσω IP και συνομιλίας μέσω βίντεο.

Πρόσφατα το προγραμματιστές πλατφόρμας αποκεντρωμένων επικοινωνιώνΤο «Matrix» κυκλοφόρησε μια προειδοποίηση για διάφορα τρωτά σημεία που εντοπίστηκαν και είναι επικριτικοί στις βιβλιοθήκες matrix-js-sdk, matrix-ios-sdk και matrix-android-sdk2 που επιτρέπουν στους διαχειριστές διακομιστών να μιμούνται άλλους χρήστες και να διαβάζουν μηνύματα από κρυπτογραφημένες συνομιλίες από άκρο σε άκρο (E2EE).

Αναφέρεται ότι Για να ολοκληρώσετε με επιτυχία μια επίθεση, πρέπει να έχετε πρόσβαση σε έναν οικιακό διακομιστή που ελέγχεται από τους εισβολείς (οικιακός διακομιστής: διακομιστής για αποθήκευση ιστορικού και λογαριασμών πελατών). Η χρήση κρυπτογράφησης από άκρο σε άκρο στην πλευρά του πελάτη δεν επιτρέπει στον διαχειριστή του διακομιστή να παρέμβει στα μηνύματα, αλλά οι εντοπισμένες ευπάθειες επιτρέπουν την παράκαμψη αυτής της προστασίας.

Ζητήματα επηρεάζουν τον κύριο υπολογιστή-πελάτη Element Matrix (πρώην Riot) για web, επιτραπέζιους υπολογιστές, 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. Η τελευταία έκδοση της εργασίας των ερευνητών που είδαμε απεικονίζει λανθασμένα το Element ως "ο πελάτης Matrix αναφοράς" και συγχέει τα σφάλματα υλοποίησης υψηλότερης σοβαρότητας με την κριτική πρωτοκόλλου χαμηλότερης σοβαρότητας.

Υπάρχουν τρία σενάρια κύρια επίθεση:

  1. Ο διαχειριστής του διακομιστή Matrix μπορεί να διακόψει την επαλήθευση που βασίζεται σε emoji (SAS, Short Authentication Chains) χρησιμοποιώντας διασταυρούμενες υπογραφές και πλαστοπροσωπία άλλου χρήστη. Το ζήτημα προκαλείται από μια ευπάθεια (CVE-2022-39250) στον κώδικα matrix-js-sdk που σχετίζεται με τον συνδυασμό χειρισμού αναγνωριστικών συσκευής και κλειδιών διασταυρούμενης υπογραφής.
  2. Ένας εισβολέας που ελέγχει τον διακομιστή μπορεί να μιμηθεί έναν αξιόπιστο αποστολέα και να περάσει ένα ψεύτικο κλειδί για να υποκλέψει μηνύματα από άλλους χρήστες. Το ζήτημα οφείλεται σε ευπάθεια στο matrix-js-sdk (CVE-2022-39251), στο matrix-ios-sdk (CVE-2022-39255) και στο matrix-android-sdk2 (CVE-2022-39248), το οποίο προκάλεσε ο πελάτης δέχεται εσφαλμένα μηνύματα που απευθύνονται σε κρυπτογραφημένες συσκευές χρησιμοποιώντας το πρωτόκολλο Megolm αντί για Olm, αποδίδοντας τα μηνύματα στον αποστολέα Megolm αντί για τον πραγματικό αποστολέα.
  3. Εκμεταλλευόμενος τα τρωτά σημεία που αναφέρονται στην προηγούμενη παράγραφο, ο διαχειριστής του διακομιστή μπορεί επίσης να προσθέσει ένα εικονικό εφεδρικό κλειδί στον λογαριασμό χρήστη για να εξαγάγει τα κλειδιά που χρησιμοποιούνται για την κρυπτογράφηση μηνυμάτων.

Οι ερευνητές που εντόπισαν την ευπάθεια παρουσίασε επίσης επιθέσεις που προσθέτουν έναν χρήστη τρίτου μέρους σε μια συνομιλία ή συνδέστε μια συσκευή τρίτου κατασκευαστή στον χρήστη. Οι επιθέσεις βασίζονται στο γεγονός ότι τα μηνύματα υπηρεσίας που χρησιμοποιούνται για την προσθήκη χρηστών στη συνομιλία δεν συνδέονται με τα κλειδιά του δημιουργού συνομιλίας και μπορούν να δημιουργηθούν από τον διαχειριστή του διακομιστή.

Οι προγραμματιστές του έργου Matrix ταξινόμησαν αυτές τις ευπάθειες ως δευτερεύουσες, δεδομένου ότι τέτοιοι χειρισμοί δεν είναι εγγενείς στο Matrix και επηρεάζουν μόνο τους πελάτες με βάση το πρωτόκολλο, αλλά αυτό δεν σημαίνει ότι δεν θα περάσουν απαρατήρητοι: εάν ένας χρήστης αντικατασταθεί, θα εμφανίζεται στη λίστα των χρηστών συνομιλίας και όταν προστεθεί μια συσκευή, θα εμφανιστεί μια προειδοποίηση και η συσκευή θα επισημανθεί ως μη επαληθευμένη (σε αυτήν την περίπτωση, αμέσως μετά την προσθήκη της μη εξουσιοδοτημένης συσκευής, θα αρχίσει να λαμβάνει τα δημόσια κλειδιά που απαιτούνται για την αποκρυπτογράφηση των μηνυμάτων.

Θα παρατηρήσετε ότι το matrix-rust-sdk, το hydrogen-sdk και άλλα SDK XNUMXης και XNUMXης γενιάς δεν επηρεάστηκαν από τα σφάλματα στη βασική αιτία των κρίσιμων ζητημάτων εδώ. Αυτός είναι ακριβώς ο λόγος που εργαζόμαστε για να αντικαταστήσουμε τα SDK πρώτης γενιάς με μια καθαρή, προσεκτικά γραμμένη υλοποίηση του Rust με τη μορφή matrix-rust-sdk, με έναν συνεχή ανεξάρτητο δημόσιο έλεγχο.

Τα τρωτά σημεία προκαλούνται από σφάλματα σε μεμονωμένες υλοποιήσεις του πρωτοκόλλου Matrix και δεν είναι προβλήματα του ίδιου του πρωτοκόλλου. Επί του παρόντος, το έργο έχει κυκλοφορήσει ενημερώσεις για τα προβληματικά SDK και ορισμένες από τις εφαρμογές-πελάτες που είναι ενσωματωμένες πάνω τους.

Τέλος ναι σας ενδιαφέρει να μπορείτε να μάθετε περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.