SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

እንደምታውቁት በኤንክላቭ ውስጥ የተተገበረው ኮድ በተግባሩ ውስጥ በጣም የተገደበ ነው. የስርዓት ጥሪዎችን ማድረግ አይችልም። የI/O ስራዎችን ማከናወን አይችልም። የአስተናጋጁ መተግበሪያ ኮድ ክፍልን አድራሻ አያውቅም። jmp ወይም የአስተናጋጅ መተግበሪያ ኮድ መደወል አይችልም። የአስተናጋጅ አፕሊኬሽኑን ስለሚቆጣጠረው የአድራሻ ቦታ መዋቅር ምንም ሃሳብ የለውም (ለምሳሌ የትኞቹ ገፆች ተቀርፀዋል ወይም በእነዚያ ገፆች ላይ ምን አይነት መረጃ እንደሚገኝ)። ስርዓተ ክወናው የአስተናጋጁን የማስታወሻ ክፍል (ለምሳሌ በ /proc/pid/maps) እንዲሰራለት መጠየቅ አይችልም። የአስተናጋጅ አፕሊኬሽን የዘፈቀደ ማህደረ ትውስታን በጭፍን ለማንበብ የሚደረጉ ሙከራዎች፣ ለመፃፍ የተደረጉ ሙከራዎችን ሳይጠቅሱ፣ ይዋል ይደር እንጂ (የቀድሞው ሊሆን ይችላል) የአስገዳድ ፕሮግራሙን በግዳጅ መቋረጥ ያስከትላል። ይህ የሚሆነው በኤንክላቭ የተጠየቀው ምናባዊ አድራሻ ቦታ ክልል ለአስተናጋጁ መተግበሪያ በማይደረስበት ጊዜ ነው።

ከእንደዚህ አይነት አስቸጋሪ እውነታዎች አንጻር የቫይረስ ጸሐፊ ተንኮል አዘል ግቦቹን ለማሳካት የ SGX አከባቢዎችን መጠቀም ይችል ይሆን?

- አድራሻዎች ማንበብ ይችሉ እንደሆነ ለማየት ለመፈተሽ መጥለፍ
– ለመጻፍ አድራሻዎችን ለመፈተሽ መጥለፍ
- የቁጥጥር ፍሰትን ለመምራት መጥለፍ
- ከላይ የተዘረዘሩት ሶስት ጠለፋዎች ለክፉ ሰው ምን ይሰጣሉ?
- ተንኮለኛው ራንዞዋሪን ለመፍጠር እነዚህን ጠለፋዎች እንዴት እንደሚጠቀም

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

ከላይ በተጠቀሱት ሁሉ ላይ በመመስረት, በአጠቃላይ ተቀባይነት ያለው አንድ ማቀፊያ የአስተናጋጁን ማመልከቻ ለማገልገል ብቻ ነው, እና ተንኮል አዘል የሆኑትን ጨምሮ የራሱን ተነሳሽነት መጠቀም አይችልም. ይህ ማለት ኢንክላቭስ ለቫይረስ ጸሃፊዎች ምንም ተግባራዊ ዋጋ የላቸውም ማለት ነው. ይህ የችኮላ ግምት የኤስጂኤክስ ጥበቃ ያልተመጣጠነ እንዲሆን ከሚያደርጉት ምክንያቶች አንዱ ነው፡ የአስተናጋጅ አፕሊኬሽን ኮድ ወደ ኢንክላቭ ሜሞሪ መድረስ አይችልም፣ ኢንክላቭ ኮድ ደግሞ ለማንኛውም የአስተናጋጅ መተግበሪያ ማህደረ ትውስታ አድራሻ ማንበብ እና መፃፍ ይችላል።

