7 poin oleh GN⁺ 2025-11-15 | Belum ada komentar. | Bagikan ke WhatsApp
  • 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.

Belum ada komentar.