Android 21 дээрх шинэ эмхэтгэсэн кодын 13 орчим хувь нь Rust дээр бичигдсэн байдаг

Google-ийн инженерүүд Android платформ дээр Rust хэл дээрх хөгжүүлэлтийн дэмжлэгийг нэвтрүүлсэн анхны үр дүнг нэгтгэв. Android 13 дээр шинээр нэмсэн хөрвүүлсэн кодын ойролцоогоор 21% нь Rust, 79% нь C/C++ дээр бичигдсэн байна. Android платформын эх кодыг боловсруулдаг AOSP (Android Open Source Project) хадгалах сан нь UWB чипүүдэд зориулсан стек болох Keystore1.5 криптограф түлхүүрийн дэлгүүр (Ultra-Wideband) зэрэг шинэ бүрэлдэхүүн хэсгүүдтэй холбоотой ойролцоогоор 2 сая мөр Rust кодыг агуулдаг. , DNS-over-HTTP3 протоколын хэрэгжилт, AVF (Android Virtualization Framework) виртуалчлалын хүрээ, Bluetooth болон Wi-Fi-д зориулсан туршилтын стек.

Android 21 дээрх шинэ эмхэтгэсэн кодын 13 орчим хувь нь Rust дээр бичигдсэн байдаг

Санах ойтой ажиллахад гарсан алдаанаас үүдэлтэй эмзэг байдлын эрсдлийг бууруулах урьд өмнө батлагдсан стратегийн дагуу Rust хэлийг одоогоор шинэ код боловсруулах, програм хангамжийн хамгийн эмзэг, амин чухал бүрэлдэхүүн хэсгүүдийн аюулгүй байдлыг аажмаар бэхжүүлэхэд ашиглаж байна. Бүх платформыг Rust руу шилжүүлэх ерөнхий зорилго байхгүй бөгөөд хуучин код нь C/C++ дээр хэвээр байгаа бөгөөд алдаатай тэмцэх нь бүдэг бадаг туршилт, статик дүн шинжилгээ хийх, ижил төстэй техникийг хөгжүүлэхэд ашиглах замаар хийгддэг. MiraclePtr төрөл (түүхий заагч дээр холбох, суллагдсан санах ойн хэсгүүдэд хандах нэмэлт шалгалт хийх), Scudo санах ойн хуваарилах систем (malloc/free-г аюулгүйгээр солих) болон HWAsan санах ойтой ажиллах үед алдаа илрүүлэх механизм (Тоног төхөөрөмжийн тусламжтай AddressSanitizer) GWP-ASAN болон KFENCE.

Андройд платформ дахь эмзэг байдлын мөн чанарын статистикийн хувьд санах ойтой ажиллахад аюултай шинэ код багасах тусам санах ойтой ажиллахад гарсан алдаанаас үүдэлтэй эмзэг байдлын тоо буурч байгааг тэмдэглэжээ. Жишээлбэл, санах ойн асуудлаас үүдэлтэй эмзэг байдлын эзлэх хувь 76 онд 2019% байсан бол 35 онд 2022% болж буурсан байна. Үнэмлэхүй тоогоор 2019 онд санах ойтой холбоотой 223, 2020 онд 150, 2021 онд 100, 2022 онд 85 (бүх тэмдэглэсэн эмзэг байдал нь C/C++ код дээр байсан; Rust код дээр үүнтэй төстэй асуудал одоогоор гараагүй байна. олдсон). 2022 он бол санах ойтой холбоотой эмзэг байдал давамгайлахаа больсон анхны жил байлаа.

Android 21 дээрх шинэ эмхэтгэсэн кодын 13 орчим хувь нь Rust дээр бичигдсэн байдаг

Санах ойтой холбоотой эмзэг байдал нь ихэвчлэн хамгийн аюултай байдаг тул ерөнхий статистик мэдээллээс харахад алсаас ашиглаж болох чухал асуудлууд болон асуудлуудын тоо буурсан байна. Үүний зэрэгцээ санах ойтой ажиллахтай холбоогүй эмзэг байдлыг тодорхойлох динамик сүүлийн 4 жилийн хугацаанд ойролцоогоор ижил түвшинд хэвээр байна - сард 20 эмзэг байдал. Санах ойтой ажиллах үед гарсан алдаанаас үүдэлтэй эмзэг байдлын дунд аюултай асуудлуудын эзлэх хувь хэвээр байна (гэхдээ ийм эмзэг байдлын тоо буурах тусам аюултай асуудлын тоо буурдаг).

Android 21 дээрх шинэ эмхэтгэсэн кодын 13 орчим хувь нь Rust дээр бичигдсэн байдаг

Мөн статистик нь санах ойтой аюулгүй ажиллаж байгаа шинэ кодын хэмжээ болон санах ойтой холбоотой эмзэг байдлын тоо (буферийн хэт ачаалал, аль хэдийн суллагдсан санах ойд хандах гэх мэт) хоорондын хамаарлыг хянадаг. Энэхүү ажиглалт нь аюулгүй програмчлалын арга техникийг хэрэгжүүлэхдээ илэрсэн сул талуудын дийлэнх нь шинэ кодонд байгаа тул одоо байгаа кодыг дахин бичихээс илүү шинэ кодыг устгахад анхаарах ёстой гэсэн таамаглалыг баталж байна.

Android 21 дээрх шинэ эмхэтгэсэн кодын 13 орчим хувь нь Rust дээр бичигдсэн байдаг


Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх