Познакомьтесь с 16-летним подростком, чей код взламывает iMessage

beeper-android-iphone-texting-blue-bubbles Новости

Эрик Мигиковски давно приверженец открытого программного обеспечения. Этот мягкий, но энергичный канадский системный инженер наиболее известен тем, что создал и очень успешно провел краудфандинг культовых смарт-часов Pebble. Это было еще до появления Apple Watch, но Мигиковский с самого начала ясно дал понять, что практически любой мог создать приложение для смарт-часов Pebble, благодаря набору средств разработки программного обеспечения с открытым исходным кодом. В 2015 году компания Pebble потерпела сокрушительное поражение от Apple и в 2016 году была приобретена Fitbit, но некоторое время группа разработчиков, называющая себя Rebble, поддерживала программное обеспечение часов в виде проекта с открытым исходным кодом.

Несколько лет назад, когда Мигиковский переживал пандемию и обдумывал новые идеи, работая партнером в Y Combinator, он был одержим тем, что назвал «отсутствием инноваций в чате». Приложения для чата становились все более изолированными; отправлял ли кто-то сообщение с синим пузырьком (iPhone) или с зеленым пузырьком (Android), стало собственным символом статуса и олицетворением подхода Apple к программному обеспечению, основанному на «закрытом саду». Мигиковский считал, что потребителям нужен мост между ними. Как Trillian, сказал он, из начала 2000-х, но для мобильной эры.

Введите Beeper, новейшее приложение от Мигиковского и соучредителя Брэда Мюррея. Если пользователь Android-телефона возьмет за привычку открывать приложение Beeper и использовать его вместо стандартного приложения для обмена сообщениями, Beeper устранит разрыв между синими и зелеными пузырями. Используя технический метод, который, по словам Мигиковски, является безопасным и обеспечивает сквозное шифрование, приложение Beeper Mini при доступе к нему на телефоне Android создает чат, который превращает зеленые пузырьки в синие на iPhone партнера по переписке. Это также означает, что даже в групповых сообщениях, где одни люди пользуются iPhone, а другие — Android, Beeper Mini поддерживает все функции насыщенного текста — возвраты, фотографии, видео, — которые обычно возникают между двумя пользователями одной и той же системы обмена сообщениями.

Ограниченная версия Beeper Mini выходит сегодня для телефонов на базе Android. Ее стоимость составляет 2 доллара в месяц.

Бипер Калор и Лорен Гир

Мой редактор, который пользуется телефоном на базе Android, смог переключить свои тексты с зеленого на синий цвет на моем iPhone с помощью Beeper Mini. Мы также могли обмениваться видео в полном качестве через зашифрованное соединение.

Со временем, по словам Мигиковского, Beeper будет поддерживать обмен сообщениями из других протоколов и приложений, таких как RCS, WhatsApp или Signal. Текущая «мини-версия» призвана показать, что Beeper может делать между iOS и Android, и продемонстрировать сообществу разработчиков с открытым исходным кодом, как команде Beeper удалось собрать все это вместе. (Beeper делится всеми своими методами на GitHub и приглашает исследователей безопасности разобраться в них).

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

Компания Beeper, которая привлекла $16 млн финансирования от Y Combinator и Automattic, состоит из 25 инженеров, распределенных по США. Однако всего несколько месяцев назад команда Beeper встретилась с одним кодером, который в корне изменил принцип работы приложения, что Мигиковски называет «прорывом».

Код Push

Первоначальные планы Мигиковского по созданию Beeper в значительной степени опирались на внешние серверы Mac mini. За последние три года стартап приобрел несколько сотен этих миниатюрных настольных ПК и использовал их в качестве ретранслятора между инфраструктурой обмена сообщениями Beeper и инфраструктурой обмена сообщениями Apple.

«Мы сделали это потому, что это был единственный сквозной способ отправки и получения сообщений iMessage между телефонами Android и iPhone», — говорит Мигиковский.

Это было дорого. В какой-то момент Beeper запустил бета-версию своего приложения на более чем 700 серверах Mac mini. Это также не было особенно безопасно и конфиденциально, — продолжает Мигиковский, — потому что нам нужно было иметь физический Mac, который выступал бы в качестве точки ретрансляции. Мы бы предпочли, чтобы все работало в самом клиентском приложении Beeper. Но для этого клиенту Beeper пришлось бы научиться общаться с протоколом iMessage».

В начале августа Мигиковский получил сообщение в Discord от пользователя JJTech0130. JJTech0130, которого зовут Джеймс Гилл, сообщил, что только что выпустил проект под названием Pypush — мешанину из «Python», языка кодирования, и «push-уведомлений». Гилл заявил, что «переделал iMessage», и подумал, что Мигиковскому это может быть интересно. Менее чем через 10 минут Мигиковский ответил: «Вот дерьмо! Это работает?».

«Да, это работает», — ответил Гилл, добавив смайлик с изображением языка. Гилл работал над проектом Pypush в перерывах между занятиями робототехникой в средней школе и подработками в McDonald’s в Вифлееме, штат Пенсильвания. Ему 16 лет.

В начале этого года Гилл был заинтригован тем, как работает служба push-уведомлений Apple, и тем, что эти двунаправленные уведомления могут дать некоторые подсказки для взлома Messages.

Во-первых, ему нужно было лучше понять, как работает Apple ID, поэтому он перепроверил, как Apple Music работает на компьютере под управлением Windows. Он обратил внимание на трафик и на то, как устройство, не принадлежащее Apple, регистрируется на серверах Apple. Затем он отметил, как компьютер под управлением macOS регистрируется в iMessage, и проверил этот трафик. Затем он воспроизвел все это на языке Python.

