операції оновлення BIOS, а також при перезапису блоків параметрів, пов'язаної із зміною конфігурації, запис потрібно дозволяти вручну. p align="justify"> Третій варіант - сигнали захисту запису формуються за допомогою програмно-доступного регістра, станом якого управляє BIOS. При цьому користувачеві не потрібно переключати "перемички", але захищеність буде гірше, так як на відміну від другого варіанту, тут є можливість програмного вимикання захисту. Разом з тим, це непоганий компроміс. Так як зазначений програмно-доступний регістр зазвичай реалізується специфічними ресурсами плати, "вирусописатели", володіючи інформацією тільки на чіпсет і мікросхему BIOS, але, не маючи принципової електричної схеми материнської плати, що не дізнається про те, що і в який регістр треба записати для зняття захисту на даній материнській платі.
Спотворення вмісту BIOS ROM
На одному з етапів еволюції платформи PC, а саме в середині 90-х років минулого століття, в часи процесорів Intel Pentium і AMD K5, як носій BIOS почали використовувати мікросхеми електрично стираних і перепрограмованих постійних запам'ятовуючих пристроїв (Flash ROM). Це дозволило змінювати ("перешивати") вміст BIOS без фізичного втручання в комп'ютер. Мотивацією для оновлення BIOS є підтримка нових технологій і пристроїв, виправлення помилок, допущених розробниками BIOS, установка для користувача заставок і т.п. Однією з найважливіших функцій BIOS є виконання стартовою процедури POST (Power-On Self Test) при включенні живлення або скиданні. Саме в ході цієї процедури платформа ініціалізується і готується до завантаження ОС. Саме до BIOS (за адресою FFFFFFF0h) звертається процесор при читанні першої команди після скидання або включення живлення. Таким чином, спотворення вмісту BIOS може призвести до відсутності старту материнської плати. Таке спотворення може відбутися не тільки через дії шкідницьких програм, стираючих вміст BIOS ROM або записуючих в нього некоректну інформацію, а й з інших причин, наприклад через дефект мікросхеми Flash ROM або зависання програми перезапису в інтервалі часу, коли старий BIOS вже витертий, а новий ще не записаний.
Більшість мікросхем Flash ROM, використовуваних як фізичного носія BIOS, мають так званий Boot Block розміром 8-16 Кбайт (залежно від типу мікросхеми). Це область, апаратно захищена від перезапису та ймовірність її перекручування істотно менше, ніж у основного блоку. Іноді використовується синонім - Top Block, оскільки даний блок розташований у верхніх адресах мікросхеми Flash ROM. Основне завдання Boot Block - проініціалізувати контролер ОЗП, виконати розпакування основного блоку в ОЗУ і передати управління на розпакований код для продовження старту платформи. При розпакуванні перевіряється цілісність основного блоку. Якщо він спотворений, Boot Block активує механізми, що дозволяють його відновити без фізичного втручання в комп'юте...