Google hapi një sistem për të krijuar ambiente sandbox për C / C ++

Google

Disa ditë më parë Google njoftoi hapjen e projektit Sandboxed APIju mundëson të automatizoni procesin e krijimit të sandbox për ekzekutimin e izoluar të bibliotekave arbitrare në C dhe C ++.

Izolimi i kodit tuaj nga bibliotekat lejon të mbrohet nga sulmet e mundshme në dorezat e siguruara nga bibliotekat, duke krijuar një pengesë shtesë në rast se ka dobësi në kodin tuaj që mund të shfrytëzohen përmes manipulimeve me të dhënat e jashtme që hyjnë në bibliotekë. Kodi është i hapur nën licencën Apache 2.0.

Izolimiose është bërë duke përdorur brenda kohës së ekzekutimit të Sandbox2, në të cilën përdoren hapësirat e emrave, grupet e grupeve dhe seccomp-bpf.

Kodi i dorëzuar në sandbox që funksionon në një proces të veçantë, për të cilin qasja në thirrjet dhe burimet e sistemit, si dhe skedarët dhe lidhjet e rrjetit, është i kufizuar.

Proceset fitojnë akses vetëm në aftësitë e sistemit që kërkohen drejtpërdrejt për të ekzekutuar kodin e izoluar.

Sandbox2 përcakton përbërësit për të ekzekutuar procesinose, zbatoni rregullat e izolimit dhe mbështesni ekzekutimin pasues.

Kuti rëre2 mund të përdoret veçmas nga Sandbox API për të izoluar jo vetëm bibliotekat, por edhe proceset arbitrare.

Përveç rritjes së mbrojtjes, një pikë pozitive në eliminimin e kodit në procese të veçanta është mundësia e një rregullimi të veçantë të kufijve në konsumin e kujtesës së bibliotekës dhe CPU, si dhe mbrojtjen nga dështimet: një dështim në biblioteka nuk bën që i gjithë aplikacioni të prishet.

Rreth API me Sandbox

Sandboxed API është një shtojcë Sandbox2 e cila thjeshton transportin e bibliotekave ekzistuese për të ekzekutuar në mënyrë të izoluar.

API në kuti me rërë siguron një ndërfaqe softueri të ndërmjetëm që ju lejon të ekzekutoni kodin e bibliotekës në një mjedis sandboxsi dhe organizimin e një thirrje për një bibliotekë në një mjedis sandbox dhe sigurimin e shpërndarjes së rezultateve të bibliotekës në programin kryesor.

Se hyn në bibliotekën e izoluar përmes një RPC të specializuar bazuar në protokollin ProtoBuffs.

A Zhvilluesve të bibliotekave u ofrohet një sërë opsionesh që lejojnë hyrjen në ndryshore, përshkruesit e skedarëve, tamponët dhe funksionet e bibliotekës të izoluara nga aplikacioni bazë, duke përfshirë mjetet për sinkronizimin automatik dhe të kontrolluar të kujtesës për ndarjen e vargjeve dhe strukturave.

sapi-pasqyrë

Kur një bibliotekë softuerësh që analizon të dhëna të tilla është mjaft komplekse, ajo mund të bëhet viktimë e llojeve të caktuara të dobësive të sigurisë: gabime të korrupsionit të kujtesës ose lloje të tjera të problemeve që lidhen me logjikën e analizës (për shembull, probleme të përshkimit të rrugës). Këto dobësi mund të kenë implikime serioze të sigurisë.

Përveç kësaj, Ofrohet një API për të monitoruar funksionimin e proceseve të izoluara dhe për t'i rifilluar ato në rast dështimesh.

Për bibliotekën e izoluar, kodi i shënimeve të funksioneve të izoluara gjenerohet automatikisht për sistemin e montimit Bazel dhe ndërfaqen e programit (SAPI) për ndërveprimin midis proceseve themelore dhe të izoluara.

Zhvilluesi gjithashtu duhet të krijojë një skedar header me rregulla izolimi që përcaktojnë të gjitha thirrjet dhe operacionet e lejuara të sistemit (lexoni, shkruani, hapni skedarët, qasja në kohë, aftësia për të instaluar mbajtës të sinjalit, mbështetje për caktimin e kujtesës përmes malloc, etj.).

Skedarët dhe drejtoritë në të cilat biblioteka duhet të ketë qasje përcaktohen veçmas.

Instalimi

Aktualisht, projekti është i disponueshëm vetëm për Linux, por në të ardhmen ata premtojnë të shtojnë mbështetje për sistemet macOS dhe BSD, dhe në planin afatgjatë, dhe për Windows. po ju doni të instaloni api sandboxed ju mund të ndiqni udhëzimet e dhëna në këtë lidhje.

Nga planet, vërehet gjithashtu aftësia për të izoluar bibliotekat në gjuhë të tjera përveç C dhe C ++, mbështetje shtesë gjatë kohës së izolimit (p.sh. bazuar në virtualizimin e pajisjeve) dhe aftësinë për të përdorur CMake dhe sisteme të tjera montimi (mbështetja tani është e kufizuar në sistemin e ndërtimit Bazel).

Fuente: https://security.googleblog.com


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.