Обновить
8K+
320
Николай Шлей@CodeRush

Firmware Security Engineer

29,1
Рейтинг
692
Подписчики
Отправить сообщение
Не понял про несовместимость.
От всего UEFI после фазы BDS и передачи управления ОС остается совсем малая часть: Runtime-сервисы и SMM-драйверы (через которые после внедрения SecureBoot реализуется запись в NVRAM и микросхему SPI). Если несовместимость и будет, то это будет желанием производителя платформы, а не разработчиков UEFI. Да и BIOS ничего не мешает сделать несовместимым ни с чем, при желании.
Дело в том, что вводная на уже написана.
Если у вас есть, что добавить к той моей статье — отлично, я с удовольствием почитаю, но рассказывать второй раз про одно и то же (и используя в качестве источника ту же самую документацию по UEFI PI) было бы странно, на мой взгляд.
Я вас поддерживаю в любом случае, и напоминаю НЛО об остуствии хаба UEFI, в который как нельзя лучше попали бы эта и похожие статьи. Уважаемая хабракоманда, сделайте с этим что-нибудь, пожалуйста. А уж за наполнением дело не станет.
Я могу привести несколько преимуществ UEFI перед традиционным BIOS, ради которых я бы согласился на переход немедленно:
0. Переход с 16-битного реального режима в 64-битный защищенный и плоскую модель памяти.
1. Использование С вместо ассемблера для более 95% кода.
2. Модульность и возможность неразрушающего редактирования как отдельных модулей, так и всего образа БИОСа.
3. Наличие открытого исходного кода большей части модулей (проект TianoCore) и открытой документации (uefi.org).
4. Поддержка передачи отладочных сообщений по шине USB (на coreboot.org уже собрали устройство для их получения, копеечное).
5. Возможность написания собственных программ, исполняемых в среде UEFI: как PEI и DXE-драйверов, так и обычных приложений.
6. Кроссплатформенность части модулей благодаря интерпретатору байткода (EBC).
Можно найти еще плюсов, тут и UEFI GOP, или замена Option ROM на EFI-драйверы, т.д и т.п. Да и SecureBoot при правильном его применении — это скорее хорошо, чем плохо.
Мне кажется, это уже было в Симпсонах. :)
Напишите про другие интересные вещи, пожалуйста.
Про EBC, про недавний вынос всего, чего можно, в SMM, про защиты от прошивки модифицированного БИОСа и методы их обхода, про CryptoPkg и сетевой стек UEFI — да про что угодно, там тема необъятная.
1 порядок — это в десять раз, скорее всего.
Спасибо за инструкцию.
А можно выложить архив с результатом для ленивых?
Все, что я хочу сказать по поводу Фортрана:
GO TO (320,330,340,350,360), K
Ну и не ясно, почему тогда не C с теми же самыми плюсами (невольный каламбур), что и Фортран, только еще более распространенный, с не меньшим количеством библиотек и значительно более востребованный.
В связи с этим не могу не посоветовать книгу Ч. Петцольда «КОД. Тайный язык информатики.», выпущенную еще в 2001 году.
Ничего не хочу сказать плохого про AVR, возможно, они действительно идеальны для ваших задач, но я бы все равно советовал неспеша переходить на ARM. Не холивара ради, просто совет.
После работы с каким-нибудь STM32F4, читая о том, что AVR «мощные» и у них «куча переферии», как-то внутренне улыбаешься. STM32F1xx есть в любом магазине, стоят они не намного дороже, при грамотной разводке (т.е. почитать не только даташит на конкретный чип, а еще и compatibility note) поставить чип другой серии тоже проблема не большая, а навесные убердевайсы вообще мало привязаны к конкретной архитектуре и производителю МК. AVR — это глобально и надежно, но будущее все же за 32-битными МК, как мне кажется. Да и выбор производителя, IDE и всего остального — значительно шире.
Забрал последний Vostro 3360 из онлайн-магазина Dell в Германии, не пожалел ни секунды. Да, не все гладко, и кое-что все таки нет-нет, да бесит, но то, что они свернули эту линейку — это крайне печально.
MOV EAX, EDX — это просто чуть более понятная человеку запись числа 0x89D0 (возмем, для определенности, Intel syntax для x86-64), ни больше, ни меньше, и сама по себе запись ничего никуда не копирует. И если для вышеуказанной команды опкод существует — она будет работать, а если нет — не будет, хотя и построена по аналогии. Мне никто не мешает написать mov eax, DWORD PTR CS:0x0, которое будет транслированно в 0х2E8B042500000000, но команду mov DWORD PTR CS:0x0, DWORD PTR DS:0x0, построенную «по аналогии» транслировать уже не во что — нет такого опкода.
Вы, скорее всего, не работали с ассемблерами для простых процессоров с минимальным числом опкодов. Это у x86 есть опкоды почти на все случаи жизни, а у МК бывает так, что mov работает только между этими несколькими регистрами, операции с отдельными битами — вообще с одним единственным регистром, а сохранность содержимого вот этого регистра вам никто не гарантирует. И таких ограничений бывает столько и таких забавных, что лучшый способ не погрязнуть в них — не строить вообще никаких аналогий, как Ди и предлагает.
В качестве упражнения для понимания ассемблера я бы рекомендовал написать ассемблер.
Простейший, без директив, без макросов и прочих высокоуровневых конструкций, на том языке, который вы уже знаете.
А если по хардкору, то прямо в машинных кодах процессора, который вы видите впервые (но имеете на него документацию и errata, иначе это не упражнение, а мазохизм). ;)
Это сродни обучению плавать методом выбрасывания из лодки, конечно, но зато понимание приходит раз и насовсем, и далее разобраться о очередным вариантом ассемблера большого труда уже не составляет, была бы документация.
За широко известное в узких кругах «my name is Lennart Poettering and I pronounce Linux as shshshshshs». PA очень сильно портит звук на некоторых устройствах, и поэтому его наоборот обычно приходится вырывать с корнями.
Это кошмар, но здесь нисколько не лучше. Через инернет невозможно купить даже единственный микроконтролер, и вообще практически любую радиодеталь, не являсь представителем какой-либо фирмы или студентом профильной специальности. Я тоже занимался производством пробной партии SPI-программатора на базе FT232H, и в Китае заказывать не стал по этим же причинам — таможня очень суровая, и у меня она еще и в другом городе находится. Заказал производство плат у немецкой фирмы, паял сам, ибо там устройство очень простое. Производство окупилось, и меня это радует, т.к. заработать я не планировал.
Про кабалу — в России сейчас гораздо свободнее, чем в Германии. Финансы здесь государство контролирует давно и прочно, полиция имеет гораздо большие полномочия (к счастью, и гораздо более высокую квалификацию, в среднем), наличными деньгами можно расчитаться практически только за продукты в супермаркете, а наличие большой суммы наличности автоматически вызывает подозрение. А штрафы за нарушение законов такие, что вы не захотите их нарушать.
И это не угнетает, понимаете? У меня нет желания бороться с правительством, не пользоваться услугами банков и государства, бойкотировать их иннициативы и т.п. — я просто живу и работаю, и все это если и мешает, то не сильно. Перегибы случаются везде, конечно, но пока от того, что государство знает обо мне все, я только в выигрыше. Возможно, в будущем мнение изменится, но пока я не вижу причин для того, чтобы быть против и выступать против. Система не очень, но она работает.
Носителем оборудования, которое имеет возможность читать все личные данные, являются государственные структуры.
Частным фирмам предоставляется оборудование с другим уровнем доступа, причем ты сам выбираешь, что будет доступно для чтения, и выбор этот делается еще до ввода ПИН-кода.
Протоколы, стандарты и вся остальная техническая документация находится в открытом доступе на сайте министерства по безопасности в информационных системах, вот здесь.
Исходные коды софта — у его разработчиков, в открытый доступ они не выкладнываются, насколько я знаю.
Специальный уровень доступа — у полиции.
Почему вы должны им доверять — ну не доверяйте, ваше право. Не пользуйтесь онлайн-услугами, не выпускайте паспорт из рук, носите в металлическом чехле, и он от бумажного не будет отличаться ничем. И вы спокойны, и остальным это пользоваться онлайн-услугами не мешает.
Разве закон об обязательном ношении удовстоверения личности уже прият в России и\или Украине? В Германии такого закона пока нет, и паспорт с тобой обязаны носить только те, кто имеет при себе оружие. Поэтому я имею полное право карту с собой не носить, и пользуюсь этим правом.
Будет ли законно ношение в карт в радионепрозрачном кошельке? А как это можно запретить законодательно? И главное, как контролировать исполнение такого запрета? Пока это личное дело каждого, и таким и останется, я надеюсь.
О платежной системе — я говорил о европейских картах, российской УЭК у меня пока нет, хотя и и планирую ее получить в будущем. Идея с привязкой платежной системе к такого рода картам мне нравится не больше чем вам.
Выбор, конечно, не настолько полярный, но он везде такой. Не нравится — боритесь. Не голосуйте за это правительство, и постарайтесь донести свои мысли до тех, кто за него голосует. Пока паранойа у одного человека из ста — до него никому нет дела, когда она у половины — это уже реальная сила, способная влиять на решения правительства.
Все, что вы описали — у вас уже и так при себе. Это мобильный телефон.
Я знаю, что в\на Украине пока еще можно купить сим-карту без предъявления паспорта, но если ваш телефонный аппарат не умеет менять IMEI и использовался до этого — новая сим-карта не поможет. А к номеру старой вы уже давно привязаны, если вами интересуются компетентные органы, опять же.
Если боитесь удаленного считывания карты — купите радионепрозрачный кошелек, которые сейчас набирают популярность.
Мне, как пользователю, немецкая идентификационная карта нравится значительно больше российского внутреннего паспорта, по нескольким причинам:
1. Она в разы компактнее и легче переносит удары судьбы, вроде стирки в стиральной машине.
2. На ней меньше информации, и никто без специального оборудования и уровня доступа не узнает, где я был год назад зарегистрирован, состою ли в браке и сколько у меня детей, являюсь ли военнообязаным и так далее.
3. При помощи карты я смогу получить через Интернет практически все государственные услуги, требующие идентификации личности.
Платежную систему к европейским идентификационным картам по умолчанию никто не привязывает, поэтому монополизации рынка электронных платежей, вызванного этим, можно не бояться. Немцы также не привязывают к аусвайсу ни водительские права, ни карту медицинского страхования, т.к. в таком случае у личных данных появляется слишком много операторов, и работодатель, к примеру, может получить доступ к состоянию здоровья своих сотрудников, что здесь прямо запрещено законом о защите персональных данных.
Если вкратце — я не параноик и опасений такого рода не разделяю. Хочешь анонимности и защищенности — в тайге можно неплохо жить и без паспорта, и полиса, и без ИНН, и без интернета. Не контактируй с государственным аппаратом никак — и ты для него перестанешь существовать.
Тоже вариант, конечно.
У нас плата на более быстром FT2232H с EEPROM стоит €14,95 без доставки, поэтому я долго не думал, выбирая себе основу для программатора.
Все это, конечно, замечательно, но вместо такого программатора, требующего доработки напильником, лучше купить плату на FT2232 рублей так за 600 и превращать хоть в программатор для AVR, хоть в программатор для EEPROM с интерфейсом SPI, хоть в JTAG-отладчик практически для чего угодно, хоть I2C bus master, хоть просто в конвертер USB-USART, хоть в USB-GPIO на 32 ноги, на базе которого другие протоколы можно реализовать программно.
Это не 5 долларов, конечно, но и возможности не сравнимы. Спасибо за статью, но отказ от «самоделок на FT232» я не одобряю.
Добавлю, что выглядит она вот так:

Информация

В рейтинге
314-й
Дата рождения
Зарегистрирован
Активность

Специализация

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