Может ли Apple читать ваши iMessage?

Перевод статьи Мэтью Грина (Matthew Green). В криптографии не силен, поэтому за все исправления неточностей и уточнения в ЛС буду крайне признателен. Спасибо.

image Около года назад я написал короткий пост, призывающий Apple опубликовать технические детали шифрования в iMessage. Хотел бы я сказать, что Apple увидели мой влиятельный криптоблог и показали спецификации. Но нет, iMessage все тот же черный ящик, каким всегда был.

Что действительно изменилось, так это то, что люди начали беспокоиться. Частично это обусловлено мнимыми дружескими отношениями Apple с АНБ. Частично это вина не настолько дружеских отношений с УБН. В любом случае, люди хотят знать, какой частью их информации Apple владеет и с кем ей делятся.

И это возвращает нас к вопросу о шифровании в iMessage. Apple запустили один из самых популярных шифрованных сервисов коммуникации на планете: более 2 миллиардов сообщений в iMessage каждый день. Каждое из них содержит личную информацию, которую АНБ и УБН хотели бы заполучить в свои руки. Но, на самом деле, даже Apple не может их прочитать:

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

Например, разговоры через iMessage или FaceTime используют сквозное шифрование (end-to-end encryption), так что никто кроме отправителя и получателя не может читать их. Apple не может расшифровать эти данные.

Это выглядит правдоподобно, и мой опыт говорит, что это вполне вероятно. Моя точка зрения обусловлена «Законом Грина о прикладной криптографии», который говорит, что в основном прикладная криптография сосет. Криптография никогда не дает безусловных гарантий, как вам хотелось бы, и это то, из-за чего страдают пользователи.

И в этом проблема iMessage: пользователи недостаточно страдают! Сервис невероятно прост в использовании, что означает, что Apple пошла на компромисс, а точнее нашла баланс между удобством использования и защищенностью. И пока нет ничего плохого в компромиссах, их решения имеют большое значение, когда речь заходит о вашей частной информации. Занимаясь этими деталями самостоятельно, Apple освобождает своих пользователей от лишних действий для защиты себя.

Детали данных компромиссов это именно то, о чем я и хочу поговорить в данном посте. Посте, который, я клянусь, будет последним постом, который я напишу об iMessage. Начиная с этого момента будут только шифры и никаких доказательств.

Apple сохраняет копии iСообщений в iCloud

Самая большая проблема позиции Apple в том, что она не является правдой. Если вы используете сервис iCloud backup для сохранения данных своего iДевайса, то есть довольно большая вероятность что Apple может получить последние несколько дней переписки в iMessage.

Для тех кто не в курсе экосистемы Apple: iCloud это опциональный сервис сохранения данных, предоставляемый Apple бесплатно. Бэкапы восхитительны, но если iСообщения попадают в бэкап, то возникает вопрос их защищенности. Вера на слово компании (что они не могут получить наши сообщения) оставляет нам только два варианта:

  1. Бэкапы iMessage зашифрованы ключом, который никогда не покидает вашего устройства
  2. Бэкапы iMessage зашифрованы ключом, который связан с вашим паролем


К сожалению, ни один из этих вариантов не правда, и доказать это довольно просто. Все что нужно сделать – провести легкий эксперимент: для начала, потеряйте ваш iPhone. Затем, смените пароль, используя Эппловский сервис восстановления пароля (потребуется ответить на несколько вопросов, либо ввести запасной e-mail). Теперь идем в магазин Apple и выкладываем целое состояние за новый телефон.

Если вы можете восстановить свои утерянные сообщения на новом iPhone (как я сделал это прямо в магазине Apple сегодня после полудня), то Apple не защищает ваши iMessages никакими ключами и паролями. Печально (Ашкан Солтани (Ashkan Soltani) сделал несколько скриншотов с такого же теста).

Плохо то, что здесь нет какой-либо криптографии, в которой стоило бы разбираться. Простой и очевидный факт вот в чем: если вы смогли это сделать, то кто-нибудь в Apple тоже может это сделать. Возможно, при запросе служб закона. Все что им нужно – это ваши Секретные вопросы, то, что Apple наверняка хранит у себя*.

Apple распределяет ключи шифрования iMessage

Возможно, вы не используете бэкапы. В этом случае все вышесказанное не про вас и Apple честно говорит, что в сообщениях используется сквозное шифрование. Вопрос, который вы должны задать себе в этом случае: сообщения зашифрованы для кого?

Проблема в том, что шифрование работает, если у меня есть ваш ключ шифрования. Это значит, что если я хочу поговорить с вами, я сначала должен получить ключ. Apple нашли решение этой проблемы: у них есть каталог, который iMessage может использовать для поиска ключа, привязанного к адресу электронной почты или номеру телефона. Это здорово, но это очередной «компромисс»: теперь вы полностью зависите от выдачи Apple вам правильного ключа.

image

Опасность в том, что Apple (или хакер, атаковавший сервер с каталогами ключей Apple) должен сначала доставить вам свой ключ. С этого момента вы не будете знать, что шлете сообщения этому человеку, а не своему другу.**

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

Фактически, неприкосновенность iMessage зависит от того, насколько правильно Apple раздает ключи. Если Apple ошибается (или хакер атакует сервер iMessage), то становится возможной атака посредника (man-in-the-middle attack) и перехватить данные iMessage не вызовет особых затруднений.

Сегодня для некоторых это очевидно, для остальных это не имеет большого значения. И все рады. Но люди должны хотя бы понимать сильные и слабые стороны выбранной Apple концепции. С этими знаниями они могут определить самостоятельно, насколько следует доверять Apple.

