Автор: danil , 17 сентября 2010
Доброго времени суток.
У меня стоит задача, пропатчить биос так, что бы запретить загрузку с устройств, кроме первого жесткого диска.
Биос, для начала надо патчить любой AWARD или AMI из современных, но, в конечном итоге, задача -- разработать общий метод патча который подойдёт для наиболее широкого множества прошивок BIOS.

До этого момента я видел два возможных пути:
1) При помощи конфигуратора, вроде AMICP или AWARD'овского MODBIN просто убрать (или задизейблить) из BIOS setup utility пункт меню, который меняет порядок загрузки.
2) Пропатчить как-то код загрузки BIOS, так, что бы при загрузке мы всегда грузились с нужного мне устройства, вне зависимости от настроек, сохранённых в CMOS.

Я сейчас в тупике, т.к. попробовав первым способом пропатчить прошивку AWARD BIOS на гигобайтовской двухбиосной материнки я со второй попытки убил мать. Оригинальная и пропатченная прошивки в аттаче.
Сейчас изучаю второй способ - ищу подходящие сигнатуры в дебаге на VmWare Phoenix BIOS, и попутно разбираюсь, как поисходит последний этап загрузки биос, прямо перед тем местом, когда он передаёт управление на 0x7C00.
Где-то в тех краях и надеюсь внедряться. Как возможный маркер сейчас рассматриваю пару команд mov al, 00 и out 80h, al.

Но как-то меня пугает смерть материнки от первого способа.

Итого у меня 3 вопроса:
1) Как бы вы действовали, если бы вам нужно было бы пропатчить конкретный биос с целью запретить загрузку со всех устройств, кроме первого жосткого диска.
2) У всех ли BIOS ов одного и того-же производителя BIOS одинаковые POST коды?
3) Что я мог сделать не так, что бы убить материнку модификацией BIOS от AWARD при помощи AWARD MODBIN? Кстати, писка, характерного для неправильной контрольной суммы мать не издаёт, да и в случае с неправильной контройльной суммой должен был бы активизироваться механизм восстановления BIOS из резервной копии (Dual BIOS).

Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

Bishop

15 лет 5 месяцев назад

А зачем так сложно делать? Если в сетапе выставить загрузку только с харда, запретить менюшки и поставить пароль на сетап, этого не достаточно будет? Ессна пароль можно легко скинуть (за что и отхватить от сисадмина, к примеру), но и подсунуть винт с прошивалкой родного биоса тоже не сильно напрягает...
Смотри, для выставления загрузки с винта в сетапе надо иметь локальный доступ к машине. Для перепрошивки биоса локальный доступ к машине не обязателен. Т.е. админ может в какой-то своей тулзе запретить всем юзерам загрузку со всего кроме винта по сети, например.

Подсунуть другой винт -- не проблема. Но для этого надо открывать системник и знать, что ты делаешь (хотя бы минимально). Большенство людей на это просто не пойдёт. Кроме того -- если системники опломбированы как-то радикально (амбарным замком, например), то такой запрет почти наверняка гарантирует, что юзер будет пользоваться сугубо тем, что у него на компе есть.

Ну и да. У меня какой-то фейл получился с редактированием менюшек в биосе.

danil

15 лет 5 месяцев назад

Кстати, а как менюшку, которая, бывает по F8 выскакивает запретить?

Bishop

15 лет 5 месяцев назад

danil, наверно не во всех можно её отключать... Опция Smart Boot Menu - если дисейблед, то менюшки не будет. Еще есть Boot Menu Type, но ей не выключить, а определить вид меню только можно... ставлю в адвансед - там полнее...

Compiller

15 лет 5 месяцев назад

Проще найти в коде BIOS код проверяющий кнопку для вызова BOOTMENU на разных BIOS/MB по разному:
ASUS - F8
Gigabyte - F12
BIOSTAR - F9
EPoX - Esc
HP - F9
И потом этот код минимально изменить - либо отключить вызов процедуры выбора, либо поменять код на неизвестное рядовым пользователям сочетание клавиш. Но это не спасёт от продвинутых пользователей - умеющих запускать прошивалку BIOS - :-(

На ту же тему https://rom.by/forum/Otkljuchenie_Boot_menu

Из личного опыта - на Серверах HP Proliant и тонких клиентах HP ThinClient USB - приоритетное направление загрузки - то есть стоит себе весь такой защищённый сервер, приходит хакер с загрузочной флэшкой - усё - защите кердык - её будто-бы и не было.