Автоматический подбор PIN-кода для iPhone
У iPhone есть функция, которая стирает пользовательские данные с устройства, если PIN-код на экране блокировки введён неверно 10 раз. Казалось бы, подобрать даже четырёхзначный код нереально – шанс угадать слишком мал. Тем не менее, пишут про электронное устройство, которое PIN-код успешно подбирает. Хитрость в том, что устройство, обнаружив ошибочный ввод по показаниям дисплея, моментально отрубает питание телефона (для реализации этого требуются вскрыть корпус и подключить прерыватель). Из-за алгоритмической ошибки в процедуре обработки ввода PIN-кода, телефон не успевает записать новое значение счётчика попыток в память, поэтому после перезагрузки можно попробовать ещё раз (пишут, что примерно 111 часов нужно для проверки всего множества кодов).
Насколько можно понять, речь об уязвимости CVE-2014-4451, которая датирована 18 ноября 2014 года и должна быть уже закрыта. Очевидно, что ошибка разработчиков состоит в последовательности шагов алгоритма: нужно сперва увеличивать значение счётчика попыток в энергонезависимой памяти, а только потом выводить результат проверки на экран (не наоборот). Очень показательный пример того, что в реализации функций обеспечения безопасности подобная “мелочь” может начисто удалить все защитные свойства.
Адрес записки: https://dxdt.ru/2015/04/06/7352/
Похожие записки:
- TLS 1.3 в Рунете
- Обновление описания TLS
- Реплика: перенос доменных имён и GoDaddy
- "SMD-развёртка" 555-го таймера
- Техническое: добавления по MX на сервисе audit.statdom.ru
- Постквантовые криптосистемы и квантовые компьютеры
- Закладки в системах с машинным обучением
- Наземные терминалы Starlink как элементы радара
- Квантовая криптография и стойкость
- Очередная атака на предикторы в схемах оптимизации CPU
- Описание DoS-атаки с HTTP/2 от Cloudflare
Комментарии читателей блога: 3
1. 8th April 2015, 00:39 // Читатель sarin написал:
наверняка, можно было бы определить начало записи и в энергонезависимую память и отключить питание. например анализируя энергопотрбление.
2. 8th April 2015, 00:44 // Читатель sarin написал:
наверняка, можно было бы определить начало записи и в энергонезависимую память и отключить питание. например, анализируя энергопотрбление.
3. 8th April 2015, 12:16 // Александр Венедюхин:
> можно было бы определить начало записи и в энергонезависимую память
Вряд ли: это очень сложно проделать, так как процесс записи быстрый, а энергопотребление минимальное. Но дело даже не в этом – запись нового значения счётчика в память происходит в любом случае, вне зависимости от того, правильное значение введёно или нет, соответственно, нельзя определить, что автомат угадал код.