በ KVM ውስጥ ተጋላጭነት በ AMD ማቀነባበሪያዎች ላይ ከእንግዳ ስርዓት ውጭ የኮድ አፈፃፀም ይፈቅዳል

ከጉግል ፕሮጀክት ዜሮ ቡድን የተውጣጡ ተመራማሪዎች ከቀናት በፊት በብሎግ ልጥፍ ላይ ይፋ ተደርጓል በ KVM hypervisor ውስጥ ተጋላጭነትን (CVE-2021-29657) ለይተዋል (በ x86 ፣ ARM ፣ PowerPC እና S / 390 ላይ በሃርድዌር የተፋጠነ ቨርዥንነትን የሚደግፍ ክፍት ምንጭ ሊነክስን መሠረት ያደረገ hypervisor) የእንግዳ ስርዓቱን ማግለልን ለማስወገድ ያስችልዎታል እና በአስተናጋጅ አከባቢ በኩል ኮድዎን ያሂዱ።

ልጥፉ ችግሩ መሆኑን ይጠቅሳል ከሊኑክስ ከርነል 5.10-rc1 እስከ v5.12-rc6 ፣ ይህም ማለት: ሽፋኖቹን 5.10 እና 5.11 ን ብቻ ይሸፍናል (አብዛኛዎቹ የተረጋጉ የስርጭት ቅርንጫፎች በችግሩ አልተነኩም ፡፡) ችግሩ በ AMD SVM (ደህንነቱ የተጠበቀ ቨርቹዋል ማሽን) ቅጥያ በመጠቀም እና የጎብኝዎች የእንግዳ ስርዓቶችን ማስጀመርን በሚፈቅድ nested_svm_vmrun ዘዴ ውስጥ አለ ፡፡

በዚህ የብሎግ ልኡክ ጽሁፍ በኤኤምዲ-ተኮር KVM ኮድ ውስጥ ተጋላጭነትን እገልጻለሁ እና ይህ ሳንካ ወደ ሙሉ ምናባዊ ማሽን ማምለጫ እንዴት ሊለወጥ እንደሚችል ተወያዩ ፡፡ እኔ እስከማውቀው ድረስ ይህ እንደ ኪኤምዩ ባሉ የተጠቃሚ ቦታ አካላት ውስጥ ባሉ ስህተቶች የማይታመን የ KVM እንግዳ-አስተናጋጅ ስብራት የመጀመሪያ ይፋዊ ምዝገባ ነው ፡፡

የተወያየው ሳንካ CVE-2021-29657 ተመድቦለታል ፣ የከርነል ስሪቶችን v5.10-rc1 ወደ v5.12-rc6 ይነካል ፣ እና በመጋቢት 2021 መጨረሻ ላይ ተስተካክሏል ፡፡ ሳንካ በ v5.10 ውስጥ ብቻ ብዝበዛ ስለነበረ እና ከ 5 ወር ገደማ በኋላ ስለ ተገኘ ፣ አብዛኛዎቹ የእውነተኛ ዓለም KVM ማሰማሪያዎች ተጽዕኖ ሊኖራቸው አይገባም ፡፡ አሁንም ቢሆን ችግሩ በ KVM ላይ የተረጋጋ የእንግዳ-አስተናጋጅ ማምለጫን ለመገንባት በሚያስፈልገው ሥራ ውስጥ አስደሳች ጉዳይ ጥናት ነው ብዬ አስባለሁ እናም ይህ መጣጥፉ የ hypervisor ስምምነቶች የንድፈ ሀሳብ ችግሮች ብቻ እንዳልሆኑ ሊያደርገው ይችላል ብዬ ተስፋ አደርጋለሁ ፡፡

ተመራማሪዎቹ ለዚህ ተግባር ትክክለኛ አፈፃፀም እ.ኤ.አ. ሃይፐርቫይዘር ሁሉንም የ SVM መመሪያዎች መጥለፍ አለበት በእንግዶች ስርዓቶች ላይ አሂድ ፣ ባህሪውን መኮረጅ እና ግዛቱን በሃርድዌር ማመሳሰል ፣ በጣም ከባድ ሥራ ነው ፡፡

የታቀደውን የ KVM ትግበራ ከተተነተኑ በኋላ ተመራማሪዎቹየ MSR ይዘት የሚፈቅድ አመክንዮአዊ ስህተት አጋጥሞታል የአስተናጋጁ (ሞዴል-ተኮር ምዝገባ) ከእንግዳ ስርዓት ተጽዕኖ, በአስተናጋጅ ደረጃ ኮድን ለማስፈፀም ሊያገለግል ይችላል.

