Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

Нажав на кнопку "Отправить", Я даю своё согласие на автоматизированную обработку указанной информации, распространяющейся на осуществление всех действий с ней, включая сбор, передачу по сетям связи общего назначения, накопление, хранение, обновление, изменение, использование, обезличивание, блокирование, уничтожение и обработку посредством внесения в электронную базу данных, систематизации, включения в списки и отчетные формы.


SPI Flash. Механизмы доступа к Flash ROM и защита записи.

SPI Flash. Механизмы доступа к Flash ROM и защита записи. 

                    Для защиты от записи используется cигнал WP# (Hardware write protection), защита от записи программного обеспечения осуществляется через биты защиты блока в регистре статуса.

               В общем случае, для инициирования операций стирания или перезаписи микросхемы BIOS, программа должна выполнить четыре действия:

 - настроить регистры "южного моста" чипсета, управляющие размещением микросхемы BIOS в адресном пространстве для обеспечения доступа к полному объему микросхемы;

 - выключить режим защиты записи BIOS, реализуемый средствами "южного моста" чипсета;

 - выключить режим защиты записи BIOS, реализуемый средствами микросхемы Flash ROM;

 - передать команду стирания или записи микросхеме Flash ROM.

Рассмотрим подробнее эти процедуры, механизмы защиты, препятствующие их несанкционированному выполнению и, конечно, точки уязвимости этих механизмов. Как было сказано выше, при выполнении операций записи и стирания, программный доступ к микросхеме SPI Flash осуществляется посредством регистров контроллера SPI, без использования диапазона адресов, в котором доступен образ микросхемы BIOS. Поэтому перенастройка чипсета для доступа к диапазону FFF00000h-FFFFFFFFh в данном примере не потребуется. Защита записи, реализуемая "южным мостом", например, Intel ICH8 построена по такой же схеме, как и в платформах предыдущих поколений, отличаются только адреса регистров.

                    Доступом к микросхеме BIOS управляет 8-битный регистр BIOS_CNTL (его координаты в конфигурационном пространстве Bus=0, Device=1Fh, Function=0, Register=DCh).

                    Бит 0 этого регистра (бит BIOSWE, BIOS Write Enable) управляет разрешением записи в микросхему BIOS, 0=запрещена, 1=разрешена.     

                    Бит 1 того же регистра (бит BLE, BIOS Lock Enable) обеспечивает перехват несанкционированного выключения защиты. Если бит BLE=1, то при попытке установить бит BIOSWE=1 будет генерироваться прерывание SMI (System Management Interrupt) с вызовом специальной процедуры, входящей в состав BIOS. Причем, если BIOS при старте установит бит BLE=1, программно обнулить его чипсет не позволяет, режим перехвата будет выключен только после аппаратного сброса (по сигналу RESET). Данный механизм "защиты от снятия защиты" обычно не активируется разработчиками BIOS. Во всех материнских платах, исследованных автором, бит BLE=0, поэтому для снятия защиты записи достаточно установить бит BIOSWE=1, эта операция не будет перехвачена.

               Микросхема Intel ICH8 также поддерживает защиту содержимого микросхемы BIOS, путем задания адресных диапазонов, защищенных от чтения и (или) записи. Теоретически, на базе данного механизма можно реализовать эффективную защиту, так как запрет программно включается процедурами BIOS при старте платформы, и может быть снят только при аппаратном сбросе. Но и этот механизм обычно не активируется разработчиками BIOS.

 


Лицензия