{"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\/sl\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android","title":{"rendered":"Rust je uklju\u010den u grupu osnovnih jezika za razvoj Android platforme","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Podjetje Google je napovedalo vklju\u010ditev programskega jezika Rust med jezike, dovoljene za razvoj platforme Android. Prevajalnik jezika Rust je bil vklju\u010den v drevo izvornih kod Androida \u017ee leta 2019, vendar je bila podpora za ta jezik \u0161e vedno eksperimentalna. Eden prvih komponent na Rustu, ki naj bi bili v Androidu, so nove izvedbe mehanizma medprocesne komunikacije Binder in Bluetooth sklada.    <\/p>\n<p>Vklju\u010ditev Rusta je bila izvedena v okviru projekta za izbolj\u0161anje varnosti, spodbujanje varnih programskih praks ter pove\u010danje u\u010dinkovitosti pri odkrivanju te\u017eav z delovanjem v spominu v Androidu. Opa\u017eeno je, da okoli 70 % vseh nevarnih ranljivosti, odkritih v Androidu, izhaja iz napak pri upravljanju z delovnim spominom. Uporaba jezika Rust, ki je osredoto\u010den na varno upravljanje s spominom in omogo\u010da avtomatsko upravljanje spomina, bo pomagala zmanj\u0161ati tveganje za ranljivosti, ki izhajajo iz napak pri upravljanju s spominom, kot so dostop do pomnilnika po njegovi osvoboditvi in prekora\u010ditev meja pomnilnika.    <\/p>\n<p>V jeziku Rust se varno upravljanje s spominom zagotavlja med prevajanjem preko preverjanja sklicevanja, spremljanja lastni\u0161tva objektov in upo\u0161tevanja \u017eivljenjske dobe objektov (podro\u010dij vidnosti), pa tudi preko ocenjevanja pravilnosti dostopa do spomina med izvajanjem kode. Rust prav tako nudi sredstva za za\u0161\u010dito pred prelivanjem celih \u0161tevil, zahteva obvezno inicializacijo vrednosti spremenljivk pred uporabo, bolje obravnava napake v standardni knji\u017enici, uporablja koncept nespremenljivosti (immutable) sklicev in spremenljivk kot privzeto ter ponuja mo\u010dno stati\u010dno tipizacijo za minimizacijo logi\u010dnih napak.        <\/p>\n<p>V Androidu varno upravljanje s spominom zagotavljajo \u017ee podprti jeziki Kotlin in Java, vendar ti niso primerni za razvoj sistemskih komponent zaradi velikih re\u017eijskih stro\u0161kov. Rust omogo\u010da dosego zmogljivosti, ki je blizu jezikom C in C++, kar omogo\u010da njegovo uporabo pri razvoju nizkotnih delov platforme in komponent za interakcijo s strojno opremo.       <\/p>\n<p>Za zagotavljanje varnosti kode v C in C++ v Androidu se uporablja izolacija zandbox, stati\u010dna analiza in fuzzing testiranje. Mo\u017enosti izolacije v zandboxu so omejene in so dosegle meje svojih zmo\u017enosti (dodatno deljenje procesov ni smiselno z vidika porabe virov). Med omejitvami uporabe zandboxa se omenjajo velike dodatne obremenitve in porast porabe pomnilnika, ki ga povzro\u010da potreba po ustvarjanju novih procesov, ter nastanek dodatnih zamud, povezanih z uporabo IPC.     <\/p>\n<p>Pri tem zandbox ne odpravlja ranljivosti v kodi, ampak le zmanj\u0161a tveganja in ote\u017ei izvedbo napada, saj je za izkori\u0161\u010danje potrebno odkriti ne eno, ampak ve\u010d ranljivosti. Metode, ki temeljijo na testiranju kode, so omejene s tem, da je za odkrivanje napak potrebno ustvariti pogoje za pojav problema. Pokriti vseh mo\u017enih razli\u010dic ne moremo, zato mnoge napake ostanejo neopa\u017eene.               <\/p>\n<p>Za sistemske procese v Androidu se podjetje Google dr\u017ei &#171;pravila dveh&#187;, po katerem mora vsak dodani kod ustrezati najve\u010d dvema od treh pogojev: obdelava nepreverjenih vhodnih podatkov, uporaba nevarnega programskega jezika (C\/C++) in izvajanje brez trde sandbox izolacije (prisotnost povi\u0161anih privilegijev). Iz tega pravila sledi, da mora biti koda za obdelavo zunanjih podatkov ali zmanj\u0161ana na minimalne privilegije (izolirana) ali napisana v varnem programskem jeziku.         <\/p>\n<p>Google si ne postavlja cilja, da bi prepisal obstoje\u010do kodo C\/C++ v Rust, temve\u010d na\u010drtuje uporabo tega jezika za razvoj nove kode. Uporaba Rusta za novo kodo je smiselna, saj statistika ka\u017ee, da se ve\u010dina napak pojavi v novi ali nedavno spremenjeni kodi. Konkretno, pribli\u017eno 50% odkritih napak pri delu s pomnilnikom v Androidu je zaznanih v kodi, napisani pred manj kot enim letom.      <center><img decoding=\"async\" alt=\"Rust je uklju\u010den u grupu osnovnih jezika za razvoj Android platforme\" src=\"\/wp-content\/uploads\/2021\/04\/4b33e5ecee70284872fc42dabcbfc372.png\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>Izvor: <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.4 - 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\/sl\/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.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sl_SI\" \/>\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\/sl\/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 je vklju\u010den med glavne jezike za razvoj platforme Android | ProHoster","description":"Podjetje Google je napovedalo vklju\u010ditev programskega jezika Rust med jezike, dovoljene za razvoj platforme Android.","canonical_url":"https:\/\/prohoster.info\/sl\/blog\/news\/rust-vklyuchyon-v-chislo-osnovnyh-yazykov-dlya-razrabotki-platformy-android","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sl_SI","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\/sl\/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\/sl\/wp-json\/wp\/v2\/posts\/99682","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/comments?post=99682"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/posts\/99682\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media\/99683"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/media?parent=99682"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/categories?post=99682"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sl\/wp-json\/wp\/v2\/tags?post=99682"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}