లినస్ టోర్వాల్డ్స్
దాడి చేసే వ్యక్తి రూట్ హక్కులతో కోడ్ అమలును సాధిస్తే, అతను కెర్నల్ స్థాయిలో తన కోడ్ని అమలు చేయగలడు, ఉదాహరణకు, కెర్నల్ను kexec ఉపయోగించి లేదా /dev/kmem ద్వారా రీడింగ్/రైటింగ్ మెమరీని ఉపయోగించి భర్తీ చేయడం ద్వారా. అటువంటి చర్య యొక్క అత్యంత స్పష్టమైన పరిణామం కావచ్చు
ప్రారంభంలో, ధృవీకరించబడిన బూట్ యొక్క రక్షణను బలోపేతం చేసే సందర్భంలో రూట్ పరిమితి విధులు అభివృద్ధి చేయబడ్డాయి మరియు 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” లేదా అసెంబ్లీ ఎంపికల ద్వారా సక్రియం చేయబడుతుంది.
లాక్డౌన్ కెర్నల్కు ప్రామాణిక యాక్సెస్ను మాత్రమే పరిమితం చేస్తుందని గమనించడం ముఖ్యం, అయితే దుర్బలత్వాల దోపిడీ ఫలితంగా మార్పుల నుండి రక్షించదు. ఓపెన్వాల్ ప్రాజెక్ట్ ద్వారా ఎక్స్ప్లోయిట్లను ఉపయోగించినప్పుడు నడుస్తున్న కెర్నల్కు మార్పులను నిరోధించడానికి
మూలం: opennet.ru