ስለዚህ፣ ተንኮል አዘል ኮድ የአስተናጋጁን መተግበሪያ በመወከል የዘፈቀደ የስርዓት ጥሪዎችን ማድረግ ከቻለ በዘፈቀደ ኮድ ማስፈጸሚያ፣ የአስተናጋጁን ማህደረ ትውስታ መቃኘት እና በሱ ውስጥ ተሳዳቢ የሆኑ ROP ሰንሰለቶችን ካገኘ የአስተናጋጁን መተግበሪያ ሙሉ በሙሉ መቆጣጠር ይችላል ፣ ስውር ሁነታ. የተጠቃሚ ፋይሎችን መስረቅ እና ማመስጠር ብቻ ሳይሆን ተጠቃሚውን ወክሎ መስራት ይችላል። ለምሳሌ፣ እሱን ወክሎ የማስገር ኢሜይሎችን ይላኩ ወይም የDoS ጥቃቶችን ያካሂዱ። እንደ ቁልል ካናሪዎች እና የአድራሻ ንጽህናን የመሳሰሉ በጣም ዘመናዊ የመከላከያ ዘዴዎችን እንኳን ሳይፈሩ።

አጥቂዎች የ SGX ን ለራሳቸው ተንኮል አዘል ዓላማ ለመጠቀም ከላይ የተገለጹትን ገደቦች ለማሸነፍ የሚጠቀሙባቸውን ጥቂት ጠለፋዎች እናሳይዎታለን፡ ROP ጥቃቶች። ወይ የዘፈቀደ ኮድ እንደ አስተናጋጅ አፕሊኬሽን ሂደት ለማስፈጸም (ሆሎውንግን ከማስኬድ ጋር ተመሳሳይ ነው፣ ይህም ብዙውን ጊዜ በማልዌር የሚጠቀመው)፣ ወይም ዝግጁ የሆነ ማልዌርን ለማስመሰል (ማልዌሩን በቫይረስ ቫይረስ እና በሌሎች የመከላከያ ዘዴዎች ከሚደርስበት ስደት ለማዳን)።

መነበብ ይቻል እንደሆነ ለማየት አድራሻዎችን ለመፈተሽ ይሰርዙ

ማቀፊያው የትኛው የቨርቹዋል አድራሻ ቦታ ለአስተናጋጁ መተግበሪያ ተደራሽ እንደሆነ ስለማያውቅ እና አድራሻው የማይደረስበትን አድራሻ ለማንበብ ሲሞክር ለማቆም ስለሚገደድ አጥቂው ስህተት የሚፈጽምበትን መንገድ የመፈለግ ስራ ገጥሞታል። የአድራሻውን ቦታ በመቻቻል ይቃኙ። የሚገኙ ምናባዊ አድራሻዎችን ካርታ የሚያደርጉበት መንገድ ይፈልጉ። ተንኮለኛው የኢንቴል TSX ቴክኖሎጂን አላግባብ በመጠቀም ይህንን ችግር ይፈታል። ከ TSX የጎንዮሽ ጉዳቶች አንዱን ይጠቀማል፡ የማህደረ ትውስታ መዳረሻ ተግባር በ TSX ግብይት ውስጥ ከተቀመጠ፡ ልክ ያልሆኑ አድራሻዎችን ከመድረስ የሚነሱ ልዩ ሁኔታዎች ኦፕሬቲንግ ሲስተሙን ሳይደርሱ በ TSX ይታገዳሉ። ልክ ያልሆነ የማህደረ ትውስታ አድራሻ ለመድረስ ከተሞከረ፣ አሁን ያለው ግብይት ብቻ ነው የተቋረጠው፣ ሙሉውን የኤንክላቭ ፕሮግራም አይደለም። ያ። TSX አንድ ኢንክላቭ በግብይት ውስጥ ሆነው ማንኛውንም አድራሻ ደህንነቱ በተጠበቀ መልኩ እንዲደርስ ያስችለዋል - የመሰብሰብ አደጋ ሳይኖር።

ከሆነ የተገለጸው አድራሻ ይገኛል። የአስተናጋጅ መተግበሪያ ፣ የ TSX ግብይት ብዙውን ጊዜ የተሳካ ነው። አልፎ አልፎ፣ እንደ ማቋረጦች (እንደ መርሐግብር ማቋረጦች ያሉ)፣ መሸጎጫ ማስወጣት ወይም የማስታወሻ ቦታን በበርካታ ሂደቶች በአንድ ጊዜ በመቀየር ምክንያት ሊሳካ ይችላል። በእነዚህ አልፎ አልፎ፣ TSX ውድቀቱ ጊዜያዊ መሆኑን የሚያመለክት የስህተት ኮድ ይመልሳል። በእነዚህ አጋጣሚዎች ግብይቱን እንደገና ማስጀመር ብቻ ያስፈልግዎታል።

