Автоматический подбор PIN-кода для iPhone
У iPhone есть функция, которая стирает пользовательские данные с устройства, если PIN-код на экране блокировки введён неверно 10 раз. Казалось бы, подобрать даже четырёхзначный код нереально – шанс угадать слишком мал. Тем не менее, пишут про электронное устройство, которое PIN-код успешно подбирает. Хитрость в том, что устройство, обнаружив ошибочный ввод по показаниям дисплея, моментально отрубает питание телефона (для реализации этого требуются вскрыть корпус и подключить прерыватель). Из-за алгоритмической ошибки в процедуре обработки ввода PIN-кода, телефон не успевает записать новое значение счётчика попыток в память, поэтому после перезагрузки можно попробовать ещё раз (пишут, что примерно 111 часов нужно для проверки всего множества кодов).
Насколько можно понять, речь об уязвимости CVE-2014-4451, которая датирована 18 ноября 2014 года и должна быть уже закрыта. Очевидно, что ошибка разработчиков состоит в последовательности шагов алгоритма: нужно сперва увеличивать значение счётчика попыток в энергонезависимой памяти, а только потом выводить результат проверки на экран (не наоборот). Очень показательный пример того, что в реализации функций обеспечения безопасности подобная “мелочь” может начисто удалить все защитные свойства.
Адрес записки: https://dxdt.ru/2015/04/06/7352/
Похожие записки:
- TLS и подмена сертификата на jabber.ru
- Рандомизация регистра символов в DNS
- Детерминированный вариант ECDSA
- Мессенджер и удаление сообщений
- Занятный замок Fichet 787
- Корпус-радиатор для Raspberry Pi 5
- Реплика: перенос доменных имён и GoDaddy
- DNS-over-TLS на авторитативных серверах DNS
- Спутниковые системы для ЭМ-атак
- Наземные терминалы Starlink как элементы радара
- Рассылка SMS и распределённые сети под управлением Telegram
Комментарии читателей блога: 3
1 <t> // 8th April 2015, 00:39 // Читатель sarin написал:
наверняка, можно было бы определить начало записи и в энергонезависимую память и отключить питание. например анализируя энергопотрбление.
2 <t> // 8th April 2015, 00:44 // Читатель sarin написал:
наверняка, можно было бы определить начало записи и в энергонезависимую память и отключить питание. например, анализируя энергопотрбление.
3 <t> // 8th April 2015, 12:16 // Александр Венедюхин:
> можно было бы определить начало записи и в энергонезависимую память
Вряд ли: это очень сложно проделать, так как процесс записи быстрый, а энергопотребление минимальное. Но дело даже не в этом – запись нового значения счётчика в память происходит в любом случае, вне зависимости от того, правильное значение введёно или нет, соответственно, нельзя определить, что автомат угадал код.