Linux కెర్నల్‌లోని దుర్బలత్వాల దోపిడీ నుండి రక్షించడానికి LKRG 0.8 మాడ్యూల్ విడుదల

ఓపెన్‌వాల్ ప్రాజెక్ట్ ప్రచురించిన కెర్నల్ మాడ్యూల్ విడుదల LKRG 0.8 (Linux కెర్నల్ రన్‌టైమ్ గార్డ్), కెర్నల్ నిర్మాణాల సమగ్రత యొక్క దాడులు మరియు ఉల్లంఘనలను గుర్తించడానికి మరియు నిరోధించడానికి రూపొందించబడింది. ఉదాహరణకు, మాడ్యూల్ నడుస్తున్న కెర్నల్‌కు అనధికారిక మార్పుల నుండి రక్షించగలదు మరియు వినియోగదారు ప్రక్రియల అనుమతులను మార్చడానికి ప్రయత్నిస్తుంది (దోపిడీ వినియోగాన్ని గుర్తించడం). మాడ్యూల్ Linux కెర్నల్ కోసం ఇప్పటికే తెలిసిన దోపిడీలకు వ్యతిరేకంగా రక్షణను నిర్వహించడానికి (ఉదాహరణకు, సిస్టమ్‌లోని కెర్నల్‌ను నవీకరించడం కష్టతరమైన పరిస్థితులలో) మరియు ఇంకా తెలియని దుర్బలత్వాల కోసం దోపిడీలను ఎదుర్కోవడానికి రెండింటికి అనుకూలంగా ఉంటుంది. ప్రాజెక్ట్ కోడ్ ద్వారా పంపిణీ చేయబడింది GPLv2 కింద లైసెన్స్ పొందింది.

