out-of-tree v1.0.0 - værktøjer til udvikling og test af exploits og Linux-kernemoduler


out-of-tree v1.0.0 - værktøjer til udvikling og test af exploits og Linux-kernemoduler

Den første (v1.0.0) version af out-of-tree, et værktøjssæt til at udvikle og teste exploits og Linux-kernemoduler, blev frigivet.

Out-of-tree giver dig mulighed for at automatisere nogle rutinehandlinger for at skabe miljøer til fejlfinding af kernemoduler og udnyttelser, generere udnyttelsespålidelighedsstatistikker og giver også mulighed for nemt at integrere i CI (Continuous Integration).

Hvert kernemodul eller udnyttelse er beskrevet af en fil .out-of-tree.toml, som specificerer information om det påkrævede miljø og (hvis det er en udnyttelse) restriktioner for drift i nærvær af visse sikkerhedsbegrænsninger.

Værktøjssættet giver dig også mulighed for at identificere specifikke kerneversioner, der er påvirket af en sårbarhed (ved hjælp af kommandoen --guess), og kan også bruges til at forenkle binære søgninger efter en specifik commit.

Nedenfor er en liste over ændringer siden version v0.2.

Добавлено

  • Implementeret muligheden for at begrænse antallet af genererede (out-of-tree kernel autogen) kerner (baseret på beskrivelsen i .out-of-tree.toml) og kontrollere kørsler (out-of-tree stolen) ved hjælp af —max= X parameter.

  • Ny genall kommando, som giver dig mulighed for at generere alle kerner til en specifik distribution og version.

  • Alle logfiler er nu gemt i sqlite3-databasen. Implementerede kommandoer til simple hyppigt nødvendige forespørgsler, samt eksport af data til json og markdown.

  • Implementeret beregning af sandsynligheden for vellykket drift (baseret på tidligere lanceringer).

  • Mulighed for at gemme byggeresultater (ny --dist parameter for out-of-tree pew kommando)

  • Understøttelse af generering af metadata til kerner installeret på værtssystemet, samt bygning direkte på værten.

  • Understøttelse af tredjepartskerner.

  • Debug-miljøet uden for træet søger nu automatisk efter fejlfindingssymboler på værtssystemet.

  • Tilføjet muligheden for at administrere sikkerhedsreduktioner med aktivere/deaktivere flag KASLR, SMEP, SMAP og KPTI under fejlretning.

  • Tilføjede --threads=N parameteren til out-of-tree pew-testkommandoen, som kan bruges til at specificere antallet af tråde, hvori der skal bygges/køres og teste exploits og kernemoduler.

  • Muligheden for at indstille et tag, der vil blive registreret i loggen og derefter kan bruges til at beregne statistik.

  • Tilføjet muligheden for at angive kerneversionen uden at bruge regulære udtryk.

  • Ny pack-kommando, brugt til massetest af exploits og kernemoduler i undermapper.

  • I konfigurationen (.out-of-tree.toml) for exploit- og kernemodulet er muligheden for at deaktivere KASLR, SMEP, SMAP og KPTI blevet tilføjet, samt angive det nødvendige antal kerner og hukommelse.

  • Nu indlæses billeder (rootfs) automatisk, mens kernel autogen kører. bootstrap er ikke længere nødvendig.

  • Understøttelse af CentOS-kerner.

ændringer

  • Nu, hvis der ikke er noget billede (rootfs) for den påkrævede version af distributionen, vil out-of-tree forsøge at bruge billedet af den nærmeste version. For eksempel Ubuntu 18.04-billede til Ubuntu 18.10.

  • Nu vil test for kernemoduler ikke blive betragtet som fejl, hvis de mangler (ingen test - ingen fejl!).

  • Nu vil out-of-tree returnere en negativ fejlkode, hvis mindst et trin (build, launch eller test) på en af ​​kernerne mislykkedes.

  • Projektet er gået over til at bruge Go-moduler, bygning med GO111MODULE=on foretrækkes nu.

  • Tilføjet standardtests.

  • Test.sh vil nu blive brugt som standard, hvis samlingen i ${TARGET}_test ikke er implementeret i Makefilen.

  • Kerneloggen ryddes ikke længere, før et kernemodul køres eller udnyttes. Nogle af udnyttelserne bruger et kernebaselæk i dmesg til at omgå KASLR, så oprydning kan bryde udnyttelsens implementerede logik.

  • qemu/kvm bruger nu alle værtsprocessorens muligheder.

slettet

  • Kernelfabrik fuldstændig fjernet på grund af implementeringen af ​​kernegenerering baseret på trinvist opdaterede Dockerfiler.

  • bootstrap gør ikke andet. Kommandoen vil blive fjernet i næste udgivelse.

Rettet

  • På macOS er GNU coreutils ikke længere påkrævet for at køre.

  • Midlertidige filer er blevet flyttet til ~/.out-of-tree/tmp/ på grund af monteringsfejl inde i docker på nogle systemer.

Kilde: linux.org.ru

Tilføj en kommentar