Välja lasti esimene (v1.0.0) versioon out-of-tree'st, tööriistakomplektist exploitide ja Linuxi kerneli moodulite arendamiseks ja testimiseks.
out-of-tree võimaldab automatiseerida mõningaid rutiinseid toiminguid, et luua keskkondi kerneli moodulite ja ärakasutamiste silumiseks, ekspluatatsiooni usaldusväärsuse statistika genereerimiseks ning võimaldab hõlpsasti integreeruda CI-sse (Continuous Integration).
Iga kerneli moodulit või ärakasutamist kirjeldab fail .out-of-tree.toml, mis määrab teabe nõutava keskkonna ja (kui see on ärakasutamine) piirangud teatud turvameetmete olemasolul.
Tööriistakomplekt võimaldab teil tuvastada ka konkreetseid haavatavusest mõjutatud kerneli versioone (kasutades käsku --guess) ja seda saab kasutada ka konkreetse sissekande binaarsete otsingute lihtsustamiseks.
Allpool on alates versioonist v0.2 tehtud muudatuste loend.
Lisatud
-
Rakendatud on võimalus piirata genereeritud (puuväliste kerneli autogeenide) tuumade arvu (põhineb failis .out-of-tree.toml kirjeldusel) ja kontrollkäibeid (puust väljas) kasutades —max= X parameeter.
-
Uus genall käsk, mis võimaldab luua kõik tuumad konkreetse distributsiooni ja versiooni jaoks.
-
Kõik logid on nüüd salvestatud sqlite3 andmebaasi. Rakendatud käsud lihtsate sageli vajalike päringute jaoks, samuti andmete eksportimiseks json-i ja markdowni.
-
Rakendatud eduka toimimise tõenäosuse arvutus (eelmiste käivitamiste põhjal).
-
Võimalus salvestada ehitustulemusi (uus parameeter --dist puuvälise pew käsu jaoks)
-
Tugi nii hostsüsteemi installitud tuumade metaandmete genereerimiseks kui ka otse hostile ehitamiseks.
-
Kolmanda osapoole tuumade tugi.
-
Puuväline silumiskeskkond otsib nüüd automaatselt hostsüsteemist silumissümboleid.
-
Lisati võimalus silumise ajal hallata turvalisuse leevendusi lubamis-/keelamislippudega KASLR, SMEP, SMAP ja KPTI.
-
Lisati puuvälise pew testimise käsule parameeter --threads=N, mille abil saab määrata lõimede arvu, milles ehitada/käivitada ja testida plokke ja kerneli mooduleid.
-
Võimalus määrata silt, mis salvestatakse logisse ja mida saab seejärel kasutada statistika arvutamiseks.
-
Lisati võimalus määrata kerneli versioon ilma regulaaravaldisi kasutamata.
-
Uus paketikäsk, mida kasutatakse alamkataloogides olevate exploitide ja kerneli moodulite masstestimiseks.
-
Exploit- ja kerneli mooduli konfiguratsioonis (.out-of-tree.toml) on lisatud võimalus keelata KASLR, SMEP, SMAP ja KPTI, samuti määrata vajalik arv südamikke ja mälu.
-
Nüüd laaditakse pildid (rootf) automaatselt, kui kerneli autogen töötab. bootstrapi pole enam vaja.
-
CentOS-i tuumade tugi.
Muutused
-
Nüüd, kui distributsiooni vajaliku versiooni jaoks pole pilti (rootfs), proovib out-of-tree kasutada lähima versiooni pilti. Näiteks Ubuntu 18.04 pilt Ubuntu 18.10 jaoks.
-
Nüüd ei peeta kerneli moodulite teste ebaõnnestunuks, kui need puuduvad (pole teste – pole vigu!).
-
Nüüd tagastab puust väljas negatiivse veakoodi, kui vähemalt üks etapp (ehitamine, käivitamine või testimine) mõnes tuumas ebaõnnestus.
-
Projekt on üle läinud Go moodulite kasutamisele, nüüd on eelistatud GO111MODULE=on ehitamine.
-
Lisatud vaiketestid.
-
Kui failis ${TARGET}_test ei ole Makefile'is juurutatud, kasutatakse nüüd vaikimisi faili Test.sh.
-
Kerneli logi ei tühjendata enam enne tuumamooduli või exploiti käivitamist. Mõned äkilised toimingud kasutavad KASLR-ist mööda hiilimiseks dmesg-is kerneli baasi leket, nii et puhastamine võib rikkuda ärakasutatud loogika.
-
qemu/kvm kasutab nüüd kõiki hostprotsessori võimalusi.
Eemaldatud
-
Kerneli tehas täielikult eemaldatud järk-järgult värskendatud Docker-failidel põhineva kerneli genereerimise rakendamise tõttu.
-
bootstrap ei tee midagi muud. Käsk eemaldatakse järgmises versioonis.
Parandatud
-
MacOS-is ei ole GNU coreutils enam töötamiseks vajalik.
-
Ajutised failid on teisaldatud kausta ~/.out-of-tree/tmp/, kuna mõnede süsteemide dokkeri sees on paigaldusvigu.
Allikas: linux.org.ru