ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
మేము మళ్లీ తక్కువ స్థాయికి దిగి, x86-అనుకూల కంప్యూటర్ ప్లాట్‌ఫారమ్‌ల కోసం ఫర్మ్‌వేర్ భద్రత గురించి మాట్లాడాలని ప్రతిపాదిస్తున్నాము. ఈసారి, అధ్యయనం యొక్క ప్రధాన అంశం ఇంటెల్ బూట్ గార్డ్ (ఇంటెల్ BIOS గార్డ్‌తో గందరగోళం చెందకూడదు!) - హార్డ్‌వేర్-మద్దతు గల విశ్వసనీయ BIOS బూట్ సాంకేతికత కంప్యూటర్ సిస్టమ్ విక్రేత ఉత్పత్తి దశలో శాశ్వతంగా ప్రారంభించవచ్చు లేదా నిలిపివేయవచ్చు. బాగా, రీసెర్చ్ రెసిపీ మనకు ఇప్పటికే సుపరిచితమే: రివర్స్ ఇంజనీరింగ్‌ని ఉపయోగించి ఈ సాంకేతికత అమలును సన్నగా కత్తిరించండి, దాని నిర్మాణాన్ని వివరించండి, నమోదుకాని వివరాలతో నింపండి, రుచి మరియు కలపడానికి దాడి వెక్టర్‌లతో సీజన్ చేయండి. అనేక మంది విక్రేతల ఉత్పత్తిలో సంవత్సరాల తరబడి క్లోన్ చేయబడిన బగ్, తొలగించలేని (ప్రోగ్రామర్‌తో కూడా) సిస్టమ్‌లో దాచిన రూట్‌కిట్‌ను రూపొందించడానికి ఈ సాంకేతికతను ఉపయోగించే సంభావ్య దాడి చేసే వ్యక్తిని ఎలా అనుమతిస్తుంది అనే కథనానికి ఇంధనాన్ని జోడిద్దాం.

మార్గం ద్వారా, వ్యాసం కాన్ఫరెన్స్ నుండి “ఆన్ గార్డ్ ఆఫ్ రూట్‌కిట్స్: ఇంటెల్ బూట్‌గార్డ్” నివేదికల ఆధారంగా రూపొందించబడింది జీరోనైట్స్ 2016 మరియు 29వ సమావేశం డెఫ్కాన్ రష్యా (రెండు ప్రదర్శనలు ఇక్కడ).

Intel 64 ఆర్కిటెక్చర్‌తో కంప్యూటర్ ప్లాట్‌ఫారమ్ కోసం ఫర్మ్‌వేర్

ముందుగా, ప్రశ్నకు సమాధానమివ్వండి: ఇంటెల్ 64 ఆర్కిటెక్చర్తో ఆధునిక కంప్యూటర్ ప్లాట్ఫారమ్ యొక్క ఫర్మ్వేర్ ఏమిటి? వాస్తవానికి, UEFI BIOS. కానీ అలాంటి సమాధానం ఖచ్చితమైనది కాదు. ఈ ఆర్కిటెక్చర్ యొక్క డెస్క్‌టాప్ (ల్యాప్‌టాప్) వెర్షన్‌ను చూపే చిత్రాన్ని చూద్దాం.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
ఆధారం లింక్:

  • ప్రాసెసర్ (CPU, సెంట్రల్ ప్రాసెసింగ్ యూనిట్), ఇది ప్రధాన కోర్లకు అదనంగా, అంతర్నిర్మిత గ్రాఫిక్స్ కోర్ (అన్ని మోడల్స్‌లో కాదు) మరియు మెమరీ కంట్రోలర్ (IMC, ఇంటిగ్రేటెడ్ మెమరీ కంట్రోలర్);
  • చిప్‌సెట్ (PCH, ప్లాట్‌ఫారమ్ కంట్రోలర్ హబ్), పరిధీయ పరికరాలతో పరస్పర చర్య చేయడానికి మరియు ఉపవ్యవస్థలను నిర్వహించడానికి వివిధ కంట్రోలర్‌లను కలిగి ఉంటుంది. వాటిలో బాగా తెలిసిన ఇంటెల్ మేనేజ్‌మెంట్ ఇంజిన్ (ME), ఇందులో ఫర్మ్‌వేర్ (ఇంటెల్ ME ఫర్మ్‌వేర్) కూడా ఉంది.

ల్యాప్‌టాప్‌లకు, పైన పేర్కొన్న వాటికి అదనంగా, అంతర్నిర్మిత కంట్రోలర్ (ACPI EC, అడ్వాన్స్‌డ్ కంట్రోల్ మరియు పవర్ ఇంటర్‌ఫేస్ ఎంబెడెడ్ కంట్రోలర్) అవసరం, ఇది పవర్ సబ్‌సిస్టమ్, టచ్‌ప్యాడ్, కీబోర్డ్, Fn కీలు (స్క్రీన్ బ్రైట్‌నెస్, సౌండ్ వాల్యూమ్) యొక్క ఆపరేషన్‌కు బాధ్యత వహిస్తుంది. , కీబోర్డ్ బ్యాక్‌లైట్, మొదలైనవి ) మరియు ఇతర విషయాలు. మరియు దాని స్వంత ఫర్మ్‌వేర్ కూడా ఉంది.

కాబట్టి, పైన పేర్కొన్న ఫర్మ్‌వేర్ మొత్తం కంప్యూటర్ ప్లాట్‌ఫారమ్ (సిస్టమ్ ఫర్మ్‌వేర్) యొక్క ఫర్మ్‌వేర్, ఇది సాధారణ SPI ఫ్లాష్ మెమరీలో నిల్వ చేయబడుతుంది. ఈ మెమరీ యొక్క వినియోగదారులు అది ఎక్కడ ఉందో గురించి గందరగోళానికి గురికాకుండా ఉండటానికి, ఈ మెమరీలోని కంటెంట్‌లు క్రింది ప్రాంతాలుగా విభజించబడ్డాయి (చిత్రంలో చూపిన విధంగా):

  • UEFI BIOS;
  • ACPI EC ఫర్మ్‌వేర్ (స్కైలేక్ ప్రాసెసర్ మైక్రోఆర్కిటెక్చర్ (2015)తో ఒక ప్రత్యేక ప్రాంతం కనిపించింది, కానీ వైల్డ్‌లో మేము దాని ఉపయోగం యొక్క ఉదాహరణలను ఇంకా చూడలేదు, కాబట్టి అంతర్నిర్మిత కంట్రోలర్ యొక్క ఫర్మ్‌వేర్ ఇప్పటికీ UEFI BIOSలో చేర్చబడింది) ;
  • ఇంటెల్ ME ఫర్మ్‌వేర్;
  • అంతర్నిర్మిత GbE (గిగాబిట్ ఈథర్నెట్) నెట్‌వర్క్ అడాప్టర్ యొక్క కాన్ఫిగరేషన్ (MAC చిరునామా, మొదలైనవి);
  • ఫ్లాష్ డిస్క్రిప్టర్లు ఫ్లాష్ మెమరీ యొక్క ప్రధాన ప్రాంతం, ఇది ఇతర ప్రాంతాలకు పాయింటర్‌లను కలిగి ఉంటుంది, అలాగే వాటిని యాక్సెస్ చేయడానికి అనుమతులను కలిగి ఉంటుంది.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
SPI బస్ మాస్టర్, చిప్‌సెట్‌లో నిర్మించబడిన SPI కంట్రోలర్, దీని ద్వారా ఈ మెమరీ యాక్సెస్ చేయబడుతుంది, ప్రాంతాలకు (నిర్దేశించిన అనుమతులకు అనుగుణంగా) యాక్సెస్‌ని డీలిమిట్ చేయడానికి బాధ్యత వహిస్తుంది. అనుమతులు ఇంటెల్ సిఫార్సు చేసిన (భద్రతా కారణాల దృష్ట్యా) విలువలకు సెట్ చేయబడితే, ప్రతి SPI ఫ్లాష్ వినియోగదారుకు వారి ప్రాంతానికి మాత్రమే పూర్తి ప్రాప్యత (చదవడానికి/వ్రాయడానికి) ఉంటుంది. మరియు మిగిలినవి చదవడానికి మాత్రమే లేదా యాక్సెస్ చేయలేనివి. బాగా తెలిసిన వాస్తవం: అనేక సిస్టమ్‌లలో, CPU UEFI BIOS మరియు GbEలకు పూర్తి ప్రాప్తిని కలిగి ఉంది, ఫ్లాష్ డిస్క్రిప్టర్‌లకు మాత్రమే రీడ్ యాక్సెస్‌ను కలిగి ఉంటుంది మరియు Intel ME ప్రాంతానికి ఎటువంటి ప్రాప్యత లేదు. చాలా మందిపై ఎందుకు, మరియు అందరిపై కాదు? సిఫార్సు చేయబడినది అవసరం లేదు. వ్యాసంలో మేము మీకు మరింత వివరంగా చెబుతాము.

