የ AMD ማቀነባበሪያዎች ግምታዊ መመሪያ አፈፃፀም ዘዴ ውስጥ ተጋላጭነት

የግራሴኪዩሪቲ ፕሮጀክት ለአዲስ የተጋላጭነት (CVE-2021-26341) በ AMD ፕሮጄክቶች ውስጥ ያለምንም ቅድመ ሁኔታ የመመሪያዎችን ግምታዊ አፈፃፀም በተመለከተ ዝርዝሮችን እና የጥቃት ዘዴን አሳይቷል። ጥቃቱ ከተሳካ, ተጋላጭነቱ የዘፈቀደ የማስታወሻ ቦታዎችን ይዘት ለመወሰን ያስችላል. ለምሳሌ፣ ተመራማሪዎች የአድራሻውን አቀማመጥ እንዲወስኑ እና የ KASLR (የከርነል ሜሞሪ ራንደምራይዜሽን) ጥበቃ ዘዴን በ ePBF ከርነል ንዑስ ስርዓት ውስጥ ያልታሰበ ኮድ በማስፈጸም እንዲያልፍ የሚያስችል ብዝበዛ አዘጋጅተዋል። ወደ የከርነል ማህደረ ትውስታ ይዘቶች መፍሰስ ሊያስከትሉ የሚችሉ ሌሎች የጥቃት ሁኔታዎች ሊወገዱ አይችሉም።

ተጋላጭነቱ በማስታወሻ ውስጥ ያለውን የዝላይ መመሪያን ተከትሎ ፕሮሰሰሩ በቅድመ አፈፃፀም ወቅት ግምታዊ መመሪያውን የሚያስኬዱበትን ሁኔታዎች እንዲፈጥሩ ይፈቅድልዎታል ። ከዚህም በላይ እንዲህ ዓይነቱ ማመቻቸት ለሁኔታዊ ዝላይ ኦፕሬተሮች ብቻ ሳይሆን እንደ JMP, RET እና CALL ያሉ ቀጥተኛ ቅድመ ሁኔታዎችን ለሚያመለክቱ መመሪያዎችም ይሠራል. ቅድመ ሁኔታ የለሽ ዝላይ መመሪያዎችን በመከተል፣ ለመፈጸም ያልታሰበ የዘፈቀደ ውሂብ ሊቀመጥ ይችላል። አንድ ቅርንጫፍ የሚቀጥለውን መመሪያ መፈጸምን እንደማያጠቃልል ከወሰነ በኋላ ፕሮሰሰሩ በቀላሉ ሁኔታውን ወደ ኋላ በመመለስ ግምታዊ አፈፃፀሙን ችላ ይለዋል፣ ነገር ግን የመመሪያው አፈፃፀም አሻራ በጋራ መሸጎጫ ውስጥ ይቀራል እና የጎን ቻናል ማግኛ ቴክኒኮችን በመጠቀም ለመተንተን ይገኛል።

ልክ እንደ Specter-v1 ተጋላጭነት ብዝበዛ፣ ጥቃቱ የተወሰኑ ተከታታይ መመሪያዎችን (መግብሮችን) በከርነል ውስጥ መገኘትን ይጠይቃል ይህም ወደ ግምታዊ አፈፃፀም ያመራል። በዚህ ጉዳይ ላይ ተጋላጭነትን ማገድ በኮዱ ውስጥ እንደዚህ ያሉ መግብሮችን በመለየት እና ግምታዊ አፈፃፀምን የሚከለክሉ ተጨማሪ መመሪያዎችን ለመጨመር ይመጣል። በግምታዊ ማስፈጸሚያ ሁኔታዎች በ eBPF ቨርቹዋል ማሽን ውስጥ በሚሰሩ ያልተከፈሉ ፕሮግራሞችም ሊፈጠሩ ይችላሉ። ኢቢፒኤፍን በመጠቀም መግብሮችን የመገንባት ችሎታን ለማገድ በሲስተሙ ውስጥ ("sysctl -w kernel.unprivileged_bpf_disabled=1") ውስጥ ኢቢፒኤፍ ማግኘትን ማሰናከል ይመከራል።

ተጋላጭነቱ በZen1 እና Zen2 ማይክሮ አርክቴክቸር ላይ የተመሰረቱ ፕሮሰሰሮችን ይነካል፣የመጀመሪያ እና ሁለተኛ ትውልድ AMD EPYC እና AMD Ryzen Threadripper ፕሮሰሰር፣እንዲሁም AMD Ryzen 2000/3000/4000/5000፣ AMD Athlon፣ AMD Athlon X፣ AMD Ryzen Thripper PRO እና APU ተከታታይ ፕሮሰሰሮች ሀ. የመመሪያዎችን ግምታዊ አፈፃፀም ለማገድ ከቅርንጫፍ ስራዎች (RET, JMP, CALL) በኋላ የ INT3 ወይም LFENCE መመሪያዎችን መደወል ይመከራል.

ምንጭ: opennet.ru

አስተያየት ያክሉ