...

среда, 30 апреля 2014 г.

[Из песочницы] Может ли 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.

This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий