ማቲው ጋሬት፣ ታዋቂ የከርነል ገንቢ Linuxበአንድ ወቅት ከነጻ ሶፍትዌር ልማት ላበረከቱት አስተዋጽኦ ከፍሪ ሶፍትዌር ፋውንዴሽን ሽልማት የተቀበለው፣ ዲጂታል ፊርማውን ሳይሰርዝ በቡት ጫኝ ውስጥ ያሉ ተጋላጭነቶችን ለማገድ የተፈጠረውን የSBAT (Secure Boot Advanced Targeting) ዘዴ ምንነት እንዲሁም በቅርቡ በዝማኔው ክስተት ውስጥ ስላለው ሚና ተናግሯል። Windows, которое привело к прекращению загрузки некоторых дистрибутивов Linux, установленных параллельно с Windows на системах с включённым UEFI Secure Boot. Если кратко, то виноваты, как компания Microsoft, которая не в полной мере протестировала обновление и применила его к системам, к которым оно не должно было применяться, так и разработчики некоторых дистрибутивов Linux, которые не обновили загрузчик GRUB и номер поколения SBAT, когда в GRUB были обнаружены уязвимости.
ከዚህ በታች የጋርሬት ማስታወሻ ትርጉም አለ፡-
የUEFI Secure Boot ዝርዝር መግለጫ ሲዘጋጅ፣ ሁሉም ተሳታፊዎቹ፣ እንበል፣ ትንሽ የዋህ ነበሩ። የ Secure Boot መሰረታዊ የደህንነት ሞዴል በከርነል ደረጃ ልዩ በሆነ አካባቢ ውስጥ የሚሰራ ሁሉም ኮድ ከመፈጸሙ በፊት መረጋገጥ አለበት - ፋየርዌሩ ቡት ጫኙን ያረጋግጣል ፣ ቡት ጫኚው ኮርነሉን ያረጋግጣል ፣ ኮርነሉ በሂደት ላይ የተጫነ ማንኛውንም ተጨማሪ የከርነል ኮድ ያረጋግጣል ፣ እና አሁን የምንፈልገውን ማንኛውንም ሌላ የደህንነት ፖሊሲ ለመጫን የታመነ አካባቢ አለን። ሰዎች ስህተት ሊሠሩ እንደሚችሉ ግልጽ ነው፣ ነገር ግን ስፔሲፊኬሽኑ እምነት የማይጣልባቸው ሆነው የተገኙ የተፈረሙ አካላትን የመሻር ዘዴን አቅርቧል፡ በቀላሉ የማይታመን ኮድ ሃሽ በተለዋዋጭ ላይ ይጨምሩ እና ከዚያ ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን ምንም እንኳን የማይታመኑ ሆነው የተገኙትን የተፈረሙ ክፍሎችን የመሻር ዘዴን አቅርቧል ። በታመነ ቁልፍ ተፈርሟል።
К сожалению, как выяснилось, проблема в масштабе. Каждый дистрибутив Linux, работающий в экосистеме Secure Boot, генерирует собственные двоичные файлы загрузчика, и у каждого из них свой хэш. Если в исходном коде такого загрузчика обнаружена уязвимость, то необходимо отозвать большое количество различных двоичных файлов. А объем памяти для хранения переменной, содержащей все эти хэши, ограничен. Просто не хватит места, чтобы добавлять новый набор хэшей каждый раз, когда оказывается, что GRUB (загрузчик, изначально написанный во времена, когда не практиковалась защита загрузки, и имеющий несколько отдельных парсеров img-образов, а также парсер шрифтов) имеет ещё один механизм для атакующего, чтобы заставить его выполнить произвольный код, поэтому потребовалось другое решение.
ያ መፍትሔ SBAT ነበር። የ SBAT አጠቃላይ ጽንሰ-ሐሳብ በጣም ቀላል ነው። በቡት ሰንሰለቱ ውስጥ ያለው እያንዳንዱ ወሳኝ አካል በተፈረመው ሁለትዮሽ ውስጥ የተካተተውን የደህንነት ትውልድ ያውጃል። ተጋላጭነት ሲታወቅ እና ሲስተካከል, ይህ ትውልድ ይጨምራል. ከዚያም አነስተኛውን ትውልድ የሚገልጽ ዝማኔ ሊወጣ ይችላል - የማስነሻ አካላት በሰንሰለቱ ውስጥ የሚቀጥለውን ንጥል ይመለከታሉ ፣ ስሙን እና የትውልድ ቁጥሩን በ firmware ተለዋዋጭ ውስጥ ከተከማቹት ጋር ያወዳድሩ እና እሱን ለማስፈፀም ወይም ላለማድረግ ይወስናሉ ። . ብዙ ቁጥር ያላቸውን የግለሰብ ሃሽ ከመሻር ይልቅ፣ “ማንኛውም የ GRUB ስሪት ከዚህ ቁጥር በታች የደህንነት ትውልድ ያለው እምነት እንደሌለው ይቆጠራል” የሚል ነጠላ ዝመና ማውጣት ይችላሉ።
Почему же это вдруг стало актуальным? SBAT был разработан совместно сообществом Linux и Microsoft, и Microsoft решила выпустить обновление для Windows, которое говорило системам не доверять версиям GRUB с поколением безопасности ниже определённого уровня. Это было сделано потому, что эти версии GRUB имели реальные уязвимости в безопасности, которые позволяли злоумышленникам нарушить цепочку безопасной загрузки Windows, и мы видели реальные примеры вредоносного ПО, которое хотело сделать это (Black Lotus использовал уязвимость в загрузчике Windows, но уязвимость в GRUB была настолько же эффективной). Если смотреть на это чисто с точки зрения безопасности, это вполне законное желание.
Теперь что касается сообщения «Что-то совсем пошло не так» и невозможности загрузки в результате этого обновления. Его выводит shim, а не от какой-то код от Microsoft. Shim учитывает обновления SBAT, и, чтобы не нарушать принципы безопасности, принятые другими загрузчиками в системе, и, хотя и Microsoft выпустила обновление SBAT, именно загрузчик Linux в результате отказывается запускать старые версии GRUB. Все работает так, как и должно.
Проблема, с которой люди столкнулись, заключается в том, что несколько дистрибутивов Linux не выпустили версии GRUB с более новым поколением безопасности, и поэтому эти версии GRUB считаются небезопасными (стоит отметить, что GRUB подписывается самими дистрибутивами, а не Microsoft, поэтому здесь нет никакого привнесённого извне отставания). По замыслу Microsoft, обновление Windows Update должно было применять обновление SBAT только к системам, работающим только с Windows, а любые установки с двойной загрузкой оставались бы уязвимыми для атак до тех пор, пока установленный дистрибутив не обновит GRUB и не обновит поколение SBAT. К сожалению, как теперь очевидно, это не сработало так, как было задумано, и, по крайней мере, некоторые системы с двойной загрузкой применили обновление, а Shim этого дистрибутива отказался загружать GRUB этого дистрибутива.
В чем итог? Microsoft (по понятным причинам) не хотела, чтобы Windows можно было атаковать с помощью уязвимой версии GRUB, которую можно было бы обманом заставить выполнить произвольный код, а затем внедрить буткит в ядро Windows во время загрузки. Microsoft сделала это, выпустив обновление Windows, которое обновило переменную SBAT, указав, что уязвимые версии GRUB не должны загружаться на этих системах. Предоставленный дистрибутивом Shim загрузчик первого этапа считывал эту переменную, считывал раздел SBAT из установленной копии GRUB, понимал, что они конфликтуют, и отказывался загружать grub с сообщением «Что-то совсем пошло не так». Это обновление не должно было применяться к системам с двойной загрузкой, но все равно применялось.
ሁሉም በሁሉም:
1) ማይክሮሶፍት ማሻሻያውን መተግበር ባልነበረባቸው ስርዓቶች ላይ ተተግብሯል።
2) Некоторые дистрибутивы Linux не обновили загрузчик GRUB и поколение безопасности SBAT, когда в GRUB были обнаружены уязвимости.
በዚህ ምክንያት አንዳንድ ሰዎች ስርዓታቸውን ማስነሳት አይችሉም። እዚህ ብዙ የሚወቀሱ ሰዎች ያሉ ይመስለኛል። ማይክሮሶፍት ባለሁለት ቡት ጭነቶች በትክክል መገኘታቸውን ለማረጋገጥ ተጨማሪ ሙከራዎችን ማድረግ ነበረበት። ነገር ግን የተፈረሙ ቡት ጫኚዎችን የሚያቀርቡ ስርጭቶች እነሱን ማዘመን እና የደህንነት ትውልዱን ማዛመድ አለባቸው ምክንያቱም አለበለዚያ ሌሎች ስርዓተ ክወናዎችን ለመጥለፍ የሚያገለግል የጥቃት ቬክተር ይሰጣሉ እና ይህ በዙሪያው ያለውን ማህበራዊ ውል መጣስ ነው ። ሁሉም።
እንደ አለመታደል ሆኖ፣ እዚህ ያሉት ተጎጂዎች በዋናነት ስርዓቱ ሊጭኑት የፈለጉትን ስርዓተ ክወና ለመጫን ፈቃደኛ ባለመሆኑ የተጋፈጡ ዋና ተጠቃሚዎች ናቸው። ይህ በፍፁም መከሰት የለበትም። የመጨረሻ ተጠቃሚዎችን Secure Boot updates ይፈልጉ እንደሆነ መጠየቅ ጥሩ ውጤት ያስገኛል ብዬ አላምንም፣ እና ምንም እንኳን UEFI Secure Boot አብዛኞቹን የመጨረሻ ተጠቃሚዎችን የሚጠቅም ነገር እንዳልሆነ ለማሰብ ባግባቡም ሳስበው እርስዎ የሚያደርጉት ነገር ነው። ከእንደዚህ አይነት ክስተቶች በኋላ ለማወቅ አልፈልግም፣ ለዚህም ነው በነባሪነት እንዲነቃ የምረዳው፣ ስለዚህ በነባሪነት እንዲነቃ እደግፋለሁ፣ እና የMicrosoft ምርጫን እጋራለሁ፣ በባለሁለት ቡት ሲስተሞች ላይ ማዘመንን ለማስወገድ ከሚደረገው አሳዛኝ ሙከራ በስተቀር።
В любом случае, я был сильно вовлечён в реализацию этого механизма для Linux в 2012 году и написал первый прототип Shim (который сейчас является значительно лучшим загрузчиком, поддерживаемым более широким кругом людей, и к которому я не прикасался уже несколько лет), так что если вы хотите обвинить кого-то одного, пожалуйста, не стесняйтесь обвинять меня. Это то, чего не должно было случиться, и если вы не Microsoft или дистрибутив Linux, то это не ваша вина. Прошу прощения.
ምንጭ: opennet.ru
