Rust është përfshirë në mesin e gjuhëve kryesore për zhvillimin e platformës Android

Kompania Google shpalli se gjuha e programimit Rust është përfshirë në listën e gjuhëve të lejuara për zhvillimin e platformës Android. Kompilatori i gjuhës Rust u përfshi në pemën e kodit burimor të Android që në vitin 2019, por mbështetja për këtë gjuhë ka mbetur eksperimentale. Një nga komponentët e parë në Rust, që pritet të ofrohen në Android, janë realizimet e reja të mekanizmit për komunikimin ndërprocesor Binder dhe të stack-ut Bluetooth.

Implementimi i Rust është bërë në kuadër të një projekti për forcimin e sigurisë, promovimin e teknikave të programimit të sigurt dhe përmirësimin e efikasitetit në identifikimin e problemeve me kujtesën në Android. Raportohet se rreth 70% e të gjitha dobësive të rrezikshme të zbuluara në Android shkaktohen nga gabimet në menaxhimin e kujtesës. Përdorimi i gjuhës Rust, e cila fokusohet në punën e sigurt me kujtesën dhe siguron menaxhimin automatik të kujtesës, do të zvogëlojë rrezikun e shfaqjes së dobësive të shkaktuara nga gabimet në punën me kujtesën, siç është qasja në një zonë kujtese pas lirimit të saj dhe dalja përtej kufijve të buffers.

Siguria e punës me kujtesën në Rust sigurohet gjatë kompilimit përmes kontrollit të referencave, gjurmimit të pronësisë së objekteve dhe llogaritjes së kohëzgjatjes së jetës së objekteve (zona e dukshmërisë), si dhe përmes vlerësimit të saktësisë së akseseve të kujtesës gjatë ekzekutimit të kodit. Rust gjithashtu ofron mjete për mbrojtje nga tejkalimet e numrave të plotë, kërkon inicializimin e detyrueshëm të vlerave të variablave përpara përdorimit, përpunon më mirë gabimet në bibliotekën standarde, përdor konceptin e referencave dhe variablave të pandryshueshëm (immutable) si parazgjedhje, dhe ofron tipizim të fortë statik për të minimizuar gabimet logjike.

Në Android, siguria e punës me kujtesën sigurohet në gjuhët e mbështetura Kotlin dhe Java, por ato nuk janë të përshtatshme për zhvillimin e komponenteve sistemike për shkak të kostove të larta. Rust ofron mundësinë për të arritur performancë të ngjashme me gjuhët C dhe C++, gjë që e bën atë të përshtatshëm për zhvillimin e pjesëve të ulëta të platformës dhe komponenteve për ndërveprimin me pajisjet.

Për të siguruar sigurinë e kodit në C dhe C++ në Android aplikohet izolimi i sandbox-it, analiza statike dhe testimi me fuzzing. Mundësitë e izolimit të sandbox-it janë të kufizuara dhe kanë arritur në kufirin e tyre (ndarja e mëtejshme në procese nuk është e arsyeshme në aspektin e konsumit të burimeve). Nga kufizimet e përdorimit të sandbox-it përmenden kostot e larta dhe rritja e konsumit të kujtesës, për shkak të nevojës për të krijuar procese të reja, si dhe shfaqja e vonesave shtesë të lidhura me përdorimin e IPC.

Megjithatë, sandbox-i nuk eliminoi dobësitë në kod, por vetëm zvogëlon rreziqet dhe e bën më të vështirë kryerjen e një sulmi, pasi për shfrytëzimin e saj kërkohet identifikimi i jo një, por disa dobësive. Metodat e bazuara në testimin e kodit janë të kufizuara në kuptimin se për të zbuluar gabimet është e nevojshme të krijohen kushte për shfaqjen e problemeve. Mbulimi i të gjitha mundësive nuk është i mundur, prandaj shumë gabime mbeten të paidentifikuara.

Për proceset sistemike në Android, kompania Google ndjek "rregullin e dy" sipas të cilit çdo kod i shtuar duhet të përfshihet në jo më shumë se dy nga tre kushte: puna me të dhëna të paverifikuara, përdorimi i gjuhëve të programimit të pasigurta (C/C++) dhe ekzekutimi pa izolim të ashpër sandbox (prania e privilegjeve të larta). Nga ky rregull, ndjekimi i të dhënave të jashtme duhet të jetë ose i reduktuar në privilegje minimale (izoluar), ose të jetë shkruar në një gjuhë programimi të sigurt.

Google nuk ka për qëllim të ri-shkruajë kodin ekzistues në C/C++ me Rust, por planifikon të përdorë këtë gjuhë për zhvillimin e kodit të ri. Përdorimi i Rust për kodin e ri ka kuptim, pasi statistikat tregojnë se shumica e gabimeve shfaqen në kodin e ri ose në atë që është ndryshuar kohët e fundit. Në veçanti, rreth 50% e gabimeve të identifikuara në menaxhimin e kujtesës në Android zbulohen në kodin e shkruar më pak se një vit më parë.

Rust është përfshirë në mesin e gjuhëve kryesore për zhvillimin e platformës Android


Burimi: opennet.ru
Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster