Sgaoileadh modal LKRG 0.8 gus dìon an aghaidh so-leòntachd ann an kernel Linux

Pròiseact Openwall saor an asgaidh fhoillseachadh sgaoileadh modal kernel LKRG 0.8 (Linux Kernel Runtime Guard), air a dhealbhadh gus ionnsaighean agus brisidhean air ionracas structaran kernel a lorg agus a bhacadh. Mar eisimpleir, faodaidh am modal dìon an aghaidh atharrachaidhean gun chead air an kernel ruith agus oidhirpean gus ceadan pròiseasan luchd-cleachdaidh atharrachadh (lorg cleachdadh buannachdan). Tha am modal freagarrach an dà chuid airson dìon a chuir air dòigh an aghaidh buannachdan a tha aithnichte mar-thà airson an kernel Linux (mar eisimpleir, ann an suidheachaidhean far a bheil e duilich an kernel san t-siostam ùrachadh), agus airson cuir an-aghaidh buannachdan airson so-leòntachd nach eil fios fhathast. Còd a ' phròiseact air a sgaoileadh le le cead fo GPLv2.

Am measg nan atharrachaidhean san dreach ùr:

  • Tha suidheachadh a’ phròiseict LKRG air atharrachadh, nach eil air a roinn tuilleadh ann an fo-shiostaman fa leth airson a bhith a’ sgrùdadh ionracas agus a’ dearbhadh cleachdadh buannachdan, ach a tha air a thaisbeanadh mar thoradh iomlan airson ionnsaighean aithneachadh agus diofar bhrisidhean ionracas;
  • Tha co-chòrdalachd air a thoirt seachad le kernels Linux bho 5.3 gu 5.7, a bharrachd air kernels air an cur ri chèile le optimizations GCC ionnsaigheach, às aonais na roghainnean CONFIG_USB agus CONFIG_STACKTRACE no leis an roghainn CONFIG_UNWINDER_ORC, a bharrachd air kernels aig nach eil gnìomhan dubhan LKRG, mas urrainn dhaibh cuir seachad ;
  • Nuair a bhios tu a’ togail, thathas a’ sgrùdadh cuid de shuidheachaidhean kernel CONFIG_* èigneachail gus teachdaireachdan mearachd brìoghmhor a ghineadh an àite tubaistean doilleir;
  • Taic a bharrachd airson modhan cùl-taic (ACPI S3, stad gu RAM) agus cadal (S4, stad gu diosc);
  • Chuir sinn taic DKMS ri Makefile;
  • Chaidh taic deuchainneach airson àrd-ùrlaran ARM 32-bit a chuir an gnìomh (deuchainn air Raspberry Pi 3 Modail B). Chaidh taic AArch64 (ARM64) a bha ri fhaighinn roimhe seo a leudachadh gus co-chòrdalachd a thoirt seachad le bòrd Raspberry Pi 4;
  • Chaidh dubhan ùra a chuir ris, a’ toirt a-steach inneal-làimhseachaidh fios comasach () gus buannachdan a chomharrachadh a bhios a’ làimhseachadh"Comasan", gun a bhith a' pròiseasadh IDan (teisteanasan);
  • Chaidh loidsig ùr a mholadh airson a bhith a’ lorg oidhirpean gus faighinn seachad air cuingealachaidhean àite-ainm (mar eisimpleir, bho shoithichean Docker);
  • Air siostaman x86-64, tha am pìos SMAP (Bacadh Ruigsinneachd Modh Stiùiridh) air a sgrùdadh agus air a chuir an sàs, air a dhealbhadh gus ruigsinneachd air dàta àite luchd-cleachdaidh a bhacadh bho chòd sochair a tha a’ ruith aig ìre kernel. Chaidh dìon SMEP (Bacadh Cur gu bàs Modh Stiùiridh) a chuir an gnìomh roimhe seo;
  • Rè obrachadh, tha na roghainnean LKRG air an cur ann an duilleag cuimhne a tha mar as trice air a leughadh a-mhàin;
  • Tha fiosrachadh logaidh a dh’ fhaodadh a bhith nas fheumail airson ionnsaighean (mar eisimpleir, fiosrachadh mu sheòlaidhean san kernel) air a chuingealachadh ri modh deasbaid (log_level = 4 agus nas àirde), a tha ciorramach gu bunaiteach.
  • Tha scalability an stòr-dàta tracadh pròiseas air a mheudachadh - an àite aon chraobh RB air a dhìon le aon spinlock, thathas a’ cleachdadh clàr hash de chraobhan 512 RB air an dìon le glasan leughaidh 512;
  • Chaidh modh a chuir an gnìomh agus a chomasachadh gu bunaiteach, anns am bi ionracas aithnichearan pròiseas gu tric air a sgrùdadh a-mhàin airson a ’ghnìomh làithreach, agus cuideachd gu roghnach airson gnìomhan gnìomhaichte (dùsgadh). Airson gnìomhan eile a tha ann an staid cadail no ag obair gun a bhith a’ faighinn cothrom air an kernel API fo smachd LKRG, thèid an t-seic a dhèanamh cho tric.
  • Chaidh paramadairean sysctl agus modal ùra a chur ris airson LKRG a bhith a’ gleusadh LKRG, a bharrachd air dà sysctl airson rèiteachadh nas sìmplidhe le bhith a’ taghadh bho sheataichean de shuidheachaidhean gleusaidh (pròifilean) a dheasaich an luchd-leasachaidh;
  • Chaidh suidheachaidhean bunaiteach atharrachadh gus cothromachadh nas cothromaiche fhaighinn eadar astar lorg brisidhean agus èifeachdas an fhreagairt, air an aon làimh, agus a’ bhuaidh air coileanadh agus an cunnart bho nithean ceàrr, air an taobh eile;
  • Chaidh am faidhle aonad systemd ath-dhealbhadh gus am modal LKRG a luchdachadh tràth ann am bròg (faodar roghainn loidhne-àithne kernel a chleachdadh gus am modal a chuir à comas);

