Το ιδιόκτητο πρωτόκολλο της Microsoft, Remote Network Driver Interface Specification (RNDIS), ξεκίνησε με μια καλή ιδέα. Θα επέτρεπε στους προμηθευτές hardware να προσθέσουν υποστήριξη δικτύου σε συσκευές USB χωρίς να χρειάζεται να τις δημιουργήσουν από την αρχή. Υπήρχε μόνο ένα μικρό πρόβλημα.
Το RNDIS δεν έχει καμία ασφάλεια.
Όπως έγραψε ο Greg Kroah-Hartman, ο συνεργάτης του Linux Foundation για τις σταθερές εκδόσεις του Linux kernel, τον Νοέμβριο του 2022 στη λίστα αλληλογραφίας LKML (Linux Kernel Mailing List)
“Το πρωτόκολλο Microsoft RNDIS είναι, όπως έχει σχεδιαστεί, επισφαλές και ευάλωτο σε οποιοδήποτε σύστημα το χρησιμοποιεί με μη αξιόπιστους κεντρικούς υπολογιστές ή συσκευές. Επειδή το πρωτόκολλο δεν μπορεί να γίνει ασφαλές, απλώς απενεργοποιήστε όλα τα προγράμματα οδήγησης RNDIS για να αποτρέψετε οποιονδήποτε άλλον να τα χρησιμοποιήσει ξανά.”
Σε άλλο μήνυμα πρόσθεσε, “Το πρωτόκολλο δεν σχεδιάστηκε ποτέ για χρήση με μη αξιόπιστες συσκευές. Δημιουργήθηκε και το εφαρμόσαμε, σε συσκευές USB που εμπιστευόμαστε να συνδέσουμε στα συστήματά μας και εμπιστευόμαστε τα συστήματα που συνδέσαμε στις συσκευές USB.”
Αυτό δεν ισχύει πλέον. Ο Kroah-Hartman κατέληξε:
“Σήμερα, με μη αξιόπιστους κεντρικούς υπολογιστές και συσκευές, ήρθε η ώρα να αποσυρθεί αυτό το πρωτόκολλο. Όπως αναφέρω στα patch comments, το Android το απενεργοποίησε πριν από πολλά χρόνια στις συσκευές του, χωρίς κάποια απώλεια στην λειτουργικότητα.”
Έτσι ο Kroah-Hartman αποφάσισε να απενεργοποιήσει όλα τα RNDIS protocol drivers από το αποθετήριο Git του Linux. Αυτό σημαίνει ότι αν και ο κώδικας RNDIS υπάρχει ακόμα στον πυρήνα του Linux, όλα τα RNDIS protocol drivers θα είναι κατεστραμμένα.
Είναι ένα βήμα πριν την πλήρη αφαίρεση του RNDIS από το Linux.
Επισφαλές λέγεται…
ευχαριστούμε