Apple может хранить метаданные

Хоть Apple может зашифровать содержимое ваших сообщений, их правила не исключают возможности хранить данные того, с кем вы общаетесь. Это известные метаданные, которые АНБ сразу отметает и (как я уже говорил ) невозможно хотя бы не собирать эту информацию, особенно с учетом того, что Apple доставляет ваши сообщения через свои серверы.

Эти данные могут быть настолько же ценны, как и остальные. И в то время, как Apple не хранит содержание ваших сообщений, их соглашение ничего не говорит обо всех этих метаданных.

Apple не использует Certificate Pinning


И последний (не очень серьезный) пункт – клиенты iMessage (для iPhone и Mac) связываются с распределительным каталогом Apple, используя протокол HTTPS (обратите внимание, что это относится к поиску в истории сообщений, актуальные iСообщения шифруются отдельно и путешествуют используя XMPP систему push-уведомлений Apple).

Использование HTTPS хорошая идея и, в основном, он обеспечивает хорошую защиту от перехвата. Но так не защититься от всех атак. Все еще существует реальная возможность получения злоумышленником поддельного сертификата (возможно с нанесением ущерба центру сертификации) и таким образом перехватить или изменить связь с Apple.

Здесь мне не очень понятно, почему злоумышленник должен получить поддельный сертификат, а не подлинный. Может, имелось ввиду внедрение поддельного сертификата хакером?

Такого рода вещи не настолько безумны, как нам кажется. Это случилось с сотнями иранских пользователей Gmail и, вероятно, повторится в будущем. Стандартное решение этой проблемы – certificate pinning (говорит приложению не доверять неизвестным сертификатам). Множество приложений, таких как Twitter, сделали это. Но не Apple, как я выяснил во время тестирования и написания этого поста.

В заключение

Я написал этот пост не потому что не люблю Apple. Напротив, я очень люблю их продукты и даже купался бы с ними, если бы (к сожалению) это не обнуляло гарантию.

Но обратная сторона моего восхищения проста: я доверяю их девайсам и хочу знать, насколько они защищены. Я не вижу никаких недостатков Apple в объяснении этого хотя бы высокоуровневым специалистам, даже при недоговаривании деталей. Объяснение должно включать тип и принцип алгоритмов шифрования, детали сервиса каталогов и протокол согласования ключа.
Apple могут «Мыслить нестандартно», но правила защиты информации применимы и к ним. Рано или поздно кто-нибудь нарушит или перепишет систему iMessage. И тогда все это выйдет наружу.

Примечания:

* Конечно, возможно, что Apple используют ваши секретные вопросы, чтобы получить ключ шифрования. Однако, это маловероятно. Во-первых, потому что Apple наверняка хранит ваши вопрос/ответ в отдельном файле. А если нет, то вряд ли большинство ответов на вопросы хранит достаточно энтропии для дешифровки. Ведь в мире так много дней рождения и марок автомобилей. Двухступенчатая аутентификация может улучшить положение, если вы ее используете. Вернуться наверх
** На практике не совсем понятно, генерируют ключ Apple-девайсы сами или устраивают OTR-подобный обмен ключами. Совершенно ясно что iMessage не содержит «отпечаток ключа» или что-то подобное для пользователей, чтобы проверить подлинность ключа, что подразумевает полное доверие Apple в вопросах шифрования. Кроме того, iMessage позволяет отправлять сообщения оффлайн. Не совсем понятно, как это должно работать с OTR.
Поделиться публикацией

Комментарии 10

    +2
    Так же, iMessage не дает пользователю информации о том, сколько ключей связано с одним аккаунтом и никак не уведомляет о добавлении новых ключей
    А пушики, которые приходят ко всем девайсам, на тему «компьютер ххх добавлен к вашему imessage id yyy» — это не оно?
      +1
      Имеете в виду, что с каждым девайсом появляется +1 ключ для шифрования? Возможно вы правы. Я думаю как раз о вашем предположении и говорится, но неявно. То есть говорят что +1 девайс к ID, но в уме заменяем «девайс» на «ключ»
        +1
        Возможно я прочитал статью «поперек», но ведь да, у каждого устройства свой персональный ключ, потому при отправке imessage уходит не одно сообщение, а по сообщению на каждый девайс получателя.
          0
          Если iMessages использует ту же инфраструктуру что и Push Notifications, то у каждого устройства свой ключ, причем не совсем постоянный, при сбросе прошивки (Reset) он может измениться.
        0
        А кто мешает эплу не прислать вам такой пушик, если к вам подцепился товарищ майор?
        +5
        В прошлом году небезизвестный pod2g делал доклад на HITB на эту тему: blog.quarkslab.com/imessage-privacy.html
        Apple может делать MitM на iMessage, у пользователей практической возможности защититься от этого нет, т.к. iMessage не предоставляет им никаких механизмов для управления ключами.
        • НЛО прилетело и опубликовало эту надпись здесь
            0
            да, в этом случае они как смс уходят
              0
              Паранойя шагает по планете… Последнее время все чаще подобные рассуждения всплывают. А имеет ли на самом деле значение, как хорошо та или иная организация шифрует данные своих пользователей. Если их сервис защищает меня от финансовых потерь или предотвращает слив моей личной информации всяким мутным товарищам и рекламщикам, то этого ИМХО достаточно. А гос. органы и так получат ту инфу которая им нужна…
                0
                корень зла не в самом факте, а в осведомленности. ОК если я заонопослушный человек и знаю что за мной при определенных обстоятельствах следят, не ОК если следят и я этого не знаю.

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое