Skip to main content
7 December 2022 07:52

Memory-safe γλώσσες προγραμματισμού από την Google

Του Στάθη Ασπιώτη

Ο ετήσιος αριθμός τρωτών σημείων ασφαλείας της μνήμης στο Android μειώθηκε από 223 το 2019 σε 85 το 2022, καθώς η Google σταδιακά μεταβαίνει σε γλώσσες που είναι ασφαλείς για τη μνήμη. Για περισσότερο από μια δεκαετία, το 65% όλων των τρωτών σημείων στα προϊόντα και τη βιομηχανία ήταν ελαττώματα στην ασφάλεια της μνήμης.

Το Android 13 είναι η πρώτη έκδοση Android, όπου η πλειονότητα του νέου κώδικα που προστίθεται στην έκδοση είναι σε γλώσσα ασφαλή για μνήμη.

Η εταιρεία είπε ότι από το 2019 έως το 2022, ο αριθμός μειώθηκε από το 76% στο 35% των συνολικών τρωτών σημείων του Android.

«Το 2022 είναι η πρώτη χρονιά όπου τα τρωτά σημεία ασφάλειας της μνήμης δεν αντιπροσωπεύουν την πλειονότητα των τρωτών σημείων του Android», έγραψε η Google.

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

Η υποστήριξη για τη γλώσσα προγραμματισμού Rust εισήχθη για πρώτη φορά στο Android 12 ως εναλλακτική λύση που είναι ασφαλής για τη μνήμη, αντί της C/C++.

Στόχος της Google δεν είναι να μετατρέψει την υπάρχουσα C/C++ σε Rust, αλλά να μετατοπίσει με την πάροδο του χρόνου την ανάπτυξη νέου κώδικα σε γλώσσες που είναι ασφαλείς για μνήμη.

Η Google ενημερώνει ότι περίπου το 21% όλου του νέου εγγενούς κώδικα στο Android 13 είναι σε Rust, σε διάφορα μέρη του λειτουργικού συστήματος, συμπεριλαμβανομένου του Keystore2, της νέας στοίβας Ultra-wideband (UWB), του DNS-over-HTTP3 και του Virtualization Framework του Android (AVF), μεταξύ άλλων.

«Μέχρι σήμερα, έχουν ανακαλυφθεί μηδενικές ευπάθειες στην ασφάλεια της μνήμης στον κώδικα Rust του Android», λέει η Google.

«Δεν περιμένουμε ότι αυτός ο αριθμός θα παραμείνει μηδέν για πάντα, αλλά δεδομένου του όγκου του νέου κώδικα Rust σε δύο εκδόσεις Android και των ευαίσθητων στην ασφάλεια στοιχείων όπου αυτή χρησιμοποιείται, είναι ένα σημαντικό αποτέλεσμα».

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

Τεύχος 188

ΑΛΛΑ ΑΡΘΡΑ ΣΕ ΑΥΤΗ ΤΗΝ ΚΑΤΗΓΟΡΙΑ