ከሆነ የተገለጸው አድራሻ የለም። አስተናጋጅ አፕሊኬሽን፣ TSX የተከሰተውን ልዩ ሁኔታ ያጠፋል (ስርዓተ ክወናው አልተገለጸም) እና ግብይቱን ያስቋርጣል። ግብይቱ ስለተሰረዘ ምላሽ መስጠት እንዲችል የስህተት ኮድ ወደ ኢንክላቭ ኮድ ይመለሳል። እነዚህ የስህተት ኮዶች በጥያቄ ውስጥ ያለው አድራሻ ለአስተናጋጁ መተግበሪያ እንደማይገኝ ያመለክታሉ።

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

ይህ የ TSX ከኤንክላቭ ውስጥ መጠቀሚያ ለክፉ ሰው ጥሩ ባህሪ አለው፡ አብዛኞቹ የሃርድዌር አፈጻጸም ቆጣሪዎች የማደፊያው ኮድ በሚፈፀምበት ጊዜ ስላልዘመነ፣ በኤንክላቭ ውስጥ የተፈጸሙ የ TSX ግብይቶችን መከታተል አይቻልም። ስለዚህ የ TSX ተንኮል አዘል ማጭበርበር ለስርዓተ ክወናው ሙሉ በሙሉ የማይታይ ሆኖ ይቆያል።

በተጨማሪም፣ ከላይ ያለው ጠለፋ በማናቸውም የስርዓት ጥሪዎች ላይ ስለማይደገፍ፣ በቀላሉ የስርዓት ጥሪዎችን በማገድ ሊታወቅም ሆነ ሊከለከል አይችልም። ብዙውን ጊዜ ከእንቁላል አደን ጋር በሚደረገው ትግል አወንታዊ ውጤት ያስገኛል.

ክፉው ሰው የ ROP ሰንሰለት ለመመስረት ተስማሚ የሆኑ መግብሮችን ለመፈለግ የአስተናጋጁን መተግበሪያ ኮድ ለመፈለግ ከላይ የተገለጸውን ጠለፋ ይጠቀማል። በተመሳሳይ ጊዜ, እያንዳንዱን አድራሻ መመርመር አያስፈልገውም. ከእያንዳንዱ የቨርቹዋል አድራሻ ቦታ አንድ አድራሻ መመርመር በቂ ነው። ሁሉንም 16 ጊጋባይት የማህደረ ትውስታ መጠን መመርመር 45 ደቂቃ ያህል ይወስዳል (በIntel i7-6700K)። በውጤቱም, ተንኮለኛው የ ROP ሰንሰለት ለመገንባት ተስማሚ የሆኑ ሊተገበሩ የሚችሉ ገጾችን ዝርዝር ይቀበላል.

አድራሻዎችን ለመፃፍ መጥለፍ

የ ROP ጥቃትን የሚያጠቃልለውን ስሪት ለማካሄድ አንድ አጥቂ በአስተናጋጁ መተግበሪያ ውስጥ ሊፃፉ የማይችሉ የማስታወሻ ቦታዎችን መፈለግ መቻል አለበት። አጥቂው እነዚህን የማስታወሻ ቦታዎች የሐሰት ቁልል ፍሬም ለማስገባት እና የክፍያ ጭነት (ሼልኮድ) ለማስገባት ይጠቀማል። ዋናው ቁም ነገር ተንኮል አዘል ኢንክላቭ የአስተናጋጁ መተግበሪያ ማህደረ ትውስታን ለራሱ እንዲመድብ ማድረግ አለመቻሉ ነው፣ ነገር ግን በምትኩ በአስተናጋጁ መተግበሪያ የተመደበውን ማህደረ ትውስታ አላግባብ መጠቀም ይችላል። እርግጥ ነው, አከባቢውን ሳይፈርስ እንደነዚህ ያሉትን ቦታዎች ማግኘት ከቻለ.

