ጎግል ጃቫ ስክሪፕትን በአሳሹ ውስጥ በመተግበር የ Specter ተጋላጭነቶችን ብዝበዛ ያሳያል

ጎግል ከዚህ ቀደም የተጨመሩ የጥበቃ ዘዴዎችን በማለፍ የጃቫ ስክሪፕት ኮድን በአሳሽ ውስጥ ሲሰራ የ Specter class ተጋላጭነቶችን የመጠቀም እድልን የሚያሳዩ በርካታ የብዝበዛ ፕሮቶታይፖችን አሳትሟል። ብዝበዛዎች አሁን ባለው ትር ውስጥ የድር ይዘትን እያስኬደ ያለውን ሂደት ማህደረ ትውስታን ለማግኘት መጠቀም ይቻላል። የብዝበዛውን አሠራር ለመፈተሽ, የጣቢያው ሌኪ.ገጽ ተጀምሯል, እና የስራውን አመክንዮ የሚገልጽ ኮድ በ GitHub ላይ ተለጠፈ.

የታቀደው ፕሮቶታይፕ በሊኑክስ እና በChrome 7 አካባቢ ውስጥ ከIntel Core i6500-88U ፕሮሰሰር ጋር ያሉ ስርዓቶችን ለማጥቃት የተነደፈ ነው። መጠቀሚያውን ለሌሎች አካባቢዎች ተግባራዊ ለማድረግ ለውጦች ያስፈልጋሉ። የብዝበዛ ዘዴው ለኢንቴል ፕሮሰሰሮች የተለየ አይደለም - ከተገቢው መላመድ በኋላ ብዝበዛው ከሌሎች አምራቾች ሲፒዩዎች ጋር ሲስተሞች መስራቱ ተረጋግጧል፣ በ ARM አርክቴክቸር መሰረት አፕል ኤም 1ን ጨምሮ። ከጥቃቅን ማስተካከያዎች በኋላ፣ ብዝበዛው በChromium ሞተር ላይ ተመስርተው በሌሎች ኦፕሬቲንግ ሲስተሞች እና ሌሎች አሳሾች ላይም ይሰራል።

በመደበኛ የChrome 88 እና Intel Skylake ፕሮሰሰር ላይ በተመሰረተ አካባቢ፣ በሴኮንድ 1 ኪሎባይት ፍጥነት የድር ይዘትን አሁን ባለው የChrome ትር (አስረጂው ሂደት) ለማስኬድ ሃላፊነት ካለው ሂደት መረጃ ወጣ። በተጨማሪም፣ ተለዋጭ ምሳሌዎች ተዘጋጅተዋል፣ ለምሳሌ፣ መረጋጋትን በመቀነስ፣ አፈፃፀሙን ሲጠቀሙ የፍሳሹን መጠን ወደ 8 ኪባ/ሰ ከፍ ለማድረግ የሚያስችል ብዝበዛ።now() ጊዜ ቆጣሪ በ5 ማይክሮ ሰከንድ (0.005 ሚሊሰከንድ) ትክክለኛነት። . በሰከንድ በ60 ባይት ፍጥነት የሌላውን ሂደት ማህደረ ትውስታ መዳረሻ ለማደራጀት የሚያገለግል በሰዓት ቆጣሪ ትክክለኛነት ከአንድ ሚሊሰከንድ ጋር የሚሰራ ተለዋጭ ተዘጋጅቷል።

የታተመው የማሳያ ኮድ ሶስት ክፍሎችን ያቀፈ ነው። የመጀመሪያው ክፍል በሲፒዩ መመሪያዎች ግምታዊ አፈፃፀም ምክንያት በአቀነባባሪው መሸጎጫ ውስጥ የቀረውን ውሂብ ወደነበረበት ለመመለስ የሚያስፈልጉትን ስራዎች የሚፈፀሙበትን ጊዜ ለመገመት የሰዓት ቆጣሪውን ያስተካክላል። ሁለተኛው ክፍል የጃቫስክሪፕት አደራደር ሲመደብ ጥቅም ላይ የዋለውን የማህደረ ትውስታ አቀማመጥ ይወስናል።

ሶስተኛው ክፍል የተወሰኑ ስራዎችን ግምታዊ አፈፃፀም ሁኔታዎችን በመፍጠር የወቅቱን ሂደት የማስታወስ ይዘትን ለመወሰን የ Specter ተጋላጭነትን በቀጥታ ይጠቀማል ፣ ውጤቱም ያልተሳካ ትንበያ ከተወሰነ በኋላ በአቀነባባሪው ይጣላል ፣ ግን አፈፃፀም። ዱካዎች በአጠቃላይ መሸጎጫ ውስጥ ይቀመጣሉ እና የተሸጎጡ እና ያልተሸጎጡ መረጃዎችን የመዳረሻ ጊዜ ለውጦችን በሚተነትኑ የሶስተኛ ወገን ቻናሎች የመሸጎጫውን ይዘት የሚወስኑ ዘዴዎችን በመጠቀም ወደነበሩበት ሊመለሱ ይችላሉ።

የታቀደው የብዝበዛ ቴክኒክ በአፈጻጸም.now() API እና ያለ ድጋፍ ለ SharedArrayBuffer አይነት የሚገኙትን ከፍተኛ ትክክለኛ የሰዓት ቆጣሪዎችን ያስወግዳል፣ ይህም በጋራ ማህደረ ትውስታ ውስጥ ድርድሮችን መፍጠር ያስችላል። ብዝበዛው ቁጥጥር የሚደረግበት ግምታዊ ኮድ አፈጻጸምን የሚያስከትል የ Specter መግብርን እና የጎን ቻናል ሌክ ተንታኝን ያጠቃልላል፣ ይህም ወደ መሸጎጫው ውስጥ በገባው ግምታዊ አፈጻጸም ወቅት የተገኘውን መረጃ የሚወስን ነው።

መግብሩ የሚተገበረው የጃቫ ስክሪፕት ድርድርን በመጠቀም ሲሆን ከቋት ወሰን ውጭ የሆነ አካባቢ ለመድረስ ሙከራ በሚደረግበት ጊዜ የቅርንጫፉ ትንበያ እገዳ ሁኔታ በአቀናባሪው በተጨመረው የቋት መጠን ቼክ (አቀነባባሪው ወደ ፊት እየተመለከተ ነው)። , ግምታዊ መድረሻውን ያከናውናል, ነገር ግን ከቼክ በኋላ ግዛቱን ይሽከረከራል). የመሸጎጫውን ይዘት በቂ ያልሆነ የሰዓት ቆጣሪ ትክክለኛነት ለመተንተን በአቀነባባሪዎች ውስጥ ጥቅም ላይ የዋለውን የዛፍ-PLRU መሸጎጫ የማስወጣት ስትራቴጂን በማታለል የዑደቶችን ብዛት በመጨመር ልዩነቱን በከፍተኛ ሁኔታ ለመጨመር የሚያስችል ዘዴ ቀርቧል ። ከመሸጎጫው ዋጋ እና በመሸጎጫው ውስጥ ምንም ዋጋ በማይኖርበት ጊዜ.

ጎግል የስፔክተር ክፍል ተጋላጭነቶችን በመጠቀም የሚፈጸሙ ጥቃቶችን ተጨባጭነት ለማሳየት እና የድር ገንቢዎች ከእንደዚህ አይነት ጥቃቶች የሚደርሱ ጉዳቶችን የሚቀንሱ ቴክኒኮችን እንዲጠቀሙ ለማበረታታት የፕሮቶታይፕ ብዝበዛን አሳትሟል። በተመሳሳይ ጊዜ, Google የታቀደው ፕሮቶታይፕ ጉልህ የሆነ ክለሳ ከሌለ, ለማሳያ ብቻ ሳይሆን በስፋት ጥቅም ላይ የሚውሉ ሁለንተናዊ ብዝበዛዎችን መፍጠር እንደማይቻል ያምናል.

አደጋን ለመቀነስ የጣቢያ ባለቤቶች በቅርብ ጊዜ የተተገበረውን መነሻ-አቋራጭ መክፈቻ ፖሊሲ (COOP)፣ ከትውልድ-አቋራጭ መክተቻ ፖሊሲ (COEP)፣ ከትውልድ ተሻጋሪ ምንጭ ፖሊሲ (CORP)፣ የሜታዳታ ጥያቄን፣ የ X-ፍሬም-አማራጮችን፣ እንዲጠቀሙ ይበረታታሉ። X -የይዘት-አይነት-አማራጮች እና ተመሳሳይ ጣቢያ ኩኪዎች። እነዚህ ስልቶች ከጥቃቶች በቀጥታ አይከላከሉም ነገር ግን የአጥቂውን የጃቫ ስክሪፕት ኮድ ወደ ሚሰራበት ሂደት ውስጥ የጣቢያን መረጃን ከመልቀቁ እንዲለይ ያስችላሉ (መፍሰሱ የሚከሰተው አሁን ካለው የሂደቱ ማህደረ ትውስታ ነው ፣ እሱም ከአጥቂው ኮድ በተጨማሪ ፣ ውሂብ በተመሳሳይ ትር ውስጥ ከተከፈተ ሌላ ጣቢያ). ዋናው ሃሳብ በተለያዩ ሂደቶች ውስጥ የጣቢያው ኮድ አፈፃፀምን ከሶስተኛ ወገን ኮድ ከታማኝ ምንጮች የተገኘ ለምሳሌ በ iframe በኩል የተካተተውን መለየት ነው.



ምንጭ: opennet.ru

አስተያየት ያክሉ