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

Firmware Security Engineer

Send message
Смайлы и эмодзи — это просто визуальный шум, ничего не добавляющий к разговору. У русского языка достаточно выразительных средств для передачи настроения, и если ваш словарный запас больше, чем у Эллочки-людоедки, то текстовые смайлы (и тем более графические эмодзи) вам уже практически не нужны. Более того, пиктограммы не воспринимаются всеми людьми одинаково, и то, что для вас «улыбающаяся рожица» для кого-то может быть «хитрая лыба» или «улыбка сквозь боль». Получить и отправить «целую тебя нежно» пока еще намного приятнее, чем ":*", и я очень надеюсь, что так будет и дальше.
efivars — это такая псевдо-ФС в Linux, абстракция над UEFI runtime-сервисами для работы с переменными — GetVariable, SetVariable, GetNextVariableName и QueryVariableInfo.
Зачем эту псевдо-ФС по умолчанию монтируют на запись — мне не ведомо, скорее всего для efibootmgr вышеупомянутого. Вследствие того, что конкретные реализации прошивок не всегда следуют последним стандартам, а efibootmgr — не самая всезнающая утилита, то на некоторых машинах её использование действительно приводит к «кирпичу», поэтому в этом смысле я согласен с автором — положи загрузчик на ESP в \EFI\BOOT\boot{архитектура}.efi и пусть диспетчер BDS прошивки сам его найдет и добавит в BootOrder/BootXXXX заведомо правильным образом.
Что же до использования GRUB/shim/bootmgr/черта-лысого — это вкусовщина и у делу не относится.
Если вам интересно, как устроены переменные BootXXXX и BootOrder, первая устроена вот так, а вторая — просто список из UINT16, этих самых XXXX.
Проблема же efibootmgr в том, что она пытается угадать формат DevicePath, который в различных версиях стандарта периодически обновляется, а у некоторых вендоров имеет и свои собственные расширения, поэтому если вы можете ей не пользоваться — лучше и не пользуйтесь, во избежание.
И о железе. Верифицированное ядро L4 точно также можно вскрыть, используя RowHammer, уязвимость в USB-контролере или IOMMU. Даже идеальная программа будет исполнятся на вполне реальном железе, а там такое количество глюков, недоработок, странностей и переходных процессов, что дыру можно найти практически всегда — были бы деньги и время на исследования.
P.S. Посмотрите вот это прекрасное видео о получении дампа прошивки графического планшета при помощи глитчинга.
А по поводу недавних массовых обновлений — это реакция на найденную широко известным в узких кругах Дмитрием d_olex Олексюком уязвимость ThinkPwn, которая оказалась на деле уязвимостью в референсном коде Intel и потому затронула не только Lenovo, а практически всех, и по реакции на которую можно легко понять, кто действительно занимается безопасностью своих прошивок, а кто так, погулять вышел.
Ниже ответил. Нормально, могло бы быть лучше, но все равно намного лучше, чем у Asus, MSI, Acer, Sony и т.п.
Не списывайте ThinkPad'ы со счетов слишком рано, если Dell и HP не устраивают, а о безопасности тоже хочется подумать — варианты с TPM вполне можно использовать.
Про Apple рассказывать не могу из за NDA, но уже скоро смогу их рекомендовать с кристально чистой совестью — наша команда работает над этим в поте лица прямо сейчас.
Она не для меня принципиальна, а для автора статьи:
И 8 ГБ оперативной памяти (подкачала, всего лишь LPDDR3)

Современная ноутбучная DDR4 на частотах до 2133 имеет перед такой же ноутбучной DDR3 пару преимуществ (меньшее энергопотребление, более низкая цена в перспективе, практически бесплатная поддержка ECC, большая максимальная емкость, лучшая сопротивляемость RowHammer) и пару недостатков (более высокие задержки на той же частоте, более высокая цена прямо сейчас, меньшая отлаженность процессов производства и разводки).
По сути, для обычного пользователя разницы проктически никакой, и выбирать по этому критерию не нужно, особенно если и та, и другая память — набортная и апгрейду не подлежит. Разница в производительности ноутбучной памяти на частотах до 2133Мгц — в пределах погрешности измерений, +-3% в зависимости от бенчмарка. На одинаковой частоте DDR3 немного быстрее засчет более низких таймингов.
Lenovo стараются, но пока не дотягивают до Dell и HP, плюс регулярно умудряются оскандалится — то Computrace воткнут (на современных машинах самостоятельно удалить его из прошивки нельзя даже имея SPI-программатор, т.к. BootGuard включен и не позволит изменной прошивке запуститься, а чтобы это обойти его нужно менять чипсет), то бэкдор установят в ОС автоматически через WPBT, то корневые сертификаты свои внедрят.
На сообщения об уязвимостях в прошивке они реагируют и стараются эти самые уязвимости закрывать, но сами по себе никаких исследований (как Dell с ESRT и HP с RedFish) в области прошивок не ведут и потому чаще всего оказываются в роли догоняющих.
Мой многолетний опыт разработки, отладки, взлома и защиты UEFI-совместимых прошивок не согласен с вами. Acer — один из вендоров, которые со своей стороны для защиты пользователя от буткитов и атак на pre-OS не делает ничего совсем, не отвечает на сообщения об уязвимостях и не исправляет их. Не нужна вам безопасность — дело ваше.
Сразу в топку все, что не Apple, Dell или HP, потому что прошивка — решето, и чинить её никто не будет.
DDR3 на частотах до 2133 Мгц быстрее DDR4 засчет более низких таймингов.
Дальше выбор зависит от целевой ОС и цены, и личных предпочтений.
Three Swiss witch-bitches, which wished to be switched, watch three Swiss Swatch watch switches. Which Swiss witch-bitch, which wishes to be a switched, wishes to watch which Swiss Swatch switch?
Уважаемый, вот этот ваш комментарий — это «за что вы минусуете» и есть по смыслу.
Вы там критикуете СиПроВер за то, что они пишут рекламные статьи в своем корпоративном блоге, для которых он по факту и предназначен.
Жаль, что рекламу на Хабре перестали даже маскировать под статьи. Могли бы хотя бы сравнение запилить с существующими до этого аналогами на линуксе. А то они бедные прозябали столько лет во тьме.