మార్పు నుండి కంప్యూటర్ ప్లాట్‌ఫారమ్ ఫర్మ్‌వేర్‌ను రక్షించే మెకానిజమ్స్

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

అందువలన, Intel ME ఫర్మ్‌వేర్ సమగ్రత మరియు ప్రామాణికతను నియంత్రించడానికి సంతకం చేయబడింది మరియు ME UMA మెమరీలో లోడ్ చేయబడిన ప్రతిసారీ ME కంట్రోలర్ ద్వారా తనిఖీ చేయబడుతుంది. ఈ ధృవీకరణ ప్రక్రియ ఇప్పటికే ఒకదానిలో మేము చర్చించాము వ్యాసాలు, Intel ME సబ్‌సిస్టమ్‌కు అంకితం చేయబడింది.

మరియు ACPI EC ఫర్మ్‌వేర్, ఒక నియమం వలె, సమగ్రత కోసం మాత్రమే తనిఖీ చేయబడుతుంది. అయితే, ఈ బైనరీ UEFI BIOSలో చేర్చబడినందున, ఇది దాదాపు ఎల్లప్పుడూ UEFI BIOS ఉపయోగించే అదే రక్షణ విధానాలకు లోబడి ఉంటుంది. వాటి గురించి మాట్లాడుకుందాం.

ఈ యంత్రాంగాలను రెండు వర్గాలుగా విభజించవచ్చు.

UEFI BIOS ప్రాంతంలో రక్షణను వ్రాయండి

  1. రైట్-ప్రొటెక్ట్ జంపర్‌తో SPI ఫ్లాష్ మెమరీ యొక్క కంటెంట్‌ల భౌతిక రక్షణ;
  2. PRx చిప్‌సెట్ రిజిస్టర్‌లను ఉపయోగించి CPU చిరునామా స్థలంలో UEFI BIOS ప్రాంతం యొక్క ప్రొజెక్షన్‌ను రక్షించడం;
  3. చిప్‌సెట్ రిజిస్టర్‌లలో BIOS_WE/BLE మరియు SMM_BWP బిట్‌లను సెట్ చేయడం ద్వారా సంబంధిత SMI అంతరాయాన్ని రూపొందించడం మరియు ప్రాసెస్ చేయడం ద్వారా UEFI BIOS ప్రాంతానికి వ్రాయడానికి ప్రయత్నాలను నిరోధించడం;
  4. ఈ రక్షణ యొక్క మరింత అధునాతన సంస్కరణ Intel BIOS గార్డ్ (PFAT).

ఈ యంత్రాంగాలకు అదనంగా, విక్రేతలు వారి స్వంత భద్రతా చర్యలను అభివృద్ధి చేయవచ్చు మరియు అమలు చేయవచ్చు (ఉదాహరణకు, UEFI BIOS నవీకరణలతో క్యాప్సూల్స్‌పై సంతకం చేయడం).

ఒక నిర్దిష్ట సిస్టమ్‌పై (విక్రేతపై ఆధారపడి), పైన పేర్కొన్న అన్ని రక్షణ విధానాలు వర్తించకపోవచ్చు, అవి అస్సలు వర్తించకపోవచ్చు లేదా అవి హాని కలిగించే పద్ధతిలో అమలు చేయబడవచ్చని గమనించడం ముఖ్యం. మీరు ఈ యంత్రాంగాల గురించి మరియు వాటి అమలుతో పరిస్థితి గురించి మరింత చదువుకోవచ్చు ఈ వ్యాసం. ఆసక్తి ఉన్నవారి కోసం, మీరు UEFI BIOS భద్రతపై మొత్తం కథనాలను చదవవలసిందిగా మేము సిఫార్సు చేస్తున్నాము కోడ్‌రష్.

UEFI BIOS ప్రమాణీకరణ

మేము విశ్వసనీయ బూట్ టెక్నాలజీల గురించి మాట్లాడేటప్పుడు, ముందుగా గుర్తుకు వచ్చేది సురక్షిత బూట్. అయితే, నిర్మాణపరంగా ఇది UEFI BIOS (డ్రైవర్‌లు, బూట్‌లోడర్‌లు మొదలైనవి)కి వెలుపలి భాగాల యొక్క ప్రామాణికతను ధృవీకరించడానికి రూపొందించబడింది మరియు ఫర్మ్‌వేర్ కాదు.

అందువల్ల, ఇంటెల్, బే ట్రైల్ మైక్రోఆర్కిటెక్చర్ (2012)తో కూడిన SoC లలో, పైన పేర్కొన్న సురక్షిత బూట్ సాంకేతికతతో ఏదీ ఉమ్మడిగా లేని హార్డ్‌వేర్ నాన్-డిసేబుల్ సెక్యూర్ బూట్ (వెరిఫైడ్ బూట్)ను అమలు చేసింది. తరువాత (2013), హాస్వెల్ మైక్రోఆర్కిటెక్చర్‌తో డెస్క్‌టాప్‌ల కోసం ఈ మెకానిజం మెరుగుపరచబడింది మరియు ఇంటెల్ బూట్ గార్డ్ పేరుతో విడుదల చేయబడింది.

ఇంటెల్ బూట్ గార్డ్‌ను వివరించే ముందు, ఇంటెల్ 64 ఆర్కిటెక్చర్‌లోని ఎగ్జిక్యూషన్ ఎన్విరాన్‌మెంట్‌లను చూద్దాం, ఈ విశ్వసనీయ బూట్ టెక్నాలజీకి నమ్మకానికి మూలాలు.

ఇంటెల్ CPU

ఇంటెల్ 64 ఆర్కిటెక్చర్‌లో ప్రాసెసర్ ప్రధాన ఎగ్జిక్యూషన్ ఎన్విరాన్‌మెంట్ అని క్యాప్ సూచిస్తుంది. ఇది ఎందుకు నమ్మకానికి మూలం? కింది మూలకాల స్వాధీనం అతన్ని అలాంటిదిగా చేస్తుంది:

  • మైక్రోకోడ్ ROM అనేది మైక్రోకోడ్‌ను నిల్వ చేయడానికి అస్థిరత లేని, తిరిగి వ్రాయలేని మెమరీ. మైక్రోకోడ్ అనేది సరళమైన సూచనలను ఉపయోగించి ప్రాసెసర్ కమాండ్ సిస్టమ్ యొక్క అమలు అని నమ్ముతారు. మైక్రోకోడ్‌లో కూడా జరుగుతుంది దోషాలు. కాబట్టి BIOSలో మీరు మైక్రోకోడ్ నవీకరణలతో బైనరీలను కనుగొనవచ్చు (బూట్ సమయంలో అతివ్యాప్తి చెందుతుంది, ఎందుకంటే ROM ఓవర్రైట్ చేయబడదు). ఈ బైనరీల యొక్క కంటెంట్‌లు గుప్తీకరించబడ్డాయి, ఇది విశ్లేషణను చాలా క్లిష్టతరం చేస్తుంది (అందువల్ల, మైక్రోకోడ్ యొక్క నిర్దిష్ట కంటెంట్ దానిని అభివృద్ధి చేసే వారికి మాత్రమే తెలుసు), మరియు సమగ్రత మరియు ప్రామాణికతను నియంత్రించడానికి సంతకం చేయబడింది;
  • మైక్రోకోడ్ అప్‌డేట్‌ల కంటెంట్‌లను డీక్రిప్ట్ చేయడానికి AES కీ;
  • మైక్రోకోడ్ నవీకరణల సంతకాన్ని ధృవీకరించడానికి ఉపయోగించే RSA పబ్లిక్ కీ యొక్క హాష్;
  • RSA పబ్లిక్ కీ హాష్, ఇది ఇంటెల్-అభివృద్ధి చేసిన ACM (ప్రామాణీకరించబడిన కోడ్ మాడ్యూల్) కోడ్ మాడ్యూల్స్ యొక్క సంతకాన్ని ధృవీకరిస్తుంది, ఇది CPU BIOS అమలుకు ముందు (హలో మైక్రోకోడ్) లేదా దాని ఆపరేషన్ సమయంలో, కొన్ని సంఘటనలు సంభవించినప్పుడు ప్రారంభించవచ్చు.

ఇంటెల్ ME

మా బ్లాగ్ ఈ ఉపవ్యవస్థకు అంకితం చేయబడింది రెండు వ్యాసాలు. ఈ ఎక్జిక్యూటబుల్ ఎన్విరాన్మెంట్ చిప్‌సెట్‌లో నిర్మించిన మైక్రోకంట్రోలర్‌పై ఆధారపడి ఉందని మరియు సిస్టమ్‌లో అత్యంత దాచబడినది మరియు ప్రత్యేకించబడినది అని గుర్తుచేసుకుందాం.

దాని గోప్యత ఉన్నప్పటికీ, ఇంటెల్ ME కూడా నమ్మకానికి మూలం ఎందుకంటే ఇది కలిగి ఉంది:

  • ME ROM - అస్థిరత లేని, తిరిగి వ్రాయలేని మెమరీ (నవీకరణ పద్ధతి అందించబడలేదు) ప్రారంభ కోడ్‌ను కలిగి ఉంటుంది, అలాగే Intel ME ఫర్మ్‌వేర్ సంతకాన్ని ధృవీకరించే RSA పబ్లిక్ కీ యొక్క SHA256 హాష్;
  • రహస్య సమాచారాన్ని నిల్వ చేయడానికి AES కీ;
  • కంప్యూటర్ సిస్టమ్ విక్రేత పేర్కొన్న దానితో సహా కొంత సమాచారం యొక్క శాశ్వత నిల్వ కోసం చిప్‌సెట్‌లో విలీనం చేయబడిన ఫ్యూజ్‌ల సమితి (FPFలు, ఫీల్డ్ ప్రోగ్రామబుల్ ఫ్యూజ్‌లు) యాక్సెస్.

ఇంటెల్ బూట్ గార్డ్ 1.x

ఒక చిన్న నిరాకరణ. మేము ఈ కథనంలో ఉపయోగించే ఇంటెల్ బూట్ గార్డ్ టెక్నాలజీ వెర్షన్ నంబర్‌లు ఏకపక్షంగా ఉంటాయి మరియు ఇంటెల్ అంతర్గత డాక్యుమెంటేషన్‌లో ఉపయోగించిన నంబరింగ్‌తో వాటికి ఎటువంటి సంబంధం ఉండకపోవచ్చు. అదనంగా, ఈ సాంకేతికత యొక్క అమలు గురించి ఇక్కడ అందించిన సమాచారం రివర్స్ ఇంజనీరింగ్ సమయంలో పొందబడింది మరియు ఇంటెల్ బూట్ గార్డ్ యొక్క స్పెసిఫికేషన్‌తో పోలిస్తే తప్పులు ఉండవచ్చు, ఇది ఎప్పటికీ ప్రచురించబడదు.

కాబట్టి, ఇంటెల్ బూట్ గార్డ్ (BG) అనేది హార్డ్‌వేర్-మద్దతు గల UEFI BIOS ప్రమాణీకరణ ధృవీకరణ సాంకేతికత. [ప్లాట్‌ఫారమ్ ఎంబెడెడ్ సెక్యూరిటీ టెక్నాలజీ రివీల్డ్, చాప్టర్ బూట్ విత్ ఇంటెగ్రిటీ లేదా నాట్ బూట్] పుస్తకంలోని దాని చిన్న వివరణను బట్టి చూస్తే, ఇది విశ్వసనీయ బూట్ చెయిన్‌గా పనిచేస్తుంది. మరియు దానిలోని మొదటి లింక్ CPU లోపల బూట్ కోడ్ (మైక్రోకోడ్), ఇది రీసెట్ ఈవెంట్ ద్వారా ప్రేరేపించబడుతుంది (BIOSలోని రీసెట్ వెక్టర్‌తో గందరగోళం చెందకూడదు!). CPU SPI ఫ్లాష్ మెమరీలో Intel (Intel BG స్టార్టప్ ACM)చే అభివృద్ధి చేయబడిన మరియు సంతకం చేయబడిన కోడ్ మాడ్యూల్‌ను కనుగొంటుంది, దానిని దాని కాష్‌లోకి లోడ్ చేస్తుంది, ధృవీకరిస్తుంది (CPUలో ACMని ధృవీకరించే పబ్లిక్ కీ యొక్క హాష్ ఉందని ఇప్పటికే పైన గుర్తించబడింది. సంతకం) మరియు ప్రారంభమవుతుంది.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్

UEFI BIOS - ఇనిషియల్ బూట్ బ్లాక్ (IBB) యొక్క చిన్న ప్రారంభ భాగాన్ని ధృవీకరించడానికి ఈ కోడ్ మాడ్యూల్ బాధ్యత వహిస్తుంది, ఇది UEFI BIOS యొక్క ప్రధాన భాగాన్ని ధృవీకరించే కార్యాచరణను కలిగి ఉంటుంది. అందువలన, Intel BG OSను లోడ్ చేయడానికి ముందు BIOS యొక్క ప్రామాణికతను ధృవీకరించడానికి మిమ్మల్ని అనుమతిస్తుంది (ఇది సురక్షిత బూట్ సాంకేతికత పర్యవేక్షణలో నిర్వహించబడుతుంది).

ఇంటెల్ BG సాంకేతికత రెండు ఆపరేటింగ్ మోడ్‌లను అందిస్తుంది (మరియు ఒకటి మరొకదానితో జోక్యం చేసుకోదు, అనగా రెండు మోడ్‌లను సిస్టమ్‌లో ప్రారంభించవచ్చు లేదా రెండింటినీ నిలిపివేయవచ్చు).

కొలిచిన బూట్

మెజర్డ్ బూట్ (MB) మోడ్‌లో, ప్రతి బూట్ కాంపోనెంట్ (CPU బూట్ ROMతో ప్రారంభించి) TPM (ట్రస్టెడ్ ప్లాట్‌ఫారమ్ మాడ్యూల్) యొక్క సామర్థ్యాలను ఉపయోగించి తదుపరి దానిని "కొలుస్తుంది". తెలియని వారి కోసం, నేను వివరిస్తాను.

TPM PCRలను (ప్లాట్‌ఫారమ్ కాన్ఫిగరేషన్ రిజిస్టర్‌లు) కలిగి ఉంది, దీనిలో హ్యాషింగ్ ఆపరేషన్ ఫలితం ఫార్ములా ప్రకారం వ్రాయబడుతుంది:

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్

ఆ. ప్రస్తుత PCR విలువ మునుపటిదానిపై ఆధారపడి ఉంటుంది మరియు సిస్టమ్ రీసెట్ అయినప్పుడు మాత్రమే ఈ రిజిస్టర్‌లు రీసెట్ చేయబడతాయి.

ఆ విధంగా, MB మోడ్‌లో, ఏదో ఒక సమయంలో, PCRలు "కొలిచిన" కోడ్ లేదా డేటా యొక్క ప్రత్యేకమైన (హాషింగ్ ఆపరేషన్ సామర్థ్యాలలో) ఐడెంటిఫైయర్‌ను ప్రతిబింబిస్తాయి. PCR విలువలు కొన్ని డేటా ఎన్‌క్రిప్షన్ (TPM_Seal) ఆపరేషన్‌లో ఉపయోగించవచ్చు. దీని తర్వాత, లోడ్ చేయడం వల్ల PCR విలువలు మారకపోతే (అంటే, ఒక్క “కొలిచిన” భాగం కూడా సవరించబడలేదు) వాటి డిక్రిప్షన్ (TPM_Unseal) సాధ్యమవుతుంది.

ధృవీకరించబడిన బూట్

UEFI BIOSని సవరించాలనుకునే వారికి చెత్త విషయం ఏమిటంటే వెరిఫైడ్ బూట్ (VB) మోడ్, దీనిలో ప్రతి బూట్ కాంపోనెంట్ క్రిప్టోగ్రాఫికల్‌గా తదుపరి దాని యొక్క సమగ్రతను మరియు ప్రామాణికతను ధృవీకరిస్తుంది. మరియు ధృవీకరణ లోపం విషయంలో, (ఒకటి) జరుగుతుంది:

  • 1 నిమిషం నుండి 30 నిమిషాల వరకు గడువు ముగియడం ద్వారా షట్డౌన్ (తద్వారా వినియోగదారు తన కంప్యూటర్ ఎందుకు బూట్ కాలేదో అర్థం చేసుకోవడానికి సమయం ఉంటుంది మరియు వీలైతే, BIOS ను పునరుద్ధరించడానికి ప్రయత్నిస్తుంది);
  • తక్షణ షట్డౌన్ (తద్వారా వినియోగదారుకు అర్థం చేసుకోవడానికి సమయం ఉండదు, చాలా తక్కువ, ఏదైనా);
  • ప్రశాంతమైన వ్యక్తీకరణతో పనిని కొనసాగించడం (భద్రత కోసం సమయం లేనప్పుడు, మరింత ముఖ్యమైన పనులు చేయవలసి ఉన్నందున).

చర్య యొక్క ఎంపిక నిర్దిష్ట ఇంటెల్ BG కాన్ఫిగరేషన్‌పై ఆధారపడి ఉంటుంది (అంటే, ఎన్‌ఫోర్స్‌మెంట్ పాలసీ అని పిలవబడేది), ఇది కంప్యూటర్ ప్లాట్‌ఫారమ్ విక్రేతచే ప్రత్యేకంగా రూపొందించబడిన నిల్వలో శాశ్వతంగా రికార్డ్ చేయబడుతుంది - చిప్‌సెట్ ఫ్యూజ్‌లు (FPFs). మేము ఈ అంశంపై మరింత వివరంగా తరువాత నివసిస్తాము.

