Pull to refresh
319
Николай Шлей@CodeRush

Firmware Security Engineer

691
Subscribers
Send message
Усложнение железа под прошивкой скрыто от простого пользователя слоями поверх слоев обратной совместимости, и потому очень многие по-прежнему уверены, что интерфейс BIOS Interrupt Call — это отлично, а загрузка через MBR — лучший способ загрузки, несмотря на то, что там вообще нет никакого способа защититься от загрузочных вирусов, кроме крайне легко обходимой защиты от редактирования этой самой MBR.

Делать из вот этой статьи про собранный китайцами на коленке из утекших исходников 2015 года руткит, найденный позже на машинах с AMI AptioV производителя второго эшелона, вывод о том, что UEFI сломан весь вообще, и надо все переделывать — это как-то обескураживает даже. Знали бы вы насколько BIOS сломан был, и каким сломанным он стал к его закату…

Прошивка любая подобная будет с багами, потому что у тех тайваньских ОЕМов второго эшелона и так уже маржинальность 10% (т.е. вкладывать какие-то деньги в безопасность, или вообще во что-либо, что напрямую не влияет на продажи — это для них верная смерть от рук конкурентов, которые не вкладывают ничего). И виноват тут не BIOS, не UEFI, не coreboot, и не U-boot, это все малозначительные детали реализации. Виновато простейшее управление рисками, т.е. пока такие атаки находят одну за пару лет, как не пару десятков тысяч в день, чинить прошивку будут стараться только всякие странные граждане вроде меня, а ОЕМу как было пофиг на нее, так и будет дальше — денег он от ее разломанности в плане безопасности пока что не теряет, а потому тратить на нее какие-либо ресурсы для него не имеет смысла.
Спасибо за статью, но в атакующих несколько разочарован, те же морды — те же ряды, ничего нового под луной. Про механизм заражения — абсолютное большинство прошивок на основе AMI Aptio4 и AptioV (т.е. почти все AMI-based UEFI реализации) имеют серьезную ошибку в настройке системы защиты прошивки от перезаписи: скрывают настройку, позволяющую отключить ее, из BIOS Setup, но при этом не удяляют ее ни из кода, ни из переменной Setup, ни из IFR-структур. В итоге обойти ее, зная модель ноутбука (и, иногда, версию его прошивки) можно однократной записью в переменную Setup из EFI shell (только искать нужно не CFG Lock, а BIOS Lock). После перезагрузки из того же шелла при помощи подходящей версии Flash Programming Tool можно прошить уже модифицированную как угодно прошивку, и она запуститься, если BootGuard отключен или неверно настроен.
Который уже раунд марлезонского балета про то, что не нужно доверять датчикам Apple Watch, они неточные, и кардиограмму точную с одной пары электродов сделать нельзя, и оксигенацию измерить точно нельзя, и вообще чего пришли тут со своей ерундовиной на наш уже давно поделенный рынок?

Датчик этот в часах не вредит никак, не хотите его использовать — ваше право, для вас выпустили Watch SE без неточных датчиков и переплаты за них. Остальным нормально и так, потому что никто не обещал точность как у специального медицинского оборудования, но и простой показометр очень часто лучше, чем совсем ничего. Этот приснопамятный датчик ЭКГ из Series 4 уже несколько жизней спас благодаря достаточно хорошо работающему определению афибриляции даже с одним контуром, дай ТНБ и этот датчик поможет кому-то.
Нельзя сказать, что я в США ехал прямо за деньгами, больше за интересной работой, да и когда переезжал, не знал еще, зайдет оно мне все и я пойду делать гринкарту, или не зайдет и не пойду. Пока заходит так себе, хоть зарплата и выше значительно, чем была до этого. Слишком высокий темп, слишком сильно смещенный баланс работа-жизнь в сторону работы, слишком жарко, слишком далеко от родни и друзей. Не мое, в общем, хочется в спокойную тихую Баварию обратно.

