Izdana je bila prva (v1.0.0) različica orodja out-of-tree, kompleta orodij za razvoj in testiranje izkoriščanj in modulov jedra Linuxa.
out-of-tree vam omogoča avtomatizacijo nekaterih rutinskih dejanj za ustvarjanje okolij za razhroščevanje modulov jedra in izkoriščanja, ustvarjanje statističnih podatkov o zanesljivosti izkoriščanja, poleg tega pa nudi možnost enostavne integracije v CI (Continuous Integration).
Vsak modul jedra ali izkoriščanje je opisano z datoteko .out-of-tree.toml, ki podaja informacije o zahtevanem okolju in (če gre za izkoriščanje) omejitvah delovanja ob prisotnosti določenih varnostnih ublažitev.
Zbirka orodij omogoča tudi prepoznavanje določenih različic jedra, na katere vpliva ranljivost (z uporabo ukaza --guess), in se lahko uporablja tudi za poenostavitev binarnih iskanj za določeno objavo.
Spodaj je seznam sprememb od različice v0.2.
Dodana
-
Implementirana zmožnost omejitve števila ustvarjenih (avtogeneracija jedra zunaj drevesa) jeder (na podlagi opisa v .out-of-tree.toml) in preverjanja izvajanj (izvendrevesna klop) z uporabo —max= parameter X.
-
Nov ukaz genall, ki vam omogoča ustvarjanje vseh jeder za določeno distribucijo in različico.
-
Vsi dnevniki so zdaj shranjeni v bazi podatkov sqlite3. Implementirani ukazi za preproste pogosto potrebne poizvedbe, kot tudi izvoz podatkov v json in markdown.
-
Implementiran izračun verjetnosti uspešnega delovanja (na podlagi prejšnjih izstrelitev).
-
Zmožnost shranjevanja rezultatov gradnje (nov parameter --dist za ukaz out-of-tree pew)
-
Podpora za ustvarjanje metapodatkov za jedra, nameščena v gostiteljskem sistemu, kot tudi za gradnjo neposredno na gostitelju.
-
Podpora za jedra tretjih oseb.
-
Okolje za razhroščevanje zunaj drevesa zdaj samodejno išče simbole za odpravljanje napak v gostiteljskem sistemu.
-
Dodana možnost upravljanja varnostnih ublažitev z zastavicami za omogočanje/onemogočanje KASLR, SMEP, SMAP in KPTI med odpravljanjem napak.
-
Dodan je parameter --threads=N v ukaz za preizkušanje zunaj drevesne mize, ki ga je mogoče uporabiti za določitev števila niti, v katerih je treba graditi/zagnati in preizkusiti izkoriščanja in module jedra.
-
Možnost nastavitve oznake, ki bo zabeležena v dnevniku in se nato lahko uporabi za izračun statistike.
-
Dodana možnost določanja različice jedra brez uporabe regularnih izrazov.
-
Nov ukaz za pakiranje, ki se uporablja za množično testiranje izkoriščanj in modulov jedra v podimenikih.
-
V konfiguraciji (.out-of-tree.toml) za modul exploit in kernel je bila dodana možnost onemogočanja KASLR, SMEP, SMAP in KPTI ter določitev zahtevanega števila jeder in pomnilnika.
-
Zdaj se slike (rootfs) nalagajo samodejno, medtem ko se izvaja samodejno ustvarjanje jedra. bootstrap ni več potreben.
-
Podpora za jedra CentOS.
Spremembe
-
Zdaj, če ni slike (rootfs) za zahtevano različico distribucije, bo zunaj drevesa poskusila uporabiti sliko najbližje različice. Na primer, slika Ubuntu 18.04 za Ubuntu 18.10.
-
Zdaj testi za module jedra ne bodo obravnavani kot napake, če manjkajo (ni testov - ni napak!).
-
Zdaj bo out-of-tree vrnil negativno kodo napake, če vsaj ena stopnja (gradnja, zagon ali preizkus) na katerem koli od jeder ne uspe.
-
Projekt je prešel na uporabo modulov Go, zdaj je prednostna gradnja z GO111MODULE=on.
-
Dodani privzeti testi.
-
Test.sh bo zdaj privzeto uporabljen, če sestav v ${TARGET}_test ni implementiran v Makefile.
-
Dnevnik jedra se ne izbriše več pred zagonom modula jedra ali izkoriščanja. Nekatera izkoriščanja uporabljajo puščanje osnove jedra v dmesg, da zaobidejo KASLR, zato lahko čiščenje prekine implementirano logiko izkoriščanja.
-
qemu/kvm zdaj uporablja vse zmožnosti gostiteljskega procesorja.
izbrisan
-
Tovarna jedra v celoti odstranjen zaradi implementacije generiranja jedra na podlagi postopoma posodobljenih datotek Docker.
-
bootstrap ne naredi ničesar drugega. Ukaz bo odstranjen v naslednji izdaji.
Popravljeno
-
V macOS GNU coreutils ni več potreben za delovanje.
-
Začasne datoteke so bile premaknjene v ~/.out-of-tree/tmp/ zaradi napak pri namestitvi znotraj dockerja v nekaterih sistemih.
Vir: linux.org.ru