out-of-tree v1.0.0 - эксплуаттарды жана Linux ядро ​​модулдарын иштеп чыгуу жана сыноо үчүн куралдар


out-of-tree v1.0.0 - эксплуаттарды жана Linux ядро ​​модулдарын иштеп чыгуу жана сыноо үчүн куралдар

Эксплуаттарды жана Linux ядро ​​модулдарын иштеп чыгуу жана сынап көрүү үчүн инструменттер топтому болгон out-of-tree программасынын биринчи (v1.0.0) версиясы чыкты.

дарактан тышкаркы программа ядро ​​модулдарын жана эксплоиттерди оңдоо үчүн чөйрөлөрдү түзүү үчүн кээ бир күнүмдүк аракеттерди автоматташтырууга, эксплуатациянын ишенимдүүлүгүнүн статистикасын түзүүгө мүмкүндүк берет, ошондой эле CIге (Үзгүлтүксүз Интеграция) оңой интеграциялоо мүмкүнчүлүгүн берет.

Ар бир ядро ​​модулу же эксплойт .out-of-tree.toml файлы менен сүрөттөлөт, анда талап кылынган чөйрө жана (эгерде бул эксплуат) коопсуздуктун белгилүү бир жумшартуулары болгон учурда иштөөгө чектөөлөр жөнүндө маалымат көрсөтүлөт.

Куралдар топтому ошондой эле кемчиликтен жабыркаган белгилүү ядро ​​версияларын аныктоого мүмкүндүк берет (--guess буйругун колдонуу менен), ошондой эле белгилүү бир милдеттенме боюнча бинардык издөөлөрдү жөнөкөйлөтүү үчүн колдонулушу мүмкүн.

Төмөндө v0.2 версиясынан берки өзгөрүүлөрдүн тизмеси келтирилген.

жүктөдү

  • Түзүлгөн (дарактан тышкаркы ядронун автогени) өзөктөрдүн санын чектөө мүмкүнчүлүгүн (.out-of-tree.toml ичиндеги сыпаттаманын негизинде) жана -max= аркылуу текшерүү иштерин (дарактан тышкаркы орун) ишке ашыруу мүмкүнчүлүгү ишке ашырылды. X параметр.

  • Белгилүү бир бөлүштүрүү жана версия үчүн бардык ядролорду түзүүгө мүмкүндүк берген жаңы genall буйругу.

  • Бардык журналдар азыр sqlite3 маалымат базасында сакталат. Жөнөкөй, көп талап кылынган суроо-талаптар, ошондой эле json жана markdown файлдарына маалыматтарды экспорттоо үчүн ишке ашырылган буйруктар.

  • Ийгиликтүү иштөө ыктымалдыгын эсептөө ишке ашырылган (мурунку учуруулардын негизинде).

  • Куруу натыйжаларын сактоо мүмкүнчүлүгү (жаңы --dist параметри

  • Хост тутумунда орнотулган ядролор үчүн метаберилиштерди түзүүнү колдоо, ошондой эле түздөн-түз хостто куруу.

  • Үчүнчү тараптын өзөктөрүн колдоо.

  • Дарактан тышкары мүчүлүштүктөрдү оңдоо чөйрөсү эми хост тутумундагы мүчүлүштүктөрдү оңдоо белгилерин автоматтык түрдө издейт.

  • Мүчүлүштүктөрдү оңдоо учурунда KASLR, SMEP, SMAP жана KPTI желектерин иштетүү/өчүрүү менен коопсуздуктун жумшартууларын башкаруу мүмкүнчүлүгү кошулду.

  • --threads=N параметри дарактан тышкаркы тестирлөө буйругуна кошулду, ал эксплуаттарды жана ядро ​​модулдарын куруу/иштетүү жана сыноо үчүн жиптердин санын көрсөтүү үчүн колдонулушу мүмкүн.

  • Журналга жазылып, андан кийин статистиканы эсептөө үчүн колдонула турган тег коюу мүмкүнчүлүгү.

  • Кадимки туюнтмаларды колдонбостон ядро ​​​​версиясын көрсөтүү мүмкүнчүлүгү кошулду.

  • Жаңы пакет буйругу, эксплуаттарды жана подкаталогдордогу ядро ​​модулдарын массалык түрдө текшерүү үчүн колдонулат.

  • Эксплуатация жана ядро ​​модулунун конфигурациясында (.out-of-tree.toml) KASLR, SMEP, SMAP жана KPTIди өчүрүү, ошондой эле өзөктөрдүн жана эс тутумдун керектүү санын көрсөтүү мүмкүнчүлүгү кошулду.

  • Эми сүрөттөр (rootfs) ядронун автогени иштеп жатканда автоматтык түрдө жүктөлөт. bootstrap мындан ары кереги жок.

  • CentOS ядролорун колдоо.

өзгөрүүлөр

  • Эми, бөлүштүрүүнүн талап кылынган версиясы үчүн эч кандай сүрөт (rootfs) жок болсо, дарактан сырткары, эң жакын версиянын сүрөтүн колдонууга аракет кылат. Мисалы, Ubuntu 18.04 үчүн Ubuntu 18.10 сүрөтү.

  • Эми ядро ​​модулдары үчүн тесттер, эгерде алар жок болсо, каталар деп эсептелбейт (тесттер жок - каталар жок!).

  • Эми дарактан тышкары, өзөктөрдүн кайсынысында болбосун, жок дегенде бир этап (куруу, ишке киргизүү же сыноо) ишке ашпай калса, терс ката кодун кайтарат.

  • Долбоор Go модулдарын колдонууга өттү, эми GO111MODULE=on менен куруу артык.

  • Демейки тесттер кошулду.

  • ${TARGET}_test ичиндеги ассамблея Makefileде ишке ашырылбаса, Test.sh эми демейки боюнча колдонулат.

  • Ядро журналы ядро ​​модулун же эксплуатацияны иштетүүдөн мурун тазаланбайт. Кээ бир эксплоиттер KASLRди айланып өтүү үчүн dmesgдеги ядро ​​базасынын агып кетишин колдонушат, андыктан тазалоо эксплоиддин ишке ашырылган логикасын бузушу мүмкүн.

  • qemu/kvm азыр хост процессорунун бардык мүмкүнчүлүктөрүн колдонот.

Жок кылынды

  • Ядро фабрикасы кадам сайын жаңыртылган Докерфайлдардын негизинде ядро ​​генерациясын ишке ашыруудан улам толугу менен алынып салынды.

  • bootstrap башка эч нерсе кылбайт. Буйрук кийинки чыгарылышта алынып салынат.

Оңдолду

  • MacOSдо GNU coreutils мындан ары иштөө үчүн талап кылынбайт.

  • Кээ бир системалардагы докердин ичиндеги орнотуу каталарынан улам убактылуу файлдар ~/.out-of-tree/tmp/ дарегине жылдырылды.

Source: linux.org.ru

Комментарий кошуу