- Di platform Android, setelah adopsi Rust, proporsi kerentanan keamanan terkait memory safety turun menjadi di bawah 20% dari total, sehingga keamanan dan efisiensi pengembangan meningkat secara bersamaan
- Dibandingkan C/C++, kode Rust memiliki kepadatan kerentanan memory safety 1000 kali lebih rendah, tingkat rollback 4 kali lebih rendah, dan waktu code review 25% lebih singkat
- Perluasan penggunaan Rust meluas ke kernel, firmware, dan aplikasi 1st-party, sehingga berkontribusi pada peningkatan baseline keamanan di seluruh sistem
- Melalui kasus hampir terjadinya kerentanan memory safety pertama berbasis Rust yang ditemukan di CrabbyAVIF, pentingnya allocator Scudo dan edukasi penulisan unsafe code yang aman kembali ditegaskan
- Peralihan ke Rust dinilai sebagai paradigma baru pengembangan perangkat lunak yang sekaligus mencapai penguatan keamanan dan peningkatan kecepatan pengembangan
Dampak adopsi Rust dan data 2025
- Pada 2025, proporsi kerentanan memory safety di Android turun menjadi kurang dari 20%, membuktikan efektivitas strategi keamanan yang berpusat pada Rust
- Dibandingkan C/C++, Rust menunjukkan kepadatan kerentanan memory safety 1000 kali lebih rendah, tingkat rollback 4 kali lebih rendah, dan waktu code review 25% lebih singkat
- Adopsi Rust tidak hanya meningkatkan keamanan, tetapi juga mempercepat delivery perangkat lunak
- Data mencakup perubahan kode 1st-party dan 3rd-party di seluruh Android platform, meliputi C, C++, Java, Kotlin, dan Rust
Transisi bahasa sistem dan produktivitas pengembangan
- Android mengadopsi Rust sebagai alternatif C/C++ untuk bahasa pemrograman sistem, dengan tingkat kontrol serupa tetapi risiko lebih rendah
- Berdasarkan kode 1st-party, pertumbuhan kode Rust telah melampaui C++, sehingga perbandingan metrik pengembangan antar kedua bahasa menjadi memungkinkan
- Dengan memanfaatkan framework DORA, Android mengukur Throughput dan Stability
- Perbandingan dilakukan dengan mengendalikan ukuran kode, kumpulan developer, dan tren waktu pada Rust dan C++
Throughput: efisiensi code review meningkat
- Dibandingkan C++, kode Rust membutuhkan 20% lebih sedikit revisi, dan waktu code review 25% lebih singkat
- Antara 2023–2024, efisiensi review meningkat tajam seiring bertambahnya keahlian Rust
- Penurunan review dan rework berujung pada peningkatan produktivitas, dengan peningkatan stabilitas sebagai faktor dampak terbesar
Stability: tingkat rollback turun dan kualitas meningkat
- Menurut standar DORA, tingkat rollback Rust sekitar 4 kali lebih rendah dibanding C++, terutama menonjol pada perubahan berskala menengah hingga besar
- Tingkat rollback yang rendah berkontribusi langsung pada produktivitas dengan mengurangi biaya sampingan seperti build ulang, postmortem, dan hambatan tim
- Dalam survei engineer Google tahun 2022, Rust juga dinilai lebih mudah direview dan memiliki akurasi lebih tinggi
- Data ini mendukung persepsi tersebut secara empiris
Keamanan dan produktivitas meningkat bersamaan
- Dulu, penguatan keamanan sering menyebabkan penurunan performa atau keterlambatan pengembangan, tetapi transisi ke Rust meningkatkan keamanan dan efisiensi secara bersamaan
- Adopsi Rust membentuk struktur yang meningkatkan keamanan, efisiensi pengembangan, dan stabilitas produk sekaligus
Area penyebaran Rust
- Kernel: dukungan Rust dan driver Rust pertama diperkenalkan di Linux kernel Android 6.12
- Bekerja sama dengan Arm dan Collabora, pengembangan driver GPU berbasis Rust sedang berlangsung
- Firmware: adopsi Rust memperkuat keamanan di lingkungan dengan hak akses tinggi dan keterbatasan ketat, disertai tutorial, pelatihan, dan kode yang dipublikasikan
- Proyek Rusted Firmware-A dijalankan bersama Arm
- Aplikasi 1st-party:
- Nearby Presence: protokol penemuan perangkat berbasis Bluetooth diimplementasikan dengan Rust dan berjalan di Google Play Services
- MLS: protokol keamanan untuk pesan RCS diimplementasikan dengan Rust dan direncanakan akan dimasukkan ke aplikasi Google Messages
- Chromium: parser PNG, JSON, dan webfont diganti dengan Rust, sehingga lebih mudah memenuhi Rule of 2
Kasus “hampir terjadi” kerentanan memory safety pertama berbasis Rust
- Di CrabbyAVIF, kerentanan buffer overflow (CVE-2025-48530) ditemukan tepat sebelum pengiriman dan sudah diperbaiki sebelum dipublikasikan
- Scudo hardened allocator membuat kerentanan tersebut berada dalam kondisi non-exploitable berkat guard page
- Scudo sudah digunakan secara default pada Pixel dan perangkat lain, dan sedang didorong untuk diwajibkan bagi partner
- Perbaikan crash reporting juga membuat sinyal deteksi overflow lebih jelas
Pengelolaan unsafe code dan penguatan edukasi
- Dalam pengembangan OS, unsafe code (C/C++ atau unsafe Rust) tetap tak terelakkan
- Google menambahkan modul lanjutan unsafe code ke kurikulum Comprehensive Rust
- Materinya mencakup soundness pada unsafe code, undefined behavior, safety annotation, dan teknik abstraksi yang aman
- Peningkatan pemahaman terhadap unsafe Rust akan berujung pada peningkatan kualitas kode di Android dan ekosistem open source secara luas
Perbandingan kepadatan kerentanan
- Dari sekitar 5 juta baris kode Rust di Android, ditemukan 1 potensi kerentanan → kepadatan kerentanan Rust 0.2/MLOC
- Rata-rata historis C/C++ adalah 1,000/MLOC, yaitu penurunan lebih dari 1000 kali
- Penurunan kepadatan kerentanan memory safety memperkuat efektivitas keseluruhan arsitektur keamanan
- Sekitar 4% kode Rust menggunakan blok
unsafe{}, tetapi berdasarkan data, kemungkinan bug-nya tetap lebih rendah dibanding C/C++
- Alasannya antara lain tetap adanya pemeriksaan keamanan, enkapsulasi, dan review tambahan yang lebih ketat
Kesimpulan
- Di masa lalu, untuk menjamin keamanan dibutuhkan respons mahal seperti analisis statis, sandboxing, dan patch
- Transisi ke Rust adalah pendekatan baru yang mengamankan keamanan dan efisiensi secara bersamaan
- Kini, bukan lagi soal “mengembangkan dengan cepat lalu memperbaiki nanti”, melainkan memasuki tahap “mengembangkan dengan cepat sambil sekaligus memperbaiki”
- Semakin kuat keamanan, semakin besar pula kemungkinan pemulihan performa dan produktivitas
Ucapan terima kasih
- Disebutkan banyak kontributor, termasuk untuk analisis CVE-2025-48530, peningkatan Scudo, pengembangan pelatihan unsafe Rust, dan penyediaan informasi pemanfaatan Rust
- Juga disampaikan apresiasi kepada tim Android Rust dan seluruh organisasi Android atas upaya berkelanjutan dalam meningkatkan kualitas
Belum ada komentar.