После этого вас спрашивают «А почему бы вам такую статью не написать самостоятельно, раз предлагаете?» несколько разных людей, на что вы отвечаете одним словом «нет», а потом еще и говорите, что это — «ваше мнение».
Поймите, ваше мнение никого не интересует ровно до тех пор, пока оно не аргументированно и не выражено в форме, полезной для сообщества. Статья со сравнением, в которой вы объективно критикуете PVS-Studio в сравнении с открытыми инструментами — вот это «ваше мнение» в том виде, в котором оно нужно на Хабре и за которое вам не поставил бы минусов почти никто, зато плюсов поставили бы наверняка.
Без такой статьи или развернутого комментария ваше мнение — что-то вроде «вы мне не нравитесь, проприетарщики, и статья ваша рекламная, и LGPL вы нарушаете, скорее всего». Недовольны — поставьте статье минус и проходите, ибо такие комментарии с «мнением» не добавляют ничего к обсуждаемой теме.
Прошу прощения за неудачную формулировку, имел в виду «файлы с исходным текстом», а написал просто «текстовые».
PVS-Studio анилизирует не тектовые файлы, а препроцессированные, а получить их можно либо интегрировав анализатор в сборочную систему, либо запустив Compiler Monitoring и «поймав» эти файлы во время сборки. Самой программе, понятно, компилятор не нужен, не без него очень трудно получить то, что она ожидает на вход.
Спасибо, теперь ждем версию для MacOS и интеграцию с XCode. *подмигивает*
Пара дней — это еще терпимо, и можно пережить. А мы как-то с бывшим начальником над тренировкой набортной DDR3 на новом AMD APU просидели 5 недель подряд, пока она не завелась (в связи с чем хочется передать пламенный привет тому, кто придумал AMD PMU и догадался инициализировать память через PSP).
Получается, за этот месяц нам обоим надо бы ЗП ополовинить? В таком случае в следующий раз подобный проект будет признан неподъемным после трех попыток, а потраченная на него шестизначная сумма в евро пойдет в убыток.
Короче, тут уже говорили несколько раз, что введение метрик, влияющих на зарплату, ведет только и исключительно к оптимизации по ним. Если вас это устраивает — дело ваше. Если же нет, обыкновенного performance review раз в полгода-год вполне достаточно, на мой взгляд.
Кто про что, а вшивый про баню: если не затруднит, сделайте дамп региона BIOS и выложите куда-нибудь, а то производители никаких обновлений прошивки еще не выкладывали, а без их понять, насколько там все хорошо (или печально, что вероятнее) — решительно невозможно. Insyde в пресс-релизе обещает там практически технологии завтрешнего дня, а что по факту — хотелось бы посмотреть.
Называется такой подход MAC, самая известная реализация — SELinux. В итоге все гладко на бумаге, только правила никто писать не хочет, а для программ посложнее блокнота само написание таких правил — весьма нетривиальное занятие. Ну и пользователи (или администраторы, что случается намного чаще) не выносят прокрустового ложа MAC и отключают его начисто. Ничего личного, просто в очередной раз при выборе между безопасностью и удобством использования выбрали удобство.
И еще пример. И еще. И RW Everything со своим драйвером, который и подписан, и может вообще все.
Вот так примерно и выглядит добрая половина драйверов режима ядра от сторонних производителей. Людям нужно было решить проблему, и они ее решили, а как это выглядит с точки зрения безопасности — всем наплевать. Вот еще один пример похожего поведения.
The ASUS «Generic Function Service» includes a couple of drivers, ASMMAP.sys / ASMMAP64.sys,
the version resources describe them as «Memory mapping Driver».

This description is very accurate, it has a pair of ioctls, 0x9C402580 and 0x9C402584, that map or
unmap to the calling process' address space ANY PART OF PHYSICAL MEMORY, with READ/WRITE permissions.
Using code that has been copypasta'd a bunch of times, but seems to originate from a sample driver for NT 3.1.
1993 vintage code, everybody.

It also has a couple of other ioctls that allocate or free some RAM and gives the physical and virtual pointers
to it, and another one that can make any I/O request (does in/out byte/word/dword with parameters given in the ioctl buffer, and returns the result for the case of in).

Information

Rating
Does not participate
Date of birth
Registered
Activity

Specialization

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