JavaScript is currently disabled.Please enable it for a better experience of Jumi. Google betalar för robustare Linux

En utvecklare vid namn Miguel Ojeda kommer under ett år att ägna sig på heltid åt nåt som redan är hans favoritprojekt: att smyga in kod författad i programspråket Rust i Linuxkärnan.

All kod i Linuxkärnan är idag skriven i C vilket inte är optimalt ur kodkvalitetssynpunkt. C är effektivt genom att ge stora friheter, men attraherar lätt buggar.

Operativsystemet Unix skrevs en gång i tiden i C och den traditionen har hållit sig fast. Idag finns bättre språk för systemnära programmering, som Rust. Därom råder ett starkt konsensus.

Det är svårare att av misstag introducera säkerhetshål i Rust. En C-programmerare är friare vilket även innebär större möjligheter att göra misstag. Kod i Rust ska inte bli mindre effektiv än C. Som bonus finns ett antal smidiga uttrycksmöjligheter i Rust som det mer spartanska C saknar.

Miguel Ojeda grundade ett projekt som heter Rust-for-Linux vars blygsamma mål är att skapa en kompatibilitet mellan Rust och C. Det ska bli möjligt att integrera Rust-kod i Linux. 

Försiktigtvis endast i drivrutiner och liknande kod, dock. Poängen med det är att drivrutiner bara ansvarar för sig själva. Problem i dem kan inte orsaka problem i andra delar av kärnan. Även annan kod som uppfyller samma kriterium – att de inte påverkar kärnan i övrigt – kan komma ifråga för att implementeras i Rust.

Att Rust är ett bättre språk än C är okontroversiellt. Finns det tveksamheter handlar de om andra saker, som att det kan vara exkluderande eftersom det kräver inlärning av en ny färdighet. Eller kanske risken är att Rust blir en dagslända och att kompetensen och verktygen att underhålla Rust-kod ruttnat bort om tio år? 

Google har donerat pengar för att Miguel Ojeda ska kunna ägna sig på heltid åt projektet Rust-for-Linux under ett år.  Han skapade projektet och jobbar redan deltid där. 

Den som beslutade att pengarna skulle gå till Miguel Ojeda var den ideella organisationen ISRG (Internet Security Research Group). Den kämpar för ett säkrare Internet.  Exempelvis är det ISRG som ligger bakom gratistjänsten Let’s Encrypt som hjälper webbsajter (inklusive etn.se) att hålla sig uppdaterade med färska säkerhetscertifikat.

Logiken för ISRG i att finansiera Miguel Ojeda är att Linux är en grundkomponent i Internets infrastruktur. Att höja robustheten i Linux kommer därmed att öka säkerheten på Internet. Google håller med och säger att det även är dess erfarenhet att satsningar på infrastruktur är det som ger mest utbyte per krona.

ISRG letar aktivt efter nyckelpersoner att finansera – personer som ger bra ROI vad gäller Internetsäkerhet. Närmare bestämt har ISRG efter analys kommit fram till att bland det viktigaste som kan göras för att höja säkerheten på nätet, är att se till att mer kod är minnessäker – en akilleshäl i C. 

En tumregel är att hela två tredjedelar av alla säkerhetsproblem i kod beror på minneshanteringsproblem –  buffertar flödar över, oreserverat minne tas i bruk och annat. Rusts i sammanhanget stora fördel mot C kan alltså kort och gott sammanfattas till att det rent statistiskt borde trolla bort två tredjedelar av alla potentiella säkerhetsproblem.  

Minneshanteringsproblem är så viktigt för Internetsäkerheten att det fått ett eget delprojekt inom ISRG kallat Prossimo med sponsring av enskilda utvecklare som verktyg. Och det är därifrån Miguel Ojedas finansiering härstammar.

Innan ISRG upptäckte projektet Rust-for-Linux hade ISRG i det närmaste gett upp idén om att höja minnessäkerheten i Linux. Rust-for-Linux tände ett nytt hopp.

To be honest, when we first starting thinking about how to bring memory safety to the Linux kernel, the problem seemed intractable. Then we learned that about the Rust for Linux project.

Det är inte bara Linux som snurrar på C utan även mycket annan Internetinfrastruktur. C och dess objektorienterade derivat C++ pekas direkt ut som syndabockarna i Prossimos programförklaring. 

Gissa vem mer som sponsras av Prossimo sedan tidigare?

Svensken Daniel Stenberg. Hans öppna och extremt populära filöverföringsbibliotek Curl ska få stöd för vissa Rust-implementeringar. Här är det Google och Amazon som hostat upp pengarna.

Prenumerera på Elektroniktidningens nyhetsbrev eller på vårt magasin.


MER LÄSNING:
 
KOMMENTARER
Kommentarer via Disqus

Rainer Raitasuo

Rainer
Raitasuo

+46(0)734-171099 rainer@etn.se
(sälj och marknads­föring)
Per Henricsson

Per
Henricsson
+46(0)734-171303 per@etn.se
(redaktion)

Jan Tångring

Jan
Tångring
+46(0)734-171309 jan@etn.se
(redaktion)