Τρεις ευπάθειες βρέθηκαν σε στοίβες TCP Linux που οδηγούν σε απομακρυσμένη άρνηση υπηρεσίας

linux crash

Recientemente κυκλοφόρησε την είδηση ​​σχετικά με τον εντοπισμό πολλών κρίσιμων σημείων ευπάθειας σε στοίβες TCP Linux και FreeBSD που επιτρέπει σε έναν εισβολέα να ξεκινήσει εξ αποστάσεως ένα ελάττωμα του πυρήνα ή να προκαλέσουν υπερβολική κατανάλωση πόρων κατά την επεξεργασία ειδικά δημιουργημένων πακέτων TCP (πακέτο θανάτου).

Τα προβλήματα προκαλούνται από σφάλματα στους χειριστές μέγιστου μεγέθους μπλοκ δεδομένων. στο πακέτο TCP (MSS, Maximum Segment Size) και στον μηχανισμό για επιλεκτική επιβεβαίωση σύνδεσης (SACK, Selective TCP Acknowledgment).

Τι είναι η επιλεκτική αναγνώριση;

Επιλεκτική επιβεβαίωση TCP (SACK) Είναι ένας μηχανισμός όπου ο παραλήπτης δεδομένων μπορεί να ενημερώσει τον αποστολέα για όλα τα τμήματα που έχουν γίνει αποδεκτά με επιτυχία.

Αυτό επιτρέπει στον αποστολέα να αναμεταδίδει τμήματα της ροής που λείπουν του «γνωστού» συνόλου του. Όταν το TCP SACK είναι απενεργοποιημένο, απαιτείται ένα πολύ μεγαλύτερο σύνολο αναμεταδόσεων για την αναμετάδοση μιας ολόκληρης ροής.

Στον πυρήνα του Linux, τα ζητήματα επιδιορθώνονται στις εκδόσεις 4.4.182, 4.9.182, 4.14.127, 4.19.52 και 5.1.11. Η ενημέρωση κώδικα για το FreeBSD είναι διαθέσιμη ως ενημερωμένη έκδοση κώδικα.

Οι ενημερώσεις πακέτων πυρήνα κυκλοφορούν για Debian, RHEL, SUSE/openSUSE, ALT, Ubuntu, Fedora και Arch Linux.

CVE-2019-11477 (ΠΑΝΙΚΟΣ ΑΠΟΚΛΕΙΣΤΟΥ)

το πρόβλημα εμφανίζεται σε πυρήνες Linux από την 2.6.29 και σας επιτρέπει να προκαλέσετε συντριβή πυρήνα (πανικός) κατά την αποστολή μιας σειράς πακέτων SACK λόγω υπερχείλισης ακέραιου αριθμού στον ελεγκτή.

Για μια επίθεση, αρκεί να ορίσετε την τιμή MSS στα 48 byte για μια σύνδεση TCP και αποστολή μιας ακολουθίας από τακτοποιημένα πακέτα SACK με συγκεκριμένο τρόπο.

Η ουσία του προβλήματος είναι ότι η δομή tcp_skb_cb (Socket Buffer) έχει σχεδιαστεί για να αποθηκεύει 17 θραύσματα ("define MAX_SKB_FRAGS(65536 / PAGE_SIZE + 1) => 17").

Κατά τη διαδικασία αποστολής ενός πακέτου, τοποθετείται στην ουρά αποστολής και το tcp_skb_cb αποθηκεύει λεπτομέρειες σχετικά με το πακέτο, όπως τον αριθμό σειράς, τις σημαίες, καθώς και τα πεδία "tcp_gso_segs" και "tcp_gso_size", τα οποία χρησιμοποιούνται για την αποστολή πληροφοριών τμηματοποίησης στον ελεγκτή για την τμηματοποίηση της διεργασίας ελεγκτή στην πλευρά Λήψη τμημάτων N (TSO)

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

Ως λύση για προστασία, μπορείτε να απενεργοποιήσετε την επεξεργασία SACK ή να αποκλείσετε συνδέσεις με μικρό MSS (λειτουργεί μόνο όταν ορίσετε το sysctl net.ipv4.tcp_mtu_probing σε 0 και μπορεί να σπάσει κάποιο κανονικό με χαμηλό MSS).

CVE-2019-11478 (Αργότητα σάκου)

Αυτή η απόφαση προκαλεί διακοπή του μηχανισμού SACK (όταν χρησιμοποιείτε τον πυρήνα Linux στην έκδοση 4.15) ή υπερβολική κατανάλωση πόρων.

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

CVE-2019-5599 (Αργότητα σάκου)

Επιτρέπει την πρόκληση κατακερματισμού του χάρτη των πακέτων που αποστέλλονται κατά την επεξεργασία μιας ακολουθίας SACK μέσα σε μία μόνο σύνδεση TCP και προκαλούν την εκτέλεση μιας λειτουργίας αναζήτησης λίστας με ένταση πόρων.

Το πρόβλημα εκδηλώνεται στο FreeBSD 12 με τον μηχανισμό ανίχνευσης απώλειας πακέτων RACK. Ως λύση, μπορείτε να απενεργοποιήσετε τη λειτουργική μονάδα RACK (δεν φορτώνεται από προεπιλογή, είναι απενεργοποιημένη καθορίζοντας sysctl net.inet.tcp.functions_default = freebsd)

CVE-2019-11479

Το ελάττωμα επιτρέπει σε έναν εισβολέα να αναγκάσει τον πυρήνα του Linux να χωρίσει τις αποκρίσεις σε πολλαπλά τμήματα TCP, καθένα από τα οποία περιλαμβάνει μόνο 8 byte δεδομένων, γεγονός που μπορεί να οδηγήσει σε σημαντική αύξηση της κίνησης, αύξηση του φορτίου της CPU και φραγμένο κανάλι επικοινωνίας.

Επιπλέον, καταναλώνει πρόσθετους πόρους (επεξεργαστική ισχύς επεξεργαστή και κάρτας δικτύου).

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

Ενώ αυτή η επίθεση είναι σε εξέλιξη, το σύστημα θα λειτουργεί με μειωμένη χωρητικότητα, με αποτέλεσμα την άρνηση της υπηρεσίας για ορισμένους χρήστες.

Ένας απομακρυσμένος χρήστης μπορεί να προκαλέσει αυτό το πρόβλημα ορίζοντας το μέγιστο μέγεθος τμήματος (MSS) μιας σύνδεσης TCP στο χαμηλότερο όριο της (48 byte) και αποστολή μιας ακολουθίας από ειδικά κατασκευασμένα πακέτα SACK.

Ως λύση, συνιστάται ο αποκλεισμός συνδέσεων με χαμηλό MSS.


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

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

*

*

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