Mendimi i Greg Croa-Hartman dhe Kase Cook për promovimin e Rust në bërthamën e Linux

Greg Kroah-Hartman, i cili është përgjegjës për mbështetje e degës stabile të bërthamës Linux, ka shprehur mbështetje për zhvillimin e komponenteve të reja të bërthamës në gjuhën Rust. Si një person përmes të cilit kalon të gjithë informacioni për gabimet dhe vulnerabilitetet në bërthamën Linux për 15 vitet e fundit, ai pret që shumica e gabimeve në bërthama janë shkaktuar nga karakteristika të papërfshira të gjuhës C (corner case), të cilat përjashtohen plotësisht në kodin në gjuhën Rust.

Me përdorimin e Rust, do të lëmë në të kaluarën probleme si përdorimi i memories pas çlirimit të saj, shkelja e kufirit të buffer-it (në pjesë), çlirimi i papërshtatshëm i burimeve gjatë trajtimit të gabimeve dhe kontrolli i harxhuar i kodëve të kthimit të gabimeve, gjë që do t'i mundësojë mbajtësve të përqendrohen në gabime reale, siç janë gjendjet e përleshjes dhe problemet logjike, dhe jo të shpërndajnë vëmendjen gjatë rishikimit në detaje të parëndësishme.

Kodi ekzistues i vjetër në gjuhën C nuk do të zhduket, por për kodin e ri dhe për drejtuesit e rinj, implementimi i Rust do të lejojë një rritje të konsiderueshme të cilësisë. Implementimi i Rust gjithashtu do të ofrojë mundësinë për të strukturuar ndërfaqet e brendshme të programit të bërthamës në një mënyrë që do të eliminojë praktikisht gabimet në përdorimin e API-ve të brendshme—në bërthamë janë akumuluar shumë API të komplikuara dhe të ngatërruara, të cilat krijojnë një ngarkesë të madhe për mbajtësit në punën e tyre për të verifikuar nëse këto API përdoren saktë. Gjatë zhvillimit të mjediseve Rust, mbajtësit kanë mundësinë të ripërcaktojnë dhe rregullojnë API-të, gjë që do të sjellë përfitime për të gjithë, duke përfshirë ata që përdorin gjuhën C.

Greg nuk e sheh Rust-in si "një plumb argjendi", i cili do të zgjidhë të gjitha problemet në bërthamë, por ky gjuhë do të ndihmojë krijuesit në një numër të madh situatash. Mbështetja për Rust gjithashtu do të përmbushë nevojat e zhvilluesve të drejtuesve, të cilët shpresojnë të fitojnë një mjet që u lejon të shkruajnë kod për pajisjet e tyre, duke përjashtuar shumë lloje gabimesh. sa i përket përzierjes së disa gjuhëve, Greg nuk e sheh këtë si një problem të madh, sipas tij, në të kaluarën zhvilluesit e bërthamës janë marrë me detyra më serioze dhe nuk ka asnjë arsye për të hequr dorë nga promovimi i ideve të reja të mira në bërthamë, të cilat do të ndihmojnë në sigurimin e suksesit të projektit për 20+ vitet e ardhshme.

Diskutimi u bashkëngjit nga Kees Cook, ish-administratori kryesor i sistemit në kernel.org dhe lideri i Ekipit të Sigurisë së Ubuntu. Kees sqaroi se nuk bëhet fjalë për ripërpilimin e kodit tashmë ekzistues në bërthamë, por për sigurimin e mundësisë për përdorimin e Rust për të krijuar shoferë dhe nën-sisteme të reja. Përdorimi i Rust për kodin e ri do të lejojë jo vetëm uljen e numrit të gabimeve gjatë punës me memory, por gjithashtu do të bjerë koha e zhvillimit. Shpejtësia e zhvillimit rritet falë reduktimit të përpjekjeve për debugging dhe pranisë në gjuhë të garancive strikte që mundësojnë identifikimin e gabimeve në faza të hershme të shkruarjes së kodit, para fillimit të testimit të produktit.

Efektiviteti i taktikës së përdorimit të Rust për përmirësimin e cilësisë së kodit të ri është demonstruar tashmë nga Google në platformën Android. Është treguar se burimi kryesor i problemeve të sigurisë është kodi i ri, dhe duhen kushtuar vëmendje të veçantë përmirësimit të cilësisë së tij. Për kodin e vjetër ka një varësi eksponenciale të sigurisë nga koha (për shembull, një kod 5-vjeçar në mesatarisht ka 3.4 herë më pak densitet të dobësive se sa kodi i ri).

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