కాన్ఫిగరేషన్‌తో పాటు, విక్రేత రెండు RSA 2048 కీలను ఉత్పత్తి చేస్తాడు మరియు రెండు డేటా స్ట్రక్చర్‌లను సృష్టిస్తాడు (చిత్రంలో చూపబడింది):

  1. విక్రేత యొక్క రూట్ కీ మానిఫెస్ట్ (KEYM, OEM రూట్ కీ మానిఫెస్ట్), ఈ మానిఫెస్టో యొక్క SVN (సెక్యూరిటీ వెర్షన్ నంబర్), తదుపరి మ్యానిఫెస్టో యొక్క పబ్లిక్ కీ యొక్క SHA256 హాష్, RSA పబ్లిక్ కీ (అంటే పబ్లిక్ భాగం విక్రేత యొక్క రూట్ కీ) ఈ మానిఫెస్టో యొక్క సంతకాన్ని మరియు సంతకాన్ని ధృవీకరించడానికి;
  2. IBB మానిఫెస్ట్ (IBBM, ఇనీషియల్ బూట్ బ్లాక్ మానిఫెస్ట్), ఈ మ్యానిఫెస్టో యొక్క SVN, IBB యొక్క SHA256 హాష్, ఈ మ్యానిఫెస్టో సంతకాన్ని మరియు సంతకాన్ని ధృవీకరించే పబ్లిక్ కీని కలిగి ఉంటుంది.

OEM రూట్ కీ పబ్లిక్ కీ యొక్క SHA256 హాష్ Intel BG కాన్ఫిగరేషన్ వలె చిప్‌సెట్ ఫ్యూజ్‌లలో (FPFలు) శాశ్వతంగా రికార్డ్ చేయబడుతుంది. Intel BG కాన్ఫిగరేషన్ ఈ సాంకేతికతను చేర్చడానికి అందించినట్లయితే, ఇక నుండి OEM రూట్ కీ యొక్క ప్రైవేట్ భాగం యొక్క యజమాని మాత్రమే ఈ సిస్టమ్‌లోని BIOSని నవీకరించగలరు (అనగా, ఈ మానిఫెస్ట్‌లను తిరిగి లెక్కించగలరు), అనగా. విక్రేత.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్

చిత్రాన్ని చూస్తున్నప్పుడు, ఇంత పొడవైన ధృవీకరణ గొలుసు అవసరమా అనే సందేహాలు వెంటనే తలెత్తుతాయి - వారు ఒక మానిఫెస్ట్‌ని ఉపయోగించగలరు. విషయాలను క్లిష్టతరం చేయడం ఎందుకు?

వాస్తవానికి, ఇంటెల్ తన ఉత్పత్తుల యొక్క వివిధ లైన్ల కోసం వేర్వేరు IBB కీలను మరియు ఒకదానిని రూట్ కీగా ఉపయోగించే అవకాశాన్ని విక్రేతకు అందిస్తుంది. IBB కీ యొక్క ప్రైవేట్ భాగం (రెండవ మానిఫెస్ట్ సంతకం చేయబడినది) లీక్ అయినట్లయితే, ఈ సంఘటన కేవలం ఒక ఉత్పత్తి శ్రేణిని మాత్రమే ప్రభావితం చేస్తుంది మరియు విక్రేత కొత్త జతని సృష్టించి, తదుపరి BIOS నవీకరణలో తిరిగి లెక్కించిన మానిఫెస్ట్‌లను చేర్చే వరకు మాత్రమే.

కానీ రూట్ కీ (మొదటి మానిఫెస్ట్ సంతకం చేయబడినది) రాజీపడితే, దానిని భర్తీ చేయడం సాధ్యం కాదు; దాని కోసం ఉపసంహరణ ప్రక్రియ అందించబడలేదు. ఈ కీ యొక్క పబ్లిక్ భాగం యొక్క హాష్ FPFలో ఒకసారి మరియు అందరికీ ప్రోగ్రామ్ చేయబడుతుంది.

ఇంటెల్ బూట్ గార్డ్ కాన్ఫిగరేషన్

ఇప్పుడు Intel BG కాన్ఫిగరేషన్ మరియు దానిని సృష్టించే ప్రక్రియను నిశితంగా పరిశీలిద్దాం. మీరు Intel సిస్టమ్ టూల్ కిట్ (STK) నుండి ఫ్లాష్ ఇమేజ్ టూల్ యుటిలిటీ యొక్క GUIలోని సంబంధిత ట్యాబ్‌ను చూస్తే, Intel BG కాన్ఫిగరేషన్‌లో విక్రేత యొక్క రూట్ కీ యొక్క పబ్లిక్ భాగం యొక్క హాష్, ఒక జంట ఉన్నట్లు మీరు గమనించవచ్చు. అస్పష్టమైన విలువలు మొదలైనవి. ఇంటెల్ BG ప్రొఫైల్.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్

ఈ ప్రొఫైల్ నిర్మాణం:

typedef struct BG_PROFILE
{
	unsigned long Force_Boot_Guard_ACM : 1;
	unsigned long Verified_Boot : 1;
	unsigned long Measured_Boot : 1;
	unsigned long Protect_BIOS_Environment : 1;
	unsigned long Enforcement_Policy : 2; // 00b – do nothing
                                              // 01b – shutdown with timeout
                                              // 11b – immediate shutdown
	unsigned long : 26;
};

సాధారణంగా, Intel BG కాన్ఫిగరేషన్ చాలా సరళమైన ఎంటిటీ. ఉదాహరణకు, Force_Boot_Guard_ACM ఫ్లాగ్‌ని పరిగణించండి. ఇది తీసివేయబడినప్పుడు, SPI ఫ్లాష్‌లో BG స్టార్టప్ ACM మాడ్యూల్ కనుగొనబడకపోతే, విశ్వసనీయ బూట్ జరగదు. ఆమె అవిశ్వాసం అవుతుంది.

VB మోడ్ కోసం అమలు విధానాన్ని కాన్ఫిగర్ చేయవచ్చని మేము ఇప్పటికే పైన వ్రాసాము, తద్వారా ధృవీకరణ లోపం ఉన్నట్లయితే, అవిశ్వసనీయ డౌన్‌లోడ్ జరుగుతుంది.

అలాంటి వాటిని అమ్మకందారుల ఇష్టానికి వదిలేయండి...

GUI యుటిలిటీ కింది “రెడీమేడ్” ప్రొఫైల్‌లను అందిస్తుంది:

Номер
పాలన
వివరణ

0
No_FVME
Intel BG సాంకేతికత నిలిపివేయబడింది

1
VE
VB మోడ్ ప్రారంభించబడింది, గడువు ముగిసే సమయానికి షట్‌డౌన్ అవుతుంది

2
VME
రెండు మోడ్‌లు ప్రారంభించబడ్డాయి (VB మరియు MB), సమయం ముగిసే సమయానికి షట్‌డౌన్ అవుతుంది

3
VM
సిస్టమ్‌ను ఆపివేయకుండా రెండు మోడ్‌లు ప్రారంభించబడ్డాయి

4
FVE
VB మోడ్ ప్రారంభించబడింది, వెంటనే షట్‌డౌన్

5
FVME
రెండు మోడ్‌లు ప్రారంభించబడ్డాయి, వెంటనే షట్‌డౌన్

ఇప్పటికే చెప్పినట్లుగా, ఇంటెల్ BG కాన్ఫిగరేషన్‌ను సిస్టమ్ విక్రేత చిప్‌సెట్ ఫ్యూజ్‌లలోకి ఒకసారి మరియు అందరికీ వ్రాయాలి - (ధృవీకరించబడని సమాచారం ప్రకారం, కేవలం 256 బైట్లు మాత్రమే) చిప్‌సెట్ లోపల సమాచారం యొక్క హార్డ్‌వేర్ నిల్వ, ఇది ప్రోగ్రామ్ చేయబడుతుంది. ఇంటెల్ ఉత్పత్తి సౌకర్యాల వెలుపల (అందుకే ఫీల్డ్ ప్రోగ్రామబుల్ ఫ్యూజులు).

కాన్ఫిగరేషన్‌ను నిల్వ చేయడానికి ఇది చాలా బాగుంది ఎందుకంటే:

  • డేటాను నిల్వ చేయడానికి ఒక-సమయం-ప్రోగ్రామబుల్ ప్రాంతాన్ని కలిగి ఉంది (సరిగ్గా Intel BG కాన్ఫిగరేషన్ వ్రాయబడిన చోట);
  • Intel ME మాత్రమే దీన్ని చదవగలదు మరియు ప్రోగ్రామ్ చేయగలదు.

కాబట్టి, ఒక నిర్దిష్ట సిస్టమ్‌పై ఇంటెల్ BG సాంకేతికత కోసం కాన్ఫిగరేషన్‌ను సెట్ చేయడానికి, ఉత్పత్తి సమయంలో విక్రేత ఈ క్రింది వాటిని చేస్తాడు:

  1. ఫ్లాష్ ఇమేజ్ టూల్ యుటిలిటీని ఉపయోగించి (ఇంటెల్ STK నుండి), ఇది Intel ME ప్రాంతంలో వేరియబుల్స్ రూపంలో ఇచ్చిన Intel BG కాన్ఫిగరేషన్‌తో ఒక ఫర్మ్‌వేర్ ఇమేజ్‌ను సృష్టిస్తుంది (FPFల కోసం తాత్కాలిక మిర్రర్ అని పిలవబడేది);
  2. ఫ్లాష్ ప్రోగ్రామింగ్ టూల్ యుటిలిటీని ఉపయోగించి (ఇంటెల్ STK నుండి), ఇది సిస్టమ్ యొక్క SPI ఫ్లాష్ మెమరీకి ఈ చిత్రాన్ని వ్రాస్తుంది మరియు పిలవబడే దాన్ని మూసివేస్తుంది. తయారీ విధానం (ఈ సందర్భంలో, సంబంధిత కమాండ్ Intel MEకి పంపబడుతుంది).

ఈ కార్యకలాపాల ఫలితంగా, Intel ME పేర్కొన్న విలువలను ME ప్రాంతంలోని FPFల కోసం అద్దం నుండి FPFలకు నిర్దేశిస్తుంది, SPI ఫ్లాష్ డిస్క్రిప్టర్‌లలో రిజల్యూషన్‌లను ఇంటెల్ సిఫార్సు చేసిన విలువలకు సెట్ చేస్తుంది (ప్రారంభంలో వివరించబడింది వ్యాసం) మరియు సిస్టమ్ రీసెట్‌ను అమలు చేయండి.

ఇంటెల్ బూట్ గార్డ్ అమలు యొక్క విశ్లేషణ

నిర్దిష్ట ఉదాహరణను ఉపయోగించి ఈ సాంకేతికత అమలును విశ్లేషించడానికి, మేము Intel BG సాంకేతికత యొక్క జాడల కోసం క్రింది సిస్టమ్‌లను తనిఖీ చేసాము:

వ్యవస్థ
వ్యాఖ్య

గిగాబైట్ GA-H170-D3H
స్కైలేక్, మద్దతు ఉంది

గిగాబైట్ GA-Q170-D3H
స్కైలేక్, మద్దతు ఉంది

గిగాబైట్ GA-B150-HD3
స్కైలేక్, మద్దతు ఉంది

MSI H170A గేమింగ్ ప్రో
స్కైలేక్, మద్దతు లేదు

లెనోవా థింక్ప్యాడ్ 460
స్కైలేక్, మద్దతు, సాంకేతికత ప్రారంభించబడింది

లెనోవా యోగా 2 ప్రో
హస్వెల్, మద్దతు లేదు

Lenovo U330p
హస్వెల్, మద్దతు లేదు

“మద్దతు” అంటే మేము Intel BG స్టార్టప్ ACM మాడ్యూల్ ఉనికిని, పైన పేర్కొన్న మానిఫెస్ట్‌లు మరియు BIOSలో సంబంధిత కోడ్, అనగా. విశ్లేషణ కోసం అమలు.

ఉదాహరణకు, ఆఫీసు నుండి డౌన్‌లోడ్ చేసిన దాన్ని తీసుకుందాం. గిగాబైట్ GA-H170-D3H (వెర్షన్ F4) కోసం SPI ఫ్లాష్ మెమరీ యొక్క విక్రేత వెబ్‌సైట్ చిత్రం.

Intel CPU బూట్ ROM

అన్నింటిలో మొదటిది, Intel BG సాంకేతికత ప్రారంభించబడితే ప్రాసెసర్ యొక్క చర్యల గురించి మాట్లాడుదాం.

డీక్రిప్టెడ్ మైక్రోకోడ్ యొక్క నమూనాలను కనుగొనడం సాధ్యం కాదు, కాబట్టి దిగువ వివరించిన చర్యలు ఎలా అమలు చేయబడతాయి (మైక్రోకోడ్ లేదా హార్డ్‌వేర్‌లో) అనేది బహిరంగ ప్రశ్న. అయినప్పటికీ, ఆధునిక ఇంటెల్ ప్రాసెసర్లు ఈ చర్యలను "చేయగలవు" అనేది వాస్తవం.

రీసెట్ స్థితి నుండి నిష్క్రమించిన తర్వాత, ప్రాసెసర్ (ఫ్లాష్ మెమరీ యొక్క కంటెంట్‌లు ఇప్పటికే చిరునామా స్థలంలోకి మ్యాప్ చేయబడ్డాయి) FIT (ఫర్మ్‌వేర్ ఇంటర్‌ఫేస్ టేబుల్) పట్టికను కనుగొంటుంది. ఇది కనుగొనడం సులభం; దానికి పాయింటర్ FFFF FFC0h చిరునామాలో వ్రాయబడింది.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
పరిశీలనలో ఉన్న ఉదాహరణలో, FFD6 9500h విలువ ఈ చిరునామాలో ఉంది. ఈ చిరునామాను యాక్సెస్ చేయడం ద్వారా, ప్రాసెసర్ FIT పట్టికను చూస్తుంది, అందులోని విషయాలు రికార్డులుగా విభజించబడ్డాయి. మొదటి ఎంట్రీ క్రింది నిర్మాణం యొక్క శీర్షిక:

typedef struct FIT_HEADER
{
	char           Tag[8];     // ‘_FIT_   ’
	unsigned long  NumEntries; // including FIT header entry
	unsigned short Version;    // 1.0
	unsigned char  EntryType;  // 0
	unsigned char  Checksum;
};

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
కొన్ని తెలియని కారణాల వల్ల, చెక్‌సమ్ ఎల్లప్పుడూ ఈ పట్టికలలో లెక్కించబడదు (ఫీల్డ్ సున్నాగా మిగిలిపోయింది).

మిగిలిన ఎంట్రీలు BIOSని అమలు చేయడానికి ముందు అన్వయించాల్సిన/ఎగ్జిక్యూట్ చేయాల్సిన వివిధ బైనరీలను సూచిస్తాయి, అనగా. లెగసీ రీసెట్ వెక్టర్ (FFFF FFF0h)కి మారడానికి ముందు. అటువంటి ప్రతి ప్రవేశం యొక్క నిర్మాణం క్రింది విధంగా ఉంటుంది:

typedef struct FIT_ENTRY
{
	unsigned long  BaseAddress;
	unsigned long  : 32;
	unsigned long  Size;
	unsigned short Version;     // 1.0
	unsigned char  EntryType;
	unsigned char  Checksum;
};

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
EntryType ఫీల్డ్ ఈ ఎంట్రీ పాయింట్ల బ్లాక్ రకాన్ని మీకు తెలియజేస్తుంది. మనకు అనేక రకాలు తెలుసు:

enum FIT_ENTRY_TYPES
{
	FIT_HEADER = 0,
	MICROCODE_UPDATE,
	BG_ACM,
	BIOS_INIT = 7,
	TPM_POLICY,
	BIOS_POLICY,
	TXT_POLICY,
	BG_KEYM,
	BG_IBBM
};

ఇప్పుడు ఎంట్రీలలో ఒకటి Intel BG స్టార్టప్ ACM బైనరీ స్థానాన్ని సూచిస్తుంది. ఈ బైనరీ యొక్క హెడర్ నిర్మాణం Intel (ACMలు, మైక్రోకోడ్ అప్‌డేట్‌లు, Intel ME కోడ్ విభాగాలు, ...) ద్వారా అభివృద్ధి చేయబడిన కోడ్ మాడ్యూల్‌లకు విలక్షణమైనది.

typedef struct BG_ACM_HEADER
{
	unsigned short ModuleType;     // 2
	unsigned short ModuleSubType;  // 3
	unsigned long  HeaderLength;   // in dwords
	unsigned long  : 32;
	unsigned long  : 32;
	unsigned long  ModuleVendor;   // 8086h
	unsigned long  Date;           // in BCD format
	unsigned long  TotalSize;      // in dwords
	unsigned long  unknown1[6];
	unsigned long  EntryPoint;
	unsigned long  unknown2[16];
	unsigned long  RsaKeySize;     // in dwords
	unsigned long  ScratchSize;    // in dwords
	unsigned char  RsaPubMod[256];
	unsigned long  RsaPubExp;
	unsigned char  RsaSig[256];
};

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
ప్రాసెసర్ ఈ బైనరీని దాని కాష్‌లోకి లోడ్ చేస్తుంది, దానిని ధృవీకరించి, అమలు చేస్తుంది.

ఇంటెల్ BG స్టార్టప్ ACM

ఈ ACM యొక్క పనిని విశ్లేషించిన ఫలితంగా, ఇది క్రింది వాటిని చేస్తుందని స్పష్టమైంది:

  • Intel BG కాన్ఫిగరేషన్‌ను Intel ME నుండి పొందుతుంది, చిప్‌సెట్ ఫ్యూజ్‌లలో (FPFలు) వ్రాయబడింది;
  • KEYM మరియు IBBM మానిఫెస్ట్‌లను కనుగొని వాటిని ధృవీకరిస్తుంది.

ఈ మానిఫెస్ట్‌లను కనుగొనడానికి, ACM FIT పట్టికను కూడా ఉపయోగిస్తుంది, ఇది నిర్మాణ డేటాను సూచించడానికి రెండు ఎంట్రీ రకాలను కలిగి ఉంటుంది (పైన FIT_ENTRY_TYPES చూడండి).

మేనిఫెస్టోలను నిశితంగా పరిశీలిద్దాం. మొదటి మానిఫెస్ట్ యొక్క నిర్మాణంలో, మేము అనేక అస్పష్ట స్థిరాంకాలు, రెండవ మానిఫెస్ట్ నుండి పబ్లిక్ కీ యొక్క హాష్ మరియు ఒక సమూహ నిర్మాణంగా సంతకం చేయబడిన పబ్లిక్ OEM రూట్ కీని చూస్తాము:

typedef struct KEY_MANIFEST
{
	char           Tag[8];          // ‘__KEYM__’
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 0
	unsigned char  : 8;             // 1
	unsigned short : 16;            // 0Bh
	unsigned short : 16;            // 20h == hash size?
	unsigned char  IbbmKeyHash[32]; // SHA256 of an IBBM public key
	BG_RSA_ENTRY   OemRootKey;
};

typedef struct BG_RSA_ENTRY
{
	unsigned char  : 8;             // 10h
	unsigned short : 16;            // 1
	unsigned char  : 8;             // 10h
	unsigned short RsaPubKeySize;   // 800h
	unsigned long  RsaPubExp;
	unsigned char  RsaPubKey[256];
	unsigned short : 16;            // 14
	unsigned char  : 8;             // 10h
	unsigned short RsaSigSize;      // 800h
	unsigned short : 16;            // 0Bh
	unsigned char  RsaSig[256];
};

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
OEM రూట్ కీ పబ్లిక్ కీని ధృవీకరించడానికి, మేము SHA256 హాష్ ఫ్యూజ్‌లను ఉపయోగిస్తాము, ఈ సమయంలో ఇది ఇప్పటికే Intel ME నుండి స్వీకరించబడింది.

ఇక రెండో మేనిఫెస్టోకి వెళ్దాం. ఇది మూడు నిర్మాణాలను కలిగి ఉంటుంది:

typedef struct IBB_MANIFEST
{
	ACBP Acbp;         // Boot policies
	IBBS Ibbs;         // IBB description
	IBB_DESCRIPTORS[];
	PMSG Pmsg;         // IBBM signature
};

మొదటిది కొన్ని స్థిరాంకాలను కలిగి ఉంటుంది:

typedef struct ACBP
{
	char           Tag[8];          // ‘__ACBP__’
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 1
	unsigned char  : 8;             // 10h
	unsigned char  : 8;             // 0
	unsigned short : 16;            // x & F0h = 0
	unsigned short : 16;            // 0 < x <= 400h
};

రెండవది IBB యొక్క SHA256 హాష్ మరియు IBB యొక్క కంటెంట్‌లను వివరించే డిస్క్రిప్టర్‌ల సంఖ్యను కలిగి ఉంటుంది (అనగా, హాష్ దేని నుండి లెక్కించబడుతుంది):

typedef struct IBBS
{
	char           Tag[8];            // ‘__IBBS__’
	unsigned char  : 8;               // 10h
	unsigned char  : 8;               // 0
	unsigned char  : 8;               // 0
	unsigned char  : 8;               // x <= 0Fh
	unsigned long  : 32;              // x & FFFFFFF8h = 0
	unsigned long  Unknown[20];
	unsigned short : 16;              // 0Bh
	unsigned short : 16;              // 20h == hash size ?
	unsigned char  IbbHash[32];       // SHA256 of an IBB
	unsigned char  NumIbbDescriptors;
};

IBB డిస్క్రిప్టర్లు ఈ నిర్మాణాన్ని ఒకదాని తర్వాత ఒకటి అనుసరిస్తాయి. వాటి కంటెంట్‌లు క్రింది ఆకృతిని కలిగి ఉంటాయి:

typedef struct IBB_DESCRIPTOR
{
	unsigned long  : 32;
	unsigned long  BaseAddress;
	unsigned long  Size;
};

ఇది చాలా సులభం: ప్రతి డిస్క్రిప్టర్ IBB భాగం యొక్క చిరునామా/పరిమాణాన్ని కలిగి ఉంటుంది. ఈ విధంగా, ఈ డిస్క్రిప్టర్‌లచే సూచించబడిన బ్లాక్‌ల సంగ్రహణ (డిస్క్రిప్టర్‌ల క్రమంలోనే) IBB. మరియు, ఒక నియమం వలె, IBB అనేది SEC మరియు PEI దశల యొక్క అన్ని మాడ్యూళ్ల సేకరణ.

రెండవ మానిఫెస్ట్ IBB పబ్లిక్ కీ (మొదటి మానిఫెస్ట్ నుండి SHA256 హాష్ ద్వారా ధృవీకరించబడింది) మరియు ఈ మానిఫెస్ట్ సంతకంతో కూడిన నిర్మాణం ద్వారా పూర్తి చేయబడింది:

typedef struct PMSG
{
	char           Tag[8];            // ‘__PMSG__’
	unsigned char  : 8;               // 10h
	BG_RSA_ENTRY   IbbKey;
};

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
కాబట్టి, UEFI BIOS అమలు చేయడానికి ముందే, ప్రాసెసర్ ACMని ప్రారంభిస్తుంది, ఇది SEC మరియు PEI ఫేజ్ కోడ్‌తో విభాగాల కంటెంట్‌ల యొక్క ప్రామాణికతను ధృవీకరిస్తుంది. తరువాత, ప్రాసెసర్ ACM నుండి నిష్క్రమిస్తుంది, రీసెట్ వెక్టర్‌ను అనుసరిస్తుంది మరియు BIOSని అమలు చేయడం ప్రారంభిస్తుంది.

ధృవీకరించబడిన PEI విభజన తప్పనిసరిగా మిగిలిన BIOS (DXE కోడ్)ని తనిఖీ చేసే మాడ్యూల్‌ను కలిగి ఉండాలి. ఈ మాడ్యూల్ ఇప్పటికే IBV (ఇండిపెండెంట్ BIOS వెండర్) లేదా సిస్టమ్ వెండర్ ద్వారా అభివృద్ధి చేయబడుతోంది. ఎందుకంటే Lenovo మరియు Gigabyte సిస్టమ్‌లు మాత్రమే మా వద్ద ఉన్నాయి మరియు Intel BG మద్దతును కలిగి ఉన్నాయి; ఈ సిస్టమ్‌ల నుండి సంగ్రహించబడిన కోడ్‌ను చూద్దాం.

UEFI BIOS మాడ్యూల్ LenovoVerifiedBootPei

Lenovo విషయంలో, ఇది Lenovo చే అభివృద్ధి చేయబడిన LenovoVerifiedBootPei మాడ్యూల్ {B9F2AC77-54C7-4075-B42E-C36325A9468D} అని తేలింది.

DXE కోసం హాష్ టేబుల్‌ని (GUID ద్వారా) వెతకడం మరియు DXEని ధృవీకరించడం దీని పని.

if (EFI_PEI_SERVICES->GetBootMode() != BOOT_ON_S3_RESUME)
{
	if (!FindHashTable())
		return EFI_NOT_FOUND;
	if (!VerifyDxe())
		return EFI_SECURITY_VIOLATION;
}

Хеш таблица {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} имеет следующий формат:

typedef struct HASH_TABLE
{
	char          Tag[8];            // ‘$HASHTBL’
	unsigned long NumDxeDescriptors;
	DXE_DESCRIPTORS[];
};

typedef struct DXE_DESCRIPTOR
{
	unsigned char BlockHash[32];     // SHA256
	unsigned long Offset;
	unsigned long Size;
};

UEFI BIOS మాడ్యూల్ BootGuardPei

గిగాబైట్ విషయంలో, ఇది AMI చే అభివృద్ధి చేయబడిన BootGuardPei మాడ్యూల్ {B41956E1-7CA2-42DB-9562-168389F0F066} అని తేలింది, కాబట్టి, Intel BG మద్దతుతో ఏదైనా AMI BIOSలో ఉంది.

దీని ఆపరేటింగ్ అల్గోరిథం కొంత భిన్నంగా ఉంటుంది, అయినప్పటికీ, ఇది అదే విషయానికి మరుగుతుంది:

int bootMode = EFI_PEI_SERVICES->GetBootMode();

if (bootMode != BOOT_ON_S3_RESUME &&
    bootMode != BOOT_ON_FLASH_UPDATE &&
    bootMode != BOOT_IN_RECOVERY_MODE)
{
	HOB* h = CreateHob();
	if (!FindHashTable())
		return EFI_NOT_FOUND;
	WriteHob(&h, VerifyDxe());
	return h;
}

ఇది వెతుకుతున్న హాష్ టేబుల్ {389CC6F2-1EA8-467B-AB8A-78E769AE2A15} కింది ఆకృతిని కలిగి ఉంది:

typedef HASH_TABLE DXE_DESCRIPTORS[];

typedef struct DXE_DESCRIPTOR
{
	unsigned char BlockHash[32];     // SHA256
	unsigned long BaseAddress;
	unsigned long Size;
};

ఇంటెల్ బూట్ గార్డ్ 2.x

ఇంటెల్ బూట్ గార్డ్ యొక్క మరొక అమలు గురించి క్లుప్తంగా మాట్లాడుదాం, ఇది అపోలో లేక్ మైక్రోఆర్కిటెక్చర్ - ASRock J4205-ITతో Intel SoC ఆధారంగా కొత్త సిస్టమ్‌లో కనుగొనబడింది.

ఈ వెర్షన్ SoC లలో మాత్రమే ఉపయోగించబడినప్పటికీ (Kaby Lake ప్రాసెసర్ మైక్రోఆర్కిటెక్చర్‌తో కూడిన కొత్త సిస్టమ్‌లు Intel Boot Guard 1.xని ఉపయోగించడం కొనసాగిస్తున్నాయి), ఇది Intel SoC ప్లాట్‌ఫారమ్‌ల కోసం కొత్త ఆర్కిటెక్చర్ ఎంపికను అధ్యయనం చేయడంలో చాలా ఆసక్తిని కలిగి ఉంది, ఇందులో గణనీయమైన మార్పులు వచ్చాయి, ఉదాహరణకు:

  • BIOS మరియు Intel ME ప్రాంతాలు (లేదా Intel TXE, Intel SoC కోసం పరిభాష ప్రకారం) ఇప్పుడు ఒక IFWI ప్రాంతం;
  • ప్లాట్‌ఫారమ్‌పై Intel BG ప్రారంభించబడినప్పటికీ, FIT, KEYM, IBBM వంటి నిర్మాణాలు ఫ్లాష్ మెమరీలో కనుగొనబడలేదు;
  • TXE మరియు ISH కోర్లకు (x86) అదనంగా, చిప్‌సెట్‌కి మూడవ కోర్ జోడించబడింది (ARC మళ్ళీ, మార్గం ద్వారా) - PMC (పవర్ మేనేజ్‌మెంట్ కంట్రోలర్), పవర్ సబ్‌సిస్టమ్ యొక్క కార్యాచరణ మరియు పనితీరు పర్యవేక్షణతో అనుబంధించబడింది.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
కొత్త IFWI ప్రాంతం యొక్క కంటెంట్ క్రింది మాడ్యూళ్ల సమితి:

బయాస్
పేరు
వివరణ

0000 2000 గం
SMIP
ఒక నిర్దిష్ట ప్లాట్‌ఫారమ్ కాన్ఫిగరేషన్, విక్రేతచే సంతకం చేయబడింది

0000 6000 గం
RBEP
Intel TXE ఫర్మ్‌వేర్ కోడ్ విభాగం, x86, సంతకం చేసిన Intel

0001 0000 గం
PMCP
Intel PMC ఫర్మ్‌వేర్ కోడ్ విభాగం, ARC, సంతకం చేసిన Intel

0002 0000 గం
FTPR
Intel TXE ఫర్మ్‌వేర్ కోడ్ విభాగం, x86, సంతకం చేసిన Intel

0007 B000h
UCOD
CPU కోసం మైక్రోకోడ్ నవీకరణలు, Intel ద్వారా సంతకం చేయబడింది

0008 0000 గం
ఐబిబిపి
UEFI BIOS, SEC/PEI దశలు, x86, విక్రేతచే సంతకం చేయబడింది

0021 8000 గం
ISHC
Intel ISH ఫర్మ్‌వేర్ కోడ్ విభాగం, x86, విక్రేతచే సంతకం చేయబడింది

0025 8000 గం
NFTP
Intel TXE ఫర్మ్‌వేర్ కోడ్ విభాగం, x86, సంతకం చేసిన Intel

0036 1000 గం
IUNP
తెలియదు

0038 1000 గం
OBBP
UEFI BIOS, DXE దశ, x86, సంతకం చేయబడలేదు

TXE ఫర్మ్‌వేర్ యొక్క విశ్లేషణ సమయంలో, రీసెట్ తర్వాత, CPU (FIT, ACM, రీసెట్ వెక్టర్ ...) కోసం చిరునామా స్థలం యొక్క ప్రాథమిక విషయాలను సిద్ధం చేసే వరకు TXE ప్రాసెసర్‌ను ఈ స్థితిలో ఉంచుతుందని స్పష్టమైంది. అంతేకాకుండా, TXE ఈ డేటాను దాని SRAMలో ఉంచుతుంది, ఆ తర్వాత అది తాత్కాలికంగా ప్రాసెసర్‌కు యాక్సెస్‌ని ఇస్తుంది మరియు రీసెట్ నుండి "విడుదల చేస్తుంది".

రూట్‌కిట్‌లకు వ్యతిరేకంగా జాగ్రత్త వహించండి

సరే, ఇప్పుడు “హాట్” విషయాలకు వెళ్దాం. అనేక సిస్టమ్‌లలో, SPI ఫ్లాష్ డిస్క్రిప్టర్‌లు SPI ఫ్లాష్ మెమరీ యొక్క ప్రాంతాలను యాక్సెస్ చేయడానికి అనుమతులను కలిగి ఉన్నాయని మేము ఒకసారి కనుగొన్నాము, తద్వారా ఈ మెమరీ యొక్క వినియోగదారులందరూ ఏదైనా ప్రాంతాన్ని వ్రాయగలరు మరియు చదవగలరు. ఆ. అవకాశమే లేదు.

MEinfo యుటిలిటీతో (Intel STK నుండి) తనిఖీ చేసిన తర్వాత, ఈ సిస్టమ్‌లలో తయారీ మోడ్ మూసివేయబడలేదని మేము చూశాము, అందువల్ల, చిప్‌సెట్ ఫ్యూజ్‌లు (FPFలు) నిర్వచించబడని స్థితిలో ఉన్నాయి. అవును, అటువంటి సందర్భాలలో Intel BG ఆన్ లేదా ఆఫ్ చేయబడదు.

మేము ఈ క్రింది సిస్టమ్‌ల గురించి మాట్లాడుతున్నాము (ఇంటెల్ BGకి సంబంధించి మరియు వ్యాసంలో తరువాత ఏమి వివరించబడుతుంది, మేము హాస్వెల్ ప్రాసెసర్ మైక్రోఆర్కిటెక్చర్ మరియు అంతకంటే ఎక్కువ ఉన్న సిస్టమ్‌ల గురించి మాట్లాడుతాము):

  • అన్ని గిగాబైట్ ఉత్పత్తులు;
  • అన్ని MSI ఉత్పత్తులు;
  • Lenovo ల్యాప్‌టాప్‌ల 21 మోడల్‌లు మరియు Lenovo సర్వర్‌ల 4 మోడల్‌లు.

వాస్తవానికి, మేము ఆవిష్కరణను ఈ విక్రేతలకు అలాగే ఇంటెల్‌కు నివేదించాము.

నుండి మాత్రమే తగిన స్పందన వచ్చింది లెనోవాఎవరు సమస్యను గుర్తించారు మరియు ఒక ప్యాచ్ విడుదల చేసింది.

గిగాబైట్ వారు దుర్బలత్వం గురించిన సమాచారాన్ని అంగీకరించినట్లు అనిపించింది, కానీ ఏ విధంగానూ వ్యాఖ్యానించలేదు.

తో కమ్యూనికేషన్ ఎంఎస్ఐ మీ పబ్లిక్ PGP కీని (ఎన్‌క్రిప్టెడ్ రూపంలో వారికి భద్రతా సలహాను పంపడానికి) పంపాలన్న మా అభ్యర్థనపై పూర్తిగా నిలిచిపోయింది. వారు "హార్డ్‌వేర్ తయారీదారులు మరియు PGP కీలను ఉత్పత్తి చేయరు" అని పేర్కొన్నారు.

అయితే విషయానికి వద్దాం. ఫ్యూజులు పేర్కొనబడని స్థితిలో ఉన్నందున, వినియోగదారు (లేదా దాడి చేసేవారు) వాటిని స్వతంత్రంగా ప్రోగ్రామ్ చేయవచ్చు (అత్యంత కష్టమైన విషయం Intel STKని కనుగొనండి) దీన్ని చేయడానికి, మీరు క్రింది దశలను పూర్తి చేయాలి.

1. Windows OSలోకి బూట్ చేయండి (సాధారణంగా, మీరు కోరుకున్న OS కోసం Intel STK యొక్క అనలాగ్‌ను అభివృద్ధి చేస్తే, దిగువ వివరించిన చర్యలు Linux క్రింద కూడా చేయవచ్చు). MEinfo యుటిలిటీని ఉపయోగించి, ఈ సిస్టమ్‌లో ఫ్యూజ్‌లు ప్రోగ్రామ్ చేయబడలేదని నిర్ధారించుకోండి.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
2. ఫ్లాష్ ప్రోగ్రామింగ్ సాధనాన్ని ఉపయోగించి ఫ్లాష్ మెమరీ యొక్క కంటెంట్‌లను చదవండి.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
3. ఏదైనా UEFI BIOS ఎడిటింగ్ సాధనాన్ని ఉపయోగించి రీడ్ ఇమేజ్‌ని తెరవండి, అవసరమైన మార్పులు చేయండి (ఉదాహరణకు రూట్‌కిట్‌ని పరిచయం చేయండి), ME ప్రాంతంలో ఇప్పటికే ఉన్న KEYM మరియు IBBM నిర్మాణాలను సృష్టించండి/సవరించండి.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
చిత్రం RSA కీ యొక్క పబ్లిక్ భాగాన్ని హైలైట్ చేస్తుంది, దీని యొక్క హాష్ మిగిలిన Intel BG కాన్ఫిగరేషన్‌తో పాటు చిప్‌సెట్ ఫ్యూజ్‌లలోకి ప్రోగ్రామ్ చేయబడుతుంది.

4. ఫ్లాష్ ఇమేజ్ టూల్‌ని ఉపయోగించి, కొత్త ఫర్మ్‌వేర్ ఇమేజ్‌ను రూపొందించండి (Intel BG కాన్ఫిగరేషన్‌ని సెట్ చేయడం ద్వారా).

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
5. ఫ్లాష్ ప్రోగ్రామింగ్ సాధనాన్ని ఉపయోగించి మెమరీని ఫ్లాష్ చేయడానికి కొత్త చిత్రాన్ని వ్రాయండి మరియు ME ప్రాంతం ఇప్పుడు Intel BG కాన్ఫిగరేషన్‌ను కలిగి ఉందని MEinfoని ఉపయోగించి ధృవీకరించండి.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
6. తయారీ మోడ్‌ను మూసివేయడానికి ఫ్లాష్ ప్రోగ్రామింగ్ సాధనాన్ని ఉపయోగించండి.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
7. సిస్టమ్ రీబూట్ అవుతుంది, దాని తర్వాత మీరు FPFలు ఇప్పుడు ప్రోగ్రామ్ చేయబడి ఉన్నాయని ధృవీకరించడానికి MEinfoని ఉపయోగించవచ్చు.

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
ఈ చర్యలు ఎప్పటికీ ఈ సిస్టమ్‌లో Intel BGని ప్రారంభించండి. చర్య రద్దు చేయబడదు, అంటే:

  • రూట్ కీ యొక్క ప్రైవేట్ భాగం యొక్క యజమాని (అనగా, Intel BGని ప్రారంభించిన వ్యక్తి) మాత్రమే ఈ సిస్టమ్‌లో UEFI BIOSని నవీకరించగలరు;
  • మీరు ఈ సిస్టమ్‌కు అసలు ఫర్మ్‌వేర్‌ను తిరిగి ఇస్తే, ఉదాహరణకు, ప్రోగ్రామర్‌ని ఉపయోగించి, అది కూడా ఆన్ చేయబడదు (ధృవీకరణ లోపం విషయంలో అమలు విధానం యొక్క పరిణామం);
  • అటువంటి UEFI BIOSని వదిలించుకోవడానికి, మీరు ప్రోగ్రామ్ చేయబడిన FPFలతో చిప్‌సెట్‌ను “క్లీన్”తో భర్తీ చేయాలి (అనగా, మీకు ఇన్‌ఫ్రారెడ్ టంకం స్టేషన్‌కి ప్రాప్యత ఉంటే చిప్‌సెట్‌ను రీసోల్డర్ చేయండి, లేదా మదర్‌బోర్డ్‌ను భర్తీ చేయండి. )

అటువంటి రూట్‌కిట్ ఏమి చేయగలదో అర్థం చేసుకోవడానికి, మీరు UEFI BIOS వాతావరణంలో మీ కోడ్‌ని అమలు చేయడం ఏమి సాధ్యం చేస్తుందో విశ్లేషించాలి. అత్యంత విశేష ప్రాసెసర్ మోడ్‌లో - SMM అని చెప్పండి. అటువంటి రూట్‌కిట్ క్రింది లక్షణాలను కలిగి ఉండవచ్చు:

  • OSతో సమాంతరంగా అమలు చేయబడింది (మీరు SMI అంతరాయాన్ని రూపొందించడానికి ప్రాసెసింగ్‌ను కాన్ఫిగర్ చేయవచ్చు, ఇది టైమర్ ద్వారా ట్రిగ్గర్ చేయబడుతుంది);
  • SMM మోడ్‌లో ఉన్న అన్ని ప్రయోజనాలను కలిగి ఉంటుంది (RAM మరియు హార్డ్‌వేర్ వనరుల కంటెంట్‌లకు పూర్తి ప్రాప్యత, OS నుండి గోప్యత);
  • SMM మోడ్‌లో ప్రారంభించినప్పుడు రూట్‌కిట్ ప్రోగ్రామ్ కోడ్ ఎన్‌క్రిప్ట్ చేయబడుతుంది మరియు డీక్రిప్ట్ చేయబడుతుంది. SMM మోడ్‌లో మాత్రమే అందుబాటులో ఉన్న ఏదైనా డేటా ఎన్‌క్రిప్షన్ కీగా ఉపయోగించబడుతుంది. ఉదాహరణకు, SMRAMలోని చిరునామాల సెట్ నుండి హాష్. ఈ కీని పొందడానికి, మీరు SMMలోకి ప్రవేశించాలి. మరియు ఇది రెండు విధాలుగా చేయవచ్చు. SMM కోడ్‌లో RCEని కనుగొని దానిని ఉపయోగించుకోండి లేదా BIOSకు మీ స్వంత SMM మాడ్యూల్‌ని జోడించండి, ఇది మేము బూట్ గార్డ్‌ని ప్రారంభించినప్పటి నుండి అసాధ్యం.

అందువలన, ఈ దుర్బలత్వం దాడి చేసే వ్యక్తిని వీటిని అనుమతిస్తుంది:

  • సిస్టమ్‌లో తెలియని ప్రయోజనం యొక్క దాచిన, తొలగించలేని రూట్‌కిట్‌ను సృష్టించండి;
  • Intel SoC లోపల చిప్‌సెట్ కోర్‌లలో ఒకదానిపై మీ కోడ్‌ని అమలు చేయండి, అవి Intel ISHలో (చిత్రాన్ని జాగ్రత్తగా పరిశీలించండి).

ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
ష్రోడింగర్ యొక్క విశ్వసనీయ డౌన్‌లోడ్. ఇంటెల్ బూట్ గార్డ్
Intel ISH సబ్‌సిస్టమ్ యొక్క సామర్థ్యాలు ఇంకా అన్వేషించబడనప్పటికీ, ఇది Intel MEకి ఆసక్తికరమైన దాడి వెక్టర్‌గా కనిపిస్తుంది.

కనుగొన్న

  1. ఇంటెల్ బూట్ గార్డ్ టెక్నాలజీ యొక్క ఆపరేషన్ యొక్క సాంకేతిక వివరణను పొందడం ఈ అధ్యయనం సాధ్యపడింది. అస్పష్టత మోడల్ ద్వారా ఇంటెల్ భద్రతలో కొన్ని రహస్యాలు మైనస్.
  2. సిస్టమ్‌లో అన్‌ఇన్‌స్టాల్ చేయలేని రూట్‌కిట్‌ను సృష్టించడానికి మిమ్మల్ని అనుమతించే దాడి దృశ్యం అందించబడింది.
  3. ఆధునిక ఇంటెల్ ప్రాసెసర్‌లు BIOS రన్ అవ్వడానికి ముందే చాలా యాజమాన్య కోడ్‌ను అమలు చేయగలవని మేము చూశాము.
  4. Intel 64 ఆర్కిటెక్చర్‌తో ప్లాట్‌ఫారమ్‌లు ఉచిత సాఫ్ట్‌వేర్‌ను అమలు చేయడానికి తక్కువ మరియు తక్కువ అనుకూలంగా మారుతున్నాయి: హార్డ్‌వేర్ ధృవీకరణ, పెరుగుతున్న యాజమాన్య సాంకేతికతలు మరియు ఉపవ్యవస్థలు (SoC చిప్‌సెట్‌లో మూడు కోర్లు: x86 ME, x86 ISH మరియు ARC PMC).

ఉపశమనాలు

తయారీ మోడ్‌ని ఉద్దేశపూర్వకంగా తెరిచి ఉంచే విక్రేతలు దాన్ని ఖచ్చితంగా మూసివేయాలి. ఇప్పటివరకు, వారి కళ్ళు మాత్రమే మూసివేయబడ్డాయి మరియు కొత్త కేబీ లేక్ వ్యవస్థలు దీనిని చూపుతాయి.

-closemnf పరామితితో ఫ్లాష్ ప్రోగ్రామింగ్ టూల్‌ను అమలు చేయడం ద్వారా వినియోగదారులు వారి సిస్టమ్‌లలో (వివరించిన దుర్బలత్వానికి అవకాశం ఉన్నవి) Intel BGని నిలిపివేయవచ్చు. ముందుగా, మీరు ME ప్రాంతంలోని Intel BG కాన్ఫిగరేషన్ FPFలలో ప్రోగ్రామింగ్ చేసిన తర్వాత ఈ సాంకేతికతను ఆపివేసేందుకు (MEinfoని ఉపయోగించి) నిర్ధారించుకోవాలి.

మూలం: www.habr.com

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