Группа исследователей из университа Джона Хопкинса (Балтимор, США) обнаружила уязвимость в защищённом протоколе iMessage, который устройства Apple используют для обмена сообщениями между собой. Используя её, злоумышленник может вскрыть содержимое перехваченных сообщений и остаться незамеченным.

iMessage автоматически подменяет обычные текстовые сообщения, когда и получатель, и отправитель используют устройство, выпущенное Apple. Обладатели айфонов могут отличить сообщения iMessage по цвету: они отображаются на синем, а не на зеленом фоне. Каждую секунду в мире отправляется не менее 200 тысяч таких сообщений, а общее количество устройств с поддержкой этого протокола составляет без малого миллиард. Это показывает, насколько серьезна проблема.

В теории, сообщения iMessage дешевле, удобнее и уж точно надежнее, чем обычные SMS. По крайней мере, в отличие от SMS, они обладают криптографической защитой. Она действует так: чтобы зашифровать сообщение iMessage, айфон запрашивает открытый ключ RSA, принадлежащий устройству получателя. Получив его, он генерирует случайный ключ AES и шифрует им сообщение в режиме счётчика (CTR). Затем он шифрует ключ AES ключом RSA получателя и подписывает всё методом ECDSA.

По замыслу создателей протокола, подпись ECDSA должна предотвращать модификацию сообщения, однако в действительности этой меры совершенно недостаточно. Работа, опубликованная исследователями, показывает, как они воспользовались этой слабостью, чтобы пробить все остальные уровни защиты.

Атака начинается с перехвата сообщения, адресованного жертве. Злоумышленник может заменить приложенную к сообщению подпись ECDSA на свою собственную и переправить результат жертве с собственной учётной записи. Поскольку целостность шифротекста AES не защищена имитовставкой (MAC), ничто не мешает его модифицировать.

attackencryption

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

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

Исследователи уведомили Apple о проблеме и опубликовали результаты своих изысканий лишь после того, как компания выпустила апдейт для iOS, который частично закрывает дыру. «Безопасность требует постоянного внимания, и мы благодарны сообществу разработчиков и исследователей, которые помогают нам оставаться на переднем краю», — говорится в заявлении, которое сделала компания в понедельник после выхода iOS 9.3.



Оставить мнение