Demonstrasi serangan ke atas editor kod yang membawa kepada kebocoran fail apabila membuka kod sumber

Kaedah menyerang editor kod VSCode telah ditunjukkan, membenarkan pemindahan fail sewenang-wenang dalam hak pengguna semasa apabila membuka kod sumber yang direka khas dalam editor. Dalam demo ini, apabila membuka kod Rust yang menggunakan makro prosedur, ia mewujudkan sambungan ke hos 127.0.0.1:8080 dan menghantar kandungan fail "~/.ssh/id_rsa" dengan kekunci SSH pengguna.

Untuk berkompromi, cukup untuk membuka fail dengan kod, tanpa melakukan sebarang tindakan lain dengan projek itu. Untuk contoh berfungsi, VSCode memerlukan pemalam rust-analyzer (satu pengikatan di atas pengkompil rustc standard) dan kehadiran alat dalam sistem untuk bekerja dengan kod dalam bahasa Rust. Masalahnya adalah berkaitan dengan pengembangan makro prosedur semasa analisis kod awal. Kesan yang sama juga boleh dicapai pada masa penyusunan menggunakan arahan "bina kargo".

Adalah diperhatikan bahawa masalah itu mungkin menjejaskan editor kod dan bahasa pengaturcaraan lain. VSCode dan analisis karat digunakan hanya untuk menunjukkan vektor serangan. Secara teorinya, mana-mana editor kod yang mendedahkan makro prosedur yang membolehkan anda membuat sambungan sintaks dan melaksanakan kod pada masa penyusunan adalah terdedah kepada masalah tersebut. Penyelidik pada mulanya menyiasat kemungkinan tindakan berniat jahat yang berlaku semasa penyusunan kod, tetapi mendapati bahawa makro prosedur dikembangkan apabila kod sumber diproses dalam editor kod. Serangan itu mungkin boleh menjejaskan bahasa pengaturcaraan lain; contohnya, dalam Java, pemprosesan anotasi boleh dimanipulasi dengan cara yang sama.



Sumber: opennet.ru

Tambah komen