በተለይም ከሁለተኛው የጎጆ ደረጃ እንግዳ (የ L2 ከሌላ እንግዳ የተጀመረው) የ VMRUN ክዋኔን ማከናወን ወደ nested_svm_vmrun ለሁለተኛ ጊዜ ጥሪን ያስከትላል እናም ከ L2 የእንግዳ ስርዓት ከ vmcb በተገኘ መረጃ የተደራረበውን የ svm-> nested.hsave መዋቅርን ያበላሸዋል ፡ .

በዚህ ምክንያት ፣ በ L2 የእንግዳ ደረጃ ምንም እንኳን አሁንም ቢሆን መጠቀሙን ቢቀጥልም ኤምኤስአር ቢትን በሚያስቀምጠው የ svm-> nested.msrpm መዋቅር ውስጥ ማህደረ ትውስታን ለማስለቀቅ እና የአስተናጋጁን ኤምአርአር ለመድረስ የሚያስችል ሁኔታ ይከሰታል ፡፡ አካባቢ.

ይህ ማለት ለምሳሌ የእንግዳ ማህደረ ትውስታ የተጠቃሚ ቦታ ሂደት የሚመደበውን ማህደረ ትውስታ በመጣል ሊመረመር ይችላል ወይም ለሲፒዩ ጊዜ እና ለማስታወስ የሚረዱ ግብዓቶች በቀላሉ ተፈጻሚ ይሆናሉ ማለት ነው ፡፡ 

በተጨማሪም KVM ከመሣሪያ መኮረጅ ጋር የተዛመደውን አብዛኛው ሥራ ለተጠቃሚው የቦታ ክፍል ሊጭን ይችላል ፡፡

ችግሩ ከ AMD ማቀነባበሪያዎች (kvm-amd.ko ሞዱል) ጋር በስርዓቶች ላይ ጥቅም ላይ በሚውለው ኮድ ውስጥ ይገኛል እና በኢንቴል ፕሮሰሰሮች ላይ አይታይም ፡፡

 ከመስተጓጎል አያያዝ ጋር ከተያያዙት ሁለት አፈፃፀም-ተጋላጭ መሣሪያዎች ውጭ ፣ ምናባዊ ዲስክን ፣ አውታረመረብን ወይም ጂፒዩ መዳረሻን ለማቅረብ ሁሉም የተወሳሰበ ዝቅተኛ-ደረጃ ኮድ በተጠቃሚ ቦታ ውስጥ ሊሠራ ይችላል ፡፡  

ተመራማሪዎቹ ችግሩን ከመግለፅ በተጨማሪ እንዲሁም የብዝበዛን የሥራ የመጀመሪያ ምሳሌ አዘጋጅተዋል ከ AMD Epyc 7351P አንጎለ ኮምፒውተር እና ከሊኑክስ 5.10 ከርነል ጋር ባለው ስርዓት ላይ በአስተናጋጅ አከባቢ ውስጥ የእንግዳ አከባቢን አንድ ሥር shellል እንዲሠራ ያስችለዋል።

መሆኑ ተስተውሏል በ KVM hypervisor ውስጥ ተጋላጭነትን የሚያስተናግድ ይህ የመጀመሪያ እንግዳ ነው እሱ ፣ እንደ QEMU ባሉ የተጠቃሚ ቦታ አካላት ውስጥ ካሉ ስህተቶች ጋር የማይዛመድ። ማስተካከያው በማርች መጨረሻ ላይ በከርነል ውስጥ ተቀባይነት አግኝቷል ፡፡

በመጨረሻ ስለዚህ ጉዳይ የበለጠ ለማወቅ ፍላጎት ካለዎት በማስታወቂያው ላይ ዝርዝሮችን ማረጋገጥ ይችላሉ በሚቀጥለው አገናኝ ፡፡


የጽሑፉ ይዘት የእኛን መርሆዎች ያከብራል የአርትዖት ሥነ ምግባር. የስህተት ጠቅ ለማድረግ እዚህ.

አስተያየት ለመስጠት የመጀመሪያው ይሁኑ

አስተያየትዎን ይተው

የእርስዎ ኢሜይል አድራሻ ሊታተም አይችልም.

*

*

  1. ለመረጃው ኃላፊነት ያለው: ሚጌል Áንጌል ጋቶን
  2. የመረጃው ዓላማ-ቁጥጥር SPAM ፣ የአስተያየት አስተዳደር ፡፡
  3. ህጋዊነት-የእርስዎ ፈቃድ
  4. የመረጃው ግንኙነት-መረጃው በሕጋዊ ግዴታ ካልሆነ በስተቀር ለሶስተኛ ወገኖች አይተላለፍም ፡፡
  5. የውሂብ ማከማቻ በኦክሴንትስ አውታረመረቦች (አውሮፓ) የተስተናገደ የውሂብ ጎታ
  6. መብቶች-በማንኛውም ጊዜ መረጃዎን መገደብ ፣ መልሰው ማግኘት እና መሰረዝ ይችላሉ ፡፡

ቡል (እውነት)