ተንኮለኛው የ TSX ሌላ የጎንዮሽ ጉዳትን በመጠቀም ይህንን ፍለጋ ያካሂዳል። በመጀመሪያ፣ እንደ ቀደመው ጉዳይ፣ አድራሻውን ሕልውናውን ይመረምራል፣ ከዚያም ከዚህ አድራሻ ጋር የሚዛመደው ገጽ መፃፍ የሚችል መሆኑን ያረጋግጣል። ይህንን ለማድረግ ተንኮለኛው የሚከተለውን ጠለፋ ይጠቀማል-በ TSX ግብይት ውስጥ የመፃፍ ተግባርን ያስቀምጣል, እና ከተጠናቀቀ በኋላ, ነገር ግን ከመጠናቀቁ በፊት, ግብይቱን በግዳጅ አስወገደ (ግልጽ ውርጃ).

ከ TSX ግብይት የተመለሰውን ኮድ በመመልከት አጥቂው መፃፍ የሚችል መሆኑን ይገነዘባል። "ግልጽ የሆነ ፅንስ ማስወረድ" ከሆነ ተንኮለኛው እሱን ቢከታተለው ቀረጻው ስኬታማ እንደሚሆን ተረድቷል። ገጹ ተነባቢ-ብቻ ከሆነ፣ ግብይቱ የሚጠናቀቀው ከ"ግልጽ ፅንስ ማስወረድ" በቀር በሌላ ስህተት ነው።

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

ይህ የ TSX ማጭበርበር ለክፉ ሰው ጥሩ የሆነ ሌላ ባህሪ አለው (በሃርድዌር አፈፃፀም ቆጣሪዎች መከታተል የማይቻል ከመሆኑ በተጨማሪ) ሁሉም የማህደረ ትውስታ ትእዛዞች የሚፈጸሙት ግብይቱ የተሳካ ከሆነ ብቻ ስለሆነ ፣ ግብይቱ እንዲጠናቀቅ ማስገደድ የተፈተሸው የማህደረ ትውስታ ሕዋስ ያረጋግጣል። ሳይለወጥ ይቀራል.

የመቆጣጠሪያ ፍሰትን ለማዞር ጠለፋ

ከኤንክላቭ የ ROP ጥቃትን ሲፈጽም - ከተለምዷዊ የ ROP ጥቃቶች በተለየ - አጥቂው በተጠቃው ፕሮግራም ውስጥ ምንም አይነት ሳንካዎችን ሳይጠቀም የ RIP መመዝገቢያውን መቆጣጠር ይችላል። አጥቂ በቀጥታ ቁልል ላይ የተከማቸውን የ RIP መመዝገቢያ ዋጋ መፃፍ ይችላል። በተለይም የዚህን መዝገብ ዋጋ በራሱ ROP ሰንሰለት መተካት ይችላል.

ነገር ግን፣ የ ROP ሰንሰለቱ ረጅም ከሆነ፣ የአስተናጋጁ አፕሊኬሽኑን ቁልል አንድ ትልቅ ቁራጭ መፃፍ የውሂብ ብልሹነትን እና ያልተጠበቀ የፕሮግራም ባህሪን ሊያስከትል ይችላል። ጥቃቱን በድብቅ ለመፈጸም የሚፈልገው ወራዳ፣ በዚህ ሁኔታ አልረካም። ስለዚህ፣ ለራሱ የውሸት ጊዜያዊ ቁልል ፍሬም ይፈጥራል እና በውስጡ ROP ሰንሰለት ያከማቻል። የሐሰት ቁልል ፍሬም በዘፈቀደ ሊጻፍ በሚችል የማስታወሻ ቦታ ላይ ተቀምጧል፣ ይህም እውነተኛው ቁልል ሳይበላሽ ይቀራል።

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

ከላይ የተዘረዘሩት ሶስት ጠለፋዎች ለክፉ ሰው ምን ይሰጣሉ?

(፩) በመጀመሪያ፣ ተንኮለኛው በ መነበብ ይቻል እንደሆነ ለማየት አድራሻዎችን ለመፈተሽ መጥለፍ፣ - አላግባብ ጥቅም ላይ የሚውሉ የ ROP መግብሮችን የአስተናጋጁን መተግበሪያ ይፈልጋል።

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

