Në kernelin Linux 6.18 është pranuar implementimi i Binder IPC për Android, e shkruar në Rust.

Në kodin bazë të bërthamës Linux, mbi të cilin formohet lëshimi 6.18, është pranuar realizimi i mekanizmit të ndërlidhjes ndërproçesore Binder, e shkruar në gjuhën Rust. Binder përdoret në Android për të organizuar ndërveprimin midis proceseve dhe thirrjen e metodave nga distanca (një proces Android mund të thërrasë një metodë apo funksion në një proces tjetër Android, duke përdorur Binder për identifikimin, thirrjen dhe kalimin e argumenteve midis proceseve). Kodi i Binder-it u riprodhua në Rust si pjesë e një projekti për forcimin e sigurisë, promovimin e teknikave të programimit të sigurta dhe përmirësimin e efektivitetit të zbulimit të problemeve në punën me memorien në Android (rreth 70% e të gjitha dobësive të rrezikshme të zbuluara në Android janë shkaktuar nga gabimet në punën me memorien).

PĂ«rdorimi i Rust ka ndihmuar nĂ« zgjidhjen e disa problemeve me tĂ« cilat janĂ« pĂ«rballur zhvilluesit e Binder, duke pĂ«rfshirĂ« gabimet lidhur me numĂ«rimin e referencave, bllokadat dhe kontrollin e kufijve, si dhe duke zvogĂ«luar ndjeshĂ«m kompleksitetin e trajtimit tĂ« gabimeve. Implementimi i Binder nĂ« Rust Ă«shtĂ« funksionalisht i ngjashĂ«m me variantin origjinal nĂ« gjuhĂ«n C, kalon tĂ« gjitha testet AOSP (Projekti Open-Source i Android) dhe mund tĂ« pĂ«rdoret pĂ«r tĂ« krijuar redaktime operative tĂ« firmware-it tĂ« Android. MegjithĂ«se ofron mundĂ«si tĂ« avancuara dhe mbĂ«shtetje pĂ«r objekte me semantikĂ« komplekse pronĂ«sie, drivere nĂ« Rust rezultoi tĂ« ishte mĂ« i vogĂ«l se varianti nĂ« C — 5.5 pĂ«r 5.8 mijĂ« rreshta kod.

Në përshkrimin e komitetit, autori përmend arsyet e mëposhtme për ripërkthimin e Binder:

  • Binder ka qenĂ« nĂ« zhvillim pĂ«r 15 vjet dhe gjatĂ« kĂ«saj kohe funksionaliteti dhe kompleksiteti i tij janĂ« rritur ndjeshĂ«m — projekti ndodhet nĂ« ndĂ«rfaqen e tĂ« gjitha elementeve tĂ« Android-it dhe mbulon shumĂ« detyra qĂ« shkojnĂ« pĂ«rtej IPC:
    • analizĂ« e saktĂ« dhe transformim tĂ« pĂ«rmbajtjes sĂ« transaksioneve, tĂ« cilat mund tĂ« pĂ«rmbajnĂ« disa objekte tĂ« ndryshme (p.sh., tregues, deshifues dosjesh), duke bashkĂ«vepruar me njĂ«ri-tjetrin;
    • kontrolli i madhĂ«sisĂ« sĂ« grupeve tĂ« vazhduese nĂ« hapĂ«sirĂ«n e pĂ«rdoruesit dhe sigurimin e caktimit tĂ« transaksioneve tĂ« vazhdueshme nĂ« mĂ«nyrĂ« qĂ« tĂ« shmangen bllokimet kur shterojnĂ« vazhduesit nĂ« grup;
    • ndjekja e numĂ«ruesve tĂ« referencave tĂ« objekteve qĂ« pĂ«rdoren nga disa procese, duke e dĂ«rguar saktĂ«sisht ndryshimin e numĂ«ruesve tĂ« referencave midis proceseve;
    • trajtim i skenarĂ«ve tĂ« shumtĂ« tĂ« shfaqjes sĂ« gabimeve dhe kombinimi i 13 bllokimeve tĂ« ndryshme, 7 numĂ«ruesve tĂ« referencave dhe variablave atomikĂ«. GjatĂ« kĂ«saj, ai duhet tĂ« kryejĂ« detyra tĂ« tilla sa mĂ« shpejt dhe saktĂ«.
  • NĂ« kodin e vjetĂ«r Ă«shtĂ« akumuluar njĂ« borxh i dukshĂ«m teknik, i cili e ka komplikuar si gjetjen e gabimeve ashtu edhe zhvillimin e mĂ«tejshĂ«m. PĂ«r shembull, nĂ« thelbin e tij hasen funksione tĂ« mĂ«dha me mĂ« shumĂ« se njĂ« mijĂ« rreshta kod, metoda tĂ« dyshimta tĂ« trajtimit tĂ« gabimeve dhe struktura tĂ« komplikuara.
  • Binder Ă«shtĂ« njĂ« komponent kritik nĂ« aspektin e sigurisĂ« pĂ«r Android, pasi elementĂ«t e platformĂ«s qĂ« operojnĂ« nĂ« mjedise tĂ« izoluar sandbox, si procesi i renderimit nĂ« Chrome dhe SW Codec, kanĂ« qasje tĂ« drejtpĂ«rdrejtĂ« nĂ« tĂ«, dhe njĂ« dobĂ«si nĂ« Binder do tĂ« lejonte anashkalimin e izolimit. Kompleksiteti i lartĂ« sĂ« bashku me borxhin teknik e komplikon ndjeshĂ«m ruajtjen e njĂ« niveli tĂ« lartĂ« tĂ« sigurisĂ« nĂ« Binder.

Burimi: opennet.ru

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster