Οι hackers μπορούν να εκμεταλλευτούν μια ευπάθεια ασφαλείας στην τυπική βιβλιοθήκη Rust, για να στοχεύσουν συστήματα Windows σε επιθέσεις command injection.
Δείτε επίσης: Rust Implant χρησιμοποιείται σε νέα εκστρατεία malware κατά του Αζερμπαϊτζάν
![Rust command injection](https://cdn.secnews.gr/wp-content/uploads/2024/04/01152517/command-injection-attack-1024x683.png)
Γνωστό ως CVE-2024-24576, αυτό το ελάττωμα Rust οφείλεται σε αδυναμίες εισαγωγής εντολών και ορισμού του λειτουργικού συστήματος, που μπορούν να επιτρέψουν στους εισβολείς να εκτελέσουν απροσδόκητες και δυνητικά κακόβουλες εντολές στο λειτουργικό σύστημα, όπως επιθέσεις command injection.
Το GitHub αξιολόγησε αυτήν την ευπάθεια ως κρίσιμης σοβαρότητας με τη μέγιστη βαθμολογία CVSS 10/10. Οι μη εξουσιοδοτημένοι εισβολείς μπορούν να το εκμεταλλευτούν εξ αποστάσεως, σε επιθέσεις χαμηλής πολυπλοκότητας και χωρίς αλληλεπίδραση με τον χρήστη.
Όλες οι εκδόσεις Rust πριν από την 1.77.2 στα Windows επηρεάζονται από τις επιθέσεις command injection, εάν ο κώδικας ενός προγράμματος ή μια από τις εξαρτήσεις του, εκτελεί αρχεία δέσμης με μη αξιόπιστα ορίσματα.
Η ομάδα ασφαλείας Rust αντιμετώπισε μια σημαντική πρόκληση με την πολυπλοκότητα του cmd.exe, καθώς δεν μπόρεσε να βρει μια λύση που θα διέφευγε σωστά τα αιτήματα σε όλες τις περιπτώσεις.
Ως αποτέλεσμα, έπρεπε να βελτιώσουν την ευρωστία του κώδικα διαφυγής και να τροποποιήσουν το Command API. Εάν το Command API δεν μπορεί να ξεφύγει με ασφάλεια από ένα όρισμα κατά την αναπαραγωγή της διαδικασίας, επιστρέφει ένα σφάλμα InvalidInput.
Δείτε ακόμα: RustDoor: Νέο backdoor στοχεύει macOS συστήματα
![](https://cdn.secnews.gr/wp-content/uploads/2023/11/01184800/Kronos-Research-Hacker.png)
Ο μηχανικός της Flatt Security, Ryotak, που ανακάλυψε την ευπάθεια και την ονόμασε BatBadBut, λέει ότι το ελάττωμα επηρεάζει επίσης τις ακόλουθες γλώσσες προγραμματισμού — ωστόσο, δεν έχουν κυκλοφορήσει όλες οι ενημερώσεις κώδικα:
- Erlang (ενημέρωση τεκμηρίωσης)
- Go (ενημέρωση τεκμηρίωσης)
- Haskell (διαθέσιμο patch)
- Java (δεν υπάρχει διαθέσιμο patch)
- Node.js (η ενημέρωση κώδικα θα είναι διαθέσιμη)
- PHP (θα είναι διαθέσιμο το patch)
- Python (ενημέρωση τεκμηρίωσης)
- Ruby (ενημέρωση τεκμηρίωσης)
Τον Φεβρουάριο, το Γραφείο του Εθνικού Διευθυντή στον Κυβερνοχώρο (ONCD) του Λευκού Οίκου προέτρεψε τις εταιρείες τεχνολογίας να υιοθετήσουν γλώσσες προγραμματισμού ασφαλείς για τη μνήμη, όπως η Rust. Ο τελικός στόχος είναι να βελτιωθεί η ασφάλεια του λογισμικού ελαχιστοποιώντας τον αριθμό των τρωτών σημείων ασφάλειας της μνήμης.
Δείτε επίσης: RustDoor MacOS Backdoor: Στοχεύει εταιρείες κρυπτονομισμάτων με ψεύτικες ευκαιρίες εργασίας
Πώς μπορούμε να προλάβουμε τις επιθέσεις command injection;
Για να προλάβουμε τις επιθέσεις command injection, όπως αυτές που επιτρέπει το σφάλμα στη βιβλιοθήκη Rust, θα πρέπει πρώτα να κατανοήσουμε τι ακριβώς είναι. Οι επιθέσεις command injection είναι μια τεχνική που χρησιμοποιείται από τους εισβολείς για να εκτελέσουν εντολές σε ένα σύστημα μέσω μιας ευάλωτης εφαρμογής. Ένας από τους πιο αποτελεσματικούς τρόπους για να αποτρέψουμε τις επιθέσεις αυτές είναι η χρήση της επαλήθευσης εισόδου. Αυτό σημαίνει ότι θα πρέπει να ελέγχουμε πάντα τα δεδομένα που εισάγονται από τους χρήστες για να διασφαλίσουμε ότι δεν περιέχουν κακόβουλο κώδικα. Επιπλέον, μπορούμε να χρησιμοποιήσουμε την αρχή του ελάχιστου προνομίου. Αυτό σημαίνει ότι θα πρέπει να δίνουμε στις εφαρμογές μας μόνο τα απαραίτητα δικαιώματα που χρειάζονται για να λειτουργήσουν και όχι περισσότερα. Τέλος, μπορούμε να χρησιμοποιήσουμε τεχνολογίες όπως τα Web Application Firewalls (WAFs) και τα Intrusion Detection Systems (IDSs) για να παρακολουθούμε την κυκλοφορία των δεδομένων και να εντοπίζουμε οποιαδήποτε ανώμαλη δραστηριότητα.
Πηγή: bleepingcomputer