Re[5]: Потрясающая история о падении компании "Аладдин Р.Д."
От: Aquilaware  
Дата: 20.11.22 08:26
Оценка: 16 (4)
Здравствуйте, gulfsrteam, Вы писали:

G>Было впечатление, что кто-то атакует PIN коды и добивается их блокировки. Только через 3 года после моего ухода, когда уже уволились все, кто был под подозрением в колдовстве и порче, начальник отдела СКЗИ Константин Демченко признал, что проблема на стороне железа. Но к этому времени Jacarta уже сдала все позиции.


А вы не думали о такой классике жанра как отсутствие аппаратного супервизора питания? Его еще иногда называют brown-out detector. Смысл работы этого модуля таков: когда питание микропроцессора нестабильное, он может начать выполнять инструкции неправильно или вообще прыгать по кускам вашей программы хаотически исполняя/неисполняя код. Чтобы этого избежать, супервизор питания заранее видит что с линией питания есть проблемы и отправляет процессор в состояние перманентного сброса — чтобы тот не натворил дел. И это состояние сброса продолжается до тех пор, пока стабильное питание не восстановится или пока оно полностью не пропадёт.

Этот же модуль обеспечивает и стабильный старт процессора, т. к. если электропитание по той или иной причине еще не стабилизировалось (например, не все конденсаторы полностью зарядились), процессор может наворотить дел и при старте.

Сбой процессра в моменты нестабильного питания — это причина №1 повреждения содержимого EEPROM во встраиваемых системах.

Такая нестабильность чаще всего происходит при включении и выключении системы, но может возникать и при других факторах, всех не преугадаешь. Поэтому когда в системе есть EEPROM или от работоспособности системы зависят жизни людей, наличие супервизора питания обязательно. Иначе гарантированы периодические глюки с соответствующими последствиями.

Самое обидное, что эти глюки нечастые, поэтому их бывает проблематично повторить, на что и натыкаются очень и очень многие производители аппаратуры.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.