Bitdefender నుండి పరిశోధకులు
దుర్బలత్వం స్పెక్టర్ v1 తరగతికి చెందినది మరియు సూచనల ఊహాజనిత అమలు తర్వాత మిగిలిన ప్రాసెసర్ కాష్ నుండి డేటాను పునరుద్ధరించే ఆలోచనపై ఆధారపడి ఉంటుంది. పనితీరును మెరుగుపరచడానికి, ఆధునిక CPUల యొక్క బ్రాంచ్ ప్రిడిక్షన్ యూనిట్లు చాలావరకు అమలు చేయబడే కొన్ని సూచనల ముందస్తు అమలును ఉపయోగిస్తాయి, కానీ వాటి అమలును నిర్ణయించే అన్ని కారకాల గణన కోసం వేచి ఉండకుండా (ఉదాహరణకు, బ్రాంచ్ పరిస్థితులు లేదా యాక్సెస్ పారామితులు లేనప్పుడు ఇంకా లెక్కించబడింది). అంచనా నిర్ధారించబడకపోతే, ప్రాసెసర్ ఊహాజనిత అమలు యొక్క ఫలితాన్ని విస్మరిస్తుంది, అయితే దాని సమయంలో ప్రాసెస్ చేయబడిన డేటా ప్రాసెసర్ కాష్లో ఉంటుంది మరియు యాక్సెస్లో మార్పును విశ్లేషించడం ద్వారా సైడ్ ఛానెల్ల ద్వారా కాష్ యొక్క కంటెంట్లను నిర్ణయించే పద్ధతులను ఉపయోగించి పునరుద్ధరించవచ్చు. కాష్ చేయబడిన మరియు కాష్ చేయని డేటాకు సమయం.
కొత్త దాడి యొక్క ప్రత్యేకత ఏమిటంటే, SWAPGS సూచనల ఊహాజనిత అమలు సమయంలో సంభవించే లీక్ను ఉపయోగించడం, ఇది వినియోగదారు స్థలం నుండి OS కెర్నల్కు (GS) నియంత్రణ వెళ్ళినప్పుడు GS రిజిస్టర్ విలువను భర్తీ చేయడానికి ఆపరేటింగ్ సిస్టమ్లలో ఉపయోగించబడుతుంది. వినియోగదారు స్థలంలో ఉపయోగించిన విలువ కెర్నల్లోని కార్యకలాపాల సమయంలో ఉపయోగించిన విలువతో భర్తీ చేయబడుతుంది ). Linux కెర్నల్లో, GS కెర్నల్ డేటాను యాక్సెస్ చేయడానికి ఉపయోగించే per_cpu పాయింటర్ను నిల్వ చేస్తుంది మరియు వినియోగదారు స్థలం TLS (థ్రెడ్ లోకల్ స్టోరేజ్)కు పాయింటర్లను నిల్వ చేస్తుంది.
కెర్నల్ స్థలం నుండి కెర్నల్ను మళ్లీ యాక్సెస్ చేస్తున్నప్పుడు లేదా GS రిజిస్టర్ మార్పు అవసరం లేని కోడ్ని అమలు చేస్తున్నప్పుడు SWAPGS సూచనలకు రెండుసార్లు కాల్ చేయకుండా ఉండటానికి, సూచనకు ముందు చెక్ మరియు షరతులతో కూడిన శాఖ నిర్వహించబడుతుంది. స్పెక్యులేటివ్ ఎగ్జిక్యూషన్ ఇంజిన్ చెక్ రిజల్ట్ కోసం ఎదురుచూడకుండా SWAPGS సూచనతో కోడ్ని అమలు చేయడానికి ముందస్తుగా కొనసాగుతుంది మరియు ఎంచుకున్న శాఖ ధృవీకరించబడకపోతే, ఫలితాన్ని విస్మరిస్తుంది. అందువలన, SWAPGS అమలు చేయని శాఖ ఊహాజనితంగా ఎంపిక చేయబడినప్పుడు పరిస్థితి ఏర్పడవచ్చు, కానీ ఊహాజనిత అమలు సమయంలో GS రిజిస్టర్ విలువ SWAPGS సూచన ద్వారా మార్చబడుతుంది మరియు CPU కాష్లో ముగిసే డిపెండెంట్ మెమరీ ఆపరేషన్లలో ఉపయోగించబడుతుంది.
పరిశోధకులు రెండు దాడి దృశ్యాలను ప్రతిపాదించారు, దీని కోసం ఎక్స్ప్లోయిట్ ప్రోటోటైప్లు తయారు చేయబడ్డాయి. మొదటి దృశ్యం SWAPGS సూచన ఊహాజనితంగా అమలు చేయబడని పరిస్థితిపై ఆధారపడి ఉంటుంది, అయితే ఇది వాస్తవానికి అమలులో ఉపయోగించబడింది మరియు రెండవది విరుద్ధంగా ఉంటుంది, అయితే SWAPGS సూచన ఊహాజనితంగా అమలు చేయబడినప్పుడు, ఇది వాస్తవానికి అమలు చేయకూడదు. ప్రతి దృష్టాంతంలో, దోపిడీకి రెండు ఎంపికలు ఉన్నాయి: దాడి చేసే వ్యక్తి కెర్నల్ ప్రాంతంలోని నిర్దిష్ట చిరునామాలో విలువను నిర్ణయించవచ్చు మరియు దాడి చేసే వ్యక్తి కెర్నల్లోని యాదృచ్ఛిక చిరునామాల వద్ద నిర్దిష్ట విలువ కోసం శోధించవచ్చు. దాడిని నిర్వహించడానికి చాలా సమయం పడుతుంది మరియు దోపిడీకి లీక్ని పూర్తి చేయడానికి చాలా గంటలు పట్టవచ్చు.
Linux కెర్నల్లో సమస్య ఉంది
పరిష్కారానికి హోస్ట్ సిస్టమ్ మరియు గెస్ట్ ఎన్విరాన్మెంట్లు రెండింటిలోనూ కెర్నల్ అప్డేట్ను ఇన్స్టాల్ చేయడం అవసరం, దాని తర్వాత సిస్టమ్ రీబూట్ చేయాలి. Linuxలో రక్షణను నిలిపివేయడానికి, "nospectre_v1" ఎంపికను ఉపయోగించవచ్చు, ఇది SWAPGS దుర్బలత్వాన్ని నిరోధించే చర్యలను కూడా నిలిపివేస్తుంది. పరిష్కారము అందుబాటులో ఉంది
Bitdefender నుండి పరిశోధకుల ప్రకారం, గత సంవత్సరం ఆగస్టులో ఇంటెల్కు సమస్య గురించి తెలియజేయబడింది. మైక్రోసాఫ్ట్, గూగుల్ మరియు లైనక్స్ కెర్నల్కు చెందిన డెవలపర్లు ఒక పరిష్కారాన్ని సమన్వయంతో అభివృద్ధి చేయడంలో నిమగ్నమై ఉండేటటువంటి సమస్యను ప్రోగ్రామికల్గా పరిష్కరించాలని నిర్ణయించారు. పాత ఇంటెల్ ప్రాసెసర్లు, ప్రీ-ఐవీ బ్రిడ్జ్, దోపిడీలో ఉపయోగించిన WRGSBASE సూచనలకు మద్దతు లేకపోవడం వల్ల దాడి చేయడం చాలా కష్టం. ARM, POWER, SPARC, MIPS మరియు RISC-V సిస్టమ్లు SWAPGS సూచనలకు మద్దతివ్వనందున సమస్య ప్రభావితం కావు.
సమస్య ప్రధానంగా ఇంటెల్ ప్రాసెసర్ల యజమానులను ప్రభావితం చేస్తుంది -
AMD సిస్టమ్స్లో, రెండవ దాడి దృశ్యాన్ని మాత్రమే పునరుత్పత్తి చేయగలిగారు, ఇది GS రిజిస్టర్ యొక్క మూల విలువ యొక్క ఊహాజనిత ప్రాసెసింగ్కు పరిమితం చేయబడింది, ఇది యాదృచ్ఛిక మెమరీ ప్రాంతాలలో నిర్దిష్ట విలువలను వెతకడానికి ఉపయోగించబడుతుంది. ఈ దాడి ఎంపికను నిరోధించడానికి
మూలం: opennet.ru