А про социалку — там у Германии и США двухстороние договоры, так что туда-назад выплаченные в социальное и пенсионное страхование деньги перетаскивать не придется. 401к придется закрыть с потерями, потому что у немцев на него налоги считаются неприятно, а в остальном особых проблем нет, и совесть пока еще не мучает, потому что в США я всего три года, а немцам налоги платить буду значительно дольше, если со мной не случится ничего непредвиденного.
Не требуют, пока я у них не живу, в отличие от США, кстати. Мне лично в Баварии лучше было (даже с зарплатой меньшей кратно), поэтому я давно уже решил, что обратно перееду в ближайшие год-два.
Еще одна мысль по поводу «зачем вообще уезжать из России, если ты айтишник с доходом выше среднего»: не могу говорить за всю Россию, но в своем провинциальном сибирском городке очень сильно было заметно упрямое нежелание социума наказывать своих членов за вандализм и прочее плохое поведение, прямо препятствующее наведению порядка. Те самые «хорошо не жили, нех*й и начинать!» и «сгорел сарай, гори и хата!», и прочие постоянные практические испытания теории разбитых окон.
Невозможно просто взять и покрасить себе забор хорошей краской, поставить его идеально ровно, и т.п. — твои же добрые и милые соседи нарисуют на нем пенис и постараются его расшатать, потому что теперь их забор на фоне твоего недостаточно хорош. Сделай что-то лучше остальных — и остальные сделают все, чтобы показать тебе, что выделяться не нужно. В итоге делаем ремонт в школе — через неделю все лестницы в черных точках от зажигалок, ставим новые лавочки — через три дня их ломают, монтируем новые фонари на набережной — уже этой ночью половина разбита. «А чего это тут сделали, а у нас на улице не сделали? Они самые лысые тут, б*я? На, нах*й!»
Очень раз, если у вас вокруг этого нет, но у меня было в достатке, а в Германии резко закончилось. Там тоже есть свои вандалы, и много уродливого граффити, и окна бьют у смотровых вышек на вокзалах, и грязи всякой можно найти с избытком, но такого упрямого желания разрушить все, до чего дотягиваются руки я там за местными не наблюдал.
У вас есть обязательства, жена, дети — уезжайте только в том случае, если на родине — вилы.
Расскажу вам про вилы немного, раз уж про них заговорили.

