Mozilla starter implementeringen af RLBox-biblioteksisoleringsteknologi.

Forskere fra Stanford University, University of California San Diego og University of Texas i Austin har udviklet værktøjer RLBox, som kan anvendes som et ekstra isoleringsniveau for at blokere sårbarheder i funktionsbiblioteker. RLBox sigter mod at løse problemet med usikre tredjepartsbiblioteker, som ikke er under kontrol af udviklerne, men hvor sårbarheder kan kompromittere hovedprojektet.

Mozilla Company at foretage ændringer for at give udvikleren mulighed for at vælge navnet på den første gren ved oprettelsen af et nyt repository. Når kommandoen «git init» udføres, oprettes som standard en gren kaldet «master». Det første skridt vil være at tilføje en indstilling til at ændre navnet på hovedgrenen for de oprettede repositorier. Git's nuværende standardadfærd forbliver uændret, og spørgsmålet om at ændre standardnavnet er stadig under diskussion, der er endnu ikke truffet nogen beslutning på dette område. implementere RLBox i Linux-udgaver af Firefox 74 og macOS-udgaver af Firefox 75 for at isolere udførelsen af biblioteket Graphite, som er ansvarlig for rendering af skrifttyper. RLBox er ikke specifik for Firefox og kan anvendes til at isolere alle biblioteker i vilkårlige projekter. Udviklinger RLBox distribueres under MIT-licensen. I øjeblikket understøtter RLBox drift på Linux- og macOS-platforme, mens Windows-support forventes senere.

Mekanisme RLBox's funktionalitet reduceres til at kompilere C/C++-koden fra det isolerede bibliotek til lavniveau WebAssembly-intermediær kode, som derefter pakkes som et WebAssembly-modul, hvis beføjelser er bundet udelukkende til dette modul (for eksempel kan et bibliotek til strengebehandling ikke åbne en netværkssocket eller en fil). Kodekonvertering fra C/C++ til WebAssembly udføres ved hjælp af wasi-sdk.

For direkte udførelse kompilieres WebAssembly-modulet til maskinkode ved hjælp af kompileringsværktøjet Lucet og udføres i en separat "nano-proces", der er isoleret fra restens hukommelse af applikationen. Kompileren Lucet er baseret på den samme kode som JIT-motoren Cranelift, der anvendes i Firefox til at udføre WebAssembly.

Det samlede modul kører i et separat hukommelsesområde og har ikke adgang til det øvrige adresseområde. I tilfælde af udnyttelse af en sårbarhed i biblioteket vil angriberen være begrænset og ikke kunne få adgang til hukommelsesområderne i hovedprocessen eller overføre styringen uden for det isolerede miljø.

Mozilla starter implementeringen af RLBox-biblioteksisoleringsteknologi.

Til udviklere er der givet et høj-niveau API, som gør det muligt at kalde funktioner fra biblioteket i en isoleret tilstand. WebAssembly-håndterere kræver næsten ingen ekstra ressourcer, og interaktionen med dem er ikke meget langsommere end kaldet til almindelige funktioner (biblioteksfunktionerne udføres i form af sikker kode, og omkostningerne opstår kun ved kopiering og kontrol af data i interaktionen med det isolerede miljø). Funktionerne fra det isolerede bibliotek kan ikke kaldes direkte, og for at få adgang til dem skal man anvende
mellemlaget invoke_sandbox_function().

Hvis man derimod skal kalde eksterne funktioner fra biblioteket, skal disse funktioner være eksplicit defineret ved hjælp af metoden register_callback (som standard giver RLBox adgang til funktionerne fra standardbiblioteket). For at sikre sikker arbejde med hukommelsen (memory safety) er udførelsesisolering alene ikke tilstrækkeligt, og der kræves også kontrol af de returnerede datastreams.

Værdier dannet i det isolerede miljø markereres som ikke betroede, begrænses ved hjælp af tainted-mærker , og for at 'rensning' kræves verifikation og kopiering til applikationens hukommelse.
Uden rensning vil et forsøg på at bruge tainted-data i en sammenhæng, der kræver almindelige data (og omvendt), føre til fejl under kompileringen. Små funktionsargumenter, returnerede værdier og strukturer overføres ved kopiering mellem procesens hukommelse og hukommelsen i det isolerede miljø. For større datasæt tildeles hukommelse i det isolerede miljø, og der returneres en direkte henvisning til hovedprocessen kaldet 'sandbox-reference'.

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster