out-of-tree v1.0.0 - Strumenti per sviluppà è pruvà sfruttamenti è moduli di kernel Linux


out-of-tree v1.0.0 - Strumenti per sviluppà è pruvà sfruttamenti è moduli di kernel Linux

A prima versione (v1.0.0) di out-of-tree, un toolkit per u sviluppu è a prova di sfruttamenti è moduli di kernel Linux, hè stata liberata.

Out-of-tree permette di automatizà alcune azzioni di rutina per creà ambienti per debugging moduli di kernel è sfruttamenti, generendu statistiche di affidabilità di sfruttamentu, è furnisce ancu a capacità di integrà facilmente in CI (Integrazione Continua).

Ogni modulu di kernel o sfruttamentu hè descrittu da un schedariu .out-of-tree.toml, chì specifica l'infurmazioni nantu à l'ambiente necessariu è (s'ellu hè un sfruttamentu) restrizioni à l'operazione in presenza di certi mitigazioni di sicurezza.

U toolkit permette ancu di identificà e versioni di u kernel specifichi affettati da una vulnerabilità (usendu u cumandamentu --guess), è pò ancu esse usatu per simplificà e ricerche binari per un impegnu specificu.

Quì sottu hè una lista di cambiamenti da a versione v0.2.

Aggiuntu

  • Implementatu a capacità di limità u nùmeru di kernel generati (autogenu di u kernel fora di l'arburu) (basatu nantu à a descrizzione in .out-of-tree.toml) è verificate e corse (fora di l'arbre pew) utilizendu u —max= X paràmetru.

  • Novu cumandamentu genall, chì permette di generà tutti i kernels per una distribuzione è versione specifica.

  • Tutti i logs sò avà guardati in a basa di dati sqlite3. Cumandamenti implementati per e dumande simplici chì sò spessu necessarie, è ancu esportà dati in json è markdown.

  • Càlculu implementatu di a probabilità di operazione riescita (basatu nantu à i lanci precedenti).

  • Capacità di salvà i risultati di custruzzione (novu paràmetru --dist per u cumandamentu pew fora di l'arburu)

  • Supportu per a generazione di metadati per i kernel installati in u sistema di l'ospite, è ancu di custruisce direttamente nantu à l'ospite.

  • Supportu per i kernels di terzu partitu.

  • L'ambiente di debug fora di l'arburu cerca avà automaticamente i simboli di debugging in u sistema host.

  • Aggiunta l'abilità di gestisce e mitigazioni di sicurezza cù l'attivazione / disattivazione di bandiere KASLR, SMEP, SMAP è KPTI durante a debugging.

  • Aggiuntu u paràmetru --threads=N à u cumandamentu di teste di pew fora di l'arburu, chì pò esse usatu per specificà u nùmeru di fili in quale custruisce / eseguisce è pruvà sfruttamenti è moduli di kernel.

  • A capacità di stabilisce un tag chì serà arregistratu in u logu è pò esse usatu per calculà statistiche.

  • Aggiunta a capacità di specificà a versione di u kernel senza aduprà espressioni regulari.

  • Novu cumandamentu di pacchettu, utilizatu per a prova di massa di sfruttamenti è moduli di kernel in subdirectorii.

  • In a cunfigurazione (.out-of-tree.toml) per u sfruttamentu è u modulu di u kernel, a capacità di disattivà KASLR, SMEP, SMAP è KPTI hè stata aghjunta, è ancu di specificà u numeru necessariu di core è memoria.

  • Avà l'imaghjini (rootfs) sò caricate automaticamente mentre l'autogenu di u kernel hè in esecuzione. bootstrap ùn hè più necessariu.

  • Supportu per i kernels CentOS.

Cambiamenti

  • Avà, s'ellu ùn ci hè micca una maghjina (rootfs) per a versione necessaria di a distribuzione, fora di l'arbulu pruvate d'utilizà l'imaghjini di a versione più vicina. Per esempiu, Ubuntu 18.04 image per Ubuntu 18.10.

  • Avà i testi per i moduli di u kernel ùn saranu micca cunsiderati fallimenti si mancanu (senza teste - senza errore!).

  • Avà fora di l'arbulu restituverà un codice d'errore negativu se almenu una tappa (custruisce, lanciata o teste) in qualcunu di i nuclei falliu.

  • U prugettu hà cambiatu à utilizà i moduli Go, a custruzzione cù GO111MODULE=on hè avà preferita.

  • Testi predeterminati aghjuntu.

  • Test.sh serà avà usatu per difettu se l'assemblea in ${TARGET}_test ùn hè micca implementatu in u Makefile.

  • U logu di u kernel ùn hè più sguassatu prima di eseguisce un modulu di kernel o sfruttà. Alcune di i sfruttamenti utilizanu una fuga di basa di kernel in dmesg per aggira KASLR, cusì a pulizia pò rompe a logica implementata di l'exploit.

  • qemu/kvm usa avà tutte e capacità di u processatore host.

Sguassatu

  • Fabbrica di kernel sguassatu cumplettamente per via di l'implementazione di a generazione di kernel basatu annantu à i Dockerfiles aghjurnati gradualmente.

  • bootstrap ùn face nunda di più. U cumandamentu serà eliminatu in a prossima versione.

Currettu

  • In macOS, GNU coreutils ùn hè più necessariu per eseguisce.

  • I fugliali temporanei sò stati spustati in ~/.out-of-tree/tmp/ per via di errori di muntazione in docker in certi sistemi.

Source: linux.org.ru

Add a comment