{"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\/da\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android","title":{"rendered":"Rust er blevet inkluderet blandt de vigtigste sprog til udvikling af Android-platformen","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Google har annonceret, at programmeringssproget Rust nu er et af de tilladte sprog til udvikling af Android-platformen. Rust-kompilatoren blev allerede inkluderet i Androids kildekode i 2019, men underst\u00f8ttelsen af dette sprog forblev eksperimentel. Nogle af de f\u00f8rste komponenter baseret p\u00e5 Rust, som forventes leveret til Android, er nye implementeringer af mekanismen til procesinteraktion Binder og Bluetooth-stakken.    <\/p>\n<p>Implementeringen af Rust er en del af et projekt, der har til form\u00e5l at styrke sikkerhed, fremme sikre programmeringsmetoder og forbedre effektiviteten af problemidentifikation i hukommelsesh\u00e5ndtering i Android. Det bem\u00e6rkes, at omkring 70 % af alle kritiske s\u00e5rbarheder, der er blevet identificeret i Android, skyldes hukommelsesfejl. Brugen af Rust, som fokuserer p\u00e5 sikker hukommelsesh\u00e5ndtering og automatisk hukommelsesstyring, vil reducere risikoen for s\u00e5rbarheder, der skyldes hukommelsesfejl, s\u00e5som adgang til hukommelse efter den er blevet frigivet og buffer overflow.    <\/p>\n<p>Sikker hukommelsesh\u00e5ndtering i Rust sikres under kompileringen gennem referencekontrol, ejerskabsopf\u00f8lgning og livscyklusstyring af objekter (synlighed), samt gennem evaluering af korrekt adgang til hukommelse under k\u00f8rsel af koden. Rust tilbyder ogs\u00e5 midler til beskyttelse mod heltalsoverl\u00f8b, kr\u00e6ver obligatorisk initialisering af variablers v\u00e6rdier inden brug, h\u00e5ndterer fejl bedre i standardbiblioteket, anvender konceptet for uforanderlige (immutable) referencer og variabler som standard og tilbyder st\u00e6rk statisk typetjek for at minimere logiske fejl.        <\/p>\n<p>I Android sikres sikker hukommelsesh\u00e5ndtering allerede i de underst\u00f8ttede sprog Kotlin og Java, men disse er ikke egnede til udvikling af systemkomponenter p\u00e5 grund af store overheadomkostninger. Rust muligg\u00f8r en ydeevne t\u00e6t p\u00e5 C- og C++-sprog, hvilket g\u00f8r det muligt at bruge det til udvikling af low-level dele af platformen og komponenter til hardwareinteraktion.       <\/p>\n<p>For securing code in C and C++ on Android, sandbox isolation, static analysis, and fuzz testing are applied. The capabilities of sandbox isolation are limited and have reached their peak (further breaking down into processes is impractical concerning resource consumption). Among the limitations of using a sandbox are high overhead costs and increased memory consumption due to the need to spawn new processes, as well as additional delays associated with IPC use.     <\/p>\n<p>The sandbox does not eliminate vulnerabilities in the code but merely reduces risks and complicates the execution of an attack, as exploiting requires identifying not just one, but several vulnerabilities. Code testing methods are limited by the necessity to create conditions for the manifestation of the problem to detect errors. It\u2019s impossible to cover all possible scenarios, which is why many errors go unnoticed.               <\/p>\n<p>For system processes in Android, Google follows the \"two rules\" principle, which states that any added code must meet no more than two out of three conditions: working with unverified input data, using an unsafe programming language (C\/C++), and executing without strict sandbox isolation (having elevated privileges). From this principle, it follows that the code for processing external data must either be stripped down to minimal privileges (isolated) or be written in a safe programming language.         <\/p>\n<p>Google does not aim to rewrite existing C\/C++ code in Rust but plans to use this language for developing new code. Using Rust for new code makes sense, as statistics indicate that most errors surface in new or recently modified code. Specifically, around 50% of detected memory management errors in Android are found in code written less than a year ago.      <center><img decoding=\"async\" alt=\"Rust er blevet inkluderet blandt de vigtigste sprog til udvikling af Android-platformen\" src=\"\/wp-content\/uploads\/2021\/04\/4b33e5ecee70284872fc42dabcbfc372.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Kilde: <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.3 - 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\/da\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"da_DK\" \/>\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\/da\/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 er inkluderet blandt de prim\u00e6re sprog til udvikling af Android-platformen | ProHoster","description":"Google announced the inclusion of the Rust programming language among the languages permitted for developing the Android platform.","canonical_url":"https:\/\/prohoster.info\/da\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"da_DK","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\/da\/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\/da\/wp-json\/wp\/v2\/posts\/99682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/comments?post=99682"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/posts\/99682\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media\/99683"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/media?parent=99682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/categories?post=99682"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/da\/wp-json\/wp\/v2\/tags?post=99682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}