కొత్త సంస్కరణలో మార్పులలో:

  • LKRG ప్రాజెక్ట్ యొక్క స్థానం మార్చబడింది, ఇది ఇకపై సమగ్రతను తనిఖీ చేయడానికి మరియు దోపిడీల వినియోగాన్ని నిర్ణయించడానికి ప్రత్యేక ఉపవ్యవస్థలుగా విభజించబడదు, కానీ దాడులు మరియు వివిధ సమగ్రత ఉల్లంఘనలను గుర్తించడానికి పూర్తి ఉత్పత్తిగా ప్రదర్శించబడుతుంది;
  • CONFIG_USB మరియు CONFIG_STACKTRACE ఎంపికలు లేకుండా లేదా CONFIG_UNWINDER_ORC ఎంపికతో, అలాగే కెర్నలు హుక్ చేయని కెర్నలు కలిగి ఉన్నట్లయితే, 5.3 నుండి 5.7 వరకు Linux కెర్నల్‌లతో, అలాగే దూకుడు GCC ఆప్టిమైజేషన్‌లతో కంపైల్ చేయబడిన కెర్నల్‌లతో అనుకూలత అందించబడుతుంది. పంపిణీ చేయబడుతుంది;
  • నిర్మించేటప్పుడు, కొన్ని తప్పనిసరి CONFIG_* కెర్నల్ సెట్టింగ్‌లు అస్పష్టమైన క్రాష్‌లకు బదులుగా అర్థవంతమైన దోష సందేశాలను రూపొందించడానికి తనిఖీ చేయబడతాయి;
  • స్టాండ్‌బై (ACPI S3, RAMకి సస్పెండ్) మరియు స్లీప్ (S4, డిస్క్‌కి సస్పెండ్) మోడ్‌లకు మద్దతు జోడించబడింది;
  • Makefileకి DKMS మద్దతు జోడించబడింది;
  • 32-బిట్ ARM ప్లాట్‌ఫారమ్‌ల కోసం ప్రయోగాత్మక మద్దతు అమలు చేయబడింది (రాస్ప్బెర్రీ పై 3 మోడల్ Bలో పరీక్షించబడింది). గతంలో అందుబాటులో ఉన్న AArch64 (ARM64) మద్దతు Raspberry Pi 4 బోర్డ్‌తో అనుకూలతను అందించడానికి విస్తరించబడింది;
  • "మానిప్యులేట్ చేసే దోపిడీలను మెరుగ్గా గుర్తించడానికి సామర్థ్యం గల() కాల్ హ్యాండ్లర్‌తో సహా కొత్త హుక్స్ జోడించబడ్డాయి.సామర్థ్యాలు", ప్రాసెస్ IDలు కాదు (ఆధారాలను);
  • నేమ్‌స్పేస్ పరిమితుల నుండి తప్పించుకునే ప్రయత్నాలను గుర్తించడానికి కొత్త లాజిక్ ప్రతిపాదించబడింది (ఉదాహరణకు, డాకర్ కంటైనర్‌ల నుండి);
  • x86-64 సిస్టమ్స్‌లో, SMAP (సూపర్‌వైజర్ మోడ్ యాక్సెస్ ప్రివెన్షన్) బిట్ తనిఖీ చేయబడుతుంది మరియు వర్తించబడుతుంది, ఇది కెర్నల్ స్థాయిలో అమలవుతున్న ప్రివిలేజ్డ్ కోడ్ నుండి యూజర్ స్పేస్ డేటాకు యాక్సెస్‌ను బ్లాక్ చేయడానికి రూపొందించబడింది. SMEP (సూపర్‌వైజర్ మోడ్ ఎగ్జిక్యూషన్ ప్రివెన్షన్) రక్షణ గతంలో అమలు చేయబడింది;
  • ఆపరేషన్ సమయంలో, LKRG సెట్టింగ్‌లు సాధారణంగా చదవడానికి మాత్రమే ఉండే మెమరీ పేజీలో ఉంచబడతాయి;
  • దాడులకు అత్యంత ఉపయోగకరమైన సమాచారాన్ని లాగింగ్ చేయడం (ఉదాహరణకు, కెర్నల్‌లోని చిరునామాల గురించిన సమాచారం) డీబగ్గింగ్ మోడ్‌కు పరిమితం చేయబడింది (log_level=4 మరియు అంతకంటే ఎక్కువ), ఇది డిఫాల్ట్‌గా నిలిపివేయబడుతుంది.
  • ప్రాసెస్ ట్రాకింగ్ డేటాబేస్ యొక్క స్కేలబిలిటీ పెంచబడింది - ఒక స్పిన్‌లాక్ ద్వారా రక్షించబడిన ఒక RB చెట్టుకు బదులుగా, 512 రీడ్-రైట్ లాక్‌ల ద్వారా రక్షించబడిన 512 RB చెట్ల హాష్ టేబుల్ ఉపయోగించబడుతుంది;
  • డిఫాల్ట్‌గా ఒక మోడ్ అమలు చేయబడింది మరియు ప్రారంభించబడింది, దీనిలో ప్రాసెస్ ఐడెంటిఫైయర్‌ల సమగ్రత తరచుగా ప్రస్తుత పని కోసం మాత్రమే తనిఖీ చేయబడుతుంది మరియు ఐచ్ఛికంగా యాక్టివేట్ చేయబడిన (మేల్కొనే) టాస్క్‌ల కోసం కూడా తనిఖీ చేయబడుతుంది. నిద్ర స్థితిలో ఉన్న లేదా LKRGచే నియంత్రించబడే కెర్నల్ APIని యాక్సెస్ చేయకుండా పని చేస్తున్న ఇతర పనుల కోసం, చెక్ తక్కువ తరచుగా జరుగుతుంది.
  • ఫైన్-ట్యూనింగ్ LKRG కోసం కొత్త sysctl మరియు మాడ్యూల్ పారామితులు జోడించబడ్డాయి, అలాగే డెవలపర్‌లు తయారుచేసిన ఫైన్-ట్యూనింగ్ సెట్టింగ్‌ల (ప్రొఫైల్స్) సెట్ల నుండి ఎంచుకోవడం ద్వారా సరళీకృత కాన్ఫిగరేషన్ కోసం రెండు sysctl;
  • ఉల్లంఘనలను గుర్తించే వేగం మరియు ప్రతిస్పందన యొక్క ప్రభావం, ఒక వైపు మరియు పనితీరుపై ప్రభావం మరియు తప్పుడు పాజిటివ్‌ల ప్రమాదం మధ్య మరింత సమతుల్య సమతుల్యతను సాధించడానికి డిఫాల్ట్ సెట్టింగ్‌లు మార్చబడ్డాయి;
  • బూట్‌లో ముందుగా LKRG మాడ్యూల్‌ను లోడ్ చేయడానికి systemd యూనిట్ ఫైల్ పునఃరూపకల్పన చేయబడింది (మాడ్యూల్‌ను నిలిపివేయడానికి కెర్నల్ కమాండ్ లైన్ ఎంపికను ఉపయోగించవచ్చు);

