Google, Microsoft Berlindung pada Keamanan yang Lebih Baik dari Rust Language

Google, Microsoft Berlindung dalam Keamanan Lebih Baik Rust Language

Ketika Fortanix diluncurkan pada tahun 2016, perusahaan tersebut mengambil keputusan: Mereka akan berkomitmen pada bahasa pemrograman Rust yang berusia satu tahun untuk mendapatkan manfaat dari kekuatan keamanan dan kinerjanya.

Tujuh tahun kemudian, komitmen Fortanix terhadap Rust terbukti sukses. Perusahaan telah membangun dukungan untuk Intel Software Guard Extensions (SGX), yang memungkinkan penggunaan kantong aman untuk data pengguna, dan memanfaatkan kemampuan kompiler Rust untuk menghindari beberapa kelas kerentanan, terutama masalah keamanan memori, kata Jethro Beekman, wakil presiden teknologi dan CISO di perusahaan keamanan data.

โ€œAda beberapa pengguna awal yang benar-benar melihat potensi tersebut, dan setelah melakukan penelitian menyeluruh dan mendapatkan pengalaman praktis dengannya, kami memutuskan untuk melakukan semuanya,โ€ katanya. โ€œPeralatan dan kompiler sangat membantu Anda menghindari kesalahan.โ€

Delapan tahun setelah rilis 1.0, bahasa Rust dan platform pengembangan terus mendapatkan popularitas di kalangan pengembang dan perusahaan fokus pada kode aman. Sedangkan Rust mempunyai nilai yang jauh lebih rendah Peringkat TIOBE dari C atau C++, bahasa ini mendapatkan tambahan pengguna yang signifikan dari tahun ke tahun. Rust juga memiliki komitmen berikut: Meskipun hanya 12% programmer yang menggunakan teknologi ini pada tahun lalu, hampir 85% dari pengembang tersebut ingin terus menggunakan bahasa tersebut, menjadikannya bahasa pemrograman yang โ€œpaling dikagumiโ€, menurut Stack Overflow โ€œSurvei Pengembang 2023.โ€

Grafik menunjukkan pertumbuhan bahasa pemrograman Rust

