లెన్నార్ట్ పోటెరింగ్ Linux పంపిణీల కోసం బూట్ ప్రక్రియను ఆధునీకరించే ప్రతిపాదనను ప్రచురించింది, ఇది ఇప్పటికే ఉన్న సమస్యలను పరిష్కరించడం మరియు కెర్నల్ యొక్క విశ్వసనీయతను మరియు అంతర్లీన సిస్టమ్ పర్యావరణాన్ని నిర్ధారించే పూర్తి ధృవీకరించబడిన బూట్ యొక్క సంస్థను సులభతరం చేయడం లక్ష్యంగా పెట్టుకుంది. కొత్త ఆర్కిటెక్చర్ను అమలు చేయడానికి అవసరమైన మార్పులు ఇప్పటికే systemd కోడ్బేస్లో చేర్చబడ్డాయి మరియు systemd-stub, systemd-measure, systemd-cryptenroll, systemd-cryptsetup, systemd-pcrphase మరియు systemd-creds వంటి భాగాలను ప్రభావితం చేస్తాయి.
ప్రతిపాదిత మార్పులు UEFI (UEFI బూట్ స్టబ్) నుండి కెర్నల్ను లోడ్ చేసే హ్యాండ్లర్ మరియు మెమరీలోకి లోడ్ చేయబడిన initrd సిస్టమ్ ఎన్విరాన్మెంట్ని కలిపి లైనక్స్ కెర్నల్ ఇమేజ్ని కలిపి ఒకే యూనివర్సల్ ఇమేజ్ UKI (యూనిఫైడ్ కెర్నల్ ఇమేజ్) సృష్టించడం వరకు ముందుకు సాగుతుంది. రూట్ FSని మౌంట్ చేసే ముందు దశలో ప్రారంభ ప్రారంభించడం. initrd RAM డిస్క్ ఇమేజ్కి బదులుగా, మొత్తం సిస్టమ్ UKIలో ప్యాక్ చేయబడుతుంది, ఇది RAMలోకి లోడ్ చేయబడిన పూర్తిగా ధృవీకరించబడిన సిస్టమ్ పరిసరాలను సృష్టించడానికి మిమ్మల్ని అనుమతిస్తుంది. UKI ఇమేజ్ PE ఫార్మాట్లో ఎక్జిక్యూటబుల్ ఫైల్గా ఫార్మాట్ చేయబడింది, ఇది సాంప్రదాయ బూట్లోడర్లను ఉపయోగించి మాత్రమే లోడ్ చేయబడుతుంది, కానీ UEFI ఫర్మ్వేర్ నుండి నేరుగా కాల్ చేయవచ్చు.
UEFI నుండి కాల్ చేయగల సామర్థ్యం కెర్నల్ను మాత్రమే కాకుండా initrd యొక్క కంటెంట్లను కూడా కవర్ చేసే డిజిటల్ సిగ్నేచర్ ఇంటిగ్రిటీ చెక్ని ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది. అదే సమయంలో, సాంప్రదాయ బూట్లోడర్ల నుండి కాలింగ్కు మద్దతు, అప్డేట్ను ఇన్స్టాల్ చేసిన తర్వాత కొత్త కెర్నల్తో సమస్యలు గుర్తించబడితే, కెర్నల్ యొక్క అనేక వెర్షన్ల డెలివరీ మరియు ఆటోమేటిక్ రోల్బ్యాక్ వంటి ఫీచర్లను మీరు ఉంచుకోవడానికి అనుమతిస్తుంది.
ప్రస్తుతం, చాలా Linux పంపిణీలలో, ప్రారంభ ప్రక్రియ గొలుసు “ఫర్మ్వేర్ → డిజిటల్గా సంతకం చేయబడిన మైక్రోసాఫ్ట్ షిమ్ లేయర్ → GRUB బూట్ లోడర్ పంపిణీ ద్వారా డిజిటల్ సంతకం చేయబడింది → డిజిటల్ సంతకం చేయబడిన Linux కెర్నల్ → నాన్-సైన్డ్ initrd ఎన్విరాన్మెంట్ → root FS.” సాంప్రదాయ పంపిణీలలో initrd ధృవీకరణ లేకపోవడం భద్రతా సమస్యలను సృష్టిస్తుంది, ఎందుకంటే ఇతర విషయాలతోపాటు, ఈ వాతావరణంలో రూట్ ఫైల్ సిస్టమ్ను డీక్రిప్ట్ చేయడానికి కీలు తిరిగి పొందబడతాయి.
ఈ ఫైల్ వినియోగదారు యొక్క స్థానిక సిస్టమ్లో రూపొందించబడినందున initrd ఇమేజ్ యొక్క ధృవీకరణకు మద్దతు లేదు మరియు పంపిణీ కిట్ యొక్క డిజిటల్ సంతకంతో ధృవీకరించబడదు, ఇది SecureBoot మోడ్ను ఉపయోగిస్తున్నప్పుడు ధృవీకరణ యొక్క సంస్థను చాలా క్లిష్టతరం చేస్తుంది (initrd, వినియోగదారు వారి స్వంత కీలను రూపొందించాలి మరియు వాటిని UEFI ఫర్మ్వేర్లోకి లోడ్ చేయాలి). అదనంగా, ప్రస్తుత బూట్ ఆర్గనైజేషన్ TPM PCR (ప్లాట్ఫారమ్ కాన్ఫిగరేషన్ రిజిస్టర్) రిజిస్టర్ల నుండి షిమ్, గ్రబ్ మరియు కెర్నల్ కాకుండా ఇతర యూజర్ స్పేస్ కాంపోనెంట్ల సమగ్రతను నియంత్రించడానికి సమాచారాన్ని ఉపయోగించడాన్ని అనుమతించదు. ఇప్పటికే ఉన్న సమస్యలలో, బూట్లోడర్ను నవీకరించడంలో సంక్లిష్టత మరియు అప్డేట్ను ఇన్స్టాల్ చేసిన తర్వాత అసంబద్ధంగా మారిన OS యొక్క పాత వెర్షన్ల కోసం TPMలోని కీలకు యాక్సెస్ను పరిమితం చేయలేకపోవడం వంటివి కూడా పేర్కొనబడ్డాయి.
కొత్త లోడింగ్ ఆర్కిటెక్చర్ని పరిచయం చేసే ప్రధాన లక్ష్యాలు:
- ఫర్మ్వేర్ నుండి వినియోగదారు స్థలానికి విస్తరించే పూర్తి ధృవీకరించబడిన బూట్ ప్రక్రియను అందించడం, బూట్ చేయబడిన భాగాల యొక్క ప్రామాణికత మరియు సమగ్రతను నిర్ధారిస్తుంది.
- యజమాని ద్వారా వేరు చేయబడిన TPM PCR రిజిస్టర్లకు నియంత్రిత వనరులను లింక్ చేయడం.
- బూట్ సమయంలో ఉపయోగించే కెర్నల్, initrd, కాన్ఫిగరేషన్ మరియు లోకల్ సిస్టమ్ ID ఆధారంగా PCR విలువలను ముందుగా లెక్కించే సామర్థ్యం.
- సిస్టమ్ యొక్క మునుపటి హాని కలిగించే సంస్కరణకు రోలింగ్ బ్యాక్ చేయడంతో అనుబంధించబడిన రోల్బ్యాక్ దాడుల నుండి రక్షణ.
- నవీకరణల యొక్క విశ్వసనీయతను సరళీకృతం చేయండి మరియు పెంచండి.
- TPM-రక్షిత వనరులను తిరిగి అప్లికేషన్ లేదా స్థానిక ప్రొవిజనింగ్ అవసరం లేని OS అప్డేట్లకు మద్దతు.
- లోడ్ చేయబడిన OS మరియు సెట్టింగ్ల యొక్క ఖచ్చితత్వాన్ని నిర్ధారించడానికి రిమోట్ ధృవీకరణ కోసం సిస్టమ్ సిద్ధంగా ఉంది.
- నిర్దిష్ట బూట్ దశలకు సున్నితమైన డేటాను జోడించే సామర్థ్యం, ఉదాహరణకు, TPM నుండి రూట్ ఫైల్ సిస్టమ్ కోసం ఎన్క్రిప్షన్ కీలను సంగ్రహించడం.
- రూట్ విభజన డ్రైవ్ను డీక్రిప్ట్ చేయడానికి కీలను అన్లాక్ చేయడానికి సురక్షితమైన, స్వయంచాలక మరియు వినియోగదారు-రహిత ప్రక్రియను అందించడం.
- TPM లేకుండా సిస్టమ్లకు రోల్బ్యాక్ చేయగల సామర్థ్యంతో TPM 2.0 స్పెసిఫికేషన్కు మద్దతు ఇచ్చే చిప్ల ఉపయోగం.
మూలం: opennet.ru