out-of-tree v1.0.0 - գործիքներ մշակելու և փորձարկելու էքսպոիթներ և Linux միջուկի մոդուլներ


out-of-tree v1.0.0 - գործիքներ մշակելու և փորձարկելու էքսպոիթներ և Linux միջուկի մոդուլներ

Թողարկվել է out-of-tree-ի առաջին (v1.0.0) տարբերակը, որը գործիքակազմ է շահագործման և Linux միջուկի մոդուլների մշակման և փորձարկման համար:

out-of-tree-ն թույլ է տալիս ավտոմատացնել որոշ սովորական գործողություններ՝ միջուկի մոդուլների և շահագործումների վրիպազերծման միջավայրեր ստեղծելու համար, ստեղծելով շահագործման հուսալիության վիճակագրություն, ինչպես նաև հնարավորություն է տալիս հեշտությամբ ինտեգրվել CI-ին (Շարունակական ինտեգրում):

Յուրաքանչյուր միջուկի մոդուլ կամ շահագործում նկարագրվում է .out-of-tree.toml ֆայլով, որը սահմանում է տեղեկատվություն պահանջվող միջավայրի մասին և (եթե դա շահագործում է) շահագործման սահմանափակումները անվտանգության որոշակի մեղմացումների առկայության դեպքում:

Գործիքակազմը նաև թույլ է տալիս բացահայտել խոցելիությունից տուժած միջուկի հատուկ տարբերակները (օգտագործելով --guess հրամանը), ինչպես նաև կարող է օգտագործվել պարզեցնելու երկուական որոնումները կոնկրետ commit-ի համար:

Ստորև ներկայացված է v0.2 տարբերակից ի վեր կատարված փոփոխությունների ցանկը:

Ավելացված է

  • Իրականացրել է ստեղծված (ծառից դուրս միջուկի ավտոգեն) միջուկների քանակը սահմանափակելու ունակությունը (հիմնվելով .out-of-tree.toml-ի նկարագրության վրա) և ստուգել գործարկումները (ծառից դուրս pew) օգտագործելով —max= X պարամետր.

  • Նոր genall հրաման, որը թույլ է տալիս ստեղծել բոլոր միջուկները կոնկրետ բաշխման և տարբերակի համար:

  • Բոլոր տեղեկամատյանները այժմ պահվում են sqlite3 տվյալների բազայում: Իրականացված հրամաններ պարզ հաճախակի պահանջվող հարցումների համար, ինչպես նաև տվյալների արտահանում json և markdown:

  • Իրականացված հաջող շահագործման հավանականության հաշվարկ (նախորդ գործարկումների հիման վրա):

  • Կառուցման արդյունքները պահպանելու ունակություն (նոր --dist պարամետր՝ ծառից դուրս pew հրամանի համար)

  • Աջակցություն հոսթ համակարգում տեղադրված միջուկների համար մետատվյալների ստեղծմանը, ինչպես նաև անմիջապես հոսթի վրա կառուցելուն:

  • Աջակցություն երրորդ կողմի միջուկներին:

  • Ծառից դուրս վրիպազերծման միջավայրն այժմ ավտոմատ կերպով որոնում է հյուրընկալող համակարգում վրիպազերծող նշաններ:

  • Ավելացվել է անվտանգության մեղմացումները կառավարելու հնարավորություն՝ միացնելով/անջատել KASLR, SMEP, SMAP և KPTI դրոշները վրիպազերծման ժամանակ:

  • Ավելացրել է --threads=N պարամետրը out-of-tree pew testing հրամանին, որը կարող է օգտագործվել՝ նշելու թելերի քանակը, որոնցում պետք է կառուցվեն/գործարկվեն և փորձարկվեն շահագործման և միջուկի մոդուլները:

  • Թեգ սահմանելու հնարավորությունը, որը կգրանցվի մատյանում և այնուհետև կարող է օգտագործվել վիճակագրությունը հաշվարկելու համար:

  • Ավելացվեց միջուկի տարբերակը նշելու հնարավորություն՝ առանց կանոնավոր արտահայտությունների օգտագործման:

  • Փաթեթի նոր հրաման, որն օգտագործվում է ենթագրքերում շահագործման և միջուկի մոդուլների զանգվածային փորձարկման համար:

  • Exploit-ի և միջուկի մոդուլի կոնֆիգուրացիայում (.out-of-tree.toml) ավելացվել է KASLR, SMEP, SMAP և KPTI-ն անջատելու հնարավորությունը, ինչպես նաև նշել անհրաժեշտ քանակությամբ միջուկներ և հիշողություն:

  • Այժմ պատկերները (rootfs) ինքնաբերաբար բեռնվում են, մինչ միջուկի ավտոգենը աշխատում է: bootstrap-ն այլևս անհրաժեշտ չէ:

  • Աջակցություն CentOS միջուկների համար:

Փոփոխություններ

  • Այժմ, եթե բաշխման պահանջվող տարբերակի համար պատկեր (rootfs) չկա, ծառից դուրս կփորձի օգտագործել ամենամոտ տարբերակի պատկերը: Օրինակ, Ubuntu 18.04 պատկերը Ubuntu 18.10-ի համար:

  • Այժմ միջուկի մոդուլների համար թեստերը չեն համարվի ձախողումներ, եթե դրանք բացակայում են (չկան թեստեր, չկան սխալներ):

  • Այժմ ծառից դուրս կվերադարձնի բացասական սխալի կոդը, եթե որևէ միջուկի առնվազն մեկ փուլ (կառուցում, գործարկում կամ փորձարկում) ձախողվի:

  • Նախագիծն անցել է Go մոդուլների օգտագործմանը, այժմ նախընտրելի է GO111MODULE=on-ով կառուցելը:

  • Ավելացվել են լռելյայն թեստեր:

  • Test.sh-ն այժմ կօգտագործվի լռելյայն, եթե ${TARGET}_test-ի հավաքումը չի ներդրված Makefile-ում:

  • Միջուկի մատյանն այլևս չի մաքրվում միջուկի մոդուլի գործարկումից կամ շահագործման համար: Որոշ շահագործումներ օգտագործում են միջուկի բազային արտահոսք dmesg-ում՝ KASLR-ը շրջանցելու համար, ուստի մաքրումը կարող է կոտրել շահագործման իրականացվող տրամաբանությունը:

  • qemu/kvm-ն այժմ օգտագործում է հյուրընկալող պրոցեսորի բոլոր հնարավորությունները։

ջնջվել

  • Միջուկի գործարան ամբողջությամբ հեռացվել է միջուկի ստեղծման իրականացման շնորհիվ, որը հիմնված է աստիճանաբար թարմացվող Dockerfiles-ի վրա:

  • bootstrap-ն այլ բան չի անում: Հրամանը կհեռացվի հաջորդ թողարկումում:

Ուղղվել է

  • MacOS-ում GNU coreutils-ն այլևս չի պահանջվում գործարկել:

  • Ժամանակավոր ֆայլերը տեղափոխվել են ~/.out-of-tree/tmp/՝ որոշ համակարգերի դոկերի ներսում մոնտաժման սխալների պատճառով:

Source: linux.org.ru

Добавить комментарий