ከ Specter ጥቃቶች ጥበቃን ማለፍን የሚፈቅዱ በeBPF ንዑስ ስርዓት ውስጥ ያሉ ተጋላጭነቶች

የኢቢፒኤፍ ንዑስ ስርዓት ከ Specter class ተጋላጭነቶች ጥበቃን ለማለፍ የሚረዳው በሊኑክስ ከርነል (CVE-2021-33624) ውስጥ ተጋላጭነት ተለይቷል፣ ይህም የማስታወሻውን ይዘት ለማወቅ ሁኔታዎችን በመፍጠር ምክንያት የአንዳንድ ስራዎች ግምታዊ አፈፃፀም. የስፔክተር ጥቃቱ ወደ ግምታዊ የመመሪያዎች አፈፃፀም የሚያመራ በልዩ ኮድ ውስጥ የተወሰኑ የትዕዛዞች ቅደም ተከተል እንዲኖር ይፈልጋል። ለአፈፃፀም የሚተላለፉ የ BPF ፕሮግራሞችን በመቆጣጠር በ eBPF ውስጥ ተመሳሳይ መመሪያዎችን ማመንጨት እና የከርነል ማህደረ ትውስታ እና የዘፈቀደ የአካል ማህደረ ትውስታን ይዘቶች በጎን ቻናሎች ማፍሰስ ይቻላል ።

ተጋላጭነቱ የሚከሰተው በአረጋጋጭ ውስጥ ባሉ ጉድለቶች ምክንያት ነው, ይህም በ BPF ፕሮግራሞች ውስጥ ስህተቶችን እና ተቀባይነት የሌለውን እንቅስቃሴ ለመለየት ጥቅም ላይ ይውላል. አረጋጋጩ የኮድ ማስፈጸሚያ መንገዶችን ይዘረዝራል፣ ነገር ግን ከመመሪያው ስብስብ አርክቴክቸር የፍቺ እይታ አንጻር ተቀባይነት የሌላቸውን የቅርንጫፍ አማራጮችን ይዘላል። የ BPF ፕሮግራምን በሚሰራበት ጊዜ በአረጋጋጭ ግምት ውስጥ የማይገቡ እንደዚህ ያሉ የቅርንጫፍ አማራጮች በአቀነባባሪው በተሳሳተ መንገድ ሊተነብዩ እና በግምታዊ ሁነታ ሊከናወኑ ይችላሉ. ለምሳሌ የ“ጭነት” አሠራሩን ሲተነትኑ አረጋጋጩ መመሪያው ሁል ጊዜ እሴቱ በተገለጹት ወሰኖች ውስጥ ካለው አድራሻ ጋር መመዝገቢያ እንደሚጠቀም ይጠብቃል ፣ነገር ግን አጥቂው ፕሮሰሰሩ ግምታዊ በሆነ መልኩ ክዋኔውን ለማከናወን የሚሞክርበትን ሁኔታዎችን መፍጠር ይችላል። የማረጋገጫ ሁኔታዎችን የማያሟላ አድራሻ.

ችግሩ የከርነል 4.15 ከተለቀቀ በኋላ እየታየ ነው እና በፕላስተር መልክ ተስተካክሏል (1, 2, 3, 4). ተጋላጭነቱ በስርጭት (Debian፣ RHEL፣ Ubuntu፣ Fedora፣ SUSE፣ Arch) ላይ እንዳልተስተካከለ ይቆያል።

በተጨማሪም፣ ከ Specter ተጋላጭነቶች ለመከላከል የመሣሪያዎች አፈጻጸም ተፅእኖ ማስታወሻውን ልብ ይበሉ። ማስታወሻው በፋየርፎክስ ውስጥ ለመድገም አስቸጋሪ የሆኑ ስህተቶችን ለማረም በአንድ ወቅት በሞዚላ ውስጥ የተፈጠረውን የrr (Record and Replay) አራሚ የማመቻቸት ውጤቶችን ያጠቃልላል። ማውጫዎች መኖራቸውን ለማረጋገጥ የሚጠቅሙ የስርዓት ጥሪዎችን መሸጎጥ ለሙከራ ፕሮጄክቱ የሚደረገውን የ"rr ምንጮች" ስራ ከ3 ደቂቃ ከ19 ሰከንድ ወደ 36 ሰከንድ ቀንሷል።

የማመቻቸት ደራሲው የ Specter ጥበቃን ካሰናከለ በኋላ አፈጻጸሙ እንዴት እንደሚለወጥ ለመፈተሽ ወስኗል። ስርዓቱን በ "mitigations=off" መለኪያ ከጫኑ በኋላ የ "rr ምንጮች" ያለማሳየት የአፈፃፀም ጊዜ 2 ደቂቃ ከ 5 ሰከንድ (1.6 ጊዜ ፈጣን) እና በማመቻቸት 33 ሰከንድ (9% ፈጣን) ነበር. የሚገርመው፣ የስፔክተር ጥበቃን ማሰናከል በከርነል ደረጃ የኮድ ማስፈጸሚያ ጊዜን በ1.4 ጊዜ (ከ2m9s እስከ 1m32s) መቀነስ ብቻ ሳይሆን በተጠቃሚ ቦታ (ከ1m9s እስከ 0m33s) የአፈፃፀም ጊዜን በግማሽ ቀንሷል፣ ምናልባትም በሲፒዩ መሸጎጫ ኦፕሬሽን እና TLB ውጤታማነት መቀነስ ምክንያት ሊሆን ይችላል። የ Specter ጥበቃ ሲነቃ ዳግም ያስጀምራል።

ምንጭ: opennet.ru

አስተያየት ያክሉ