A’ toirt aire do na h-àrdachadh a thathar a’ moladh san fhoillseachadh ùr, thathas a’ meas gu bheil an lùghdachadh coileanaidh nuair a thathar a’ cleachdadh LKRG 0.8 aig 2.5% ann am modh bunaiteach (“trom”) agus 2% ann am modh aotrom (“solas”).

Ann an tachartas a chaidh a chumail o chionn ghoirid rannsachadh èifeachdas pacaidean airson rootkits LKRG a lorg sheall toraidhean as fheàrr, a’ comharrachadh 8 a-mach à 9 rootkits deuchainn ag obair aig ìre kernel às aonais dearbhaidhean meallta (rootkits Diamorphine, Honey Pot Bears, LilyOfTheValley, Nuk3 Gh0st, Puszek, Reptile, Rootfoo Linux Rootkit agus Sutekh air an comharrachadh, ach Keysniffer, a tha na kernel modal, air a chall le keylogger, chan e rootkit san t-seagh litireil). Airson coimeas a dhèanamh, lorg na pasganan AIDE, OSSEC agus Rootkit Hunter 2 a-mach à 9 rootkits, agus cha do lorg Chkrootkit gin. Aig an aon àm, chan eil LKRG a 'toirt taic do bhith a' lorg rootkits a tha suidhichte ann an àite luchd-cleachdaidh, agus mar sin tha an èifeachdas as motha air a choileanadh nuair a thathar a 'cleachdadh measgachadh de AIDE agus LKRG, a rinn e comasach 14 a-mach à 15 rootkits de gach seòrsa a chomharrachadh.

A bharrachd air an sin, faodar a thoirt fa-near gu bheil an leasaiche sgaoilidh Whonix tòiseachadh cruthachadh pasganan deiseil le DKMS airson Debian, Whonix, Qubes agus Kicksecure, agus pasgan airson Arch Linux air ùrachadh mu thràth gu dreach 0.8. Tha pacaidean le LKRG rim faighinn ann an Ruisis cuideachd ALT Linux и Astra airson Linux.

Bithear a’ dèanamh sgrùdadh air ionracas ann an LKRG le bhith a’ dèanamh coimeas eadar fìor chòd agus dàta nan kernel agus na modalan, cuid de structaran dàta cudromach agus suidheachaidhean CPU le hashes air an stòradh no lethbhric de na raointean cuimhne, structaran dàta no clàran co-fhreagarrach. Bidh sgrùdaidhean air an cur an gnìomh an dà chuid bho àm gu àm le timer agus nuair a bhios diofar thachartasan a’ tachairt.

Thathas a’ co-dhùnadh an cleachdadh a dh’ fhaodadh a bhith aig brathan agus ionnsaighean bacaidh aig an ìre mus toir an kernel cothrom air goireasan (mar eisimpleir, mus fosgail e faidhle), ach às deidh don phròiseas cead fhaighinn gun chead (mar eisimpleir, ag atharrachadh an UID). Nuair a lorgar giùlan gun chead, feumaidh pròiseasan crìochnachadh gu bunaiteach, rud a tha gu leòr airson casg a chuir air mòran bhuannachdan.

Source: fosgailtenet.ru

Cuir beachd ann