AMD ప్రాసెసర్లలో కాష్ ఛానెల్ ప్రిడిక్షన్ మెకానిజంపై రెండు దాడులు
గ్రాజ్ యూనివర్శిటీ ఆఫ్ టెక్నాలజీ (ఆస్ట్రియా) నుండి పరిశోధకుల బృందం, గతంలో దాడి పద్ధతులను అభివృద్ధి చేయడంలో ప్రసిద్ధి చెందింది MDS, నెట్స్పెక్టర్, త్రోహామర్ и ZombieLoad, AMD ప్రాసెసర్లకు ప్రత్యేకమైన హార్డ్వేర్ ఆప్టిమైజేషన్లపై పరిశోధన నిర్వహించింది మరియు అభివృద్ధి చేసింది AMD ప్రాసెసర్ల యొక్క L1 కాష్ ఛానల్ ప్రిడిక్షన్ మెకానిజం యొక్క ఆపరేషన్ సమయంలో డేటా లీక్లను మార్చే సైడ్-ఛానల్ దాడుల యొక్క రెండు కొత్త పద్ధతులు. ASLR రక్షణ యొక్క ప్రభావాన్ని తగ్గించడానికి, హాని కలిగించే AES అమలులలో కీలను పునరుద్ధరించడానికి మరియు స్పెక్టర్ దాడి యొక్క ప్రభావాన్ని పెంచడానికి సాంకేతికతలు ఉపయోగించబడతాయి.
CPU యొక్క మొదటి-స్థాయి డేటా కాష్ (L1D)లో ఛానెల్ ప్రిడిక్షన్ మెకానిజం (మార్గం ప్రిడిక్టర్) అమలులో సమస్యలు గుర్తించబడ్డాయి, ఇది నిర్దిష్ట మెమరీ చిరునామాను కలిగి ఉన్న కాష్ ఛానెల్ని అంచనా వేయడానికి ఉపయోగించబడుతుంది. AMD ప్రాసెసర్లలో ఉపయోగించే ఆప్టిమైజేషన్ μ-ట్యాగ్లను (μTag) తనిఖీ చేయడంపై ఆధారపడి ఉంటుంది. μTag అనేది వర్చువల్ చిరునామాకు నిర్దిష్ట హాష్ ఫంక్షన్ని వర్తింపజేయడం ద్వారా లెక్కించబడుతుంది. ఆపరేషన్ సమయంలో, ఛానల్ ప్రిడిక్షన్ ఇంజిన్ టేబుల్ నుండి కాష్ ఛానెల్ని గుర్తించడానికి μTagని ఉపయోగిస్తుంది. అందువలన, μTag అనేది అన్ని ఎంపికల ద్వారా శోధించకుండా ఒక నిర్దిష్ట ఛానెల్ని మాత్రమే యాక్సెస్ చేయడానికి ప్రాసెసర్ను పరిమితం చేస్తుంది, ఇది CPU శక్తి వినియోగాన్ని గణనీయంగా తగ్గిస్తుంది.
2011 నుండి 2019 వరకు విడుదలైన వివిధ తరాల AMD ప్రాసెసర్లలో ఛానల్ ప్రిడిక్షన్ సిస్టమ్ అమలు యొక్క రివర్స్ ఇంజనీరింగ్ సమయంలో, రెండు కొత్త సైడ్-ఛానల్ దాడి పద్ధతులు గుర్తించబడ్డాయి:
కొల్లిడ్+ప్రోబ్ - అదే లాజికల్ CPU కోర్లో నడుస్తున్న ప్రాసెస్ల కోసం మెమరీ యాక్సెస్ని ట్రాక్ చేయడానికి దాడి చేసేవారిని అనుమతిస్తుంది. మెమొరీ యాక్సెస్ను ట్రాక్ చేయడానికి μTagని లెక్కించడానికి ఉపయోగించే హాష్ ఫంక్షన్లో ఘర్షణలకు కారణమయ్యే వర్చువల్ చిరునామాలను ఉపయోగించడం పద్ధతి యొక్క సారాంశం. ఇంటెల్ ప్రాసెసర్లలో ఉపయోగించిన ఫ్లష్+రీలోడ్ మరియు ప్రైమ్+ప్రోబ్ దాడుల వలె కాకుండా, కొలైడ్+ప్రోబ్ షేర్డ్ మెమరీని ఉపయోగించదు మరియు భౌతిక చిరునామాల గురించి తెలియకుండా పనిచేస్తుంది.
లోడ్ + రీలోడ్ - అదే భౌతిక CPU కోర్లో మెమరీ యాక్సెస్ ట్రేస్లను చాలా ఖచ్చితంగా గుర్తించడానికి మిమ్మల్ని అనుమతిస్తుంది. భౌతిక మెమరీ సెల్ ఒక్కసారి మాత్రమే L1D కాష్లో ఉంటుంది అనే వాస్తవం ఆధారంగా ఈ పద్ధతి రూపొందించబడింది. ఆ. అదే మెమరీ సెల్ను వేరొక వర్చువల్ చిరునామాలో యాక్సెస్ చేయడం వలన సెల్ L1D కాష్ నుండి తొలగించబడుతుంది, ఇది మెమరీ యాక్సెస్ని ట్రాక్ చేయడానికి అనుమతిస్తుంది. దాడి భాగస్వామ్య మెమరీపై ఆధారపడి ఉన్నప్పటికీ, ఇది కాష్ లైన్లను ఫ్లష్ చేయదు, చివరి-స్థాయి కాష్ నుండి డేటాను తొలగించని స్టెల్త్ దాడులను అనుమతిస్తుంది.
కొలైడ్+ప్రోబ్ మరియు లోడ్+రీలోడ్ టెక్నిక్ల ఆధారంగా, పరిశోధకులు అనేక సైడ్-ఛానల్ దాడి దృశ్యాలను ప్రదర్శించారు:
రెండు ప్రక్రియల మధ్య దాచిన పరోక్ష కమ్యూనికేషన్ ఛానెల్ని నిర్వహించడానికి పద్ధతులను ఉపయోగించే అవకాశం, సెకనుకు 588 kB వేగంతో డేటా బదిలీని అనుమతిస్తుంది.
μTagలో ఘర్షణలను ఉపయోగించి, ASLR (అడ్రస్ స్పేస్ లేఅవుట్ రాండమైజేషన్) యొక్క వివిధ రకాలైన ఎంట్రోపీని తగ్గించడం మరియు పూర్తిగా నవీకరించబడిన Linux సిస్టమ్లో కెర్నల్లో ASLR రక్షణను దాటవేయడం సాధ్యమైంది. వినియోగదారు అప్లికేషన్ల నుండి ASLR ఎంట్రోపీని తగ్గించడానికి దాడి చేసే అవకాశం మరియు శాండ్బాక్స్ వాతావరణంలో అమలు చేయబడిన JavaScript కోడ్ను ఉపయోగించడం మరియు మరొక అతిథి వాతావరణంలో రన్ అవుతున్న కోడ్ని ఉపయోగించడం వంటివి చూపబడతాయి.
కొలైడ్+ప్రోబ్ పద్ధతి ఆధారంగా, హాని కలిగించే అమలు నుండి ఎన్క్రిప్షన్ కీని పునరుద్ధరించడానికి దాడి అమలు చేయబడింది (ఆధారితంగా T-టేబుల్) AES గుప్తీకరణ.
Collide+Probe పద్ధతిని డేటా సేకరణ ఛానెల్గా ఉపయోగించడం ద్వారా, స్పెక్టర్ దాడి షేర్డ్ మెమరీని ఉపయోగించకుండా కెర్నల్ నుండి ప్రైవేట్ డేటాను సంగ్రహించగలిగింది.
మైక్రోఆర్కిటెక్చర్ల ఆధారంగా AMD ప్రాసెసర్లపై దుర్బలత్వం ఏర్పడుతుంది
బుల్డోజర్, పైల్డ్రైవర్, స్టీమ్రోలర్, జెన్ (రైజెన్, ఎపిక్), జెన్+ మరియు జెన్2.
AMDకి ఆగస్టు 23, 2019న సమస్య గురించి తెలియజేయబడింది, కానీ ఇప్పటివరకు నివేదికను విడుదల చేయలేదు దుర్బలత్వాన్ని నిరోధించే సమాచారంతో. పరిశోధకుల అభిప్రాయం ప్రకారం, బ్రాంచ్ ప్రిడిక్షన్ మెకానిజమ్స్ డిసేబుల్ చేయడాన్ని నియంత్రించడానికి ఇంటెల్ చేసినట్లే, ఛానల్ ప్రిడిక్షన్ సిస్టమ్ను సెలెక్టివ్గా డిసేబుల్ చేయడానికి MSR బిట్లను అందించడం ద్వారా మైక్రోకోడ్ అప్డేట్ స్థాయిలో సమస్యను నిరోధించవచ్చు.