ekster-arba v1.0.0 - iloj por disvolvi kaj testi ekspluataĵojn kaj Linukso-kernmodulojn


ekster-arba v1.0.0 - iloj por disvolvi kaj testi ekspluataĵojn kaj Linukso-kernmodulojn

La unua (v1.0.0) versio de ekster-arbo, ilaro por evoluigado kaj testado de ekspluataĵoj kaj Linukso-kernaj moduloj, estis publikigita.

ekster-arbo permesas vin aŭtomatigi iujn rutinajn agojn por krei mediojn por elpurigi kernajn modulojn kaj ekspluatojn, generante ekspluatajn fidindecstatistikojn, kaj ankaŭ provizas la kapablon facile integriĝi en CI (Kontinua Integriĝo).

Ĉiu kernmodulo aŭ ekspluato estas priskribita per dosiero .out-of-tree.toml, kiu precizigas informojn pri la bezonata medio kaj (se ĝi estas ekspluato) limigoj pri operacio en ĉeesto de certaj sekurecaj mildigoj.

La ilaro ankaŭ ebligas al vi identigi specifajn kernversiojn trafitaj de vundebleco (uzante la --guess komandon), kaj ankaŭ povas esti uzata por simpligi binarajn serĉojn por specifa kommit.

Malsupre estas listo de ŝanĝoj ekde versio v0.2.

Aldonita de

  • Efektivigis la kapablon limigi la nombron da generitaj (eksterarba kerno aŭtogena) kernoj (surbaze de la priskribo en .out-of-tree.toml) kaj kontroli kurojn (ekster-arba kerno aŭtogena) uzante la —max= X-parametro.

  • Nova genall-komando, kiu ebligas al vi generi ĉiujn kernojn por specifa distribuo kaj versio.

  • Ĉiuj protokoloj nun estas konservitaj en la datumbazo sqlite3. Efektivigitaj komandoj por simplaj ofte bezonataj demandoj, kaj ankaŭ eksporti datumojn al json kaj markdown.

  • Efektivigita kalkulo de la probablo de sukcesa operacio (surbaze de antaŭaj lanĉoj).

  • Kapablo konservi konstrurezultojn (nova --dist parametro por ekster-arba pew komando)

  • Subteno por generado de metadatenoj por kernoj instalitaj sur la gastiga sistemo, kaj ankaŭ konstrui rekte sur la gastiganto.

  • Subteno por triaj kernoj.

  • La ekster-arba sencimiga medio nun aŭtomate serĉas sencimigajn simbolojn en la gastiga sistemo.

  • Aldonis la kapablon administri sekurecajn mildigojn per ebligi/malŝalti flagojn KASLR, SMEP, SMAP kaj KPTI dum senararigado.

  • Aldonis la --threads=N parametron al la ekster-arba pew-testa komando, kiu povas esti uzata por specifi la nombron da fadenoj en kiuj konstrui/ruli kaj testi ekspluataĵojn kaj kernmodulojn.

  • La kapablo agordi etikedon, kiu estos registrita en la protokolo kaj tiam povas esti uzata por kalkuli statistikojn.

  • Aldonis la kapablon specifi la kernan version sen uzi regulajn esprimojn.

  • Nova paka komando, uzata por amasa testado de ekspluatoj kaj kernaj moduloj en subdosierujoj.

  • En la agordo (.out-of-tree.toml) por la ekspluata kaj kernomodulo, la kapablo malŝalti KASLR, SMEP, SMAP kaj KPTI estis aldonita, same kiel specifi la bezonatan nombron da kernoj kaj memoro.

  • Nun bildoj (rootfs) estas ŝarĝitaj aŭtomate dum kerno aŭtogeno funkcias. bootstrap ne plu bezonas.

  • Subteno por CentOS-kernoj.

Ŝanĝoj

  • Nun, se ne ekzistas bildo (rootfs) por la bezonata versio de la distribuo, ekster-arbo provos uzi la bildon de la plej proksima versio. Ekzemple, bildo de Ubuntu 18.04 por Ubuntu 18.10.

  • Nun testoj por kernaj moduloj ne estos konsiderataj malsukcesoj, se ili mankas (neniu testoj - neniuj eraroj!).

  • Nun ekster-arbo resendos negativan erarkodon se almenaŭ unu etapo (konstruo, lanĉo aŭ testo) sur iu el la kernoj malsukcesis.

  • La projekto ŝanĝis al uzado de Go-moduloj, konstrui kun GO111MODULE=on nun estas preferita.

  • Aldonitaj defaŭltaj testoj.

  • Test.sh nun estos uzata defaŭlte se la aro en ${TARGET}_test ne estas efektivigita en la Makedosiero.

  • La kernprotokolo ne plu estas forigita antaŭ ol ruli kernan modulon aŭ ekspluati. Kelkaj el la ekspluataĵoj uzas kernan bazan likon en dmesg por preteriri KASLR, do purigado povas rompi la efektivigitan logikon de la ekspluato.

  • qemu/kvm nun uzas ĉiujn kapablojn de la gastiga procesoro.

Forigita

  • Kernelfabriko tute forigita pro la efektivigo de kerngenerado bazita sur pliiĝe ĝisdatigitaj Dockerfiles.

  • bootstrap faras nenion alian. La komando estos forigita en la sekva eldono.

Korektita

  • Ĉe macOS, GNU-koreutils ne plu bezonas por funkcii.

  • Provizoraj dosieroj estis movitaj al ~/.out-of-tree/tmp/ pro muntaj eraroj en docker en iuj sistemoj.

fonto: linux.org.ru

Aldoni komenton