కొత్త విడుదలలో ప్రతిపాదించబడిన ఆప్టిమైజేషన్‌లను పరిగణనలోకి తీసుకుంటే, LKRG 0.8ని ఉపయోగిస్తున్నప్పుడు పనితీరు తగ్గింపు డిఫాల్ట్ మోడ్‌లో ("భారీ") 2.5% మరియు లైట్ మోడ్ ("లైట్")లో 2%గా అంచనా వేయబడింది.

ఇటీవల జరిగిన ఒక కార్యక్రమంలో అధ్యయనం రూట్‌కిట్‌లు LKRGని గుర్తించడానికి ప్యాకేజీల ప్రభావం చూపించాడు ఉత్తమ ఫలితాలు, తప్పుడు పాజిటివ్‌లు లేకుండా కెర్నల్ స్థాయిలో పనిచేస్తున్న 8 పరీక్షించిన రూట్‌కిట్‌లలో 9ని గుర్తించడం (రూట్‌కిట్‌లు డైమోర్ఫిన్, హనీ పాట్ బేర్స్, లిలీఆఫ్‌దివ్యాలీ, Nuk3 Gh0st, Puszek, Reptile, Rootfoo Linux Rootkit మరియు Sutekh గుర్తించబడ్డాయి, అయితే ఇది కీస్నిఫర్, మాడ్యూల్, కీలాగర్‌తో తప్పిపోయింది, సాహిత్యపరమైన అర్థంలో రూట్‌కిట్ కాదు). పోలిక కోసం, AIDE, OSSEC మరియు రూట్‌కిట్ హంటర్ ప్యాకేజీలు 2 రూట్‌కిట్‌లలో 9ని గుర్తించాయి, Chkrootkit ఏదీ గుర్తించలేదు. అదే సమయంలో, వినియోగదారు స్థలంలో ఉన్న రూట్‌కిట్‌లను గుర్తించడానికి LKRG మద్దతు ఇవ్వదు, కాబట్టి AIDE మరియు LKRG కలయికను ఉపయోగించినప్పుడు గొప్ప సామర్థ్యం సాధించబడుతుంది, ఇది అన్ని రకాల 14 రూట్‌కిట్‌లలో 15ని గుర్తించడం సాధ్యం చేసింది.

అదనంగా, పంపిణీ డెవలపర్ అని గమనించవచ్చు Whonix ప్రారంభించారు ఆకృతి Debian, Whonix, Qubes మరియు Kicksecure కోసం DKMSతో రెడీమేడ్ ప్యాకేజీలు మరియు ఒక ప్యాకేజీ ఆర్చ్ లైనక్స్ ఇప్పటికే వెర్షన్ 0.8కి నవీకరించబడింది. LKRGతో కూడిన ప్యాకేజీలు రష్యన్ భాషలో కూడా అందుబాటులో ఉన్నాయి alt linux и ఆస్ట్రా లైనక్స్.

LKRGలో సమగ్రత తనిఖీ అనేది కెర్నల్ మరియు మాడ్యూల్స్ యొక్క వాస్తవ కోడ్ మరియు డేటా, కొన్ని ముఖ్యమైన డేటా స్ట్రక్చర్‌లు మరియు CPU సెట్టింగ్‌లను నిల్వ చేసిన హ్యాష్‌లు లేదా సంబంధిత మెమరీ ప్రాంతాలు, డేటా స్ట్రక్చర్‌లు లేదా రిజిస్టర్‌ల కాపీలతో పోల్చడం ద్వారా నిర్వహించబడుతుంది. తనిఖీలు కాలానుగుణంగా టైమర్ ద్వారా మరియు వివిధ సంఘటనలు సంభవించినప్పుడు సక్రియం చేయబడతాయి.

కెర్నల్ వనరులకు ప్రాప్యతను అందించే ముందు (ఉదాహరణకు, ఫైల్‌ను తెరవడానికి ముందు), కానీ ప్రక్రియ అనధికార అనుమతులను పొందిన తర్వాత (ఉదాహరణకు, UIDని మార్చడం) దోపిడీల యొక్క సాధ్యమైన ఉపయోగాన్ని నిర్ణయించడం మరియు దాడులను నిరోధించడం జరుగుతుంది. అనధికార ప్రవర్తన గుర్తించబడినప్పుడు, ప్రక్రియలు డిఫాల్ట్‌గా ముగించవలసి వస్తుంది, ఇది అనేక దోపిడీలను నిరోధించడానికి సరిపోతుంది.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి