Linux 5.4 కెర్నల్ కెర్నల్ ఇంటర్నల్‌లకు రూట్ యాక్సెస్‌ను పరిమితం చేయడానికి ప్యాచ్‌లను పొందింది

లినస్ టోర్వాల్డ్స్ ఆమోదించబడిన Linux 5.4 కెర్నల్ యొక్క రాబోయే విడుదలలో చేర్చబడింది ప్యాచ్‌ల సమితి "మూసివేత', ప్రతిపాదించారు డేవిడ్ హోవెల్స్ (రెడ్ హాట్) మరియు మాథ్యూ గారెట్ (మాథ్యూ గారెట్, గూగుల్‌లో పనిచేస్తుంది) న్యూక్లియస్‌కు రూట్‌కు వినియోగదారు ప్రాప్యతను పరిమితం చేయడానికి. లాక్‌డౌన్‌తో అనుబంధించబడిన కార్యాచరణ ఐచ్ఛికంగా లోడ్ చేయబడిన LSM మాడ్యూల్‌లో ఉంచబడుతుంది (Linux సెక్యూరిటీ మాడ్యూల్), ఇది UID 0 మరియు కెర్నల్ మధ్య అడ్డంకిని ఉంచుతుంది, నిర్దిష్ట తక్కువ-స్థాయి కార్యాచరణను పరిమితం చేస్తుంది.

దాడి చేసే వ్యక్తి రూట్ హక్కులతో కోడ్ అమలును సాధిస్తే, అతను కెర్నల్ స్థాయిలో తన కోడ్‌ని అమలు చేయగలడు, ఉదాహరణకు, కెర్నల్‌ను kexec ఉపయోగించి లేదా /dev/kmem ద్వారా రీడింగ్/రైటింగ్ మెమరీని ఉపయోగించి భర్తీ చేయడం ద్వారా. అటువంటి చర్య యొక్క అత్యంత స్పష్టమైన పరిణామం కావచ్చు పక్కదారి UEFI సురక్షిత బూట్ లేదా కెర్నల్ స్థాయిలో నిల్వ చేయబడిన సున్నితమైన డేటాను తిరిగి పొందడం.

ప్రారంభంలో, ధృవీకరించబడిన బూట్ యొక్క రక్షణను బలోపేతం చేసే సందర్భంలో రూట్ పరిమితి విధులు అభివృద్ధి చేయబడ్డాయి మరియు UEFI సురక్షిత బూట్ యొక్క బైపాస్‌ను నిరోధించడానికి డిస్ట్రిబ్యూషన్‌లు థర్డ్-పార్టీ ప్యాచ్‌లను ఉపయోగిస్తున్నాయి. అదే సమయంలో, అటువంటి పరిమితులు కారణంగా కెర్నల్ యొక్క ప్రధాన కూర్పులో చేర్చబడలేదు విభేదాలు వాటి అమలులో మరియు ఇప్పటికే ఉన్న వ్యవస్థలకు అంతరాయం కలుగుతుందనే భయాలు. "లాక్‌డౌన్" మాడ్యూల్ ఇప్పటికే పంపిణీలలో ఉపయోగించిన ప్యాచ్‌లను గ్రహించింది, ఇవి UEFI సురక్షిత బూట్‌తో ముడిపడి ఉండని ప్రత్యేక ఉపవ్యవస్థ రూపంలో పునఃరూపకల్పన చేయబడ్డాయి.

లాక్‌డౌన్ మోడ్ /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, kprobes డీబగ్ మోడ్, mmiotrace, tracefs, BPF, PCMCIA CIS (కార్డ్ ఇన్ఫర్మేషన్ స్ట్రక్చర్), కొన్ని ACPI ఇంటర్‌ఫేస్‌లు మరియు CPUకి యాక్సెస్‌ని నియంత్రిస్తుంది MSR రిజిస్టర్‌లు, kexec_file మరియు kexec_load కాల్‌లు బ్లాక్ చేయబడ్డాయి, స్లీప్ మోడ్ నిషేధించబడింది, PCI పరికరాల కోసం DMA ఉపయోగం పరిమితం చేయబడింది, EFI వేరియబుల్స్ నుండి ACPI కోడ్ దిగుమతి నిషేధించబడింది,
సీరియల్ పోర్ట్ కోసం అంతరాయ సంఖ్య మరియు I/O పోర్ట్‌ను మార్చడంతో సహా I/O పోర్ట్‌లతో మానిప్యులేషన్‌లు అనుమతించబడవు.

డిఫాల్ట్‌గా, లాక్‌డౌన్ మాడ్యూల్ సక్రియంగా ఉండదు, ఇది kconfigలో SECURITY_LOCKDOWN_LSM ఎంపికను పేర్కొన్నప్పుడు నిర్మించబడుతుంది మరియు కెర్నల్ పరామితి “lockdown=”, నియంత్రణ ఫైల్ “/sys/kernel/security/lockdown” లేదా అసెంబ్లీ ఎంపికల ద్వారా సక్రియం చేయబడుతుంది. LOCK_DOWN_KERNEL_FORCE_*, ఇది "సమగ్రత" మరియు "గోప్యత" విలువలను తీసుకోవచ్చు. మొదటి సందర్భంలో, వినియోగదారు స్థలం నుండి నడుస్తున్న కెర్నల్‌కు మార్పులు చేయడానికి అనుమతించే లక్షణాలు బ్లాక్ చేయబడతాయి మరియు రెండవ సందర్భంలో, కెర్నల్ నుండి సున్నితమైన సమాచారాన్ని సేకరించేందుకు ఉపయోగించే కార్యాచరణ కూడా నిలిపివేయబడుతుంది.

లాక్‌డౌన్ కెర్నల్‌కు ప్రామాణిక యాక్సెస్‌ను మాత్రమే పరిమితం చేస్తుందని గమనించడం ముఖ్యం, అయితే దుర్బలత్వాల దోపిడీ ఫలితంగా మార్పుల నుండి రక్షించదు. ఓపెన్‌వాల్ ప్రాజెక్ట్ ద్వారా ఎక్స్‌ప్లోయిట్‌లను ఉపయోగించినప్పుడు నడుస్తున్న కెర్నల్‌కు మార్పులను నిరోధించడానికి అభివృద్ధి చెందుతుంది ప్రత్యేక మాడ్యూల్ LKRG (Linux Kernel Runtime Guard).

మూలం: opennet.ru

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