{"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\/pl\/blog\/news\/okolo-21-novogo-kompiliruemogo-koda-v-android-13-napisano-na-yazyke-rust","title":{"rendered":"Oko\u0142o 21% nowego kompilowanego kodu w Androidzie 13 napisano w j\u0119zyku Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>In\u017cynierowie z firmy Google przedstawili pierwsze wnioski dotycz\u0105ce wdro\u017cenia wsparcia dla programowania w j\u0119zyku Rust na platformie Android. W Androidzie 13 oko\u0142o 21% nowego skompilowanego kodu zosta\u0142o napisane w Rust, a 79% w C\/C++. W repozytorium AOSP (Android Open Source Project), w kt\u00f3rym rozwijane s\u0105 \u017ar\u00f3d\u0142a platformy Android, znajduje si\u0119 oko\u0142o 1,5 miliona linii kodu w Rust, zwi\u0105zanych z takimi nowymi komponentami, jak magazyn kluczy kryptograficznych Keystore2, sterownik dla chip\u00f3w UWB (Ultra-Wideband), implementacja protoko\u0142u DNS-over-HTTP3, framework wirtualizacji AVF (Android Virtualization Framework) oraz eksperymentalne sterowniki dla Bluetooth i Wi-Fi.     <center><img decoding=\"async\" alt=\"Oko\u0142o 21% nowego kompilowanego kodu w Androidzie 13 napisano w j\u0119zyku Rust\" src=\"\/wp-content\/uploads\/2022\/12\/6299bf41b363367229b874699034b828.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Zgodnie z wcze\u015bniej przyj\u0119t\u0105 strategi\u0105 zmniejszenia ryzyka pojawiania si\u0119 luk w zabezpieczeniach spowodowanych b\u0142\u0119dami w zarz\u0105dzaniu pami\u0119ci\u0105, j\u0119zyk Rust jest obecnie stosowany g\u0142\u00f3wnie przy tworzeniu nowego kodu oraz do stopniowego poprawiania bezpiecze\u0144stwa najbardziej nara\u017conych i kluczowych komponent\u00f3w oprogramowania. Nie ma og\u00f3lnego celu przet\u0142umaczenia ca\u0142ej platformy na Rust, a stary kod pozostaje w C\/C++, natomiast walka z b\u0142\u0119dami w nim prowadzona jest za pomoc\u0105 test\u00f3w fuzzingowych, analizy statycznej oraz technik programistycznych, takich jak MiraclePtr (oprawa nad surowymi wska\u017anikami, wykonuj\u0105ca dodatkowe kontrole dost\u0119pu do zwolnionych obszar\u00f3w pami\u0119ci), system zarz\u0105dzania pami\u0119ci\u0105 Scudo (bezpieczna alternatywa dla malloc\/free) oraz mechanizmy wykrywania b\u0142\u0119d\u00f3w w zarz\u0105dzaniu pami\u0119ci\u0105 HWAsan (sprz\u0119towy AddressSanitizer), GWP-ASAN i KFENCE.           <\/p>\n<p>Je\u015bli chodzi o statystyki dotycz\u0105ce charakteru podatno\u015bci na platformie Android, zauwa\u017cono, \u017ce wraz z malej\u0105c\u0105 ilo\u015bci\u0105 nowego kodu, kt\u00f3ry niebezpiecznie operuje na pami\u0119ci, zmniejsza si\u0119 r\u00f3wnie\u017c liczba podatno\u015bci spowodowanych b\u0142\u0119dami w pracy z pami\u0119ci\u0105. Na przyk\u0142ad udzia\u0142 podatno\u015bci wywo\u0142anych problemami z pami\u0119ci\u0105 spad\u0142 z 76% w 2019 roku do 35% w 2022 roku. W liczbach absolutnych w 2019 roku zidentyfikowano 223 podatno\u015bci zwi\u0105zanych z prac\u0105 z pami\u0119ci\u0105, w 2020 roku \u2014 150, w 2021 roku \u2014 100, a w 2022 roku \u2014 85 (wszystkie wymienione podatno\u015bci dotycz\u0105 kodu w C\/C++, w kodzie w Rust podobnych problem\u00f3w jeszcze nie znaleziono). Rok 2022 by\u0142 pierwszym rokiem, w kt\u00f3rym podatno\u015bci zwi\u0105zane z pami\u0119ci\u0105 przesta\u0142y dominowa\u0107.       <center><img decoding=\"async\" alt=\"Oko\u0142o 21% nowego kompilowanego kodu w Androidzie 13 napisano w j\u0119zyku Rust\" src=\"\/wp-content\/uploads\/2022\/12\/d75198f9cd7d0b5fdbaa22f56443267b.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>      <\/p>\n<p>Poniewa\u017c podatno\u015bci zwi\u0105zane z prac\u0105 z pami\u0119ci\u0105 zazwyczaj s\u0105 najniebezpieczniejsze, w og\u00f3lnych statystykach r\u00f3wnie\u017c odnotowano spadek liczby krytycznych problem\u00f3w oraz problem\u00f3w, kt\u00f3re mog\u0105 by\u0107 wykorzystywane zdalnie. Przy tym dynamika wykrywania podatno\u015bci niezwi\u0105zanych z prac\u0105 z pami\u0119ci\u0105 w ci\u0105gu ostatnich 4 lat utrzymuje si\u0119 na mniej wi\u0119cej tym samym poziomie \u2014 20 podatno\u015bci miesi\u0119cznie. Utrzymuje si\u0119 tak\u017ce udzia\u0142 niebezpiecznych problem\u00f3w spo\u015br\u00f3d podatno\u015bci spowodowanych b\u0142\u0119dami w pracy z pami\u0119ci\u0105 (ale poniewa\u017c liczba takich podatno\u015bci maleje, maleje tak\u017ce liczba niebezpiecznych problem\u00f3w).      <center><img decoding=\"async\" alt=\"Oko\u0142o 21% nowego kompilowanego kodu w Androidzie 13 napisano w j\u0119zyku Rust\" src=\"\/wp-content\/uploads\/2022\/12\/3dd83819e02c176dd56ea170513a07f4.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>            <\/p>\n<p>Statystyki tak\u017ce \u015bledz\u0105 korelacj\u0119 pomi\u0119dzy obj\u0119to\u015bci\u0105 nowego kodu, kt\u00f3ry niebezpiecznie operuje na pami\u0119ci, a liczb\u0105 luk zwi\u0105zanych z pami\u0119ci\u0105 (przepe\u0142nienie bufora, dost\u0119p do ju\u017c zwolnionej pami\u0119ci itp.). To spostrze\u017cenie potwierdza za\u0142o\u017cenie, \u017ce g\u0142\u00f3wny nacisk przy wdra\u017caniu technik bezpiecznego programowania powinien by\u0107 k\u0142adziony na nowy kod, a nie na przepisywanie istniej\u0105cego, poniewa\u017c wi\u0119kszo\u015b\u0107 wykrywanych luk dotyczy nowego kodu.       <center><img decoding=\"async\" alt=\"Oko\u0142o 21% nowego kompilowanego kodu w Androidzie 13 napisano w j\u0119zyku Rust\" src=\"\/wp-content\/uploads\/2022\/12\/754ec48c806a10ebc7dbec33c78241f1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center><br \/>\n<br \/>\u0179r\u00f3d\u0142o: <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\/pl\/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=\"pl_PL\" \/>\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\/pl\/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\udd47Oko\u0142o 21% nowego kompilowanego kodu w Androidzie 13 zosta\u0142o napisane w j\u0119zyku Rust | ProHoster","description":"In\u017cynierowie z firmy Google podsumowali pierwsze wyniki wprowadzenia wsparcia dla rozwoju na j\u0119zyku Rust w platformie Android. W Androidzie 13 oko\u0142o 21% nowego kompilowanego kodu zosta\u0142o napisane w Rust, a 79% w C\/C++.","canonical_url":"https:\/\/prohoster.info\/pl\/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":"pl_PL","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\/pl\/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\/pl\/wp-json\/wp\/v2\/posts\/105815","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=105815"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/105815\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/105816"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=105815"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=105815"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=105815"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}