Adopsi karat terus tumbuh secara eksponensial. Sumber: Lib.rs (https://lib.rs/stats)

Sebagai bagian dari upaya untuk menghilangkan kelas bug, misalnya, Microsoft menulis ulang bagian dari kernel menggunakan Rust, kata David Weston, wakil presiden keamanan perusahaan dan OS di Microsoft, selama BlueHat Israel pada bulan Maret. Perusahaan telah membuat DWriteCore di Rust untuk mengubah penguraian font menjadi fitur keamanan memori dan saat ini sedang bereksperimen dengan penulisan bagian antarmuka driver grafis (GDI) di Rust. Perusahaan telah melihat peningkatan kinerja sebesar 5% hingga 15% pada versi awal kode.

โ€œMenurut saya kami sedang dalam tahap perayapanโ€ฆ untuk Rust di Windows,โ€ kata Weston rekaman video presentasinya. โ€œKami sedang bereksperimen dengan rantai alat; kami sedang melihat pembuatan kode[erasi] dan mencoba mencari tahu apakah ini sepadan dengan biaya yang dikeluarkan untuk mempelajari Rust.โ€

Microsoft, sponsor dari Rust Foundation, telah berkomitmen pada bahasa tersebut. โ€œAnda sebenarnya akan melakukan booting Windows dengan Rust di kernel,โ€ kata Weston.

Google, 1Password, dan Lainnya di Pesawat

Google juga merupakan pendukung utama Rust. Perusahaan mengaitkan penurunan kerentanan keamanan memori di Android dengan transisi ke Rust, Kotlin (bahasa pemrograman fungsional), dan Java dari C dan C++. Pada tahun 2022, kerentanan keamanan memori, seperti buffer overruns, menyumbang kurang dari setengah dari seluruh kerentanan di Android.

โ€œKami biasanya merekomendasikan penggunaan Rust di mana pun Anda mempertimbangkan untuk membuat kode C [atau] C++ baru,โ€ kata Lars Bergstrom, direktur teknik bahasa pemrograman Android di Google dan ketua dewan direksi Rust Foundation. โ€œJadi Rust sering kali merupakan pilihan yang baik jika Anda memerlukan kontrol ketat terhadap sistem yang mendasarinya dan sumber dayanya, seperti memori.โ€

Badan Keamanan Nasional juga merekomendasikan bahwa pengembang mencari alternatif selain C dan C++ untuk kode penting keamanan karena bahasa tersebut terlalu mengandalkan pengembang untuk tidak membuat kesalahan.

Meskipun Fortanix telah berkomitmen untuk menggunakan Rust secara ekstensif, perusahaan lain lebih taktis dalam memperkenalkan bahasa tersebut ke dalam basis kode mereka. Perusahaan manajemen kata sandi dan identitas 1Password, yang membutuhkan keamanan yang kuat untuk melindungi penyimpanan kata sandi pengguna, telah mengadopsi Rust sebagai platform pengembangan untuk komponen keamanan data intinya, menggunakan bahasa lain untuk antarmuka front-end pada sistem operasi yang berbeda, perusahaan menyatakan dalam posting blog.

Microsoft berada dalam situasi yang sama dan tidak akan menulis ulang sebagian besar basis kodenya di Rust, kata Weston.

โ€œSaya benci untuk memberitahu Anda โ€“ saya tahu penggemar Rust di luar sana โ€“ menulis ulang Windows di Rust mungkin tidak akan terjadi dalam waktu dekat,โ€ katanya kepada peserta konferensi BlueHat Israel. โ€œMeskipun kami menyukai Rust, kami memerlukan strategi yang juga mencakup pengamanan lebih banyak kode asli kami.โ€

Kurva Belajar Tidak Begitu Curam

Rust Foundation telah melihat banyak adopsi oleh perusahaan perangkat tertanam dan terhubung โ€” terutama dalam aplikasi otomotif, industri, dan ruang angkasa โ€” serta dalam pembuatan aplikasi Web dan cloud di platform baru lainnya, WebAssembly, kata Rebecca Rambul, direktur eksekutif dan CEO dari Rust Foundation.

โ€œOrganisasi semacam ini termasuk โ€ฆ pertama di luar organisasi teknologi besar yang benar-benar melihat potensi Rust, bukan hanya karena keamanannya, namun juga karena kecepatan dan kinerjanya," dia berkata. โ€œAnda mendapatkan tingkat keamanan tersebut karena keamanan memori, namun Anda tidak kehilangan apa pun dari perspektif kinerja.โ€

Ketika Fortanix dimulai, setiap programmer harus mempelajari Rust. Meskipun ada anggapan umum bahwa bahasa ini sulit dipelajari, lebih dari dua pertiga programmer yang mempelajari Rust mengatakan mereka merasa percaya diri untuk berkontribusi pada sebuah proyek dalam waktu dua bulan, menurut survei programmer internal oleh Google.

Meskipun pemrogram baru memahami Rust dengan cepat, kompilernya tetap lebih lambat dari yang diharapkan banyak orang, demikian temuan survei tersebut.

Bahasanya memang memerlukan beberapa penyesuaian, kata Michael Erquitt, insinyur keamanan senior di perusahaan pelatihan pengkodean aman Security Journey. Selain itu, pemrogram harus mengembangkan pemahaman mereka sendiri tentang fungsi dan aplikasi mana yang akan mendapat manfaat dari bahasa tersebut.

โ€œSelalu ada trade-off yang melekat ketika memilih bahasa dan alat pemrograman,โ€ Erquitt mengatakan. โ€œRust sebagai bahasa pemrograman modern dapat digunakan untuk beragam proyek, namun pilihan pada akhirnya tergantung pada apa yang paling memenuhi kebutuhan fungsional/pelanggan proyek Anda.โ€

Stempel Waktu:

Lebih dari Bacaan gelap