ся. p align="justify"> Разом з тим, робота "вірусописьменників" кілька ускладнена тим, що архітектура регістрів управління доступом до BIOS в кожному чіпсеті різна, тому для зняття захисту, вірус повинен розпізнавати чіпсет і мати модулі підтримки під кожен чіпсет.
) Регістри захисту запису Block Locking Register, також розглянуті вище, входять до складу мікросхеми Flash ROM SST 49LF004A. Тут також передбачений біт захисту запису (біт 0) і біт, встановлення якого в "1" дозволяє заборонити зняття захисту запису (біт 1). Якщо біти 0 і 1 встановлені в "1", мікросхему BIOS програмно вивести зі стану захисту запису неможливо, це відбудеться тільки при апаратному скиданні (за сигналом RESET). p align="justify"> На жаль, і цей механізм зазвичай не використовується розробниками BIOS, а його ж застосування могло б істотно поліпшити захищеність. У всіх платах, досліджених автором, біт 1 в регістрах захисту блоків мікросхем Flash ROM встановлений в "0", тобто зняття захисту запису дозволено. p align="justify">) Третій рівень захисту, полягає в тому, що для запуску операцій стирання і перезапису мікросхеми BIOS, потрібно своєрідний пароль, а саме, передача багатоциклового "ключових" послідовностей зі строго визначеними адресами і даними. Так як у всіх мікросхем одного типу пароль однаковий і його можна дізнатися з документації на мікросхему, така міра може захистити тільки від випадкового спотворення вмісту BIOS при програмному збої і запису безладних даних. Шкідлива програма, прочитавши ідентифікатори ROM Vendor ID і ROM Device ID, може розпізнати тип мікросхеми BIOS і сформувати потрібні ключові послідовності відповідно з документацією на дану мікросхему. p align="justify">) Більшість мікросхем Flash ROM, що використовуються в якості носіїв BIOS, мають спеціальні входи, для подачі сигналів управління захистом запису. У розглянутій мікросхеми SST 49LF004A це сигнали WP # (Write Protect) і TBL # (Top Block Lock). Для варіанти виконання мікросхеми в 32-контактному корпусі PLCC, це контакти з номерами 7 і 8 відповідно. p align="justify"> Сигнал WP # управляє захистом запису основного блоку (перші 448 кілобайт): 0 = запис заборонена, 1 = дозволена.
Сигнал TBL # управляє захистом запису Boot блоку (старші 64 кілобайти): 0 = запис заборонена, 1 = дозволена. p align="justify"> З точки зору використання цих сигналів, материнські плати бувають трьох видів:
Перший варіант - сигнали захисту запису не використовуються, на лінії WP # і TBL # постійно подається рівень логічної "1", дозволяючий запис. Захисту немає. p align="justify"> Другий варіант - сигнали захисту запису формуються за допомогою "перемичок" (jumpers), які перемикаються користувачем. Тут установкою і зняттям захисту запису можна керувати вручну. Такий захід досить ефективна, так як при логічному нулі на лініях WP # і TBL #, програмно спотворити вміст мікросхеми BIOS неможливо. Незручність в тому, що на час виконання ...