(2) ከዚያም በ ለመጻፍ አድራሻዎችን ለመፈተሽ መጥለፍ, - ተንኮል አዘል ማቀፊያ በአስተናጋጁ አፕሊኬሽኑ ማህደረ ትውስታ ውስጥ ለክፍያ ጭነት ተስማሚ የሆኑትን ቦታዎች ይለያል.

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

(3) በመቀጠል፣ ማቀፊያው በደረጃ (1) ከተገኙት መግብሮች የ ROP ሰንሰለት ይፈጥራል እና ይህንን ሰንሰለት ወደ አስተናጋጁ መተግበሪያ ቁልል ውስጥ ያስገባል።

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

(4) በመጨረሻም የአስተናጋጁ አፕሊኬሽኑ በቀደመው ደረጃ የተፈጠረውን የ ROP ሰንሰለት ሲያጋጥመው ተንኮል አዘል ጭነት መፈፀም ይጀምራል - በአስተናጋጁ አፕሊኬሽኑ ልዩ መብቶች እና የስርዓት ጥሪዎችን የማድረግ ችሎታ።

ራዞዋሪን ለመፍጠር አንድ ክፉ ሰው እነዚህን ጠለፋዎች እንዴት እንደሚጠቀም

የአስተናጋጁ አፕሊኬሽኑ ቁጥጥርን ከ ECALL ዎች በአንዱ በኩል ካስተላለፈ በኋላ (ይህ ማቀፊያ ተንኮል አዘል እንደሆነ ሳይጠራጠር)፣ ተንኮል-አዘል ኢንክላቭ በአስተናጋጁ መተግበሪያ ማህደረ ትውስታ ውስጥ ነፃ ቦታ ይፈልጋል ፣ ኮድ ለማስገባት (የእነዚያን የሴሎች ቅደም ተከተሎች እንደ ነፃ ቦታዎች ይወስዳል) በዜሮዎች የተሞሉ). ከዚያም በኩል መነበብ ይቻል እንደሆነ ለማየት አድራሻዎችን ለመፈተሽ መጥለፍ, - ኢንክላቭ በአስተናጋጁ አፕሊኬሽን ውስጥ ሊተገበሩ የሚችሉ ገጾችን ይፈልጋል እና ROP ሰንሰለት ያመነጫል አሁን ባለው ማውጫ ውስጥ "RANSOM" የሚል አዲስ ፋይል ይፈጥራል (በእውነተኛ ጥቃት ውስጥ ኢንክላቭው ያሉትን የተጠቃሚ ፋይሎች ያመሳጠረ) እና የቤዛ መልእክት ያሳያል። በተመሳሳይ ጊዜ የአስተናጋጁ አፕሊኬሽኑ ኢንክላቭ በቀላሉ ሁለት ቁጥሮችን እየጨመረ ነው ብሎ ያምናል። ይህ በኮድ ውስጥ ምን ይመስላል?

ለግንዛቤ ቀላልነት፣ በትርጉሞቹ በኩል አንዳንድ ማኒሞኒኮችን እናስተዋውቅ፡-

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

ክፍያውን ከጨረስን በኋላ የአስተናጋጁን መደበኛ ስራ ወደነበረበት ለመመለስ የ RSP እና RBP መዝገቦችን የመጀመሪያ ዋጋዎችን እናስቀምጣለን፡

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

ተስማሚ የሆነ የቁልል ፍሬም እየፈለግን ነው ("የቁጥጥር ፍሰትን ለመምራት መጥለፍ" በሚለው ክፍል ውስጥ ያለውን ኮድ ይመልከቱ)።

ተስማሚ የ ROP መግብሮችን ማግኘት፡-

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

ጭነቱን የሚወጉበት ቦታ መፈለግ፡-

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

የ ROP ሰንሰለት እንገነባለን-

SGX ማልዌር፡- ክፉ ሰዎች አዲሱን የኢንቴል ቴክኖሎጂ ከተፀነሰባቸው ለሌላ ዓላማዎች እንዴት እንደሚጠቀሙበት

ተንኮል አዘል ፕሮግራሞችን ለመከላከል የተነደፈው የኢንቴል ኤስጂኤክስ ቴክኖሎጂ ተቃራኒ ግቦችን ለማሳካት በክፉ ሰዎች የሚጠቀመው በዚህ መንገድ ነው።

ምንጭ: hab.com

አስተያየት ያክሉ