out-of-tree v1.0.0 - eszközök exploitok és Linux kernel modulok fejlesztéséhez és teszteléséhez


out-of-tree v1.0.0 - eszközök exploitok és Linux kernel modulok fejlesztéséhez és teszteléséhez

Megjelent az out-of-tree első (v1.0.0) verziója, amely egy exploit és Linux kernelmodulok fejlesztésére és tesztelésére szolgáló eszköztár.

Az out-of-tree lehetővé teszi néhány rutinművelet automatizálását a kernelmodulok és exploitok hibakeresésére szolgáló környezetek létrehozásához, a kizsákmányolás megbízhatósági statisztikáinak generálásához, valamint lehetővé teszi a CI-be (folyamatos integráció) való egyszerű integrációt.

Minden kernelmodult vagy exploitot egy .out-of-tree.toml fájl ír le, amely információkat ad meg a szükséges környezetről és (ha kizsákmányolásról van szó) a működés korlátozásáról bizonyos biztonsági csökkentések esetén.

Az eszközkészlet lehetővé teszi a biztonsági rés által érintett adott kernelverziók azonosítását is (a --guess paranccsal), és egy adott véglegesítés bináris keresésének egyszerűsítésére is használható.

Az alábbiakban a 0.2-es verzió óta végrehajtott változások listája látható.

Hozzáadta

  • Megvalósította a generált (out-of-tree kernel autogen) kernelek számának korlátozását (az .out-of-tree.toml leírása alapján) és az ellenőrzési futtatásokat (out-of-tree pew) a —max= használatával X paraméter.

  • Új genall parancs, amely lehetővé teszi az összes kernel létrehozását egy adott terjesztéshez és verzióhoz.

  • Az összes napló most az sqlite3 adatbázisban van tárolva. Megvalósított parancsok egyszerű, gyakran szükséges lekérdezésekhez, valamint adatok exportálásához json-ba és markdown-ba.

  • Megvalósított számítás a sikeres működés valószínűségére (korábbi indítások alapján).

  • Lehetőség az összeállítási eredmények mentésére (új --dist paraméter a fán kívüli pew parancshoz)

  • Támogatás a gazdagépre telepített kernelek metaadatainak generálásához, valamint közvetlenül a gazdagépre való építéshez.

  • Harmadik fél kerneleinek támogatása.

  • A fán kívüli hibakeresési környezet mostantól automatikusan megkeresi a hibakeresési szimbólumokat a gazdagépen.

  • Hozzáadtuk a biztonsági csökkentések kezelésének lehetőségét a KASLR, SMEP, SMAP és KPTI engedélyezési/letiltási jelzőkkel a hibakeresés során.

  • Hozzáadtuk a --threads=N paramétert az out-of-tree pew testing parancshoz, amellyel megadható a szálak száma, amelyekben exploitokat és kernelmodulokat kell felépíteni/futtatni és tesztelni.

  • Lehetőség van olyan címke beállítására, amely rögzítésre kerül a naplóban, majd statisztikák kiszámításához használható.

  • Hozzáadtuk a kernelverzió megadásának lehetőségét reguláris kifejezések használata nélkül.

  • Új csomag parancs, amely az alkönyvtárak exploitjainak és kernelmoduljainak tömeges tesztelésére szolgál.

  • Az exploit és a kernel modul konfigurációjában (.out-of-tree.toml) hozzáadták a KASLR, SMEP, SMAP és KPTI letiltásának lehetőségét, valamint megadták a szükséges magok és memóriaszámot.

  • Most a képek (rootf) automatikusan betöltődnek, miközben a kernel autogen fut. bootstrap már nincs szükség.

  • CentOS kernelek támogatása.

változások

  • Most, ha nincs kép (rootf) a terjesztés szükséges verziójához, az out-of-tree megpróbálja a legközelebbi verzió képét használni. Például az Ubuntu 18.04 kép az Ubuntu 18.10-hez.

  • Mostantól a kernelmodulok tesztjei nem számítanak hibának, ha hiányoznak (nincs teszt – nincs hiba!).

  • Most az out-of-tree negatív hibakódot ad vissza, ha valamelyik magon legalább az egyik szakasz (a felépítés, az indítás vagy a tesztelés) meghiúsult.

  • A projekt áttért a Go modulok használatára, most a GO111MODULE=on építést részesítjük előnyben.

  • Hozzáadott alapértelmezett tesztek.

  • A Test.sh mostantól alapértelmezés szerint használatos, ha a ${TARGET}_test összeállítás nincs implementálva a Makefile-ban.

  • A kernelnapló többé nem törlődik egy kernelmodul vagy exploit futtatása előtt. Egyes exploitok a dmesg rendszermag-alapszivárgását használják a KASLR megkerülésére, így a tisztítás megtörheti a kizsákmányolt logikát.

  • A qemu/kvm mostantól a gazdagép processzor összes képességét használja.

Eltávolítva

  • Kernel Factory teljesen eltávolítva a fokozatosan frissített Docker-fájlokon alapuló kernelgenerálás megvalósítása miatt.

  • A bootstrap nem csinál mást. A parancs a következő kiadásban törlődik.

Javítva

  • MacOS rendszeren a GNU coreutils futtatásához már nincs szükség.

  • Az ideiglenes fájlok átkerültek a ~/.out-of-tree/tmp/ mappába, mert egyes rendszereken a docker belsejében történt csatolási hiba.

Forrás: linux.org.ru

Hozzászólás