ሚስጥራዊነት ያለው መረጃ ለማውጣት ወይም ኮድ ለማስፈጸም በIntel SGX ላይ ጥቃት መሰንዘር

ከሕዝብ ነፃ አውጪ ጦር መከላከያ ሳይንስና ቴክኖሎጂ ዩኒቨርሲቲ፣ የሲንጋፖር ብሔራዊ ዩኒቨርሲቲ እና የኢቲኤች ዙሪክ ተመራማሪዎች ገለልተኛ ኢንቴል ኤስጂኤክስ (ሶፍትዌር ዘበኛ eXtensions) ላይ ጥቃት የሚሰነዝሩበት አዲስ ዘዴ ፈጥረዋል። ጥቃቱ SmashEx ይባላል እና ለኢንቴል ኤስጂኤክስ የሩጫ ጊዜ አካላት በሚሰሩበት ጊዜ ልዩ ሁኔታዎችን ሲያስተናግዱ በዳግም ወደ ውስጥ መግባት በሚከሰቱ ችግሮች የተከሰተ ነው። የታቀደው የጥቃት ዘዴ በስርዓተ ክወናው ላይ ቁጥጥር ካለህ በኤንክሊቭ ውስጥ የሚገኘውን ሚስጥራዊ መረጃ ለማወቅ ወይም ኮድህን ወደ ኢንክላቭ ማህደረ ትውስታ እና አፈፃፀሙ ለማደራጀት ያስችላል።

የኢንቴል ኤስጂኤክስ ኤስዲኬ (CVE-2021-0186) እና ማይክሮሶፍት ክፍት ኢንክላቭ (CVE-2021-33767) ላይ ተመስርተው ለሚያስኬድ ጊዜ ያላቸው የብዝበዛ ፕሮቶታይፖች ተዘጋጅተዋል። በመጀመሪያው ጉዳይ ለኤችቲቲፒኤስ በድር አገልጋይ ላይ ጥቅም ላይ የዋለውን የRSA ቁልፍ የማውጣት ችሎታ ታይቷል ፣ እና በሁለተኛው ውስጥ ፣ በ cURL መገልገያ የተገኘውን ይዘት በኤንክላቭ ውስጥ እየሮጠ ለማወቅ ተችሏል። በ Intel SGX SDK 2.13 እና Open Enclave 0.17.1 እትሞች ላይ ተጋላጭነቱ አስቀድሞ በፕሮግራማዊ መንገድ ቀርቧል። ከኢንቴል ኤስጂኤክስ ኤስዲኬ እና ከማይክሮሶፍት ክፍት ኢንክላቭ በተጨማሪ ተጋላጭነቱ በGoogle Asylo SDK፣ EdgelessRT፣ Apache Teaclave፣ Rust SGX SDK፣ SGX-LKL፣ CoSMIX እና Veracruz ውስጥም ይታያል።

እናስታውስ የ SGX (የሶፍትዌር ጠባቂ ኤክስቴንሽን) ቴክኖሎጂ በስድስተኛው ትውልድ ኢንቴል ኮር ፕሮሰሰር (Skylake) ውስጥ ታየ እና በተጠቃሚ ደረጃ ትግበራዎች የተዘጉ የማህደረ ትውስታ ቦታዎችን ለመመደብ የሚያስችሉ ተከታታይ መመሪያዎችን ይሰጣል - ማቀፊያዎች ፣ ይዘቱ ሊነበብ የማይችል እና በከርነል እና በ ring0 ፣ SMM እና VMM ሁነታዎች በተተገበረው ኮድ እንኳን የተሻሻለ። በባህላዊ መዝለል ተግባራት እና በመመዝገቢያ እና ቁልል በመጠቀም ቁጥጥርን ወደ ኮዱ ውስጥ ለማስተላለፍ የማይቻል ነው - በልዩ ሁኔታ የተፈጠሩ አዳዲስ መመሪያዎች EENTER ፣ EEXIT እና ERESUME ቁጥጥርን ወደ ማቀፊያው ለማስተላለፍ ያገለግላሉ ፣ ይህም የስልጣን ቼኮችን ያከናውናል ። በዚህ ሁኔታ በኤንክላቭ ውስጥ የተቀመጠው ኮድ በክላሲካል ውስጥ ያሉትን ተግባራት ለመድረስ እና የውጭ ተግባራትን ለመጥራት ልዩ መመሪያዎችን መጠቀም ይችላል. ኢንክላቭ ሜሞሪ ምስጠራ ከድራም ሞጁል ጋር መገናኘትን ከመሳሰሉ የሃርድዌር ጥቃቶች ለመከላከል ይጠቅማል።

ሚስጥራዊነት ያለው መረጃ ለማውጣት ወይም ኮድ ለማስፈጸም በIntel SGX ላይ ጥቃት መሰንዘር

