UEFI సురక్షిత బూట్‌ను రిమోట్‌గా దాటవేయడానికి ఉబుంటులో లాక్‌డౌన్ రక్షణను నిలిపివేయడానికి పద్ధతులు

Google నుండి ఆండ్రీ కొనోవలోవ్ ప్రచురించిన రక్షణను రిమోట్‌గా నిలిపివేయడానికి మార్గం మూసివేతUbuntuతో రవాణా చేయబడిన Linux కెర్నల్ ప్యాకేజీలో అందించబడింది (సాంకేతికతలు సిద్ధాంతపరంగా సూచించబడ్డాయి తప్పక Fedora మరియు ఇతర పంపిణీల కెర్నల్‌తో పని చేయండి, కానీ అవి పరీక్షించబడవు).

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

ప్రధాన Linux కెర్నల్‌కు లాక్‌డౌన్ మెకానిజం ఇటీవల జోడించబడింది 5.4, కానీ పంపిణీలలో సరఫరా చేయబడిన కెర్నల్‌లలో ఇది ఇప్పటికీ పాచెస్ రూపంలో అమలు చేయబడుతుంది లేదా పాచెస్‌తో అనుబంధంగా ఉంటుంది. డిస్ట్రిబ్యూషన్ కిట్‌లలో అందించబడిన యాడ్-ఆన్‌లు మరియు కెర్నల్‌లో బిల్ట్ చేయబడిన ఇంప్లిమెంటేషన్ మధ్య తేడాలలో ఒకటి, మీరు సిస్టమ్‌కు భౌతిక ప్రాప్యతను కలిగి ఉంటే అందించిన లాకింగ్‌ను నిలిపివేయగల సామర్థ్యం.

ఉబుంటు మరియు ఫెడోరాలో, లాక్‌డౌన్‌ను నిలిపివేయడానికి Alt+SysRq+X కీ కలయిక అందించబడింది. Alt+SysRq+X కలయిక పరికరానికి భౌతిక ప్రాప్యతతో మాత్రమే ఉపయోగించబడుతుందని అర్థం చేసుకోవచ్చు మరియు రిమోట్ హ్యాకింగ్ మరియు రూట్ యాక్సెస్‌ను పొందే సందర్భంలో, దాడి చేసే వ్యక్తి లాక్‌డౌన్‌ను నిలిపివేయలేరు మరియు ఉదాహరణకు, లోడ్ చేయలేరు కెర్నల్‌లో డిజిటల్‌గా సైన్ ఇన్ చేయని రూట్‌కిట్‌తో మాడ్యూల్.

ఆండ్రీ కొనోవలోవ్ వినియోగదారు యొక్క భౌతిక ఉనికిని నిర్ధారించడానికి కీబోర్డ్ ఆధారిత పద్ధతులు అసమర్థంగా ఉన్నాయని చూపించారు. లాక్‌డౌన్‌ని డిసేబుల్ చేయడానికి సులభమైన మార్గం ప్రోగ్రామాటిక్‌గా ఉంటుంది అనుకరణ /dev/uinput ద్వారా Alt+SysRq+X నొక్కడం, అయితే ఈ ఐచ్ఛికం మొదట్లో బ్లాక్ చేయబడింది. అదే సమయంలో, Alt+SysRq+X ప్రత్యామ్నాయం యొక్క కనీసం రెండు పద్ధతులను గుర్తించడం సాధ్యమైంది.

మొదటి పద్ధతిలో “sysrq-trigger” ఇంటర్‌ఫేస్‌ని ఉపయోగించడం ఉంటుంది - దానిని అనుకరించడానికి, ఈ ఇంటర్‌ఫేస్‌ని /proc/sys/kernel/sysrqకి వ్రాయడం ద్వారా ఈ ఇంటర్‌ఫేస్‌ని ఎనేబుల్ చేసి, ఆపై /proc/sysrq-triggerకి “x” అని వ్రాయండి. లొసుగు అన్నారు తొలగించబడింది డిసెంబర్ ఉబుంటు కెర్నల్ అప్‌డేట్‌లో మరియు ఫెడోరా 31లో. డెవలపర్లు, /dev/uinput విషయంలో వలె, ప్రారంభంలో ప్రయత్నించారు ఈ పద్ధతిని నిరోధించండి, కానీ నిరోధించడం వలన పని చేయలేదు తప్పులు కోడ్‌లో.

రెండవ పద్ధతిలో కీబోర్డ్ ఎమ్యులేషన్ ద్వారా ఉంటుంది USB/IP ఆపై వర్చువల్ కీబోర్డ్ నుండి Alt+SysRq+X క్రమాన్ని పంపడం. Ubuntuతో రవాణా చేయబడిన USB/IP కెర్నల్ డిఫాల్ట్‌గా ప్రారంభించబడింది (CONFIG_USBIP_VHCI_HCD=m మరియు CONFIG_USBIP_CORE=m) మరియు ఆపరేషన్ కోసం అవసరమైన డిజిటల్ సంతకం చేయబడిన usbip_core మరియు vhci_hcd మాడ్యూల్‌లను అందిస్తుంది. దాడి చేసేవాడు చేయగలడు సృష్టించడానికి వర్చువల్ USB పరికరం, ప్రారంభించడం ద్వారా లూప్‌బ్యాక్ ఇంటర్‌ఫేస్‌లో నెట్‌వర్క్ హ్యాండ్లర్ మరియు USB/IPని ఉపయోగించి రిమోట్ USB పరికరంగా కనెక్ట్ చేస్తోంది. పేర్కొన్న పద్ధతి గురించి నివేదించారు ఉబుంటు డెవలపర్‌లకు, కానీ పరిష్కారం ఇంకా విడుదల కాలేదు.

మూలం: opennet.ru

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