A Google megnyitott egy rendszert a homokozó környezetek létrehozására a C / C ++ számára

Google

Néhány napja A Google bejelentette a Sandboxed API projekt megnyitásátHogy lehetővé teszi a homokozó létrehozásának folyamatát tetszőleges könyvtárak izolált futtatásához C és C ++ nyelven.

A kód elkülönítése a könyvtárakból lehetővé teszi a könyvtárak által biztosított fogantyúk elleni lehetséges védekezés elleni védelmet, további akadályt állítva fel arra az esetre, ha a kódban vannak olyan sérülékenységek, amelyek kihasználhatók a könyvtárba belépő külső adatokkal végzett manipulációk révén. A kód az Apache 2.0 licenc alatt van megnyitva.

Az elszigeteltségvagy a Sandbox2 futásidején belül történik, amelyben a névtereket, a csoportokat és a seccomp-bpf-t használják.

A külön folyamatban futó homokozóba szállított kód, amelyhez hozzáférést biztosít a rendszerhívásokhoz és az erőforrásokhoz, valamint a fájlok és a hálózati kapcsolatok korlátozottak.

A folyamatok csak az olyan rendszerek képességeihez férnek hozzá, amelyek közvetlenül szükségesek az elszigetelt kód végrehajtásához.

A Sandbox2 meghatározza a folyamat futtatásához szükséges összetevőketvagy alkalmazza az elkülönítési szabályokat és támogassa a későbbi végrehajtást.

Homokozó2 a Sandbox API-tól külön használható nemcsak könyvtárak, hanem tetszőleges folyamatok elkülönítésére is.

A fokozott védelem mellett a kód különálló folyamatokban történő megszüntetésének pozitív pontja a könyvtár és a CPU memóriafogyasztásának korlátjainak külön szabályozásának lehetősége, valamint a hibák elleni védelem: a könyvtár nem okozza az egész alkalmazás összeomlását.

A Sandboxed API-ról

A Sandboxed API egy bővítmény a Sandbox2 számára amely leegyszerűsíti a meglévő könyvtárak elszigetelt módban történő futtatását.

API sandboxing köztes szoftveres felületet biztosít, amely lehetővé teszi a könyvtár kódjának futtatását sandbox környezetbenvalamint a könyvtár hívásának megszervezése homokozó környezetben, valamint a könyvtár eredményeinek a fő programba juttatásának biztosítása.

Se az izolált könyvtárhoz egy speciális RPC-n keresztül jut el a ProtoBuffs protokoll alapján.

A a könyvtár fejlesztőknek számos lehetőséget kínálnak, amelyek hozzáférést biztosítanak a változókhoz, az alapalkalmazástól elszigetelt fájlleírók, pufferek és könyvtári funkciók, beleértve az automatizált és vezérelt memóriaszinkronizálási eszközöket tömbök és struktúrák megosztására.

sapi-áttekintés

Amikor egy ilyen adatot elemző szoftverkönyvtár elég összetett, akkor bizonyos típusú biztonsági rések áldozatává válhat: memóriasérülési hibák vagy az elemzési logikával kapcsolatos más típusú problémák (például útvonal-átjárási problémák).). Ezeknek a biztonsági réseknek komoly biztonsági következményei lehetnek.

Ezen túlmenően, API biztosított az elszigetelt folyamatok működésének figyelemmel kísérésére és meghibásodások esetén újraindítására.

Az elkülönített könyvtár esetében az elkülönített függvények kommentárkódja automatikusan generálódik a Bazel összeszerelő rendszer és a program interfész (SAPI) számára az alap- és az elkülönített folyamatok közötti interakcióhoz.

A fejlesztőnek létre kell hoznia egy fejlécfájlt is, amely tartalmazza az összes engedélyezett rendszerhívást és műveletet meghatározó elszigetelési szabályokat (olvasás, írás, fájlok megnyitása, hozzáférés az időhöz, a jelkezelők telepítésének képessége, a memória kiosztásának támogatása malloc-on keresztül stb.).

A fájlokat és könyvtárakat, amelyekhez a könyvtárnak hozzáféréssel kell rendelkezniük, külön határozzuk meg.

Telepítés

Jelenleg a projekt csak Linuxra érhető el, de a jövőben azt ígérik, hogy támogatást nyújtanak a macOS és BSD rendszerekhez, hosszú távon pedig a Windowshoz. Igen a sandboxos api telepítéséhez kövesse a megadott utasításokat ebben a linkben.

A tervek közül azt is megjegyzik a könyvtárak elkülönítésének képessége a C és C ++ nyelvektől eltérő nyelveken, további futásidejű támogatás az elkülönítéshez (pl. hardveres virtualizáción alapul) és a CMake és más szerelő rendszerek használatának képessége (a támogatás most a Bazel build rendszerre korlátozódik).

forrás: https://security.googleblog.com


Hagyja megjegyzését

E-mail címed nem kerül nyilvánosságra. Kötelező mezők vannak jelölve *

*

*

  1. Az adatokért felelős: AB Internet Networks 2008 SL
  2. Az adatok célja: A SPAM ellenőrzése, a megjegyzések kezelése.
  3. Legitimáció: Az Ön beleegyezése
  4. Az adatok közlése: Az adatokat csak jogi kötelezettség alapján továbbítjuk harmadik felekkel.
  5. Adattárolás: Az Occentus Networks (EU) által üzemeltetett adatbázis
  6. Jogok: Bármikor korlátozhatja, helyreállíthatja és törölheti adatait.