Он начал создавать концепцию, в которой рассматривались различные варианты передачи данных между Apple ID, сервисом push-уведомлений и технологиями обмена сообщениями.

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

«Его доказательство концепции демонстрирует, что на любом компьютере с Python можно войти в iMessage, отправлять и получать сообщения», — говорит Мигиковский. Он был настолько впечатлен Гиллом, что предложил ему контракт на неполный рабочий день в Beeper. Гилл согласился с одобрения родителей.

Мать Гилла, Эрин Гилл, говорит, что они с мужем были слегка обеспокоены способностью Гилла распоряжаться своим временем, когда он учился в средней школе, но он достаточно хорошо справлялся со своей работой на полставки в McDonald’s, и они сказали ему: «Дерзай». Его отец — компьютерный инженер, и он помог ему разобраться с деталями контракта. «Я художник, и я почти ничего не понимала из того, что он мне говорил, кроме того, что он был в восторге от этого», — говорит Эрин Гилл.

Мигиковски и его команда быстро взяли концепцию Гилла, переписали ее и добавили новые функции: поддержку обмена фотографиями и видео, динамику группового чата и даже статус набора текста при написании сообщения. За последние три месяца команда объединила все эти функции в Beeper. Оригинальное приложение компании, Beeper Cloud, по-прежнему использует серверы Mac mini, но новое Beeper Mini работает полностью в клиенте приложения.

Войны цветов

Мигиковский настаивает на том, что он не торопится с выпуском BeeperMini только потому, что другие новички недавно пытались взломать «Сообщения» Apple, или потому, что Apple недавно согласилась на новый стандарт обмена сообщениями, поддерживаемый Google, который может сделать войну между «синим пузырем» и «зеленым пузырем» менее хрупкой.

Мы планировали запустить его за две недели до того, как «Ничто» попробует это сделать, но решили повременить», — говорит Мигиковски.

Он имеет в виду производителя Android-телефонов Nothing, который в прошлом месяце заявил, что один из его телефонов, Nothing 2, будет включать приложение для чата, работающее на базе сервиса Sunbird, который поддерживает Apple Messaging. (Apple довольно ясно дала понять, что считает Apple Messaging на телефонах Android плохим решением, которое в конечном итоге ослабит стратегию Apple по блокировке). Странно, но приложение требовало от пользователей передавать свои Apple ID и пароли, что побудило бывшего редактора TechCrunch Мэтью Панзарино написать в Твиттере: «Мне плевать на преимущества, но давать третьему лицу пароль от Apple ID — глупо. Не делайте этого».

Вскоре после того, как Nothing сделала это заявление, технологи назвали чат-приложение «крайне небезопасным»: учетные данные отправляются по HTTP в открытом виде и не поддерживается сквозное шифрование. Спустя 24 часа приложение Sunbird было «поставлено на паузу» в Google Play Store.

В качестве напоминания о том, что Кремниевая долина — это одновременно и глобальный центр технологий, и замкнутое сообщество, можно отметить, что человек, который первым назвал приложение Nothing’s небезопасным, является основателем Texts.com, который принадлежит компании Automattic (создателю WordPress), которая является инвестором… Beeper. Beeper утверждает, что укрепил собственную безопасность, и что Beeper Mini совсем не похож на … Nothing.

По словам Мигиковского и Гилла, Beeper Mini полностью зашифрован от конца до конца. Ни Beeper, ни Apple не видят ваших сообщений. Он подключается непосредственно к серверам Apple и не использует систему ретрансляции. А ключи шифрования никогда не покидают устройство пользователя.

При первой установке приложение запрашивает доступ к списку контактов пользователя и просит разрешения на отправку SMS, но при этом не требует от пользователя сообщать свой Apple ID. Пользователь может отказаться от предоставления своего Apple ID, что позволит отправлять и получать сообщения с его адреса электронной почты, а также передавать сообщения на устройствах Apple, таких как iPad и Mac. Но приложение по-прежнему работает в режиме телефон-телефон, если вы не предоставляете свой Apple ID.

Мигиковский утверждает, что Beeper Mini повышает безопасность и конфиденциальность пользователей iPhone. Ведь сейчас, когда пользователь iPhone отправляет сообщение другу, который работает на Android, оно отправляется в виде незашифрованного SMS. Все изменится, когда Apple добавит поддержку зашифрованных сообщений RCS в следующем году, но до тех пор Beeper позиционирует себя как более безопасную альтернативу текущему стандарту SMS для iPhone и Android.

Главный вопрос, конечно, в том, как Apple отреагирует на запуск Beeper Mini. Мигиковский, кажется, не беспокоится, когда его спрашивают об этом семь разных способов до воскресенья. Он отмечает, что обратный инжиниринг с целью обеспечения совместимости защищен законом об авторском праве в цифровую эпоху.

По его словам, каждый крупный программный продукт, созданный Beeper для взаимодействия с другими чат-приложениями, доступен на странице компании в GitHub. Любой может с ней ознакомиться. Даже Apple. В этом и заключается прелесть открытого исходного кода, говорит он.

Источник: https://www.wired.com/story/beeper-android-iphone-texting-blue-bubbles/

Avatar photo
Mr.Cat

Слежу за технологиями и новинками электроники, всегда готов поделиться знаниями и помочь в выборе

Оцените автора
Все о телефонах
Добавить комментарий

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

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.