out-of-tree v1.0.0 - mga himan alang sa pagpalambo ug pagsulay sa mga pagpahimulos ug Linux kernel modules


out-of-tree v1.0.0 - mga himan alang sa pagpalambo ug pagsulay sa mga pagpahimulos ug Linux kernel modules

Ang una (v1.0.0) nga bersyon sa out-of-tree, usa ka toolkit alang sa pagpalambo ug pagsulay sa mga pagpahimulos ug Linux kernel modules, gipagawas.

Ang out-of-tree nagtugot kanimo sa pag-automate sa pipila ka naandan nga mga aksyon aron makahimo og mga palibot alang sa pag-debug sa mga modulo sa kernel ug pagpahimulos, pagmugna og mga estadistika sa kasaligan nga mapahimuslanon, ug naghatag usab og abilidad nga dali nga ma-integrate sa CI (Continuous Integration).

Ang matag kernel module o exploit gihulagway sa usa ka file .out-of-tree.toml, nga nagtino sa impormasyon mahitungod sa gikinahanglan nga palibot ug (kon kini usa ka exploit) nga mga pagdili sa operasyon sa presensya sa pipila ka mga pagpugong sa seguridad.

Gitugotan ka usab sa toolkit nga mahibal-an ang piho nga mga bersyon sa kernel nga naapektuhan sa usa ka pagkahuyang (gamit ang --guess nga mando), ug mahimo usab gamiton aron mapasimple ang mga pagpangita sa binary alang sa usa ka piho nga pasalig.

Sa ubos usa ka lista sa mga pagbag-o sukad sa bersyon v0.2.

Gindugangan

  • Gipatuman ang abilidad nga limitahan ang gidaghanon sa namugna (out-of-tree kernel autogen) kernels (base sa deskripsyon sa .out-of-tree.toml) ug check run (out-of-tree pew) gamit ang β€”max= X parameter.

  • Bag-ong sugo sa genall, nga nagtugot kanimo sa paghimo sa tanan nga mga kernel alang sa usa ka piho nga pag-apod-apod ug bersyon.

  • Ang tanan nga mga troso karon gitipigan sa sqlite3 database. Gipatuman nga mga sugo alang sa yano nga kanunay nga gikinahanglan nga mga pangutana, ingon man ang pag-eksport sa datos sa json ug markdown.

  • Gipatuman nga kalkulasyon sa kalagmitan sa malampuson nga operasyon (base sa miaging paglansad).

  • Abilidad sa pagluwas sa mga resulta sa pagtukod (bag-ong --dist parameter alang sa out-of-tree pew command)

  • Suporta alang sa pagmugna og metadata alang sa mga kernel nga na-install sa host system, ingon man sa pagtukod direkta sa host.

  • Suporta alang sa mga kernel sa ikatulo nga partido.

  • Ang out-of-tree debug environment karon awtomatik nga mangita alang sa debugging nga mga simbolo sa host system.

  • Gidugang ang katakus sa pagdumala sa mga pagpagaan sa seguridad gamit ang pag-enable/disable sa mga bandila nga KASLR, SMEP, SMAP ug KPTI sa panahon sa pag-debug.

  • Gidugang ang --threads=N nga parametro sa out-of-tree pew testing command, nga magamit sa pagtino sa gidaghanon sa mga hilo nga himoon/pagdagan ug pagsulay sa mga pagpahimulos ug kernel modules.

  • Ang abilidad sa pagbutang sa usa ka tag nga irekord sa log ug unya magamit sa pagkalkulo sa mga estadistika.

  • Gidugang ang abilidad sa pagtino sa bersyon sa kernel nga wala gigamit ang mga regular nga ekspresyon.

  • Bag-ong pack command, gigamit para sa mass testing sa mga exploits ug kernel modules sa mga subdirectory.

  • Sa configuration (.out-of-tree.toml) alang sa exploit ug kernel module, ang abilidad sa pag-disable sa KASLR, SMEP, SMAP ug KPTI gidugang, ingon man usab sa pagtino sa gikinahanglan nga gidaghanon sa mga cores ug memorya.

  • Karon ang mga imahe (rootfs) awtomatikong na-load samtang ang kernel autogen nagdagan. dili na kinahanglan ang bootstrap.

  • Suporta alang sa CentOS kernels.

Mga Pagbag-o

  • Karon, kung wala’y imahe (rootfs) para sa gikinahanglan nga bersyon sa pag-apod-apod, ang out-of-tree mosulay sa paggamit sa imahe sa labing duol nga bersyon. Pananglitan, ang imahe sa Ubuntu 18.04 alang sa Ubuntu 18.10.

  • Karon ang mga pagsulay alang sa kernel modules dili isipon nga mga kapakyasan kung kini nawala (walay mga pagsulay - walay mga sayup!).

  • Karon ang out-of-tree magbalik og negatibo nga error code kung labing menos usa ka yugto (pagtukod, paglansad o pagsulay) sa bisan unsang mga core napakyas.

  • Ang proyekto mibalhin sa paggamit sa mga module sa Go, ang pagtukod nga adunay GO111MODULE=on karon gipalabi.

  • Gidugang ang default nga mga pagsulay.

  • Ang Test.sh kay gamiton na sa default kung ang asembliya sa ${TARGET}_test wala gipatuman sa Makefile.

  • Ang kernel log dili na ma-clear sa dili pa magpadagan sa kernel module o pagpahimulos. Ang pipila sa mga pagpahimulos naggamit sa kernel base leak sa dmesg aron malaktawan ang KASLR, aron ang paglimpyo mahimong makaguba sa gipatuman nga lohika sa pagpahimulos.

  • Ang qemu/kvm karon naggamit sa tanang kapabilidad sa host processor.

Gitangtang

  • Pabrika sa Kernel hingpit nga gikuha tungod sa pagpatuman sa kernel generation base sa incrementally updated Dockerfiles.

  • Ang bootstrap wala’y mahimo bisan unsa pa. Ang sugo tangtangon sa sunod nga pagpagawas.

Gitul-id

  • Sa macOS, ang GNU coreutils dili na kinahanglan nga modagan.

  • Ang temporaryo nga mga file gibalhin ngadto sa ~/.out-of-tree/tmp/ tungod sa pag-mounting mga sayop sulod sa docker sa pipila ka sistema.

Source: linux.org.ru

Idugang sa usa ka comment