ችግሩ የኤስጂኤክስ ቴክኖሎጂ ኦፕሬቲንግ ሲስተሙን የሃርድዌር ልዩ ሁኔታን በመጣል ኢንክላቭን እንዲያስወርድ ያስችለዋል፣ እና ኢንክላቭስ እንደዚህ አይነት ልዩ ሁኔታዎችን በአቶሚካዊ አያያዝ ረገድ ፕሪሚቲቭን በትክክል አይተገብሩም። ከስርዓተ ክወናው ከርነል እና ከመደበኛ አፕሊኬሽኖች በተለየ፣ በኤንክላቭስ ውስጥ ያለው ኮድ ያልተመሳሰሉ የተጣሉ ልዩ ሁኔታዎችን በሚይዝበት ጊዜ የአቶሚክ እርምጃዎችን ለማደራጀት ፕሪሚቲቭስ መዳረሻ የለውም። የተገለጹት የአቶሚክ ፕሪሚየቶች ከሌሉ ኢንክላቭሉ በማንኛውም ጊዜ ተቋርጦ ወደ አፈጻጸም ሊመለስ ይችላል፣ ምንም እንኳን ኢንክላቭ ወሳኝ ክፍሎችን በሚፈጽምበት ጊዜ እና ደህንነቱ ባልተጠበቀ ሁኔታ ውስጥ በሚሆንበት ጊዜ (ለምሳሌ የሲፒዩ መዝገቦች ሳይቀመጡ/ሲመለሱ)።

ሚስጥራዊነት ያለው መረጃ ለማውጣት ወይም ኮድ ለማስፈጸም በIntel SGX ላይ ጥቃት መሰንዘር

ለመደበኛ ስራ የኤስጂኤክስ ቴክኖሎጂ የማቀፊያው አፈፃፀም በሚዋቀሩ የሃርድዌር ልዩ ሁኔታዎች እንዲቋረጥ ያስችለዋል። ይህ ባህሪ የተዘበራረቀ የሩጫ ጊዜ አከባቢዎችን ከውስጠ-አቀባዊ ልዩ አያያዝን ወይም የሲግናል ሂደትን እንዲተገብሩ ያስችላቸዋል፣ነገር ግን ተመልሶ የሚገቡ ስህተቶችንም ሊያስከትል ይችላል። የSmashEx ጥቃቱ በኤስዲኬ ውስጥ ያሉ ጉድለቶችን በመበዝበዝ ላይ የተመሰረተ ነው በዚህ ምክንያት ለየት ያለ ተቆጣጣሪን እንደገና የመጥራት ሁኔታ በትክክል አልተያዘም። ተጋላጭነቱን ለመጠቀም አጥቂው የአከባቢን አፈፃፀም ማቋረጥ መቻል አለበት ማለትም የስርዓቱን አከባቢ አሠራር መቆጣጠር አለበት.

ልዩ ሁኔታን ከጣለ በኋላ አጥቂው የግቤት መለኪያዎችን በመጠቀም የማስፈጸሚያ ክር የሚቋረጥበት ትንሽ ጊዜ መስኮት ይቀበላል። በተለይም የስርአቱ መዳረሻ ካሎት (ከአካባቢው ውጭ ያለ አካባቢ) የመግቢያ መመሪያን (EENTER) ከፈጸሙ በኋላ ወዲያውኑ አዲስ ልዩ ሁኔታ መፍጠር ይችላሉ ፣ ይህም ቁልል በሚዘጋጅበት ደረጃ ላይ ወደ ስርዓቱ ቁጥጥር ይመልሳል። enclave ገና አልተጠናቀቀም, በዚህ ውስጥ የሲፒዩ መመዝገቢያ ሁኔታ እንዲሁ ተቀምጧል.

ስርዓቱ ከዚህ በኋላ መቆጣጠሪያውን ወደ ኢንክላቭ መመለስ ይችላል፣ ነገር ግን በተቋረጠበት ጊዜ የመከለያው ቁልል ስላልተዋቀረ፣ ኢንክላቭው በስርዓት ማህደረ ትውስታ ውስጥ ካለው ቁልል ጋር ይሰራል፣ ይህ ደግሞ መመለሻ ተኮር ፕሮግራሚንግ (ROP) ለመቅጠር ሊያገለግል ይችላል። ) የብዝበዛ ዘዴዎች፡ ተኮር ፕሮግራሚንግ)። የ ROP ቴክኒኩን በሚጠቀሙበት ጊዜ አጥቂው የራሱን ኮድ በማህደረ ትውስታ ውስጥ ለማስቀመጥ አይሞክርም ፣ ነገር ግን በተጫኑ ቤተ-መጽሐፍት ውስጥ በሚገኙ የማሽን መመሪያዎች ላይ ይሰራል ፣ በመቆጣጠሪያ መመለሻ መመሪያ ያበቃል (እንደ ደንቡ ፣ እነዚህ የቤተ-መጽሐፍት ተግባራት መጨረሻ ናቸው) . የብዝበዛው ሥራ የሚፈለገውን ተግባራዊነት ለማግኘት ወደ ተመሳሳይ ብሎኮች ("መግብሮች") ጥሪ ሰንሰለት ለመገንባት ይወርዳል።

ሚስጥራዊነት ያለው መረጃ ለማውጣት ወይም ኮድ ለማስፈጸም በIntel SGX ላይ ጥቃት መሰንዘር
ሚስጥራዊነት ያለው መረጃ ለማውጣት ወይም ኮድ ለማስፈጸም በIntel SGX ላይ ጥቃት መሰንዘር


ምንጭ: opennet.ru

አስተያየት ያክሉ