Первый мой переезд из Рубцовска (Алтайский край, Россия) в Деггендорф (Бавария, Германия) был многоходовкой по спасению медленно-но-верно умирающей от почечной недостаточности матери, которую алтайские врачи отказались и лечить амбулаторно («у вас слишком высокий креатинин, освободите место в нефрологическом центре для людей, которым еще можно помочь»), и проводить необходимый давно уже гемодиализ («вы семнадцатая в очереди, которая движется со смертью пациента», либо «6 тысяч рублей в неделю до конца жизни» при средней зарплате в Рубцовске в 15-20к на 2009 год), и даже разговаривать о пересадке донорской почки. В результате поиска вариантов оказалось, что мы можем всей семьей претендовать на переезд в Германию в качестве поздних переселенцев, в итоге примерно за год (параллельно обивая все пороги в надежде получить хоть какое-то лечение) получилось оформить все нужные документы с помощью немецкого Красного Креста (спасибо им огромное). В итоге по прилету мать прямо из аэропорта забрали на скорой в клинику в Гёттингене, подключили в гемодиализу и не опускали больше месяца пока анализы не перестали быть опасными для жизни. Затем из Гёттингена отправили в клинику в Деггендорфе, в котором она проходила гемодиализ в течение последних 11 лет, трижды в неделю по пять часов к ряду, полностью за счет страховой компании. За эти 11 лет ей вылечили тиреоэктомией и последующей радиойодтерапией рак щитовидной железы второй стадии, множество менее серьезных болезней, трижды предоставлялся шанс получить донорскую почку, и наконец в марте этого года она ее таки получила, и теперь не нуждается более в гемодиализе. За все время из своего кармана мы заплатили меньше 1000 евро, большая часть из которых это 10 евро в день за нахождение в госпитале и затраты на лекарства по зеленому рецепту (витамины и прочее, не оплачиваемое страховкой).
В итоге, человек, которому в 2009 году алтайские врачи давали полгода (вместе с советами подготовить красивый гроб), прожил уже 11 лет полноценной жизни, получил донорский орган, и продолжает жить полной жизнью. Да, в чужой стране и с чужим языком, да со сложностями в адаптации, да советской шпэти-чуркой, но живой, относительно здоровый и абсолютно счастливый. Вот за это все, ради такого отношения к себе будущему, и детям своим будущим, я готов платить немцам их 50%+ налогов и сборов на мою высокую по их меркам зарплату. Потому что молодость и здоровье — это преходящие вещи, и рано или поздно помощь понадобится каждому, и очень хотелось бы жить в таком месте, где ее квалифицированно окажут. Именно поэтому я планирую вернуться в Баварию после того, как моя H1B-вахта в Кремниевой Долине закончится.
А что делать, жить то надо как-то с этим всем. Мы вот теперь ходим тут гордые, что UEFI CA никогда не доверяли, и потому ничего банить не нужно, но ситуация все равно неприятная.
Да уже, и теперь ребята распространяют этот чемодан забаненного в отдельном FFS-файле и патчат свои драйверы для НВРАМ, чтобы dbx настоящий не только в НВРАМе лежал.
Ждали починки BootHole, чтобы 2 раза на всем подряд dbx не обновлять.
Или бан 200+ вариантов подписанных загрузчиков, как получилось с BootHole. Отзывать ключи для х86 SecureBoot — это такой кошмар будет, что представить сложно.
Хранятся, но там это ПЗУ обычно доступно через SMBUS, и потому достаточно найти утилиту для обновления прошивки. Более того, более новую версию ОПРОМа можно положить прямо в основную прошивку, и загружать их оттуда.
Конечно, вопросов нет, но тут либо так — либо никак, пишите свой OSS в стол, и никому не показывайте. Жду вот, пока FYM накапает…
Я работал разработчиком прошивок и писал параллельно свой OSS редактор этих самых прошивок, проблем не было. Более того, и нынешнего работодателя в США получилось в итоге прогнуть на приблизительно те же условия, но теперь на каждый коммит нужно получить разрешения у специального человека, который подтвердит, что секреты компании не раскрываются, патенты не нарушаются, и конфликта интересов не возникает. Звучит громко, но по факту выливается в обмен почтой типа «подтверди вот это» — «подтверждаю».
Более того, есть BahnCard 50 за 225 (2 класс) или 455 (1 класс) евро, ополовинивающая стоимость ЖД-билетов, и разного рода специальные билеты типа Bayern Ticket, и скидки при бронировании заранее (иногда значительные). При регулярном использовании ЖД DB периодически рассылает ваучеры со скидкам, в том числе на бесплатного попутчика. В общем, я тоже за путешествия поездом, не такие уж они и дорогие чаще всего.
Отличная статья, спасибо.
Может быть пропустил в тексте, но упомяну лишний раз тогда, что иногда для нормального фаззинга приходится модифицировать сам код некоторым образом, например, пропускать проверки контрольных сумм и прочие подобные, которые могут быть тривиально вычислены атакующим, но при этом заблокирую фаззер на этом месте намертво.
Обратная сторона есть у этой возможности обновлять микрокод откуда попало: он не сбрасывается без глубокой перезагрузки (которую никто не делает, потому что она медленнее обычной впятеро), и поэтому невозможно простой перезагрузкой обеспечить возврат к исходному ожидаемому состоянию процессора, отчего может сломаться с таким трудом налаженная цепочка доверия. Если бы возможность запретить обновление микрокода установкой lock-бита в какой-нибудь MSR была — я бы пользовался ей на определенных конфигурациях, но ее нет, и приходится слепо доверять Intel и в этом месте тоже.
Буквальный неправильный перевод wet dream.
Значение с переводом
An erotic dream that causes involuntary ejaculation of semen. Эротический сон, вызывающий поллюцию.
INFORMAL РАЗГОВОРНОЕ
Something especially appealing to a particular type of person. Что-то особенно привлекательное для определенного типа людей.
«the kitchen is a gourmet chef's wet dream»
У нас когда-то давно было выражение «голубая мечта» из известной цитаты из Ильфа и Петрова, но с тех пор слово «голубой» несколько испортилось, и поэтому чем его заменить по смыслу — непонятно.
Хорошая статья, напомнила мне собственные приключения с переездом в Германию в 2011 году, но там вместо голубой карты был здоровенный пакет документов на прием семьи в качестве «поздних переселенцев», интенсивный курс A1 в НГТУ, прямой перелет из сибирских -37 в местные +3, пара дней во Фридланде, полгода интеграционного курса до B1, полгода курса до C1/TestDaF за счет Otto Benecke Stiftung, два года магистратуры в OTH Regensburg, и потом наконец работа.

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

Инженер встраиваемых систем, Системный инженер
Ведущий