Google telah mengungkapkan bahwa transisinya ke bahasa yang aman bagi memori seperti Rust sebagai bagian dari pendekatan keamanan sejak awal telah menyebabkan persentase kerentanan aman bagi memori yang ditemukan di Android turun dari 76% menjadi 24% selama periode enam tahun.
Raksasa teknologi itu mengatakan fokus pada Pengodean Aman untuk fitur-fitur baru tidak hanya mengurangi risiko keamanan keseluruhan dari basis kode, tetapi juga membuat peralihan menjadi lebih “skalabel dan hemat biaya.”
Pada akhirnya, hal ini mengarah pada penurunan kerentanan keamanan memori karena pengembangan memori baru yang tidak aman melambat setelah periode waktu tertentu, dan pengembangan memori baru yang aman mengambil alih, kata Jeff Vander Stoep dan Alex Rebert dari Google dalam sebuah pos yang dibagikan dengan The Hacker News.
Mungkin yang lebih menarik lagi, jumlah kerentanan keamanan memori juga dapat menurun meskipun ada peningkatan kuantitas kode baru yang tidak aman terhadap memori.
Paradoks ini dijelaskan oleh fakta bahwa kerentanan menurun secara eksponensial, dengan sebuah studi menemukan bahwa sejumlah besar kerentanan sering kali terdapat pada kode yang baru atau baru saja dimodifikasi.
“Masalahnya terutama pada kode baru, yang mengharuskan perubahan mendasar dalam cara kita mengembangkan kode,” Vander Stoep dan Rebert mencatat. “Kode menjadi lebih matang dan lebih aman seiring waktu, secara eksponensial, sehingga laba atas investasi seperti penulisan ulang berkurang seiring waktu seiring bertambahnya usia kode.”
Google, yang secara resmi mengumumkan rencananya untuk mendukung bahasa pemrograman Rust di Android pada bulan April 2021, mengatakan pihaknya mulai memprioritaskan transisi pengembangan baru ke bahasa yang aman dalam memori sekitar tahun 2019.
Akibatnya, jumlah kerentanan keamanan memori yang ditemukan dalam sistem operasi telah menurun dari 223 pada tahun 2019 menjadi kurang dari 50 pada tahun 2024.
Tak perlu dikatakan lagi, sebagian besar penurunan kelemahan tersebut disebabkan oleh kemajuan dalam cara yang dirancang untuk mengatasinya, bergerak dari penambalan reaktif ke mitigasi proaktif hingga penemuan kerentanan proaktif menggunakan alat seperti pembersih Clang.
Raksasa teknologi itu lebih lanjut mencatat bahwa strategi keamanan memori harus lebih berkembang lagi untuk memprioritaskan “pencegahan dengan jaminan tinggi” dengan menggabungkan prinsip-prinsip keamanan sejak awal yang mengukuhkan keamanan ke dalam fondasinya.
“Daripada berfokus pada intervensi yang diterapkan (mitigasi, fuzzing), atau mencoba menggunakan kinerja masa lalu untuk memprediksi keamanan di masa mendatang, Safe Coding memungkinkan kita membuat pernyataan kuat tentang properti kode dan apa yang bisa atau tidak bisa terjadi berdasarkan properti tersebut,” kata Vander Stoep dan Rebert.
Itu belum semuanya. Google mengatakan bahwa mereka juga berfokus pada penawaran interoperabilitas antara Rust, C++, dan Kotlin, alih-alih penulisan ulang kode, sebagai “pendekatan praktis dan bertahap” untuk merangkul bahasa yang aman bagi memori dan pada akhirnya menghilangkan seluruh kelas kerentanan.
“Menerapkan Safe Coding dalam kode baru menawarkan perubahan paradigma, yang memungkinkan kita memanfaatkan peluruhan kerentanan yang melekat demi keuntungan kita, bahkan dalam sistem besar yang sudah ada,” katanya.
“Konsepnya sederhana: begitu kita menutup keran kerentanan baru, kerentanan tersebut akan berkurang secara eksponensial, sehingga seluruh kode kita menjadi lebih aman, meningkatkan efektivitas desain keamanan, dan meringankan tantangan skalabilitas yang terkait dengan strategi keamanan memori yang ada sehingga dapat diterapkan secara lebih efektif dan tepat sasaran.”
Perkembangan ini terjadi saat Google memuji peningkatan kolaborasi dengan tim rekayasa keamanan produk dan unit pemrosesan grafis (GPU) Arm untuk menandai berbagai kekurangan dan meningkatkan keamanan keseluruhan tumpukan perangkat lunak/firmware GPU di seluruh ekosistem Android.
Ini termasuk penemuan dua masalah memori dalam kustomisasi kode driver Pixel (CVE-2023-48409 dan CVE-2023-48421) dan satu lagi pada firmware GPU Arm Valhall dan firmware arsitektur GPU Generasi ke-5 (CVE-2024-0153).
“Pengujian proaktif merupakan tindakan pencegahan yang baik karena dapat mengarah pada pendeteksian dan penyelesaian kerentanan baru sebelum dieksploitasi,” kata Google dan Arm.