В плане безопасности iOS 6 была намного надежнее, чем iOS 7. Такой вывод сделал сотрудник агентства Azimuth Security Таржей Мандт (Tarjei Mandt). Существует  целый класс атак, целью которых является область памяти, выделенная для исполнения кода. Например, искусственное переполнение буфера памяти. Этим, в частности, можно воспользоваться для джейлбрейка. Чтобы обезопасить iOS от таких атак, в iOS 6, а затем и iOS 7, используется рандомизация карты ядра. Если опустить технические подробности, рандомизация подчиняется генератору случайных чисел. Таким образом, действенность этой меры очень сильно зависит от того, насколько непредсказуемые значения выдает генератор. И вот тут-то iOS 7.0.x и iOS 7.1 показали себя не с лучшей стороны.

В iOS 6 генератор случайных чисел использовал данные от системных часов, что позволяло получить не самые случайные, но все-таки довольно разнообразные значения. В iOS 7 инженеры Apple решили оптимизировать работу генератора, теперь он использует данные из четырех источников, обрабатывая их по определенному алгоритму. Вот в этом-то алгоритме и скрыт изъян. По утверждению Таржея Мандта, алгоритм выдает ограниченный набор повторяющихся значений, остается только вычислить правильные методом простого перебора. А получив доступ к ядру, хакер может "спокойно" провести общеизвестные атаки.

Исследователь подчеркивает, что на сегодняшний день ему не известно ни одного случая использования найденной им уязвимости, но потенциально она очень опасна. После доклада Тарджея (текст в формате PDF) на конференции безопасности CanSecWest, к нему подошел представитель Apple, выглядевший (по словам самого Тарджея) "очень обеспокоенным". Тем не менее, никаких официальных заявлений от купертиновцев не последовало.

[azimuthsecurity]

Сергей Ковыршин

Психолог по образованию, it-шник по интересам, журналист по случаю.

Материалы

Нашел ошибку в тексте? Выдели ее и нажми Ctrl + Enter
  • admiless

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