Rust ass ënnert den Haaptsprooche fir Android Plattformentwécklung abegraff

Google huet d'Inklusioun vun der Rust Programméierungssprooch ënner de Sproochen ugekënnegt, déi erlaabt sinn fir d'Android Plattform z'entwéckelen. De Rust Sproochcompiler gouf am Android Quellbaum zréck am Joer 2019 abegraff, awer d'Ënnerstëtzung fir dës Sprooch ass experimentell bliwwen. E puer vun den éischte Rust Komponente geplangt fir Android enthalen nei Implementatiounen vum Binder Interprocess Kommunikatiounsmechanismus an dem Bluetooth Stack.

D'Aféierung vu Rust gouf als Deel vun engem Projet duerchgefouert fir d'Sécherheet ze stäerken, sécher Programméierungstechniken ze förderen an d'Effizienz ze erhéijen fir Probleemer z'identifizéieren wann Dir mat Erënnerung an Android schafft. Et gëtt bemierkt datt ongeféier 70% vun alle geféierleche Schwachstelle identifizéiert an Android duerch Feeler verursaacht ginn wann Dir mat Erënnerung schafft. D'Benotzung vu Rust, déi sech op d'Erënnerungssécherheet an d'automatesch Gedächtnisverwaltung konzentréiert, reduzéiert de Risiko vu Schwachstelle verursaacht duerch Erënnerungsfehler wéi After-Free Zougang a Pufferiwwerschëss.

Rust erzwéngt d'Erënnerungssécherheet bei der Kompiléierungszäit duerch Referenzprüfung, Objektbesëtzer an Objektliewensdauer Tracking (Scope), an duerch d'Evaluatioun vun der Richtegkeet vun den Erënnerungszougäng bei der Runtime. Rust bitt och Schutz géint ganz Zuelen Iwwerschwemmungen, erfuerdert datt variabel Wäerter virum Gebrauch initialiséiert ginn, huet e bessere Fehlerhandhabung an der Standardbibliothéik, benotzt d'Konzept vun onverännerleche Referenzen a Variablen als Standard, a bitt staark statesch Tippen fir logesch Feeler ze minimiséieren.

An Android gëtt Erënnerungssécherheet an de scho ënnerstëtzte Sproochen Kotlin a Java geliwwert, awer si sinn net gëeegent fir Systemkomponenten z'entwéckelen wéinst héijer Overhead. Rust mécht et méiglech Leeschtung no bei der C an C ++ Sproochen ze erreechen, déi erlaabt et fir Entwécklungslänner niddereg-Niveau Deeler vun der Plattform a Komponente fir Interaktioun mat Hardware benotzt ginn.

Fir d'Sécherheet vum C an C ++ Code ze garantéieren, benotzt Android Sandkëschtisolatioun, statesch Analyse a Fuzzing Testen. D'Fäegkeete vun der Sandkëschtisolatioun si limitéiert an hunn d'Limite vun hire Fäegkeeten erreecht (weider Fragmentatioun a Prozesser ass onpraktesch aus der Siicht vum Ressourceverbrauch). Aschränkungen fir d'Benotzung vun der Sandkëscht enthalen grouss Overheadkäschten a verstäerkten Erënnerungsverbrauch verursaacht duerch d'Noutwendegkeet fir nei Prozesser ze spawnen, souwéi zousätzlech Verspéidungen verbonne mat der Benotzung vun IPC.

Zur selwechter Zäit eliminéiert d'Sandbox net Schwachstelle am Code, awer reduzéiert nëmmen d'Risiken a komplizéiert d'Attack, well d'Ausbeutung d'Identifikatioun vun net engem, mee e puer Schwachstelle erfuerdert. Methoden baséiert op Code Testen sinn limitéiert an datt fir Feeler z'identifizéieren, ass et néideg Konditiounen ze schafen fir de Problem selwer ze manifestéieren. Et ass net méiglech all méiglech Optiounen ze decken, sou datt vill Feeler onnotéiert ginn.

Fir Systemprozesser an Android hält Google sech un d'"Regel vun zwee", no deem all addéierte Code net méi wéi zwee vun dräi Konditioune muss erfëllen: mat onvalidéierten Inputdaten schaffen, eng onsécher Programméierungssprooch benotzen (C/C++), an Lafen ouni strikt Sandkëscht Isolatioun (mat erhiewte Privilegien). Dës Regel implizéiert datt de Code fir d'Veraarbechtung vun externen Donnéeën entweder op minimale Privilegien (isoléiert) reduzéiert oder an enger sécherer Programméiersprooch geschriwwe gëtt.

Google zielt net den existente C / C ++ Code am Rust ëmzeschreiwen, awer plangt dës Sprooch ze benotzen fir nei Code z'entwéckelen. Et mécht Sënn fir Rust fir neie Code ze benotzen, well statistesch déi meescht Bugs an neien oder kierzlech geännerten Code erschéngen. Besonnesch ongeféier 50% vun detektéierten Erënnerungsfehler am Android ginn am Code festgestallt, deen manner wéi engem Joer geschriwwe gouf.

Rust ass ënnert den Haaptsprooche fir Android Plattformentwécklung abegraff


Source: opennet.ru

Setzt e Commentaire