Proyek Rust telah mengeluarkan pembaruan untuk perpustakaan standarnya, setelah peneliti kerentanan menemukan fungsi spesifik yang digunakan untuk mengeksekusi file batch pada sistem Windows dapat dieksploitasi menggunakan kelemahan injeksi.
Kumpulan fungsi umum yang disertakan dengan bahasa pemrograman Rust, yang dikenal sebagai pustaka standar, menawarkan kemampuan โ di antara banyak kemampuan lainnya โ untuk mengeksekusi file batch Windows melalui Command API. Namun, fungsi tersebut tidak memproses masukan ke API dengan cukup teliti untuk menghilangkan kemungkinan memasukkan kode ke dalam eksekusi, menurut penasehat Kelompok Kerja Respons Keamanan Karat diterbitkan 9 April.
Meskipun Rust terkenal dengan fitur keamanan memorinya, insiden ini menggarisbawahi bahwa bahasa pemrograman tersebut tidak tahan terhadap bug logika, kata Yair Mizrahi, peneliti kerentanan senior di perusahaan keamanan aplikasi JFrog.
โSecara keseluruhan, keamanan memori Rust merupakan keuntungan penting, namun pengembang juga harus memperhatikan potensi bug logis untuk memastikan keamanan keseluruhan dan keandalan aplikasi berbasis Rust mereka,โ katanya. โUntuk mengatasi masalah logis tersebut, Rust mendorong proses pengujian dan peninjauan kode yang ketat, serta penggunaan alat analisis statis untuk mengidentifikasi dan memitigasi bug logis.โ
Rust telah mendapatkan reputasi sebagai bahasa pemrograman yang sangat aman, karena tidak membiarkan aplikasi terbuka terhadap kelemahan parah yang dikenal sebagai kerentanan keamanan memori. Google telah mengaitkannya setetes kode yang tidak aman untuk memori terhadap peralihan ke bahasa yang aman untuk memori, seperti Rust dan Kotlin, sementara Microsoft menemukan bahwa hingga tahun 2018, ketika mereka beralih ke bahasa yang aman untuk memori, kerentanan seperti itu sering kali muncul. menyumbang 70% dari semua masalah keamanan.
Windows Menimbulkan Banyak Masalah
Masalah terbaru bukanlah kerentanan keamanan memori, namun masalah dengan logika yang digunakan untuk memproses masukan yang tidak tepercaya. Bagian dari perpustakaan standar Rust memungkinkan pengembang memanggil fungsi untuk mengirim file batch ke mesin Windows untuk diproses. Ada alasan untuk mengirimkan kode ke host sebagai file batch, kata Joel Marcey, direktur teknologi di Rust Foundation, yang mendukung pengelola bahasa pemrograman dan ekosistem Rust.
โFile batch dijalankan karena berbagai alasan di sistem, dan Rust menyediakan API yang memungkinkan Anda menjalankannya dengan cukup mudah,โ katanya. โJadi meskipun hal ini belum tentu merupakan kasus penggunaan yang paling umum untuk Rust, API, sebelum patch yang diperbaiki diterapkan, memungkinkan pelaku kejahatan untuk secara teoritis mengambil alih sistem Anda dengan menjalankan perintah sewenang-wenang, dan ini jelas merupakan kerentanan kritis.โ
Biasanya, pengembang dapat meneruskan beban kerja ke host Windows untuk dieksekusi sebagai proses batch melalui antarmuka pemrograman aplikasi (API) Command, yang merupakan bagian dari perpustakaan standar. Biasanya, Rust menjamin keamanan setiap panggilan ke Command API, namun dalam kasus ini, Proyek Rust tidak dapat menemukan cara untuk mencegah eksekusi semua argumen, terutama karena Windows tidak mematuhi standar apa pun, dan bahwa API dapat memungkinkan penyerang mengirimkan kode yang kemudian akan dieksekusi.
โSayangnya, dilaporkan bahwa logika pelolosan kami tidak cukup menyeluruh, dan ada kemungkinan untuk menyampaikan argumen jahat yang akan mengakibatkan eksekusi shell secara sewenang-wenang,โ menurut Rust Security Response WG.
Proyek Rust Terbukti Responsif
Meskipun menangani kerentanan apa pun bisa jadi memusingkan, Rust Project telah menunjukkan bahwa kelompok tersebut dengan cepat menyelesaikan masalah, kata para ahli. Kerentanan perpustakaan standar, CVE-2024-24576, pada akhirnya merupakan masalah pada masalah pemrosesan batch Windows dan memengaruhi bahasa pemrograman lain, jika bahasa tersebut tidak menguraikan argumen yang dikirim ke proses batch Windows secara memadai. Proyek Rust tampaknya menjadi yang pertama keluar dengan perbaikan untuk meneruskan argumen ke proses Windows CMD.exe, kata Mizrahi dari JFrog.
Grup tersebut tidak dapat sepenuhnya menghilangkan masalah ini, tetapi Command API tidak akan mengembalikan kesalahan ketika penambahan apa pun yang diteruskan ke fungsi tersebut mungkin tidak aman, kata Proyek Rust.
Mizrahi dari JFrog mendesak Rust untuk memperluas penggunaan pengujian keamanan aplikasi statis dan memperluas penggunaan pengujian fuzzing dan dinamis.
โSecara keseluruhan, Rust berada di jalur yang benar dengan menekankan keamanan memori dan mendorong praktik pengujian yang ketat,โ katanya. โMenggabungkan upaya ini dengan kemajuan berkelanjutan dalam analisis statis dan fuzzing dapat membantu komunitas Rust dan industri perangkat lunak yang lebih luas membuat langkah signifikan dalam mengatasi bug logis dan kelemahan validasi masukan di tahun-tahun mendatang.โ
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://www.darkreading.com/application-security/critical-rust-flaw-poses-exploit-threat-in-specific-windows-use-cases
- :memiliki
- :adalah
- :bukan
- $NAIK
- 2018
- 7
- 9
- a
- kemampuan
- Menurut
- aktor
- alamat
- menangani
- cukup
- mengikuti
- kemajuan
- Keuntungan
- Setelah
- terhadap
- Semua
- mengizinkan
- diizinkan
- memungkinkan
- juga
- antara
- an
- analisis
- dan
- Apa pun
- api
- muncul
- Aplikasi
- keamanan aplikasi
- aplikasi
- April
- sewenang-wenang
- ADALAH
- argumen
- AS
- At
- penyerang
- perhatian
- menambah
- BE
- karena
- sebelum
- makhluk
- memperluas
- lebih luas
- bug
- tapi
- by
- panggilan
- CAN
- kemampuan
- kasus
- kasus
- kelas
- Penyelesaian
- kode
- Ulasan kode
- menggabungkan
- bagaimana
- Command
- Umum
- masyarakat
- sama sekali
- terus
- bisa
- kritis
- berurusan
- pastinya
- Pengembang
- pengembang
- MELAKUKAN
- Kepala
- ditemukan
- do
- tidak
- Oleh
- Menjatuhkan
- dinamis
- mudah
- ekosistem
- upaya
- menghapuskan
- menekankan
- mendorong
- mendorong
- cukup
- memastikan
- kesalahan
- menjalankan
- dieksekusi
- eksekusi
- Lihat lebih lanjut
- ahli
- Mengeksploitasi
- dieksploitasi
- hampir
- Fitur
- File
- File
- Menemukan
- Perusahaan
- Pertama
- Memperbaiki
- tetap
- cacat
- kekurangan
- Untuk
- Depan
- ditemukan
- Prinsip Dasar
- fungsi
- fungsi
- diperoleh
- Kelompok
- Grup
- jaminan
- he
- membantu
- tuan rumah
- Namun
- HTML
- HTTPS
- mengenali
- if
- diimplementasikan
- in
- insiden
- termasuk
- industri
- memasukkan
- input
- Antarmuka
- ke
- isu
- Ditempatkan
- masalah
- IT
- NYA
- joel
- jpg
- dikenal
- bahasa
- Bahasa
- Terbaru
- Meninggalkan
- Perpustakaan
- logika
- logis
- mesin
- membuat
- jahat
- banyak
- Memori
- Microsoft
- Mengurangi
- paling
- harus
- perlu
- penting
- of
- Penawaran
- on
- Buka
- Lainnya
- kami
- di luar
- lebih
- secara keseluruhan
- bagian
- lulus
- Lulus
- Lewat
- tambalan
- Membayar
- plato
- Kecerdasan Data Plato
- Data Plato
- pose
- kemungkinan
- mungkin
- potensi
- praktek
- mencegah
- terutama
- Masalah
- proses
- pengolahan
- Pemrograman
- bahasa pemrograman
- proyek
- bukti
- membuktikan
- menyediakan
- diterbitkan
- segera
- alasan
- secara teratur
- keandalan
- Dilaporkan
- reputasi
- peneliti
- menyelesaikan
- tanggapan
- responsif
- mengakibatkan
- kembali
- ulasan
- benar
- keras
- Run
- berjalan
- Karat
- s
- Safety/keselamatan
- Tersebut
- mengatakan
- mengatakan
- aman
- keamanan
- mengirim
- senior
- mengirim
- set
- Kulit
- bergeser
- bergeser
- ditunjukkan
- penting
- So
- Perangkat lunak
- tertentu
- standar
- statis
- langkah
- menyerahkan
- mengirimkan
- seperti itu
- Mendukung
- sistem
- sistem
- Mengambil
- Teknologi
- pengujian
- bahwa
- Grafik
- mereka
- kemudian
- Sana.
- Ini
- mereka
- ini
- teliti
- itu
- ancaman
- Melalui
- untuk
- alat
- jalur
- khas
- Akhirnya
- garis bawah
- sayangnya
- sampai
- Memperbarui
- mendesak
- menggunakan
- gunakan case
- bekas
- menggunakan
- pengesahan
- sangat
- Kerentanan
- kerentanan
- adalah
- Cara..
- BAIK
- ketika
- yang
- sementara
- akan
- Windows
- dengan
- kerja
- Kelompok kerja
- akan
- tahun
- Kamu
- Anda
- zephyrnet.dll