{"id":105815,"date":"2022-12-03T15:36:44","date_gmt":"2022-12-03T13:36:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/okolo-21-novogo-kompiliruemogo-koda-v-android-13-napisano-na-yazyke-rust"},"modified":"2022-12-03T15:36:44","modified_gmt":"2022-12-03T13:36:46","slug":"okolo-21-novogo-kompiliruemogo-koda-v-android-13-napisano-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/news\/okolo-21-novogo-kompiliruemogo-koda-v-android-13-napisano-na-yazyke-rust","title":{"rendered":"Circa il 21% del nuovo codice compilato in Android 13 \u00e8 scritto in linguaggio Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Gli ingegneri di Google hanno presentato i primi risultati dell'integrazione del supporto allo sviluppo in linguaggio Rust nella piattaforma Android. In Android 13, circa il 21% del nuovo codice compilabile aggiunto \u00e8 scritto in Rust, mentre il 79% \u00e8 in C\/C++. Nel repository AOSP (Android Open Source Project), dove vengono sviluppati i sorgenti della piattaforma Android, ci sono circa 1,5 milioni di righe di codice in Rust, relative a nuovi componenti come il negozio di chiavi crittografiche Keystore2, lo stack per i chip UWB (Ultra-Wideband), l'implementazione del protocollo DNS-over-HTTP3, il framework di virtualizzazione AVF (Android Virtualization Framework), e stack sperimentali per Bluetooth e Wi-Fi.     <center><img decoding=\"async\" alt=\"Circa il 21% del nuovo codice compilato in Android 13 \u00e8 scritto in linguaggio Rust\" src=\"\/wp-content\/uploads\/2022\/12\/6299bf41b363367229b874699034b828.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>In conformit\u00e0 con la strategia precedentemente adottata per ridurre il rischio di vulnerabilit\u00e0 causate da errori nella gestione della memoria, il linguaggio Rust \u00e8 attualmente utilizzato principalmente per lo sviluppo di nuovo codice e per un graduale rafforzamento della sicurezza dei componenti software pi\u00f9 vulnerabili e critici. Non si prefigge l'obiettivo generale di migrare l'intera piattaforma a Rust e il codice legacy rimane in C\/C++, mentre la correzione degli errori avviene attraverso l'uso di test di fuzzing, analisi statica e l'implementazione di tecniche come l'uso del tipo MiraclePtr (un wrapper sopra i puntatori raw, che esegue controlli aggiuntivi sull'accesso a aree di memoria liberate), il sistema di allocazione della memoria Scudo (una sostituzione sicura di malloc\/free) e meccanismi di identificazione degli errori nella gestione della memoria HWAsan (Hardware-assisted AddressSanitizer), GWP-ASAN e KFENCE.           <\/p>\n<p>Per quanto riguarda le statistiche sulle vulnerabilit\u00e0 della piattaforma Android, si osserva che, con la riduzione del nuovo codice insicuro che gestisce la memoria, c'\u00e8 anche un calo del numero di vulnerabilit\u00e0 causate da errori nella gestione della memoria. Ad esempio, la percentuale delle vulnerabilit\u00e0 causate da problemi di memoria \u00e8 scesa dal 76% nel 2019 al 35% nel 2022. In termini assoluti, nel 2019 sono state segnalate 223 vulnerabilit\u00e0 relative alla gestione della memoria, nel 2020 - 150, nel 2021 - 100, e nel 2022 - 85 (tutte le vulnerabilit\u00e0 indicate riguardano codice in C\/C++, mentre nel codice in Rust non sono stati trovati problemi simili). Il 2022 \u00e8 stato il primo anno in cui le vulnerabilit\u00e0 legate alla memoria non hanno pi\u00f9 dominato.       <center><img decoding=\"async\" alt=\"Circa il 21% del nuovo codice compilato in Android 13 \u00e8 scritto in linguaggio Rust\" src=\"\/wp-content\/uploads\/2022\/12\/d75198f9cd7d0b5fdbaa22f56443267b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Poich\u00e9 le vulnerabilit\u00e0 legate alla gestione della memoria sono generalmente le pi\u00f9 pericolose, le statistiche complessive mostrano anche una diminuzione del numero di problemi critici e di quelli che possono essere sfruttati da remoto. Tuttavia, la dinamica delle vulnerabilit\u00e0 non legate alla gestione della memoria rimane stabile negli ultimi 4 anni, attestandosi a circa 20 vulnerabilit\u00e0 al mese. Resta costante anche la percentuale di problemi pericolosi tra le vulnerabilit\u00e0 causate da errori nella gestione della memoria (ma poich\u00e9 il numero di tali vulnerabilit\u00e0 diminuisce, diminuisce anche il numero di problemi pericolosi).      <center><img decoding=\"async\" alt=\"Circa il 21% del nuovo codice compilato in Android 13 \u00e8 scritto in linguaggio Rust\" src=\"\/wp-content\/uploads\/2022\/12\/3dd83819e02c176dd56ea170513a07f4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>            <\/p>\n<p>Nelle statistiche si osserva anche una correlazione tra il volume di nuovo codice, che lavora in modo non sicuro con la memoria, e il numero di vulnerabilit\u00e0 legate alla memoria (buffer overflow, accesso a memoria gi\u00e0 liberata, ecc.). Questa osservazione conferma l'ipotesi che le tecniche di programmazione sicura dovrebbero concentrarsi principalmente sul nuovo codice, piuttosto che sulla riscrittura di quello esistente, poich\u00e9 la maggior parte delle vulnerabilit\u00e0 identificate riguarda il nuovo codice.       <center><img decoding=\"async\" alt=\"Circa il 21% del nuovo codice compilato in Android 13 \u00e8 scritto in linguaggio Rust\" src=\"\/wp-content\/uploads\/2022\/12\/754ec48c806a10ebc7dbec33c78241f1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=58249\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Google \u043f\u043e\u0434\u0432\u0435\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0438\u0442\u043e\u0433\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Android \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 Android 13 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 21% \u043e\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 Rust, \u0430 79% \u043d\u0430 C\/C++. \u0412 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 AOSP (Android Open Source Project), \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0442\u0435\u043a\u0441\u0442\u044b \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android, \u043d\u0430\u0441\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 1.5 \u043c\u043b\u043d \u0441\u0442\u0440\u043e\u043a \u043a\u043e\u0434\u0430 \u043d\u0430 Rust, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":105816,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105815","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Google \u043f\u043e\u0434\u0432\u0435\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0438\u0442\u043e\u0433\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Android \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 Android 13 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 21% \u043e\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 Rust, \u0430 79% \u043d\u0430 C\/C++.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/it\/blog\/news\/okolo-21-novogo-kompiliruemogo-koda-v-android-13-napisano-na-yazyke-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043a\u043e\u043b\u043e 21% \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 Android 13 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Google \u043f\u043e\u0434\u0432\u0435\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0438\u0442\u043e\u0433\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Android \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 Android 13 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 21% \u043e\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 Rust, \u0430 79% \u043d\u0430 C\/C++.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/news\/okolo-21-novogo-kompiliruemogo-koda-v-android-13-napisano-na-yazyke-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-12-03T13:36:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-12-03T13:36:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Circa il 21% del nuovo codice compilabile in Android 13 \u00e8 scritto in linguaggio Rust | ProHoster","description":"Gli ingegneri di Google hanno fornito i primi risultati sull'implementazione del supporto per lo sviluppo in linguaggio Rust sulla piattaforma Android. In Android 13, circa il 21% del nuovo codice compilabile aggiunto \u00e8 scritto in Rust, mentre il 79% \u00e8 in C\/C++.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/okolo-21-novogo-kompiliruemogo-koda-v-android-13-napisano-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043a\u043e\u043b\u043e 21% \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0432 Android 13 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u0418\u043d\u0436\u0435\u043d\u0435\u0440\u044b \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Google \u043f\u043e\u0434\u0432\u0435\u043b\u0438 \u043f\u0435\u0440\u0432\u044b\u0435 \u0438\u0442\u043e\u0433\u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u044f \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 Android \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u0412 Android 13 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 21% \u043e\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043d\u0430 Rust, \u0430 79% \u043d\u0430 C\/C++.","og:url":"https:\/\/prohoster.info\/it\/blog\/news\/okolo-21-novogo-kompiliruemogo-koda-v-android-13-napisano-na-yazyke-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-12-03T13:36:46+00:00","article:modified_time":"2022-12-03T13:36:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/105815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=105815"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/105815\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/105816"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=105815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=105815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=105815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}