{"id":99682,"date":"2021-04-07T16:22:45","date_gmt":"2021-04-07T14:22:46","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android"},"modified":"2021-04-07T16:22:45","modified_gmt":"2021-04-07T14:22:46","slug":"rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android","title":{"rendered":"Rust est devenu l'un des principaux langages pour le d\u00e9veloppement de la plateforme Android","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>La soci\u00e9t\u00e9 Google a annonc\u00e9 l'inclusion du langage de programmation Rust parmi les langages autoris\u00e9s pour le d\u00e9veloppement de la plateforme Android. Le compilateur du langage Rust a \u00e9t\u00e9 int\u00e9gr\u00e9 dans l'arbre des sources d'Android d\u00e8s 2019, mais le support de ce langage est rest\u00e9 exp\u00e9rimental. Parmi les premiers composants en Rust qui seront fournis dans Android, on trouve de nouvelles impl\u00e9mentations du m\u00e9canisme de communication interprocessus Binder et du stack Bluetooth.    <\/p>\n<p>L'int\u00e9gration de Rust a \u00e9t\u00e9 r\u00e9alis\u00e9e dans le cadre d'un projet visant \u00e0 renforcer la s\u00e9curit\u00e9, \u00e0 promouvoir des pratiques de programmation s\u00fbres et \u00e0 am\u00e9liorer l'efficacit\u00e9 de la d\u00e9tection des probl\u00e8mes de gestion de la m\u00e9moire dans Android. Il est not\u00e9 qu'environ 70 % de toutes les vuln\u00e9rabilit\u00e9s critiques identifi\u00e9es dans Android sont caus\u00e9es par des erreurs de gestion de la m\u00e9moire. L'utilisation du langage Rust, qui se concentre sur une gestion s\u00fbre de la m\u00e9moire et offre une gestion automatique de la m\u00e9moire, permettra de r\u00e9duire le risque d'apparition de vuln\u00e9rabilit\u00e9s caus\u00e9es par des erreurs de gestion de la m\u00e9moire, telles que l'acc\u00e8s \u00e0 une zone de m\u00e9moire apr\u00e8s sa lib\u00e9ration et le d\u00e9passement de tampon.    <\/p>\n<p>La gestion s\u00fbre de la m\u00e9moire est assur\u00e9e dans Rust lors de la compilation gr\u00e2ce \u00e0 la v\u00e9rification des r\u00e9f\u00e9rences, au suivi de la propri\u00e9t\u00e9 des objets et \u00e0 la prise en compte de la dur\u00e9e de vie des objets (port\u00e9e), ainsi qu'\u00e0 l'\u00e9valuation de la validit\u00e9 de l'acc\u00e8s \u00e0 la m\u00e9moire lors de l'ex\u00e9cution du code. Rust offre \u00e9galement des moyens de se prot\u00e9ger contre les d\u00e9bordements d'entiers, exige une initialisation obligatoire des valeurs des variables avant leur utilisation, g\u00e8re mieux les erreurs dans la biblioth\u00e8que standard, applique le concept d'immuabilit\u00e9 (immutable) des r\u00e9f\u00e9rences et des variables par d\u00e9faut, et propose une forte typage statique pour minimiser les erreurs logiques.        <\/p>\n<p>Dans Android, la gestion s\u00fbre de la m\u00e9moire est assur\u00e9e dans les langages d\u00e9j\u00e0 pris en charge comme Kotlin et Java, mais ils ne conviennent pas pour le d\u00e9veloppement de composants syst\u00e8me en raison de leur surcharge importante. Rust permet d'atteindre des performances proches des langages C et C++, ce qui le rend adapt\u00e9 pour le d\u00e9veloppement des parties basses de la plateforme et des composants d'interaction avec le mat\u00e9riel.       <\/p>\n<p>Pour garantir la s\u00e9curit\u00e9 du code en C et C++ sur Android, une isolation sandbox, une analyse statique et des tests de fuzzing sont appliqu\u00e9es. Les capacit\u00e9s d'isolement sandbox sont limit\u00e9es et ont atteint leurs limites (il n'est pas judicieux de fragmenter davantage en processus en raison de la consommation de ressources). Parmi les limitations de l'utilisation de sandbox, on mentionne les frais g\u00e9n\u00e9raux \u00e9lev\u00e9s et la croissance de la consommation de m\u00e9moire caus\u00e9e par la n\u00e9cessit\u00e9 de cr\u00e9er de nouveaux processus, ainsi que les d\u00e9lais suppl\u00e9mentaires li\u00e9s \u00e0 l'utilisation de l'IPC.     <\/p>\n<p>Cela dit, la sandbox ne supprime pas les vuln\u00e9rabilit\u00e9s dans le code, mais r\u00e9duit simplement les risques et complique la r\u00e9alisation d'attaques, car pour exploiter une vuln\u00e9rabilit\u00e9, il faut en identifier plusieurs. Les m\u00e9thodes bas\u00e9es sur les tests de code sont limit\u00e9es par le fait que pour d\u00e9tecter des erreurs, il faut cr\u00e9er des conditions pour que le probl\u00e8me se manifeste. Couvrir toutes les variations possibles n'est pas r\u00e9alisable, donc de nombreuses erreurs restent inaper\u00e7ues.               <\/p>\n<p>Pour les processus syst\u00e8me sous Android, Google suit la \"r\u00e8gle des deux\", selon laquelle tout code ajout\u00e9 ne doit r\u00e9pondre qu'\u00e0 deux conditions parmi trois : traiter des donn\u00e9es d'entr\u00e9e non v\u00e9rifi\u00e9es, utiliser un langage de programmation dangereux (C\/C++) et s'ex\u00e9cuter sans une isolation sandbox stricte (pr\u00e9sence de privil\u00e8ges accrus). De cette r\u00e8gle d\u00e9coule que le code destin\u00e9 \u00e0 traiter des donn\u00e9es externes doit soit \u00eatre r\u00e9duit \u00e0 des privil\u00e8ges minimaux (isol\u00e9), soit \u00eatre \u00e9crit dans un langage de programmation s\u00fbr.         <\/p>\n<p>Google n'a pas l'intention de r\u00e9\u00e9crire le code C\/C++ existant en Rust, mais pr\u00e9voit d'utiliser ce langage pour le d\u00e9veloppement de nouveau code. Utiliser Rust pour le nouveau code est judicieux, car les statistiques montrent que la majorit\u00e9 des erreurs apparaissent dans le nouveau code ou celui r\u00e9cemment modifi\u00e9. En particulier, environ 50 % des erreurs de gestion de la m\u00e9moire sur Android sont d\u00e9tect\u00e9es dans le code \u00e9crit depuis moins d'un an.      <center><img decoding=\"async\" alt=\"Rust est devenu l&#039;un des principaux langages pour le d\u00e9veloppement de la plateforme Android\" src=\"\/wp-content\/uploads\/2021\/04\/4b33e5ecee70284872fc42dabcbfc372.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=54918\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Rust \u0432 \u0447\u0438\u0441\u043b\u043e \u044f\u0437\u044b\u043a\u043e\u0432, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android. \u041a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440 \u044f\u0437\u044b\u043a\u0430 Rust \u0431\u044b\u043b \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0432 \u0434\u0435\u0440\u0435\u0432\u043e \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0445 \u0442\u0435\u043a\u0441\u0442\u043e\u0432 Android \u0435\u0449\u0451 \u0432 2019 \u0433\u043e\u0434\u0443, \u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043e\u0441\u0442\u0430\u0432\u0430\u043b\u0430\u0441\u044c \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0439. \u041e\u0434\u043d\u0438\u043c\u0438 \u0438\u0437 \u043f\u0435\u0440\u0432\u044b\u0445 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 \u043d\u0430 Rust, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043b\u0430\u043d\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0432 Android, \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u043e\u0432\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c\u0430 \u043c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043d\u043e\u0433\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f Binder \u0438 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":99683,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-99682","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.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Rust \u0432 \u0447\u0438\u0441\u043b\u043e \u044f\u0437\u044b\u043a\u043e\u0432, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android.\" \/>\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\/fr\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\udd47Rust \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0432 \u0447\u0438\u0441\u043b\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Rust \u0432 \u0447\u0438\u0441\u043b\u043e \u044f\u0437\u044b\u043a\u043e\u0432, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android\" \/>\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=\"2021-04-07T14:22:46+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2021-04-07T14:22: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\udd47Rust est inclus parmi les principaux langages pour le d\u00e9veloppement de la plateforme Android | ProHoster","description":"Google a annonc\u00e9 l'inclusion du langage de programmation Rust parmi les langages autoris\u00e9s pour le d\u00e9veloppement de la plateforme Android.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","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\udd47Rust \u0432\u043a\u043b\u044e\u0447\u0451\u043d \u0432 \u0447\u0438\u0441\u043b\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u044f\u0437\u044b\u043a\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Rust \u0432 \u0447\u0438\u0441\u043b\u043e \u044f\u0437\u044b\u043a\u043e\u0432, \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0445 \u0434\u043b\u044f \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b Android.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android","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":"2021-04-07T14:22:46+00:00","article:modified_time":"2021-04-07T14:22:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"99682","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-04-07 15:21:42","updated":"2022-10-08 03:45:48","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/99682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=99682"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/99682\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/99683"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=99682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=99682"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=99682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}