Halos isang-kapat ng Android 13 ay nakasulat sa Rust

kalawang android 13

Ang Android 13 ay ang unang bersyon ng Android kung saan karamihan sa bagong code na idinagdag sa bersyon ay nasa memory-safe na wika.

Sa pamamagitan ng isang blog post, ang mga inhinyero ng Google inilabas ang buod ng mga unang resulta ng pagpapakilala Suporta sa pagpapaunlad ng kalawang sa Android.

Isang Android 13, humigit-kumulang 21% ng bagong code ang naipon Ang pinagsama-samang ay nakasulat sa Rust at 79% sa C/C++, bilang ang AOSP (Android Open Source Project) repository, na bumubuo ng source code para sa Android platform, na may humigit-kumulang 1,5 milyong linya ng Rust code.

Ang code ibinigay ng AOSP ito ay nauugnay sa mga bagong bahagi tulad ng Keystore2 cryptographic keystore, ang stack para sa UWB (Ultra-Wideband) chips, pagpapatupad ng DNS protocol sa HTTP3, AVF virtualization framework (Android Virtualization Framework), pang-eksperimentong stack para sa Bluetooth at Wi-Fi.

Sa linya gamit ang diskarte na pinagtibay sa itaas upang mabawasan ang panganib ng mga kahinaan sa memory error, Hanggang ngayon ang Rust ay pangunahing ginagamit para sa pagbuo ng bagong code at upang unti-unting palakasin ang seguridad ng mga pinaka-mahina at mahahalagang bahagi ng software.

Habang bumababa ang bilang ng bagong memory-insecure code na pumapasok sa Android, bumaba rin ang bilang ng mga kahinaan sa seguridad ng memorya. Mula 2019 hanggang 2022, bumaba ito mula 76% hanggang 35% ng kabuuang mga kahinaan sa Android. Ang 2022 ay minarkahan ang unang taon na hindi isinasaalang-alang ng mga kahinaan sa seguridad ng memorya ang karamihan ng mga kahinaan sa Android.

Ang pangkalahatang layunin ng paglipat ng buong platform sa Rust ay hindi nakatakda, at ang lumang code ay nananatili sa C/C++, at ang paglaban sa mga bug sa loob nito ay ginagawa sa pamamagitan ng paggamit ng mga fuzzing test, static na pagsusuri, at paggamit ng mga katulad na diskarte. paggamit ng uri ng MiraclePtr (nagbubuklod sa mga hilaw na pointer, na nagsasagawa ng mga karagdagang pagsusuri para sa pag-access sa mga lugar ng libreng memorya), ang Scudo memory allocation system (isang ligtas na kapalit para sa malloc/libre) at mga mekanismo ng pagtuklas ng error kapag nagtatrabaho sa HWAsan(Hardware Assisted AddressSanitizer) memory , GWP-ASAN at KFENCE.

Tungkol sa mga istatistika sa kalikasan ng ang mga kahinaan sa Android platform, ito ay sinusunod na bilang binabawasan ang dami ng bagong code na gumagana sa memorya sa mga hindi secure na paraan, binabawasan din nito ang bilang ng mga kahinaan na dulot ng mga error kapag nagtatrabaho gamit ang memorya.

Halimbawa, ang proporsyon ng mga kahinaan na dulot ng mga isyu sa memorya ay bumaba mula 76% noong 2019 hanggang 35% noong 2022. Sa ganap na bilang, 223 mga kahinaan na nauugnay sa memorya ang natukoy noong 2019, 150 noong 2020, 100 noong 2021, at 85 sila noong 2022. ay hindi natagpuan). Ang 2022 ay ang unang taon na ang mga kahinaan na nauugnay sa memorya ay tumigil sa pangingibabaw.

Sa ngayon, walang nadiskubreng kahinaan sa seguridad ng memorya sa Android Rust code.

Hindi namin inaasahan na mananatili sa zero magpakailanman ang numerong iyon, ngunit dahil sa dami ng bagong Rust code sa dalawang bersyon ng Android at sa mga bahaging sensitibo sa seguridad kung saan ito ginagamit, isa itong makabuluhang resulta. Ipinapakita nito na tinutupad ng Rust ang layunin nitong pigilan ang pinakakaraniwang pinagmumulan ng mga kahinaan sa Android.

Mula noon Ang mga kahinaan na nauugnay sa memorya ay kadalasang pinakamapanganib, ang pangkalahatang istatistika ay nagpapakita rin ng pagbaba sa bilang ng mga kritikal na isyu at isyu na maaaring mapagsamantalahan nang malayuan. Kasabay nito, ang dynamics ng pagtuklas ng mga kahinaan na walang kaugnayan sa pagtatrabaho sa memorya ay nasa humigit-kumulang na parehong antas sa nakalipas na 4 na taon - 20 mga kahinaan bawat buwan.

Ang ratio ng mga mapanganib na isyu sa mga kahinaan na dulot ng mga error sa memorya ay pareho din (ngunit habang ang bilang ng mga kahinaan ay bumababa, ang bilang ng mga mapanganib na problema ay bumababa rin).

Sinusubaybayan din ng mga istatistika ang ugnayan sa pagitan ng dami ng bagong code na gumagana sa memorya sa isang hindi secure na paraan at ang bilang ng mga kahinaan na nauugnay sa memorya (buffer overflows, access sa nakalaya na memorya, atbp.).

Ang pagmamasid na ito kumpirmahin ang palagay ng na ang pangunahing atensyon sa pagpapatupad ng mga secure na diskarte sa programming dapat itong ibigay sa bagong code at hindi upang muling isulat ang dati, dahil karamihan sa mga natukoy na kahinaan ay nasa bagong code.

Fuente: https://security.googleblog.com/


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.