Google je odprl sistem za ustvarjanje okolja peskovnika za C / C ++

google

Pred nekaj dnevi Google je napovedal odprtje projekta Sandboxed APITo Omogoča avtomatizacijo postopka ustvarjanja peskovnika za izolirano izvajanje poljubnih knjižnic v C in C ++.

Ločevanje kode iz knjižnic omogoča zaščito pred možnimi napadi na ročaje knjižnic, ustvarjanje dodatne ovire, če v vaši kodi obstajajo ranljivosti, ki jih je mogoče izkoristiti z manipulacijami z zunanjimi podatki, ki vstopajo v knjižnico. Koda je odprta pod licenco Apache 2.0.

Izolacijaali pa je to opravljeno z izvajanjem Sandbox2, v katerem se uporabljajo imenski prostori, skupine in seccomp-bpf.

Koda, dostavljena v peskovnik, ki deluje v ločenem procesu, za katerega je dostop do sistemskih klicev in virovdatotek in omrežnih povezav je omejena.

Procesi dobijo dostop samo do sistemskih zmogljivosti, ki so neposredno potrebne za izvajanje izolirane kode.

Sandbox2 definira komponente za zagon procesaali uporabite pravila izolacije in podprite nadaljnjo izvedbo.

Peskovnik2 lahko se uporablja ločeno od Sandbox API-ja za izolacijo ne samo knjižnic, temveč tudi poljubnih procesov.

Poleg večje zaščite je pozitivna točka pri odpravi kode v ločenih procesih tudi možnost ločene regulacije omejitev porabe pomnilnika knjižnice in CPU ter zaščita pred napakami: okvara v knjižnica ne povzroči zrušitve celotne aplikacije.

O Sandboxed API-ju

Sandboxed API je vtičnik Sandbox2 kar poenostavlja prevoz obstoječih knjižnic, da teče v izoliranem načinu.

API v peskovniku ponuja vmesni programski vmesnik, ki vam omogoča zagon kode knjižnice v okolju peskovnikakot tudi organiziranje klica v knjižnico v okolju s peskovnikom in zagotavljanje dostave rezultatov knjižnice glavnemu programu.

Se dostopa do izolirane knjižnice prek specializiranega RPC, ki temelji na protokolu ProtoBuffs.

A razvijalcem knjižnic je na voljo nabor možnosti, ki omogočajo dostop do spremenljivk, deskriptorji datotek, medpomnilniki in funkcije knjižnice, izolirane od osnovne aplikacije, vključno z orodji za samodejno in nadzorovano sinhronizacijo pomnilnika za skupno rabo nizov in struktur.

sapi-pregled

Kadar je knjižnica programske opreme, ki analizira takšne podatke, dovolj zapletena, je lahko žrtev določenih vrst varnostnih ranljivosti: napak v pomnilniku ali drugih vrst težav, povezanih z analizo logike (na primer težave pri prehodu poti).). Te ranljivosti imajo lahko resne varnostne posledice.

Poleg tega, Na voljo je API za spremljanje delovanja izoliranih procesov in njihov ponovni zagon v primeru napak.

Za izolirano knjižnico se samodejno ustvari koda pripisov izoliranih funkcij za sistem sestavljanja Bazel in programski vmesnik (SAPI) za interakcijo med osnovnimi in izoliranimi procesi.

Razvijalec mora ustvariti tudi datoteko glave s pravili izolacije, ki opredeljujejo vse dovoljene sistemske klice in operacije (branje, pisanje, odpiranje datotek, dostop do časa, možnost namestitve obdelovalcev signalov, podpora za dodeljevanje pomnilnika prek malloc itd.).

Datoteke in imeniki, do katerih bi morala imeti knjižnica dostop, se določijo ločeno.

Namestitev

Trenutno je projekt na voljo samo za Linux, v prihodnosti pa obljubljajo, da bodo dodali podporo za sisteme macOS in BSD, dolgoročno pa tudi za Windows. Da če želite namestiti api v peskovniku, lahko sledite navodilom na tej povezavi.

Od načrtov je tudi zapisano sposobnost izolacije knjižnic v jezikih, ki niso C in C ++, dodatna izvajalna podpora za izolacijo (npr. na osnovi virtualizacije strojne opreme) in sposobnost uporabe CMake in drugih montažnih sistemov (podpora je zdaj omejena na sistem Bazel build).

vir: https://security.googleblog.com


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.